Skip to content

Commit

Permalink
Fix : Syntax highlighting wrong after fun() without end
Browse files Browse the repository at this point in the history
  • Loading branch information
pgourlain committed Jun 18, 2024
1 parent 1817ce0 commit 002e4af
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Erlang.plist
Original file line number Diff line number Diff line change
Expand Up @@ -906,7 +906,7 @@
</dict>
<dict>
<key>begin</key>
<string>\b(fun)\s*+(\()(?=(\s*+\())</string>
<string>\b(fun)\s*+(\()(?=(\s*+\()|(\)))</string>
<key>beginCaptures</key>
<dict>
<key>1</key>
Expand Down
8 changes: 8 additions & 0 deletions tests/snap/function_type_spec_with_noparameter.erl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
-module(function_type_spec_with_noparameter).


-type fun_type() :: fun((term()) -> ok).

-type ct_info_timetrap_fun() :: fun().

-type fun_type1() :: fun((term()) -> ok).
74 changes: 74 additions & 0 deletions tests/snap/function_type_spec_with_noparameter.erl.snap
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
>-module(function_type_spec_with_noparameter).
#^ source.erlang meta.directive.module.erlang punctuation.section.directive.begin.erlang
# ^^^^^^ source.erlang meta.directive.module.erlang keyword.control.directive.module.erlang
# ^ source.erlang meta.directive.module.erlang punctuation.definition.parameters.begin.erlang
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.directive.module.erlang entity.name.type.class.module.definition.erlang
# ^ source.erlang meta.directive.module.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.module.erlang punctuation.section.directive.end.erlang
>
>
>-type fun_type() :: fun((term()) -> ok).
#^ source.erlang meta.directive.erlang punctuation.section.directive.begin.erlang
# ^^^^ source.erlang meta.directive.erlang keyword.control.directive.erlang
# ^ source.erlang meta.directive.erlang
# ^^^^^^^^ source.erlang meta.directive.erlang meta.function-call.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang
# ^^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang
# ^^^ source.erlang meta.directive.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized punctuation.section.expression.begin.erlang
# ^^^^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized punctuation.section.expression.end.erlang
# ^ source.erlang meta.directive.erlang
# ^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang
# ^^ source.erlang meta.directive.erlang constant.other.symbol.unquoted.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang punctuation.section.directive.end.erlang
>
>-type ct_info_timetrap_fun() :: fun().
#^ source.erlang meta.directive.erlang punctuation.section.directive.begin.erlang
# ^^^^ source.erlang meta.directive.erlang keyword.control.directive.erlang
# ^ source.erlang meta.directive.erlang
# ^^^^^^^^^^^^^^^^^^^^ source.erlang meta.directive.erlang meta.function-call.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang
# ^^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang
# ^^^ source.erlang meta.directive.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang punctuation.section.directive.end.erlang
>
>-type fun_type1() :: fun((term()) -> ok).
#^ source.erlang meta.directive.erlang punctuation.section.directive.begin.erlang
# ^^^^ source.erlang meta.directive.erlang keyword.control.directive.erlang
# ^ source.erlang meta.directive.erlang
# ^^^^^^^^^ source.erlang meta.directive.erlang meta.function-call.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang
# ^^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang
# ^^^ source.erlang meta.directive.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized punctuation.section.expression.begin.erlang
# ^^^^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang entity.name.function.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang punctuation.definition.parameters.begin.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized meta.function-call.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang meta.expression.parenthesized punctuation.section.expression.end.erlang
# ^ source.erlang meta.directive.erlang
# ^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang keyword.operator.symbolic.erlang
# ^ source.erlang meta.directive.erlang
# ^^ source.erlang meta.directive.erlang constant.other.symbol.unquoted.erlang
# ^ source.erlang meta.directive.erlang punctuation.definition.parameters.end.erlang
# ^ source.erlang meta.directive.erlang punctuation.section.directive.end.erlang
>

0 comments on commit 002e4af

Please sign in to comment.