ultraviolet1x 0.12.2 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +2 -2
  3. data/README.rdoc +1 -6
  4. data/lib/uv.rb +1 -1
  5. data/lib/uv/version.rb +1 -1
  6. data/spec/ultraviolet_spec.rb +0 -9
  7. metadata +52 -195
  8. data/syntax/actionscript.syntax +0 -97
  9. data/syntax/active4d.syntax +0 -276
  10. data/syntax/active4d_html.syntax +0 -311
  11. data/syntax/active4d_ini.syntax +0 -50
  12. data/syntax/active4d_library.syntax +0 -21
  13. data/syntax/ada.syntax +0 -33
  14. data/syntax/antlr.syntax +0 -151
  15. data/syntax/apache.syntax +0 -191
  16. data/syntax/applescript.syntax +0 -384
  17. data/syntax/asp.syntax +0 -70
  18. data/syntax/asp_vb.net.syntax +0 -129
  19. data/syntax/bibtex.syntax +0 -151
  20. data/syntax/blog_html.syntax +0 -41
  21. data/syntax/blog_markdown.syntax +0 -42
  22. data/syntax/blog_text.syntax +0 -27
  23. data/syntax/blog_textile.syntax +0 -27
  24. data/syntax/broken/markdown.syntax +0 -543
  25. data/syntax/broken/php.syntax +0 -1253
  26. data/syntax/buggy/nemerle.syntax +0 -74
  27. data/syntax/build.syntax +0 -53
  28. data/syntax/bulletin_board.syntax +0 -287
  29. data/syntax/c++.syntax +0 -186
  30. data/syntax/c.syntax +0 -414
  31. data/syntax/cake.syntax +0 -55
  32. data/syntax/camlp4.syntax +0 -36
  33. data/syntax/cm.syntax +0 -32
  34. data/syntax/coffeescript.syntax +0 -216
  35. data/syntax/coldfusion.syntax +0 -119
  36. data/syntax/context_free.syntax +0 -176
  37. data/syntax/cs.syntax +0 -59
  38. data/syntax/css.syntax +0 -195
  39. data/syntax/css_experimental.syntax +0 -1925
  40. data/syntax/csv.syntax +0 -68
  41. data/syntax/d.syntax +0 -142
  42. data/syntax/diff.syntax +0 -81
  43. data/syntax/dokuwiki.syntax +0 -204
  44. data/syntax/dot.syntax +0 -47
  45. data/syntax/doxygen.syntax +0 -43
  46. data/syntax/dylan.syntax +0 -62
  47. data/syntax/eiffel.syntax +0 -78
  48. data/syntax/erlang.syntax +0 -922
  49. data/syntax/f-script.syntax +0 -80
  50. data/syntax/fortran.syntax +0 -141
  51. data/syntax/fxscript.syntax +0 -142
  52. data/syntax/greasemonkey.syntax +0 -34
  53. data/syntax/gri.syntax +0 -83
  54. data/syntax/groovy.syntax +0 -191
  55. data/syntax/gtd.syntax +0 -22
  56. data/syntax/gtdalt.syntax +0 -143
  57. data/syntax/haml.syntax +0 -88
  58. data/syntax/haskell.syntax +0 -88
  59. data/syntax/html-asp.syntax +0 -27
  60. data/syntax/html.syntax +0 -362
  61. data/syntax/html_django.syntax +0 -36
  62. data/syntax/html_for_asp.net.syntax +0 -424
  63. data/syntax/html_mason.syntax +0 -119
  64. data/syntax/html_rails.syntax +0 -40
  65. data/syntax/html_tcl.syntax +0 -26
  66. data/syntax/icalendar.syntax +0 -32
  67. data/syntax/inform.syntax +0 -48
  68. data/syntax/ini.syntax +0 -55
  69. data/syntax/installer_distribution_script.syntax +0 -77
  70. data/syntax/io.syntax +0 -81
  71. data/syntax/java.syntax +0 -211
  72. data/syntax/javaproperties.syntax +0 -20
  73. data/syntax/javascript.syntax +0 -256
  74. data/syntax/javascript_+_prototype.syntax +0 -72
  75. data/syntax/javascript_+_prototype_bracketed.syntax +0 -140
  76. data/syntax/jquery_javascript.syntax +0 -114
  77. data/syntax/json.syntax +0 -136
  78. data/syntax/languagedefinition.syntax +0 -708
  79. data/syntax/latex.syntax +0 -566
  80. data/syntax/latex_beamer.syntax +0 -41
  81. data/syntax/latex_log.syntax +0 -50
  82. data/syntax/latex_memoir.syntax +0 -64
  83. data/syntax/lexflex.syntax +0 -219
  84. data/syntax/lighttpd.syntax +0 -54
  85. data/syntax/lilypond.syntax +0 -492
  86. data/syntax/lisp.syntax +0 -61
  87. data/syntax/literate_haskell.syntax +0 -24
  88. data/syntax/logo.syntax +0 -29
  89. data/syntax/logtalk.syntax +0 -152
  90. data/syntax/lua.syntax +0 -86
  91. data/syntax/m.syntax +0 -142
  92. data/syntax/macports_portfile.syntax +0 -163
  93. data/syntax/mail.syntax +0 -118
  94. data/syntax/makefile.syntax +0 -36
  95. data/syntax/man.syntax +0 -17
  96. data/syntax/mediawiki.syntax +0 -567
  97. data/syntax/mel.syntax +0 -92
  98. data/syntax/mips.syntax +0 -66
  99. data/syntax/mod_perl.syntax +0 -50
  100. data/syntax/modula-3.syntax +0 -47
  101. data/syntax/moinmoin.syntax +0 -189
  102. data/syntax/mootools.syntax +0 -572
  103. data/syntax/movable_type.syntax +0 -162
  104. data/syntax/multimarkdown.syntax +0 -39
  105. data/syntax/objective-c++.syntax +0 -18
  106. data/syntax/objective-c.syntax +0 -233
  107. data/syntax/ocaml.syntax +0 -764
  108. data/syntax/ocamllex.syntax +0 -167
  109. data/syntax/ocamlyacc.syntax +0 -184
  110. data/syntax/old/YAML.yaml +0 -160
  111. data/syntax/old/txt2tags.yaml +0 -139
  112. data/syntax/opengl.syntax +0 -14
  113. data/syntax/pascal.syntax +0 -77
  114. data/syntax/perl.syntax +0 -1113
  115. data/syntax/plain_text.syntax +0 -32
  116. data/syntax/pmwiki.syntax +0 -113
  117. data/syntax/postscript.syntax +0 -114
  118. data/syntax/processing.syntax +0 -106
  119. data/syntax/prolog.syntax +0 -40
  120. data/syntax/property_list.syntax +0 -635
  121. data/syntax/python.syntax +0 -868
  122. data/syntax/python_django.syntax +0 -21
  123. data/syntax/qmake_project.syntax +0 -114
  124. data/syntax/qt_c++.syntax +0 -26
  125. data/syntax/quake3_config.syntax +0 -32
  126. data/syntax/r.syntax +0 -81
  127. data/syntax/r_console.syntax +0 -16
  128. data/syntax/ragel.syntax +0 -201
  129. data/syntax/rd_r_documentation.syntax +0 -91
  130. data/syntax/regexp.syntax +0 -50
  131. data/syntax/regular_expressions_oniguruma.syntax +0 -107
  132. data/syntax/regular_expressions_python.syntax +0 -109
  133. data/syntax/release_notes.syntax +0 -46
  134. data/syntax/remind.syntax +0 -253
  135. data/syntax/restructuredtext.syntax +0 -250
  136. data/syntax/rez.syntax +0 -80
  137. data/syntax/ruby.syntax +0 -1035
  138. data/syntax/ruby_experimental.syntax +0 -145
  139. data/syntax/ruby_on_rails.syntax +0 -88
  140. data/syntax/s5.syntax +0 -69
  141. data/syntax/sass.syntax +0 -45
  142. data/syntax/scheme.syntax +0 -347
  143. data/syntax/scilab.syntax +0 -41
  144. data/syntax/setext.syntax +0 -147
  145. data/syntax/shell-unix-generic.syntax +0 -384
  146. data/syntax/slate.syntax +0 -149
  147. data/syntax/smarty.syntax +0 -63
  148. data/syntax/sql.syntax +0 -237
  149. data/syntax/sql_rails.syntax +0 -18
  150. data/syntax/ssh-config.syntax +0 -33
  151. data/syntax/standard_ml.syntax +0 -121
  152. data/syntax/strings_file.syntax +0 -39
  153. data/syntax/subversion_commit_message.syntax +0 -36
  154. data/syntax/sweave.syntax +0 -84
  155. data/syntax/swig.syntax +0 -57
  156. data/syntax/tcl.syntax +0 -152
  157. data/syntax/template_toolkit.syntax +0 -121
  158. data/syntax/tex.syntax +0 -86
  159. data/syntax/tex_math.syntax +0 -49
  160. data/syntax/textile.syntax +0 -215
  161. data/syntax/tsv.syntax +0 -50
  162. data/syntax/twiki.syntax +0 -241
  163. data/syntax/txt2tags.syntax +0 -79
  164. data/syntax/vectorscript.syntax +0 -57
  165. data/syntax/xhtml_1.0.syntax +0 -4027
  166. data/syntax/xml.syntax +0 -180
  167. data/syntax/xml_strict.syntax +0 -92
  168. data/syntax/xsl.syntax +0 -60
  169. data/syntax/yaml.syntax +0 -160
  170. data/syntax/yui_javascript.syntax +0 -176
@@ -1,47 +0,0 @@
1
- ---
2
- name: Graphviz (DOT)
3
- fileTypes:
4
- - dot
5
- - DOT
6
- scopeName: source.dot
7
- uuid: 1A53D54E-6B1D-11D9-A006-000D93589AF6
8
- foldingStartMarker: \{
9
- patterns:
10
- - name: storage.type.dot
11
- match: \b(node|edge|graph|digraph|subgraph|strict)\b
12
- - name: support.constant.attribute.node.dot
13
- match: \b(bottomlabel|color|comment|distortion|fillcolor|fixedsize|fontcolor|fontname|fontsize|group|height|label|layer|orientation|peripheries|regular|shape|shapefile|sides|skew|style|toplabel|URL|width|z)\b
14
- - name: support.constant.attribute.edge.dot
15
- match: \b(arrowhead|arrowsize|arrowtail|color|comment|constraint|decorate|dir|fontcolor|fontname|fontsize|headlabel|headport|headURL|label|labelangle|labeldistance|labelfloat|labelcolor|labelfontname|labelfontsize|layer|lhead|ltail|minlen|samehead|sametail|style|taillabel|tailport|tailURL|weight)\b
16
- - name: support.constant.attribute.graph.dot
17
- match: \b(bgcolor|center|clusterrank|color|comment|compound|concentrate|fillcolor|fontname|fontpath|fontsize|label|labeljust|labelloc|layers|margin|mclimit|nodesep|nslimit|nslimit1|ordering|orientation|page|pagedir|quantum|rank|rankdir|ranksep|ratio|remincross|rotate|samplepoints|searchsize|size|style|URL)\b
18
- - name: string.quoted.double.dot
19
- endCaptures:
20
- "0":
21
- name: punctuation.definition.string.end.dot
22
- begin: "\""
23
- beginCaptures:
24
- "0":
25
- name: punctuation.definition.string.begin.dot
26
- end: "\""
27
- patterns:
28
- - name: constant.character.escape.dot
29
- match: \\.
30
- - name: comment.line.double-slash.dot
31
- captures:
32
- "1":
33
- name: punctuation.definition.comment.dot
34
- match: (//).*$\n?
35
- - name: comment.line.number-sign.dot
36
- captures:
37
- "1":
38
- name: punctuation.definition.comment.dot
39
- match: (#).*$\n?
40
- - name: comment.block.dot
41
- captures:
42
- "0":
43
- name: punctuation.definition.comment.dot
44
- begin: /\*
45
- end: \*/
46
- foldingStopMarker: \}
47
- keyEquivalent: ^~G
@@ -1,43 +0,0 @@
1
- ---
2
- name: Doxygen
3
- fileTypes:
4
- - doxygen
5
- scopeName: text.html.doxygen
6
- repository:
7
- source_doxygen:
8
- patterns:
9
- - include: "#keywords"
10
- - include: text.html.basic
11
- keywords:
12
- patterns:
13
- - name: keyword.control.doxygen
14
- captures:
15
- "1":
16
- name: punctuation.definition.keyword.doxygen
17
- match: ([\\@])((a|addindex|addtogroup|anchor|arg|attention|author|b|brief|bug|c|callgraph|callergraph|category|class|code|cond|copydoc|date|def|defgroup|deprecated|dir|dontinclude|dot|dotfile|e|else|elseif|em|endcode|endcond|enddot|endhtmlonly|endif|endlatexonly|endlink|endmanonly|endverbatim|endxmlonly|enum|example|exception|file|fn|hideinitializer|htmlinclude|htmlonly|if|ifnot|image|include|includelineno|ingroup|internal|invariant|interface|latexonly|li|line|link|mainpage|manonly|n|name|namespace|nosubgrouping|note|overload|p|package|page|par|paragraph|param|post|pre|private|privatesection|property|protected|protectedsection|protocol|public|publicsection|ref|relates|relatesalso|remarks|return|retval|sa|section|see|showinitializer|since|skip|skipline|struct|subpage|subsection|subsubsection|test|throw|todo|typedef|union|until|var|verbatim|verbinclude|version|warning|weakgroup|xmlonly|xrefitem)\b|(\$|\@|\\|\&|\~|\<|\>|\#|\%|f\$|f\[|f\]))
18
- uuid: 9725E602-6D7C-4E98-911A-C66802142451
19
- patterns:
20
- - name: comment.block.doxygen
21
- captures:
22
- "0":
23
- name: punctuation.definition.comment.doxygen
24
- begin: \/\*\*\<?
25
- end: \*\/
26
- patterns:
27
- - include: "#source_doxygen"
28
- - name: comment.block.doxygen
29
- captures:
30
- "0":
31
- name: punctuation.definition.comment.doxygen
32
- begin: \/\*!\<?
33
- end: \*\/
34
- patterns:
35
- - include: "#source_doxygen"
36
- - name: comment.line.doxygen
37
- begin: \/\/[\/!]\<?
38
- beginCaptures:
39
- "0":
40
- name: punctuation.definition.comment.doxygen
41
- end: $\n?
42
- patterns:
43
- - include: "#source_doxygen"
@@ -1,62 +0,0 @@
1
- ---
2
- name: Dylan
3
- fileTypes:
4
- - dylan
5
- scopeName: source.dylan
6
- uuid: 475B8369-3520-4B4C-BBA1-1D1229C6F397
7
- foldingStartMarker: \b(define|begin|block)\b
8
- patterns:
9
- - name: comment.block.dylan
10
- captures:
11
- "0":
12
- name: punctuation.definition.comment.dylan
13
- begin: /\*
14
- end: \*/
15
- comment: TODO -- Dylan allows nested comments.
16
- - name: comment.line.double-slash.dylan
17
- begin: //
18
- beginCaptures:
19
- "0":
20
- name: punctuation.definition.comment.dylan
21
- end: $\n?
22
- patterns:
23
- - name: punctuation.separator.continuation.dylan
24
- match: (?>\\\s*\n)
25
- - name: meta.function.dylan
26
- captures:
27
- "1":
28
- name: keyword.control.def.dylan
29
- "2":
30
- name: storage.modifier.dylan
31
- "3":
32
- name: storage.type.function.dylan
33
- "4":
34
- name: entity.name.function.dylan
35
- begin: \b(define\s+)((?:sealed|inline)\s)?(method|function)\s+([A-Za-z0-9\\-]*[!?]?)\s
36
- end: \)
37
- - name: keyword.control.dylan
38
- match: \b(?<!-)(begin|block|case|class|constant|define|domain|else|end|for|function|handler|if|inline|let|library|local|macro|method|module|otherwise|select|unless|until|variable|when|while)(?![:-])\b
39
- - name: support.constant.language.dylan
40
- match: (#t|#f|#next|#rest|#key|#all-keys|#include)
41
- - name: keyword.control.sealing-directives.dylan
42
- match: \b(sealed|open|abstract|concrete|primary|free)\b
43
- - name: constant.numeric.dylan
44
- match: \b((#x[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)\b
45
- - name: string.quoted.double.dylan
46
- endCaptures:
47
- "0":
48
- name: punctuation.definition.string.end.dylan
49
- begin: "\""
50
- beginCaptures:
51
- "0":
52
- name: punctuation.definition.string.begin.dylan
53
- end: "\""
54
- patterns:
55
- - name: constant.character.escape.dylan
56
- match: \\.
57
- - name: support.class.dylan
58
- match: <(abort|array|boolean|byte-string|character|class|collection|complex|condition|deque|double-float|empty-list|error|explicit-key-collection|extended-float|float|function|generic-function|integer|list|method|mutable-collection|mutable-explicit-key-collection|mutable-sequence|number|object-table|object|pair|range|rational|real|restart|sealed-object-error|sequence|serious-condition|simple-error|simple-object-vector|simple-restart|simple-vector|simple-warning|single-float|singleton|stretchy-collection|stretchy-vector|string|symbol|table|type-error|type|unicode-string|vector|warning)>
59
- - name: support.function.dylan
60
- match: \b(?<!-)(abort|abs|add|add!|add-method|add-new|add-new!|all-superclasses|always|any?|applicable-method?|apply|aref|aref-setter|as|as-lowercase|as-lowercase!|as-uppercase|as-uppercase!|ash|backward-iteration-protocol|break|ceiling|ceiling/|cerror|check-type|choose|choose-by|complement|compose|concatenate|concatenate-as|condition-format-arguments|condition-format-string|conjoin|copy-sequence|curry|default-handler|dimension|dimensions|direct-subclasses|direct-superclasses|disjoin|do|do-handlers|element|element-setter|empty?|error|even?|every?|fill!|find-key|find-method|first|first-setter|floor|floor/|forward-iteration-protocol|function-arguments|function-return-values|function-specializers|gcd|generic-function-mandatory-|keywords|generic-function-methods|head|head-setter|identity|initialize|instance?|integral?|intersection|key-sequence|key-test|last|last-setter|lcm|limited|list|logand|logbit?|logior|lognot|logxor|make|map|map-as|map-into|max|member?|merge-hash-codes|min|modulo|negative|negative?|object-class|object-hash|odd?|pair|pop|pop-last|positive?|push|push-last|range|rank|rcurry|reduce|reduce1|remainder|remove|remove!|remove-duplicates|remove-duplicates!|remove-key!|remove-method|replace-elements!|replace-subsequence!|restart-query|return-allowed?|return-description|return-query|reverse|reverse!|round|round/|row-major-index|second|second-setter|shallow-copy|signal|singleton|size|size-setter|slot-initialized?|sort|sort!|sorted-applicable-methods|subsequence-position|subtype?|table-protocol|tail|tail-setter|third|third-setter|truncate|truncate/|type-error-expected-type|type-error-value|type-for-copy|type-union|union|values|vector|zero?)(?![:-])\b
61
- foldingStopMarker: \bend\b
62
- keyEquivalent: ^~D
@@ -1,78 +0,0 @@
1
- ---
2
- name: Eiffel
3
- fileTypes:
4
- - e
5
- scopeName: source.eiffel
6
- repository:
7
- number:
8
- match: "[0-9]+"
9
- variable:
10
- match: "[a-zA-Z0-9_]+"
11
- uuid: 34672373-DED9-45B8-AF7E-2E4B6C3D6B76
12
- foldingStartMarker: (class|once|do|external)
13
- patterns:
14
- - name: comment.line.double-dash.eiffel
15
- captures:
16
- "1":
17
- name: punctuation.definition.comment.eiffel
18
- match: (--).*$\n?
19
- - name: keyword.control.eiffel
20
- match: \b(Indexing|indexing|deferred|expanded|class|inherit|rename|as|export|undefine|redefine|select|all|create|creation|feature|prefix|infix|separate|frozen|obsolete|local|is|unique|do|once|external|alias|require|ensure|invariant|variant|rescue|retry|like|check|if|else|elseif|then|inspect|when|from|loop|until|debug|not|or|and|xor|implies|old|end)\b
21
- - name: variable.other.eiffel
22
- match: "[a-zA-Z_]+"
23
- - name: constant.language.eiffel
24
- match: \b(True|true|False|false|Void|void|Result|result)\b
25
- - name: meta.features.eiffel
26
- begin: feature
27
- end: end
28
- - name: meta.effective_routine_body.eiffel
29
- begin: (do|once)
30
- end: (ensure|end)
31
- - name: meta.rescue.eiffel
32
- begin: rescue
33
- end: end
34
- - name: string.quoted.double.eiffel
35
- endCaptures:
36
- "0":
37
- name: punctuation.definition.string.end.eiffel
38
- begin: "\""
39
- beginCaptures:
40
- "0":
41
- name: punctuation.definition.string.begin.eiffel
42
- end: "\""
43
- patterns:
44
- - name: constant.character.escape.eiffel
45
- match: \\.
46
- - name: constant.numeric.eiffel
47
- match: "[0-9]+"
48
- - name: storage.modifier.eiffel
49
- match: \b(deferred|expanded)\b
50
- - name: meta.definition.class.eiffel
51
- captures:
52
- "1":
53
- name: storage.modifier.eiffel
54
- begin: |-
55
- ^\s*
56
- ((?:\b(deferred|expanded)\b\s*)*) # modifier
57
- (class)\s+
58
- (\w+)\s* # identifier
59
- end: (?=end)
60
- patterns:
61
- - name: meta.definition.class.extends.java
62
- captures:
63
- "1":
64
- name: storage.modifier.java
65
- begin: \b(extends)\b\s+
66
- end: (?={|implements)
67
- patterns:
68
- - include: "#all-types"
69
- - name: meta.definition.class.implements.java
70
- captures:
71
- "1":
72
- name: storage.modifier.java
73
- begin: \b(implements)\b\s+
74
- end: (?={|extends)
75
- patterns:
76
- - include: "#all-types"
77
- foldingStopMarker: (ensure|end)
78
- keyEquivalent: ^~E
@@ -1,922 +0,0 @@
1
- ---
2
- name: Erlang
3
- fileTypes:
4
- - erl
5
- - hrl
6
- scopeName: source.erlang
7
- repository:
8
- macro-usage:
9
- name: meta.macro-usage.erlang
10
- captures:
11
- "1":
12
- name: keyword.operator.macro.erlang
13
- "2":
14
- name: entity.name.function.macro.erlang
15
- match: (\?\??)\s*+([a-zA-Z\d@_]++)
16
- list:
17
- name: meta.structure.list.erlang
18
- endCaptures:
19
- "1":
20
- name: punctuation.definition.list.end.erlang
21
- begin: (\[)
22
- beginCaptures:
23
- "1":
24
- name: punctuation.definition.list.begin.erlang
25
- end: (\])
26
- patterns:
27
- - name: punctuation.separator.list.erlang
28
- match: \||\|\||,
29
- - include: "#everything-else"
30
- import-export-directive:
31
- patterns:
32
- - name: meta.directive.import.erlang
33
- endCaptures:
34
- "1":
35
- name: punctuation.definition.parameters.end.erlang
36
- "2":
37
- name: punctuation.section.directive.end.erlang
38
- begin: ^\s*+(-)\s*+(import)\s*+(\()\s*+([a-z][a-zA-Z\d@_]*+)\s*+(,)
39
- beginCaptures:
40
- "1":
41
- name: punctuation.section.directive.begin.erlang
42
- "2":
43
- name: keyword.control.directive.import.erlang
44
- "3":
45
- name: punctuation.definition.parameters.begin.erlang
46
- "4":
47
- name: entity.name.type.class.module.erlang
48
- "5":
49
- name: punctuation.separator.parameters.erlang
50
- end: (\))\s*+(\.)
51
- patterns:
52
- - include: "#internal-function-list"
53
- - name: meta.directive.export.erlang
54
- endCaptures:
55
- "1":
56
- name: punctuation.definition.parameters.end.erlang
57
- "2":
58
- name: punctuation.section.directive.end.erlang
59
- begin: ^\s*+(-)\s*+(export)\s*+(\()
60
- beginCaptures:
61
- "1":
62
- name: punctuation.section.directive.begin.erlang
63
- "2":
64
- name: keyword.control.directive.export.erlang
65
- "3":
66
- name: punctuation.definition.parameters.begin.erlang
67
- end: (\))\s*+(\.)
68
- patterns:
69
- - include: "#internal-function-list"
70
- symbolic-operator:
71
- name: keyword.operator.symbolic.erlang
72
- match: \+\+|\+|--|-|\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!
73
- number:
74
- begin: (?=\d)
75
- end: (?!\d)
76
- patterns:
77
- - name: constant.numeric.float.erlang
78
- captures:
79
- "1":
80
- name: punctuation.separator.integer-float.erlang
81
- "3":
82
- name: punctuation.separator.float-exponent.erlang
83
- match: \d++(\.)\d++(([eE][\+\-])?\d++)?
84
- - name: constant.numeric.integer.binary.erlang
85
- captures:
86
- "1":
87
- name: punctuation.separator.base-integer.erlang
88
- match: 2(#)[0-1]++
89
- - name: constant.numeric.integer.base-3.erlang
90
- captures:
91
- "1":
92
- name: punctuation.separator.base-integer.erlang
93
- match: 3(#)[0-2]++
94
- - name: constant.numeric.integer.base-4.erlang
95
- captures:
96
- "1":
97
- name: punctuation.separator.base-integer.erlang
98
- match: 4(#)[0-3]++
99
- - name: constant.numeric.integer.base-5.erlang
100
- captures:
101
- "1":
102
- name: punctuation.separator.base-integer.erlang
103
- match: 5(#)[0-4]++
104
- - name: constant.numeric.integer.base-6.erlang
105
- captures:
106
- "1":
107
- name: punctuation.separator.base-integer.erlang
108
- match: 6(#)[0-5]++
109
- - name: constant.numeric.integer.base-7.erlang
110
- captures:
111
- "1":
112
- name: punctuation.separator.base-integer.erlang
113
- match: 7(#)[0-6]++
114
- - name: constant.numeric.integer.octal.erlang
115
- captures:
116
- "1":
117
- name: punctuation.separator.base-integer.erlang
118
- match: 8(#)[0-7]++
119
- - name: constant.numeric.integer.base-9.erlang
120
- captures:
121
- "1":
122
- name: punctuation.separator.base-integer.erlang
123
- match: 9(#)[0-8]++
124
- - name: constant.numeric.integer.decimal.erlang
125
- captures:
126
- "1":
127
- name: punctuation.separator.base-integer.erlang
128
- match: 10(#)\d++
129
- - name: constant.numeric.integer.base-11.erlang
130
- captures:
131
- "1":
132
- name: punctuation.separator.base-integer.erlang
133
- match: 11(#)[\daA]++
134
- - name: constant.numeric.integer.base-12.erlang
135
- captures:
136
- "1":
137
- name: punctuation.separator.base-integer.erlang
138
- match: 12(#)[\da-bA-B]++
139
- - name: constant.numeric.integer.base-13.erlang
140
- captures:
141
- "1":
142
- name: punctuation.separator.base-integer.erlang
143
- match: 13(#)[\da-cA-C]++
144
- - name: constant.numeric.integer.base-14.erlang
145
- captures:
146
- "1":
147
- name: punctuation.separator.base-integer.erlang
148
- match: 14(#)[\da-dA-D]++
149
- - name: constant.numeric.integer.base-15.erlang
150
- captures:
151
- "1":
152
- name: punctuation.separator.base-integer.erlang
153
- match: 15(#)[\da-eA-E]++
154
- - name: constant.numeric.integer.hexadecimal.erlang
155
- captures:
156
- "1":
157
- name: punctuation.separator.base-integer.erlang
158
- match: 16(#)\h++
159
- - name: constant.numeric.integer.base-17.erlang
160
- captures:
161
- "1":
162
- name: punctuation.separator.base-integer.erlang
163
- match: 17(#)[\da-gA-G]++
164
- - name: constant.numeric.integer.base-18.erlang
165
- captures:
166
- "1":
167
- name: punctuation.separator.base-integer.erlang
168
- match: 18(#)[\da-hA-H]++
169
- - name: constant.numeric.integer.base-19.erlang
170
- captures:
171
- "1":
172
- name: punctuation.separator.base-integer.erlang
173
- match: 19(#)[\da-iA-I]++
174
- - name: constant.numeric.integer.base-20.erlang
175
- captures:
176
- "1":
177
- name: punctuation.separator.base-integer.erlang
178
- match: 20(#)[\da-jA-J]++
179
- - name: constant.numeric.integer.base-21.erlang
180
- captures:
181
- "1":
182
- name: punctuation.separator.base-integer.erlang
183
- match: 21(#)[\da-kA-K]++
184
- - name: constant.numeric.integer.base-22.erlang
185
- captures:
186
- "1":
187
- name: punctuation.separator.base-integer.erlang
188
- match: 22(#)[\da-lA-L]++
189
- - name: constant.numeric.integer.base-23.erlang
190
- captures:
191
- "1":
192
- name: punctuation.separator.base-integer.erlang
193
- match: 23(#)[\da-mA-M]++
194
- - name: constant.numeric.integer.base-24.erlang
195
- captures:
196
- "1":
197
- name: punctuation.separator.base-integer.erlang
198
- match: 24(#)[\da-nA-N]++
199
- - name: constant.numeric.integer.base-25.erlang
200
- captures:
201
- "1":
202
- name: punctuation.separator.base-integer.erlang
203
- match: 25(#)[\da-oA-O]++
204
- - name: constant.numeric.integer.base-26.erlang
205
- captures:
206
- "1":
207
- name: punctuation.separator.base-integer.erlang
208
- match: 26(#)[\da-pA-P]++
209
- - name: constant.numeric.integer.base-27.erlang
210
- captures:
211
- "1":
212
- name: punctuation.separator.base-integer.erlang
213
- match: 27(#)[\da-qA-Q]++
214
- - name: constant.numeric.integer.base-28.erlang
215
- captures:
216
- "1":
217
- name: punctuation.separator.base-integer.erlang
218
- match: 28(#)[\da-rA-R]++
219
- - name: constant.numeric.integer.base-29.erlang
220
- captures:
221
- "1":
222
- name: punctuation.separator.base-integer.erlang
223
- match: 29(#)[\da-sA-S]++
224
- - name: constant.numeric.integer.base-30.erlang
225
- captures:
226
- "1":
227
- name: punctuation.separator.base-integer.erlang
228
- match: 30(#)[\da-tA-T]++
229
- - name: constant.numeric.integer.base-31.erlang
230
- captures:
231
- "1":
232
- name: punctuation.separator.base-integer.erlang
233
- match: 31(#)[\da-uA-U]++
234
- - name: constant.numeric.integer.base-32.erlang
235
- captures:
236
- "1":
237
- name: punctuation.separator.base-integer.erlang
238
- match: 32(#)[\da-vA-V]++
239
- - name: constant.numeric.integer.base-33.erlang
240
- captures:
241
- "1":
242
- name: punctuation.separator.base-integer.erlang
243
- match: 33(#)[\da-wA-W]++
244
- - name: constant.numeric.integer.base-34.erlang
245
- captures:
246
- "1":
247
- name: punctuation.separator.base-integer.erlang
248
- match: 34(#)[\da-xA-X]++
249
- - name: constant.numeric.integer.base-35.erlang
250
- captures:
251
- "1":
252
- name: punctuation.separator.base-integer.erlang
253
- match: 35(#)[\da-yA-Y]++
254
- - name: constant.numeric.integer.base-36.erlang
255
- captures:
256
- "1":
257
- name: punctuation.separator.base-integer.erlang
258
- match: 36(#)[\da-zA-Z]++
259
- - name: invalid.illegal.integer.erlang
260
- match: \d++#[\da-zA-Z]++
261
- - name: constant.numeric.integer.decimal.erlang
262
- match: \d++
263
- internal-type-specifiers:
264
- begin: (/)
265
- beginCaptures:
266
- "1":
267
- name: punctuation.separator.value-type.erlang
268
- end: (?=,|:|>>)
269
- patterns:
270
- - captures:
271
- "1":
272
- name: storage.type.erlang
273
- "2":
274
- name: storage.modifier.signedness.erlang
275
- "3":
276
- name: storage.modifier.endianness.erlang
277
- "4":
278
- name: storage.modifier.unit.erlang
279
- "5":
280
- name: punctuation.separator.type-specifiers.erlang
281
- match: (integer|float|binary)|(signed|unsigned)|(big|little|native)|(unit)|(-)
282
- character:
283
- patterns:
284
- - name: constant.character.erlang
285
- captures:
286
- "1":
287
- name: punctuation.definition.character.erlang
288
- "2":
289
- name: constant.character.escape.erlang
290
- "3":
291
- name: punctuation.definition.escape.erlang
292
- "5":
293
- name: punctuation.definition.escape.erlang
294
- match: (\$)((\\)([bdefnrstv\\'"]|(\^)[@-_]|[0-7]{1,3}))
295
- - name: invalid.illegal.character.erlang
296
- match: \$\\\^?.?
297
- - name: constant.character.erlang
298
- captures:
299
- "1":
300
- name: punctuation.definition.character.erlang
301
- match: (\$)\S
302
- - name: invalid.illegal.character.erlang
303
- match: \$.?
304
- macro-directive:
305
- patterns:
306
- - name: meta.directive.ifdef.erlang
307
- captures:
308
- "6":
309
- name: punctuation.section.directive.end.erlang
310
- "1":
311
- name: punctuation.section.directive.begin.erlang
312
- "2":
313
- name: keyword.control.directive.ifdef.erlang
314
- "3":
315
- name: punctuation.definition.parameters.begin.erlang
316
- "4":
317
- name: entity.name.function.macro.erlang
318
- "5":
319
- name: punctuation.definition.parameters.end.erlang
320
- match: ^\s*+(-)\s*+(ifdef)\s*+(\()\s*+([a-zA-z\d@_]++)\s*+(\))\s*+(\.)
321
- - name: meta.directive.ifndef.erlang
322
- captures:
323
- "6":
324
- name: punctuation.section.directive.end.erlang
325
- "1":
326
- name: punctuation.section.directive.begin.erlang
327
- "2":
328
- name: keyword.control.directive.ifndef.erlang
329
- "3":
330
- name: punctuation.definition.parameters.begin.erlang
331
- "4":
332
- name: entity.name.function.macro.erlang
333
- "5":
334
- name: punctuation.definition.parameters.end.erlang
335
- match: ^\s*+(-)\s*+(ifndef)\s*+(\()\s*+([a-zA-z\d@_]++)\s*+(\))\s*+(\.)
336
- - name: meta.directive.undef.erlang
337
- captures:
338
- "6":
339
- name: punctuation.section.directive.end.erlang
340
- "1":
341
- name: punctuation.section.directive.begin.erlang
342
- "2":
343
- name: keyword.control.directive.undef.erlang
344
- "3":
345
- name: punctuation.definition.parameters.begin.erlang
346
- "4":
347
- name: entity.name.function.macro.erlang
348
- "5":
349
- name: punctuation.definition.parameters.end.erlang
350
- match: ^\s*+(-)\s*+(undef)\s*+(\()\s*+([a-zA-z\d@_]++)\s*+(\))\s*+(\.)
351
- internal-record-body:
352
- name: meta.structure.record.erlang
353
- begin: (\{)
354
- beginCaptures:
355
- "1":
356
- name: punctuation.definition.class.record.begin.erlang
357
- end: (?=\})
358
- patterns:
359
- - endCaptures:
360
- "1":
361
- name: punctuation.separator.class.record.erlang
362
- begin: (([a-z][a-zA-Z\d@_]*+)|(_))\s*+(=)
363
- beginCaptures:
364
- "2":
365
- name: variable.other.field.erlang
366
- "3":
367
- name: variable.language.omitted.field.erlang
368
- "4":
369
- name: keyword.operator.assignment.erlang
370
- end: (,)|(?=\})
371
- patterns:
372
- - include: "#everything-else"
373
- - captures:
374
- "1":
375
- name: variable.other.field.erlang
376
- "2":
377
- name: punctuation.separator.class.record.erlang
378
- match: ([a-z][a-zA-Z\d@_]*+)\s*+(,)?
379
- - include: "#everything-else"
380
- internal-function-list:
381
- name: meta.structure.list.function.erlang
382
- endCaptures:
383
- "1":
384
- name: punctuation.definition.list.end.erlang
385
- begin: (\[)
386
- beginCaptures:
387
- "1":
388
- name: punctuation.definition.list.begin.erlang
389
- end: (\])
390
- patterns:
391
- - endCaptures:
392
- "1":
393
- name: punctuation.separator.list.erlang
394
- begin: ([a-z][a-zA-Z\d@_]*+)\s*+(/)
395
- beginCaptures:
396
- "1":
397
- name: entity.name.function.erlang
398
- "2":
399
- name: punctuation.separator.function-arity.erlang
400
- end: (,)|(?=\])
401
- patterns:
402
- - include: "#everything-else"
403
- - include: "#everything-else"
404
- internal-expression-punctuation:
405
- captures:
406
- "1":
407
- name: punctuation.separator.clause-head-body.erlang
408
- "2":
409
- name: punctuation.separator.clauses.erlang
410
- "3":
411
- name: punctuation.separator.expressions.erlang
412
- match: (->)|(;)|(,)
413
- directive:
414
- patterns:
415
- - name: meta.directive.erlang
416
- endCaptures:
417
- "1":
418
- name: punctuation.definition.parameters.end.erlang
419
- "2":
420
- name: punctuation.section.directive.end.erlang
421
- begin: ^\s*+(-)\s*+([a-z][a-zA-Z\d@_]*+)\s*+(\()
422
- beginCaptures:
423
- "1":
424
- name: punctuation.section.directive.begin.erlang
425
- "2":
426
- name: keyword.control.directive.erlang
427
- "3":
428
- name: punctuation.definition.parameters.begin.erlang
429
- end: (\))\s*+(\.)
430
- patterns:
431
- - include: "#everything-else"
432
- - name: meta.directive.erlang
433
- captures:
434
- "1":
435
- name: punctuation.section.directive.begin.erlang
436
- "2":
437
- name: keyword.control.directive.erlang
438
- "3":
439
- name: punctuation.section.directive.end.erlang
440
- match: ^\s*+(-)\s*+([a-z][a-zA-Z\d@_]*+)\s*+(\.)
441
- binary:
442
- name: meta.structure.binary.erlang
443
- endCaptures:
444
- "1":
445
- name: punctuation.definition.binary.end.erlang
446
- begin: (<<)
447
- beginCaptures:
448
- "1":
449
- name: punctuation.definition.binary.begin.erlang
450
- end: (>>)
451
- patterns:
452
- - captures:
453
- "1":
454
- name: punctuation.separator.binary.erlang
455
- "2":
456
- name: punctuation.separator.value-size.erlang
457
- match: (,)|(:)
458
- - include: "#internal-type-specifiers"
459
- - include: "#everything-else"
460
- function:
461
- name: meta.function.erlang
462
- endCaptures:
463
- "1":
464
- name: punctuation.terminator.function.erlang
465
- begin: ^\s*+([a-z][a-zA-Z\d@_]*+)\s*+(?=\()
466
- beginCaptures:
467
- "1":
468
- name: entity.name.function.definition.erlang
469
- end: (\.)
470
- patterns:
471
- - endCaptures:
472
- "1":
473
- name: punctuation.separator.clauses.erlang
474
- begin: (?=\()
475
- end: (;)|(?=\.)
476
- patterns:
477
- - include: "#internal-function-parts"
478
- - captures:
479
- "1":
480
- name: entity.name.function.erlang
481
- match: ^\s*+([a-z][a-zA-Z\d@_]*+)\s*+(?=\()
482
- - include: "#everything-else"
483
- expression:
484
- patterns:
485
- - name: meta.expression.if.erlang
486
- endCaptures:
487
- "1":
488
- name: keyword.control.end.erlang
489
- begin: \b(if)\b
490
- beginCaptures:
491
- "1":
492
- name: keyword.control.if.erlang
493
- end: \b(end)\b
494
- patterns:
495
- - include: "#internal-expression-punctuation"
496
- - include: "#everything-else"
497
- - name: meta.expression.case.erlang
498
- endCaptures:
499
- "1":
500
- name: keyword.control.end.erlang
501
- begin: \b(case)\b
502
- beginCaptures:
503
- "1":
504
- name: keyword.control.case.erlang
505
- end: \b(end)\b
506
- patterns:
507
- - include: "#internal-expression-punctuation"
508
- - include: "#everything-else"
509
- - name: meta.expression.receive.erlang
510
- endCaptures:
511
- "1":
512
- name: keyword.control.end.erlang
513
- begin: \b(receive)\b
514
- beginCaptures:
515
- "1":
516
- name: keyword.control.receive.erlang
517
- end: \b(end)\b
518
- patterns:
519
- - include: "#internal-expression-punctuation"
520
- - include: "#everything-else"
521
- - captures:
522
- "6":
523
- name: punctuation.separator.function-arity.erlang
524
- "1":
525
- name: keyword.control.fun.erlang
526
- "3":
527
- name: entity.name.type.class.module.erlang
528
- "4":
529
- name: punctuation.separator.module-function.erlang
530
- "5":
531
- name: entity.name.function.erlang
532
- match: \b(fun)\s*+(([a-z][a-zA-Z\d@_]*+)\s*+(:)\s*+)?([a-z][a-zA-Z\d@_]*+)\s*(/)
533
- - name: meta.expression.fun.erlang
534
- endCaptures:
535
- "1":
536
- name: keyword.control.end.erlang
537
- begin: \b(fun)\b
538
- beginCaptures:
539
- "1":
540
- name: keyword.control.fun.erlang
541
- end: \b(end)\b
542
- patterns:
543
- - endCaptures:
544
- "1":
545
- name: punctuation.separator.clauses.erlang
546
- begin: (?=\()
547
- end: (;)|(?=\bend\b)
548
- patterns:
549
- - include: "#internal-function-parts"
550
- - include: "#everything-else"
551
- - name: meta.expression.try.erlang
552
- endCaptures:
553
- "1":
554
- name: keyword.control.end.erlang
555
- begin: \b(try)\b
556
- beginCaptures:
557
- "1":
558
- name: keyword.control.try.erlang
559
- end: \b(end)\b
560
- patterns:
561
- - include: "#internal-expression-punctuation"
562
- - include: "#everything-else"
563
- - name: meta.expression.begin.erlang
564
- endCaptures:
565
- "1":
566
- name: keyword.control.end.erlang
567
- begin: \b(begin)\b
568
- beginCaptures:
569
- "1":
570
- name: keyword.control.begin.erlang
571
- end: \b(end)\b
572
- patterns:
573
- - include: "#internal-expression-punctuation"
574
- - include: "#everything-else"
575
- - name: meta.expression.query.erlang
576
- endCaptures:
577
- "1":
578
- name: keyword.control.end.erlang
579
- begin: \b(query)\b
580
- beginCaptures:
581
- "1":
582
- name: keyword.control.query.erlang
583
- end: \b(end)\b
584
- patterns:
585
- - include: "#everything-else"
586
- module-directive:
587
- name: meta.directive.module.erlang
588
- captures:
589
- "6":
590
- name: punctuation.section.directive.end.erlang
591
- "1":
592
- name: punctuation.section.directive.begin.erlang
593
- "2":
594
- name: keyword.control.directive.module.erlang
595
- "3":
596
- name: punctuation.definition.parameters.begin.erlang
597
- "4":
598
- name: entity.name.type.class.module.definition.erlang
599
- "5":
600
- name: punctuation.definition.parameters.end.erlang
601
- match: ^\s*+(-)\s*+(module)\s*+(\()\s*+([a-z][a-zA-Z\d@_]*+)\s*+(\))\s*+(\.)
602
- define-directive:
603
- patterns:
604
- - name: meta.directive.define.erlang
605
- endCaptures:
606
- "1":
607
- name: punctuation.definition.parameters.end.erlang
608
- "2":
609
- name: punctuation.section.directive.end.erlang
610
- begin: ^\s*+(-)\s*+(define)\s*+(\()\s*+([a-zA-Z\d@_]++)\s*+(,)
611
- beginCaptures:
612
- "1":
613
- name: punctuation.section.directive.begin.erlang
614
- "2":
615
- name: keyword.control.directive.define.erlang
616
- "3":
617
- name: punctuation.definition.parameters.begin.erlang
618
- "4":
619
- name: entity.name.function.macro.definition.erlang
620
- "5":
621
- name: punctuation.separator.parameters.erlang
622
- end: (\))\s*+(\.)
623
- patterns:
624
- - include: "#everything-else"
625
- - name: meta.directive.define.erlang
626
- endCaptures:
627
- "1":
628
- name: punctuation.definition.parameters.end.erlang
629
- "2":
630
- name: punctuation.section.directive.end.erlang
631
- begin: (?=^\s*+-\s*+define\s*+\(\s*+[a-zA-Z\d@_]++\s*+\()
632
- end: (\))\s*+(\.)
633
- patterns:
634
- - endCaptures:
635
- "1":
636
- name: punctuation.definition.parameters.end.erlang
637
- "2":
638
- name: punctuation.separator.parameters.erlang
639
- begin: ^\s*+(-)\s*+(define)\s*+(\()\s*+([a-zA-Z\d@_]++)\s*+(\()
640
- beginCaptures:
641
- "1":
642
- name: punctuation.section.directive.begin.erlang
643
- "2":
644
- name: keyword.control.directive.define.erlang
645
- "3":
646
- name: punctuation.definition.parameters.begin.erlang
647
- "4":
648
- name: entity.name.function.macro.definition.erlang
649
- "5":
650
- name: punctuation.definition.parameters.begin.erlang
651
- end: (\))\s*(,)
652
- patterns:
653
- - name: punctuation.separator.parameters.erlang
654
- match: ","
655
- - include: "#everything-else"
656
- - name: punctuation.separator.define.erlang
657
- match: \|\||\||:|;|,|\.|->
658
- - include: "#everything-else"
659
- tuple:
660
- name: meta.structure.tuple.erlang
661
- endCaptures:
662
- "1":
663
- name: punctuation.definition.tuple.end.erlang
664
- begin: (\{)
665
- beginCaptures:
666
- "1":
667
- name: punctuation.definition.tuple.begin.erlang
668
- end: (\})
669
- patterns:
670
- - name: punctuation.separator.tuple.erlang
671
- match: ","
672
- - include: "#everything-else"
673
- textual-operator:
674
- name: keyword.operator.textual.erlang
675
- match: \b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\b
676
- record-directive:
677
- name: meta.directive.record.erlang
678
- endCaptures:
679
- "1":
680
- name: meta.structure.record.erlang
681
- "2":
682
- name: punctuation.definition.class.record.end.erlang
683
- "3":
684
- name: punctuation.definition.parameters.end.erlang
685
- "4":
686
- name: punctuation.section.directive.end.erlang
687
- begin: ^\s*+(-)\s*+(record)\s*+(\()\s*+([a-z][a-zA-Z\d@_]*+)\s*+(,)
688
- beginCaptures:
689
- "1":
690
- name: punctuation.section.directive.begin.erlang
691
- "2":
692
- name: keyword.control.directive.import.erlang
693
- "3":
694
- name: punctuation.definition.parameters.begin.erlang
695
- "4":
696
- name: entity.name.type.class.record.definition.erlang
697
- "5":
698
- name: punctuation.separator.parameters.erlang
699
- end: ((\}))\s*+(\))\s*+(\.)
700
- patterns:
701
- - include: "#internal-record-body"
702
- function-call:
703
- name: meta.function-call.erlang
704
- endCaptures:
705
- "1":
706
- name: punctuation.definition.parameters.end.erlang
707
- begin: (?=[a-z][a-zA-Z\d@_]*+\s*+(\(|:\s*+[a-z][a-zA-Z\d@_]*+\s*+\())
708
- end: (\))
709
- patterns:
710
- - begin: ((erlang)\s*+(:)\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\s*+(\()
711
- beginCaptures:
712
- "2":
713
- name: entity.name.type.class.module.erlang
714
- "3":
715
- name: punctuation.separator.module-function.erlang
716
- "4":
717
- name: entity.name.function.guard.erlang
718
- "5":
719
- name: punctuation.definition.parameters.begin.erlang
720
- end: (?=\))
721
- patterns:
722
- - name: punctuation.separator.parameters.erlang
723
- match: ","
724
- - include: "#everything-else"
725
- - begin: (([a-z][a-zA-Z\d@_]*+)\s*+(:)\s*+)?([a-z][a-zA-Z\d@_]*+)\s*+(\()
726
- beginCaptures:
727
- "2":
728
- name: entity.name.type.class.module.erlang
729
- "3":
730
- name: punctuation.separator.module-function.erlang
731
- "4":
732
- name: entity.name.function.erlang
733
- "5":
734
- name: punctuation.definition.parameters.begin.erlang
735
- end: (?=\))
736
- patterns:
737
- - name: punctuation.separator.parameters.erlang
738
- match: ","
739
- - include: "#everything-else"
740
- everything-else:
741
- patterns:
742
- - include: "#comment"
743
- - include: "#record-usage"
744
- - include: "#macro-usage"
745
- - include: "#expression"
746
- - include: "#keyword"
747
- - include: "#textual-operator"
748
- - include: "#function-call"
749
- - include: "#tuple"
750
- - include: "#list"
751
- - include: "#binary"
752
- - include: "#parenthesized-expression"
753
- - include: "#character"
754
- - include: "#number"
755
- - include: "#atom"
756
- - include: "#string"
757
- - include: "#symbolic-operator"
758
- - include: "#variable"
759
- record-usage:
760
- patterns:
761
- - name: meta.record-usage.erlang
762
- captures:
763
- "1":
764
- name: keyword.operator.record.erlang
765
- "2":
766
- name: entity.name.type.class.record.erlang
767
- "3":
768
- name: punctuation.separator.record-field.erlang
769
- "4":
770
- name: variable.other.field.erlang
771
- match: (#)\s*+([a-z][a-zA-Z\d@_]*+)\s*+(\.)\s*+([a-z][a-zA-Z\d@_]*+)
772
- - name: meta.record-usage.erlang
773
- endCaptures:
774
- "1":
775
- name: meta.structure.record.erlang
776
- "2":
777
- name: punctuation.definition.class.record.end.erlang
778
- begin: (#)\s*+([a-z][a-zA-Z\d@_]*+)
779
- beginCaptures:
780
- "1":
781
- name: keyword.operator.record.erlang
782
- "2":
783
- name: entity.name.type.class.record.erlang
784
- end: ((\}))
785
- patterns:
786
- - include: "#internal-record-body"
787
- parenthesized-expression:
788
- name: meta.expression.parenthesized
789
- endCaptures:
790
- "1":
791
- name: punctuation.section.expression.end.erlang
792
- begin: (\()
793
- beginCaptures:
794
- "1":
795
- name: punctuation.section.expression.begin.erlang
796
- end: (\))
797
- patterns:
798
- - include: "#everything-else"
799
- keyword:
800
- name: keyword.control.erlang
801
- match: \b(after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\b
802
- internal-function-parts:
803
- patterns:
804
- - endCaptures:
805
- "1":
806
- name: punctuation.separator.clause-head-body.erlang
807
- begin: (?=\()
808
- end: (->)
809
- patterns:
810
- - endCaptures:
811
- "1":
812
- name: punctuation.definition.parameters.end.erlang
813
- begin: (\()
814
- beginCaptures:
815
- "1":
816
- name: punctuation.definition.parameters.begin.erlang
817
- end: (\))
818
- patterns:
819
- - name: punctuation.separator.parameters.erlang
820
- match: ","
821
- - include: "#everything-else"
822
- - name: punctuation.separator.guards.erlang
823
- match: ",|;"
824
- - include: "#everything-else"
825
- - name: punctuation.separator.expressions.erlang
826
- match: ","
827
- - include: "#everything-else"
828
- comment:
829
- name: comment.line.erlang
830
- begin: (%)
831
- beginCaptures:
832
- "1":
833
- name: punctuation.definition.comment.erlang
834
- end: $\n?
835
- variable:
836
- captures:
837
- "1":
838
- name: variable.other.erlang
839
- "2":
840
- name: variable.language.omitted.erlang
841
- match: (_[a-zA-Z\d@_]++|[A-Z][a-zA-Z\d@_]*+)|(_)
842
- string:
843
- name: string.quoted.double.erlang
844
- endCaptures:
845
- "1":
846
- name: punctuation.definition.string.end.erlang
847
- begin: (")
848
- beginCaptures:
849
- "1":
850
- name: punctuation.definition.string.begin.erlang
851
- end: (")
852
- patterns:
853
- - name: constant.character.escape.erlang
854
- captures:
855
- "1":
856
- name: punctuation.definition.escape.erlang
857
- "3":
858
- name: punctuation.definition.escape.erlang
859
- match: (\\)([bdefnrstv\\'"]|(\^)[@-_]|[0-7]{1,3})
860
- - name: invalid.illegal.string.erlang
861
- match: \\\^?.?
862
- - name: constant.other.placeholder.erlang
863
- captures:
864
- "6":
865
- name: punctuation.separator.placeholder-parts.erlang
866
- "12":
867
- name: punctuation.separator.placeholder-parts.erlang
868
- "8":
869
- name: punctuation.separator.placeholder-parts.erlang
870
- "1":
871
- name: punctuation.definition.placeholder.erlang
872
- "3":
873
- name: punctuation.separator.placeholder-parts.erlang
874
- "4":
875
- name: punctuation.separator.placeholder-parts.erlang
876
- "10":
877
- name: punctuation.separator.placeholder-parts.erlang
878
- match: (~)((\-)?\d++|(\*))?((\.)(\d++|(\*)))?((\.)((\*)|.))?[~cfegswpWPBX#bx\+ni]
879
- - name: constant.other.placeholder.erlang
880
- captures:
881
- "1":
882
- name: punctuation.definition.placeholder.erlang
883
- "2":
884
- name: punctuation.separator.placeholder-parts.erlang
885
- match: (~)(\*)?(\d++)?[~du\-#fsacl]
886
- - name: invalid.illegal.string.erlang
887
- match: ~.?
888
- atom:
889
- patterns:
890
- - name: constant.other.symbol.quoted.single.erlang
891
- endCaptures:
892
- "1":
893
- name: punctuation.definition.symbol.end.erlang
894
- begin: (')
895
- beginCaptures:
896
- "1":
897
- name: punctuation.definition.symbol.begin.erlang
898
- end: (')
899
- patterns:
900
- - name: constant.other.symbol.escape.erlang
901
- captures:
902
- "1":
903
- name: punctuation.definition.escape.erlang
904
- "3":
905
- name: punctuation.definition.escape.erlang
906
- match: (\\)([bdefnrstv\\'"]|(\^)[@-_]|[0-7]{1,3})
907
- - name: invalid.illegal.atom.erlang
908
- match: \\\^?.?
909
- - name: constant.other.symbol.unquoted.erlang
910
- match: "[a-z][a-zA-Z\\d@_]*+"
911
- uuid: 58EA597D-5158-4BF7-9FB2-B05135D1E166
912
- patterns:
913
- - include: "#module-directive"
914
- - include: "#import-export-directive"
915
- - include: "#record-directive"
916
- - include: "#define-directive"
917
- - include: "#macro-directive"
918
- - include: "#directive"
919
- - include: "#function"
920
- - include: "#everything-else"
921
- keyEquivalent: ^~E
922
- comment: The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace). Also, the function/module/record/macro names must be given unquoted. -- desp