From 95d4395be1e8944f0f9529342ab7dff6bad28760 Mon Sep 17 00:00:00 2001 From: Kornel Horvath Date: Wed, 3 Apr 2024 09:32:37 +0200 Subject: [PATCH 1/2] Add docstrings as per Erlang/OTP 27 Erlang/OTP 27 [1] introduces triple-quoted strings (docstrings) [2]. [1] https://www.erlang.org/news/168 [2] https://www.erlang.org/docs/27/system/data_types.html#string --- Erlang.plist | 219 ++++++++++++++++++++++++++++++++++ README.md | 9 +- tests/snap/docstring.erl | 33 +++++ tests/snap/docstring.erl.snap | 205 +++++++++++++++++++++++++++++++ 4 files changed, 464 insertions(+), 2 deletions(-) create mode 100644 tests/snap/docstring.erl create mode 100644 tests/snap/docstring.erl.snap diff --git a/Erlang.plist b/Erlang.plist index 3075422..7b4075b 100644 --- a/Erlang.plist +++ b/Erlang.plist @@ -536,6 +536,219 @@ + docstring + + comment + It is possible to use more than 3 double quote characters as beginning and closing sequences (must be the same). Cover 3-9 characters here. + patterns + + + include + #docstring3 + + + include + #docstring4 + + + include + #docstring5 + + + include + #docstring6 + + + include + #docstring7 + + + include + #docstring8 + + + include + #docstring9 + + + + docstring3 + + begin + (?<!")(["]{3}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + comment + Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line + end + ^(\s*["]{3})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring4 + + begin + (?<!")(["]{4}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{4})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring5 + + begin + (?<!")(["]{5}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{5})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring6 + + begin + (?<!")(["]{6}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{6})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring7 + + begin + (?<!")(["]{7}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{7})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring8 + + begin + (?<!")(["]{8}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{8})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + docstring9 + + begin + (?<!")(["]{9}\s*)$ + beginCaptures + + 1 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{9})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + everything-else patterns @@ -600,6 +813,10 @@ include #atom + + include + #docstring + include #string @@ -2593,6 +2810,8 @@ punctuation.definition.escape.erlang + comment + escape sequence match (\\)([bdefnrstv\\'"]|(\^)[@-_a-z]|[0-7]{1,3}|x[\da-fA-F]{2}) name diff --git a/README.md b/README.md index bc0df77..21bad00 100644 --- a/README.md +++ b/README.md @@ -56,11 +56,16 @@ from _Ben Hockley_. from Github and use below commands: (On Windows use e.g. WSL) ```bash - /path/to/plist_yaml.py Erlang.plist Erlang.yaml + /path/to/plistyamlplist.py Erlang.plist Erlang.yaml # Edit YAML file here ... then if you are ready convert back to PLIST - /path/to/yaml_plist.py Erlang.yaml Erlang.plist + /path/to/plistyamlplist.py Erlang.yaml Erlang.plist ``` + > Note: + > Please read + > [Issue with Python 3.11](https://github.com/grahampugh/plist-yaml-plist/issues/15) + > if you get a strange error when convert PLIST to YAML or vice versa. + Commit your updates on `Erlang.plist` and ignode `Erlang.yaml`. To test the grammar we use [VSCode Textmate grammar test](https://github.com/PanAeon/vscode-tmgrammar-test), diff --git a/tests/snap/docstring.erl b/tests/snap/docstring.erl new file mode 100644 index 0000000..cfb3b0c --- /dev/null +++ b/tests/snap/docstring.erl @@ -0,0 +1,33 @@ +-module(docstring). + +-export([f/0]). + +-doc """ + Docstring examples + """. +f() -> + """ + Line "1" + Line "2" + """ = "Line \"1\" +Line \"2\"", + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + """ + First line starting with two spaces + Not escaped: "\t \r \xFF" and """ + + """ = " First line starting with two spaces +Not escaped: \"\\t \\r \\xFF\" and \"\"\" +", + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + """"" +"""" +FIXME: previous line is not a closing delimiter because opening-closing delimiter have five double quote characters +""""" = "\"\"\"\"", + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + ok. + +-define(THIS_IS_THE_END, "end"). % just to check is syntax highlight is still ok diff --git a/tests/snap/docstring.erl.snap b/tests/snap/docstring.erl.snap new file mode 100644 index 0000000..492b6c3 --- /dev/null +++ b/tests/snap/docstring.erl.snap @@ -0,0 +1,205 @@ +>-module(docstring). +#^ 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 +> +>-export([f/0]). +#^ source.erlang meta.directive.export.erlang punctuation.section.directive.begin.erlang +# ^^^^^^ source.erlang meta.directive.export.erlang keyword.control.directive.export.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.definition.list.begin.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang entity.name.function.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.separator.function-arity.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.definition.list.end.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.section.directive.end.erlang +> +>-doc """ +#^ 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 string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> Docstring examples +#^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.directive.erlang string.string.docstring.multi.erlang +> """. +#^^^^^^^^ source.erlang meta.directive.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.directive.erlang punctuation.section.directive.end.erlang +>f() -> +#^ source.erlang meta.function.erlang entity.name.function.definition.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.begin.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> """ +#^^^^ source.erlang meta.function.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> Line "1" +#^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> Line "2" +#^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = "Line \"1\" +#^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +>Line \"2\"", +#^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> """ +#^^^^ source.erlang meta.function.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> First line starting with two spaces +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> Not escaped: "\t \r \xFF" and """ +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> +> """ = " First line starting with two spaces +#^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +>Not escaped: \"\\t \\r \\xFF\" and \"\"\" +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +>", +#^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> """"" +#^^^^ source.erlang meta.function.erlang +# ^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +>"""" +#^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +>FIXME: previous line is not a closing delimiter because opening-closing delimiter have five double quote characters +#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +>""""" = "\"\"\"\"", +#^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ok. +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang constant.other.symbol.unquoted.erlang +# ^ source.erlang meta.function.erlang punctuation.terminator.function.erlang +> +>-define(THIS_IS_THE_END, "end"). % just to check is syntax highlight is still ok +#^ source.erlang meta.directive.define.erlang punctuation.section.directive.begin.erlang +# ^^^^^^ source.erlang meta.directive.define.erlang keyword.control.directive.define.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.definition.parameters.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.directive.define.erlang entity.name.function.macro.definition.erlang +# ^^ source.erlang meta.directive.define.erlang +# ^ source.erlang meta.directive.define.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^ source.erlang meta.directive.define.erlang string.quoted.double.erlang +# ^ source.erlang meta.directive.define.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.section.directive.end.erlang +# ^ source.erlang +# ^ source.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang comment.line.percentage.erlang +> \ No newline at end of file From 65a3e67f2c5e219b6d39c273f4679fe08ef8a5bb Mon Sep 17 00:00:00 2001 From: Kornel Horvath Date: Wed, 3 Apr 2024 09:43:17 +0200 Subject: [PATCH 2/2] Add sigils as per Erlang/OTP 27 Erlang/OTP 27 [1] introduces sigils (type prefix for string literals) [2]. [1] https://www.erlang.org/news/168 [2] https://www.erlang.org/docs/27/system/data_types.html#sigil --- Erlang.plist | 1158 ++++++++++++++++++++++++++++++++++--- tests/snap/sigil.erl | 127 ++++ tests/snap/sigil.erl.snap | 1064 ++++++++++++++++++++++++++++++++++ 3 files changed, 2281 insertions(+), 68 deletions(-) create mode 100644 tests/snap/sigil.erl create mode 100644 tests/snap/sigil.erl.snap diff --git a/Erlang.plist b/Erlang.plist index 7b4075b..d874941 100644 --- a/Erlang.plist +++ b/Erlang.plist @@ -813,6 +813,14 @@ include #atom + + include + #sigil-docstring + + + include + #sigil-string + include #docstring @@ -1788,6 +1796,87 @@ + internal-string-body + + patterns + + + captures + + 1 + + name + punctuation.definition.escape.erlang + + 3 + + name + punctuation.definition.escape.erlang + + + comment + escape sequence + match + (\\)([bdefnrstv\\'"]|(\^)[@-_a-z]|[0-7]{1,3}|x[\da-fA-F]{2}) + name + constant.character.escape.erlang + + + match + \\\^?.? + name + invalid.illegal.string.erlang + + + captures + + 1 + + name + punctuation.definition.placeholder.erlang + + 10 + + name + punctuation.separator.placeholder-parts.erlang + + 6 + + name + punctuation.separator.placeholder-parts.erlang + + + comment + io:fwrite format control sequence + match + (~)((\-)?\d++|(\*))?((\.)(\d++|(\*))?((\.)((\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\+ni] + name + constant.character.format.placeholder.other.erlang + + + captures + + 1 + + name + punctuation.definition.placeholder.erlang + + + comment + io:fread format control sequence + match + (~)(\*)?(\d++)?(t)?[~du\-#fsacl] + name + constant.character.format.placeholder.other.erlang + + + match + ~[^"]? + name + invalid.illegal.string.erlang + + + internal-type-specifiers begin @@ -2770,106 +2859,1039 @@ - string + sigil-docstring + + comment + It is possible to use more than 3 double quote characters as beginning and closing sequences (must be the same). Cover 3-9 characters here. + patterns + + + include + #sigil-docstring3 + + + include + #sigil-docstring4 + + + include + #sigil-docstring5 + + + include + #sigil-docstring6 + + + include + #sigil-docstring7 + + + include + #sigil-docstring8 + + + include + #sigil-docstring9 + + + + sigil-docstring3 begin - (") + (~[bBsS]?)(["]{3}\s*)$ beginCaptures 1 name - punctuation.definition.string.begin.erlang + storage.type.string.erlang + + 2 + + name + punctuation.definition.docstring.begin.erlang + comment + Only whitespace characters are allowed after the beggining and before the closing sequences and those cannot be in the same line end - (") + ^(\s*["]{3})(?!") endCaptures 1 name - punctuation.definition.string.end.erlang + punctuation.definition.docstring.end.erlang name - string.quoted.double.erlang - patterns - + string.string.docstring.multi.erlang + + sigil-docstring4 + + begin + (~[bBsS]?)(["]{4}\s*)$ + beginCaptures + + 1 - captures - - 1 - - name - punctuation.definition.escape.erlang - - 3 - - name - punctuation.definition.escape.erlang - - - comment - escape sequence - match - (\\)([bdefnrstv\\'"]|(\^)[@-_a-z]|[0-7]{1,3}|x[\da-fA-F]{2}) name - constant.character.escape.erlang + storage.type.string.erlang + 2 - match - \\\^?.? name - invalid.illegal.string.erlang + punctuation.definition.docstring.begin.erlang + + end + ^(\s*["]{4})(?!") + endCaptures + + 1 - captures - - 1 - - name - punctuation.definition.placeholder.erlang - - 10 - - name - punctuation.separator.placeholder-parts.erlang - - 6 - - name - punctuation.separator.placeholder-parts.erlang - - - comment - io:fwrite format control sequence - match - (~)((\-)?\d++|(\*))?((\.)(\d++|(\*))?((\.)((\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\+ni] name - constant.character.format.placeholder.other.erlang + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + sigil-docstring5 + + begin + (~[bBsS]?)(["]{5}\s*)$ + beginCaptures + + 1 + + name + storage.type.string.erlang + 2 - captures - - 1 - - name - punctuation.definition.placeholder.erlang - - - comment - io:fread format control sequence - match - (~)(\*)?(\d++)?(t)?[~du\-#fsacl] name - constant.character.format.placeholder.other.erlang + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{5})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + name + string.string.docstring.multi.erlang + + sigil-docstring6 + + begin + (~[bBsS]?)(["]{6}\s*)$ + beginCaptures + + 1 - match - ~[^"]? name - invalid.illegal.string.erlang + storage.type.string.erlang + + 2 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{6})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + sigil-docstring7 + + begin + (~[bBsS]?)(["]{7}\s*)$ + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{7})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + sigil-docstring8 + + begin + (~[bBsS]?)(["]{8}\s*)$ + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{8})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + sigil-docstring9 + + begin + (~[bBsS]?)(["]{9}\s*)$ + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.docstring.begin.erlang + + + end + ^(\s*["]{9})(?!") + endCaptures + + 1 + + name + punctuation.definition.docstring.end.erlang + + + name + string.string.docstring.multi.erlang + + sigil-string + + patterns + + + include + #sigil-string-parenthesis + + + include + #sigil-string-parenthesis-verbatim + + + include + #sigil-string-curly-brackets + + + include + #sigil-string-curly-brackets-verbatim + + + include + #sigil-string-square-brackets + + + include + #sigil-string-square-brackets-verbatim + + + include + #sigil-string-less-greater + + + include + #sigil-string-less-greater-verbatim + + + include + #sigil-string-slash + + + include + #sigil-string-slash-verbatim + + + include + #sigil-string-pipe + + + include + #sigil-string-pipe-verbatim + + + include + #sigil-string-single-quote + + + include + #sigil-string-single-quote-verbatim + + + include + #sigil-string-double-quote + + + include + #sigil-string-double-quote-verbatim + + + include + #sigil-string-backtick + + + include + #sigil-string-backtick-verbatim + + + include + #sigil-string-hashmark + + + include + #sigil-string-hashmark-verbatim + + + + sigil-string-backtick + + begin + (~[bs]?)(`) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (`) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.backtick.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-backtick-verbatim + + begin + (~[BS])(`) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (`) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.backtick.erlang + + sigil-string-curly-brackets + + begin + (~[bs]?)([{]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([}]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.curly-brackets.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-curly-brackets-verbatim + + begin + (~[BS])([{]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([}]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.curly-brackets.erlang + + sigil-string-double-quote + + begin + (~[bs]?)(") + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (") + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.double.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-double-quote-verbatim + + begin + (~[BS])(") + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (") + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.double.erlang + + sigil-string-hashmark + + begin + (~[bs]?)(#) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (#) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.hashmark.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-hashmark-verbatim + + begin + (~[BS])(#) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (#) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.hashmark.erlang + + sigil-string-less-greater + + begin + (~[bs]?)(<) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (>) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.less-greater.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-less-greater-verbatim + + begin + (~[BS])(<) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (>) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.less-greater.erlang + + sigil-string-parenthesis + + begin + (~[bs]?)([(]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([)]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.parenthesis.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-parenthesis-verbatim + + begin + (~[BS])([(]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([)]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.parenthesis.erlang + + sigil-string-pipe + + begin + (~[bs]?)([|]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([|]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.pipe.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-pipe-verbatim + + begin + (~[BS])([|]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([|]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.pipe.erlang + + sigil-string-single-quote + + begin + (~[bs]?)(') + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (') + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.single.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-single-quote-verbatim + + begin + (~[BS])(') + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (') + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.single.erlang + + sigil-string-slash + + begin + (~[bs]?)(/) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (/) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.slash.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-slash-verbatim + + begin + (~[BS])(/) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + (/) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.slash.erlang + + sigil-string-square-brackets + + begin + (~[bs]?)([\[]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([\]]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.square-brackets.erlang + patterns + + + include + #internal-string-body + + + + sigil-string-square-brackets-verbatim + + begin + (~[BS])([\[]) + beginCaptures + + 1 + + name + storage.type.string.erlang + + 2 + + name + punctuation.definition.string.begin.erlang + + + end + ([\]]) + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.square-brackets.erlang + + string + + begin + (") + beginCaptures + + 1 + + name + punctuation.definition.string.begin.erlang + + + end + (") + endCaptures + + 1 + + name + punctuation.definition.string.end.erlang + + + name + string.quoted.double.erlang + patterns + + + include + #internal-string-body diff --git a/tests/snap/sigil.erl b/tests/snap/sigil.erl new file mode 100644 index 0000000..4f6ba11 --- /dev/null +++ b/tests/snap/sigil.erl @@ -0,0 +1,127 @@ +-module(sigil). + +-export([f/0, g/0]). + +-doc """ + Sigil examples + """. +-spec f() -> ok. +f() -> + ~(monkey ~2..0b\n), + ~b(monkey ~2..0b\n), + ~B(monkey ~2..0b\n), % verbatim + ~s(monkey ~2..0b\n), + ~S(monkey ~2..0b\n), % verbatim + + ~{monkey ~2..0b\n}, + ~b{monkey ~2..0b\n}, + ~B{monkey ~2..0b\n}, % verbatim + ~s{monkey ~2..0b\n}, + ~S{monkey ~2..0b\n}, % verbatim + + ~[monkey ~2..0b\n], + ~b[monkey ~2..0b\n], + ~B[monkey ~2..0b\n], % verbatim + ~s[monkey ~2..0b\n], + ~S[monkey ~2..0b\n], % verbatim + + ~, + ~b, + ~B, % verbatim + ~s, + ~S, % verbatim + + ~/monkey ~2..0b\n/, + ~b/monkey ~2..0b\n/, + ~B/monkey ~2..0b\n/, % verbatim + ~s/monkey ~2..0b\n/, + ~S/monkey ~2..0b\n/, % verbatim + + ~|monkey ~2..0b\n|, + ~b|monkey ~2..0b\n|, + ~B|monkey ~2..0b\n|, % verbatim + ~s|monkey ~2..0b\n|, + ~S|monkey ~2..0b\n|, % verbatim + + ~'monkey ~2..0b\n', + ~b'monkey ~2..0b\n', + ~B'monkey ~2..0b\n', % verbatim + ~s'monkey ~2..0b\n', + ~S'monkey ~2..0b\n', % verbatim + + ~"monkey ~2..0b\n", + ~b"monkey ~2..0b\n", + ~B"monkey ~2..0b\n", % verbatim + ~s"monkey ~2..0b\n", + ~S"monkey ~2..0b\n", % verbatim + + ~`monkey ~2..0b\n`, + ~b`monkey ~2..0b\n`, + ~B`monkey ~2..0b\n`, % verbatim + ~s`monkey ~2..0b\n`, + ~S`monkey ~2..0b\n`, % verbatim + + ~#monkey ~2..0b\n#, + ~b#monkey ~2..0b\n#, + ~B#monkey ~2..0b\n#, % verbatim + ~s#monkey ~2..0b\n#, + ~S#monkey ~2..0b\n#, % verbatim + + X = lists:seq(1,3), % just to check is syntax highlight is still ok + ok. + +-spec g() -> ok. % just to check is syntax highlight is still ok +g() -> + ~""" + monkey ~2..0b\n + business + """, + ~b"""" + monkey ~2..0b\n + """ + business + """", + ~B""""" + monkey ~2..0b\n + """ + business + """"", + ~s"""""" + monkey ~2..0b\n + """ + business + """""", + ~S""""""" + monkey ~2..0b\n + """ + business + """"""", + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + <<"\"\\µA\""/utf8>> = <<$",$\\,194,181,$A,$">> = + ~b""" + "\\µA" + """ = ~b'"\\µA"' = + ~B""" + "\µA" + """ = ~B<"\µA"> = + ~""" + "\µA" + """ = ~"\"\\µA\"" = ~/"\\µA"/ + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + [$",$\\,$µ,$A,$"] = + ~s""" + "\\µA" + """ = ~s"\"\\µA\"" = ~s["\\µA"] = + ~S""" + "\µA" + """ = ~S("\µA") = + """ + "\µA" + """ = "\"\\µA\"" + X = lists:seq(1,3), % just to check is syntax highlight is still ok + + ok. + +-define(THIS_IS_THE_END, "end"). diff --git a/tests/snap/sigil.erl.snap b/tests/snap/sigil.erl.snap new file mode 100644 index 0000000..b763b3b --- /dev/null +++ b/tests/snap/sigil.erl.snap @@ -0,0 +1,1064 @@ +>-module(sigil). +#^ 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 +> +>-export([f/0, g/0]). +#^ source.erlang meta.directive.export.erlang punctuation.section.directive.begin.erlang +# ^^^^^^ source.erlang meta.directive.export.erlang keyword.control.directive.export.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.definition.list.begin.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang entity.name.function.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.separator.function-arity.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.separator.list.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang entity.name.function.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.separator.function-arity.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.directive.export.erlang meta.structure.list.function.erlang punctuation.definition.list.end.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.directive.export.erlang punctuation.section.directive.end.erlang +> +>-doc """ +#^ 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 string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> Sigil examples +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.directive.erlang string.string.docstring.multi.erlang +> """. +#^^^^^^^^ source.erlang meta.directive.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.directive.erlang punctuation.section.directive.end.erlang +>-spec f() -> 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 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.section.directive.end.erlang +>f() -> +#^ source.erlang meta.function.erlang entity.name.function.definition.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.begin.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~(monkey ~2..0b\n), +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b(monkey ~2..0b\n), +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B(monkey ~2..0b\n), % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s(monkey ~2..0b\n), +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S(monkey ~2..0b\n), % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~{monkey ~2..0b\n}, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b{monkey ~2..0b\n}, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B{monkey ~2..0b\n}, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s{monkey ~2..0b\n}, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S{monkey ~2..0b\n}, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.curly-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~[monkey ~2..0b\n], +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b[monkey ~2..0b\n], +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B[monkey ~2..0b\n], % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s[monkey ~2..0b\n], +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S[monkey ~2..0b\n], % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~/monkey ~2..0b\n/, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b/monkey ~2..0b\n/, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B/monkey ~2..0b\n/, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s/monkey ~2..0b\n/, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S/monkey ~2..0b\n/, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~|monkey ~2..0b\n|, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.pipe.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b|monkey ~2..0b\n|, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.pipe.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B|monkey ~2..0b\n|, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.pipe.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s|monkey ~2..0b\n|, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.pipe.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S|monkey ~2..0b\n|, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.pipe.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.pipe.erlang +# ^ source.erlang meta.function.erlang string.quoted.pipe.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~'monkey ~2..0b\n', +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b'monkey ~2..0b\n', +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B'monkey ~2..0b\n', % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s'monkey ~2..0b\n', +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S'monkey ~2..0b\n', % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~"monkey ~2..0b\n", +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b"monkey ~2..0b\n", +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B"monkey ~2..0b\n", % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s"monkey ~2..0b\n", +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S"monkey ~2..0b\n", % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~`monkey ~2..0b\n`, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.backtick.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b`monkey ~2..0b\n`, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.backtick.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B`monkey ~2..0b\n`, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.backtick.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s`monkey ~2..0b\n`, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.backtick.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S`monkey ~2..0b\n`, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.backtick.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.backtick.erlang +# ^ source.erlang meta.function.erlang string.quoted.backtick.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ~#monkey ~2..0b\n#, +#^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b#monkey ~2..0b\n#, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B#monkey ~2..0b\n#, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ~s#monkey ~2..0b\n#, +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.definition.placeholder.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang punctuation.separator.placeholder-parts.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.format.placeholder.other.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S#monkey ~2..0b\n#, % verbatim +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.quoted.hashmark.erlang +# ^ source.erlang meta.function.erlang string.quoted.hashmark.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> ok. +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang constant.other.symbol.unquoted.erlang +# ^ source.erlang meta.function.erlang punctuation.terminator.function.erlang +> +>-spec g() -> ok. % just to check is syntax highlight is still 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 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.section.directive.end.erlang +# ^ source.erlang +# ^ source.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang comment.line.percentage.erlang +>g() -> +#^ source.erlang meta.function.erlang entity.name.function.definition.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.begin.erlang +# ^ source.erlang meta.function.erlang meta.expression.parenthesized punctuation.section.expression.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~""" +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> monkey ~2..0b\n +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> business +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """, +#^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~b"""" +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> monkey ~2..0b\n +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ +#^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> business +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """", +#^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~B""""" +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> monkey ~2..0b\n +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ +#^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> business +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """"", +#^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~s"""""" +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> monkey ~2..0b\n +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ +#^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> business +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """""", +#^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> ~S""""""" +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> monkey ~2..0b\n +#^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ +#^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> business +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """"""", +#^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> <<"\"\\µA\""/utf8>> = <<$",$\\,194,181,$A,$">> = +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.definition.binary.begin.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.value-type.erlang +# ^^^^ source.erlang meta.function.erlang meta.structure.binary.erlang storage.type.erlang +# ^^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.definition.binary.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.definition.binary.begin.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.binary.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.binary.erlang +# ^^^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.binary.erlang +# ^^^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.binary.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.separator.binary.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.binary.erlang constant.character.erlang +# ^^ source.erlang meta.function.erlang meta.structure.binary.erlang punctuation.definition.binary.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~b""" +#^^^^^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\\µA" +#^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = ~b'"\\µA"' = +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.single.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang constant.character.escape.erlang +# ^^^ source.erlang meta.function.erlang string.quoted.single.erlang +# ^ source.erlang meta.function.erlang string.quoted.single.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~B""" +#^^^^^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\µA" +#^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = ~B<"\µA"> = +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.begin.erlang +# ^^^^^ source.erlang meta.function.erlang string.quoted.less-greater.erlang +# ^ source.erlang meta.function.erlang string.quoted.less-greater.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~""" +#^^^^^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\µA" +#^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = ~"\"\\µA\"" = ~/"\\µA"/ +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang constant.character.escape.erlang +# ^^^ source.erlang meta.function.erlang string.quoted.slash.erlang +# ^ source.erlang meta.function.erlang string.quoted.slash.erlang punctuation.definition.string.end.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> [$",$\\,$µ,$A,$"] = +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.definition.list.begin.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.separator.list.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.separator.list.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.separator.list.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.separator.list.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang punctuation.definition.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang constant.character.erlang +# ^ source.erlang meta.function.erlang meta.structure.list.erlang punctuation.definition.list.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~s""" +#^^^^^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\\µA" +#^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = ~s"\"\\µA\"" = ~s["\\µA"] = +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang constant.character.escape.erlang +# ^^^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang +# ^ source.erlang meta.function.erlang string.quoted.square-brackets.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> ~S""" +#^^^^^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang storage.type.string.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\µA" +#^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = ~S("\µA") = +#^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang storage.type.string.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.begin.erlang +# ^^^^^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang +# ^ source.erlang meta.function.erlang string.quoted.parenthesis.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +> """ +#^^^^^^^^ source.erlang meta.function.erlang +# ^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.begin.erlang +> "\µA" +#^^^^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang +> """ = "\"\\µA\"" +#^^^^^^^^^^^ source.erlang meta.function.erlang string.string.docstring.multi.erlang punctuation.definition.docstring.end.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^^ source.erlang meta.function.erlang string.quoted.double.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang punctuation.definition.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang constant.character.escape.erlang +# ^ source.erlang meta.function.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +> X = lists:seq(1,3), % just to check is syntax highlight is still ok +#^^^^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang variable.other.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang keyword.operator.symbolic.erlang +# ^ source.erlang meta.function.erlang +# ^^^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.type.class.module.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.module-function.erlang +# ^^^ source.erlang meta.function.erlang meta.function-call.erlang entity.name.function.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.begin.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.separator.parameters.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang constant.numeric.integer.decimal.erlang +# ^ source.erlang meta.function.erlang meta.function-call.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.function.erlang punctuation.separator.expressions.erlang +# ^ source.erlang meta.function.erlang +# ^ source.erlang meta.function.erlang comment.line.percentage.erlang punctuation.definition.comment.erlang +# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ source.erlang meta.function.erlang comment.line.percentage.erlang +> +> ok. +#^^^^ source.erlang meta.function.erlang +# ^^ source.erlang meta.function.erlang constant.other.symbol.unquoted.erlang +# ^ source.erlang meta.function.erlang punctuation.terminator.function.erlang +> +>-define(THIS_IS_THE_END, "end"). +#^ source.erlang meta.directive.define.erlang punctuation.section.directive.begin.erlang +# ^^^^^^ source.erlang meta.directive.define.erlang keyword.control.directive.define.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.definition.parameters.begin.erlang +# ^^^^^^^^^^^^^^^ source.erlang meta.directive.define.erlang entity.name.function.macro.definition.erlang +# ^^ source.erlang meta.directive.define.erlang +# ^ source.erlang meta.directive.define.erlang string.quoted.double.erlang punctuation.definition.string.begin.erlang +# ^^^ source.erlang meta.directive.define.erlang string.quoted.double.erlang +# ^ source.erlang meta.directive.define.erlang string.quoted.double.erlang punctuation.definition.string.end.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.definition.parameters.end.erlang +# ^ source.erlang meta.directive.define.erlang punctuation.section.directive.end.erlang +> \ No newline at end of file