bjeanes-ultraviolet 0.10.3
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +29 -0
- data/Manifest.txt +233 -0
- data/README.txt +52 -0
- data/Rakefile +51 -0
- data/bin/theme2latexrender +122 -0
- data/bin/theme2xhtmlrender +156 -0
- data/bin/uv +140 -0
- data/lib/uv.rb +100 -0
- data/lib/uv/render_processor.rb +131 -0
- data/lib/uv/utility.rb +67 -0
- data/render/latex/active4d.render +132 -0
- data/render/latex/all_hallows_eve.render +96 -0
- data/render/latex/amy.render +171 -0
- data/render/latex/blackboard.render +111 -0
- data/render/latex/brilliance_black.render +552 -0
- data/render/latex/brilliance_dull.render +561 -0
- data/render/latex/cobalt.render +162 -0
- data/render/latex/dawn.render +126 -0
- data/render/latex/eiffel.render +132 -0
- data/render/latex/espresso_libre.render +123 -0
- data/render/latex/idle.render +93 -0
- data/render/latex/iplastic.render +99 -0
- data/render/latex/lazy.render +96 -0
- data/render/latex/mac_classic.render +135 -0
- data/render/latex/magicwb_amiga.render +117 -0
- data/render/latex/pastels_on_dark.render +204 -0
- data/render/latex/slush_poppies.render +123 -0
- data/render/latex/spacecadet.render +81 -0
- data/render/latex/sunburst.render +186 -0
- data/render/latex/twilight.render +153 -0
- data/render/latex/zenburnesque.render +126 -0
- data/render/old/txt2tags.render +131 -0
- data/render/xhtml/active4d.render +140 -0
- data/render/xhtml/all_hallows_eve.render +104 -0
- data/render/xhtml/amy.render +179 -0
- data/render/xhtml/blackboard.render +119 -0
- data/render/xhtml/brilliance_black.render +560 -0
- data/render/xhtml/brilliance_dull.render +569 -0
- data/render/xhtml/cobalt.render +170 -0
- data/render/xhtml/dawn.render +134 -0
- data/render/xhtml/eiffel.render +140 -0
- data/render/xhtml/espresso_libre.render +131 -0
- data/render/xhtml/files/css/active4d.css +114 -0
- data/render/xhtml/files/css/all_hallows_eve.css +72 -0
- data/render/xhtml/files/css/amy.css +147 -0
- data/render/xhtml/files/css/blackboard.css +88 -0
- data/render/xhtml/files/css/brilliance_black.css +605 -0
- data/render/xhtml/files/css/brilliance_dull.css +599 -0
- data/render/xhtml/files/css/cobalt.css +149 -0
- data/render/xhtml/files/css/dawn.css +121 -0
- data/render/xhtml/files/css/eiffel.css +121 -0
- data/render/xhtml/files/css/espresso_libre.css +109 -0
- data/render/xhtml/files/css/idle.css +62 -0
- data/render/xhtml/files/css/iplastic.css +80 -0
- data/render/xhtml/files/css/lazy.css +73 -0
- data/render/xhtml/files/css/mac_classic.css +123 -0
- data/render/xhtml/files/css/magicwb_amiga.css +104 -0
- data/render/xhtml/files/css/pastels_on_dark.css +188 -0
- data/render/xhtml/files/css/slush_poppies.css +85 -0
- data/render/xhtml/files/css/spacecadet.css +51 -0
- data/render/xhtml/files/css/sunburst.css +180 -0
- data/render/xhtml/files/css/twilight.css +137 -0
- data/render/xhtml/files/css/zenburnesque.css +91 -0
- data/render/xhtml/idle.render +101 -0
- data/render/xhtml/iplastic.render +107 -0
- data/render/xhtml/lazy.render +104 -0
- data/render/xhtml/mac_classic.render +143 -0
- data/render/xhtml/magicwb_amiga.render +125 -0
- data/render/xhtml/pastels_on_dark.render +212 -0
- data/render/xhtml/slush_poppies.render +131 -0
- data/render/xhtml/spacecadet.render +89 -0
- data/render/xhtml/sunburst.render +194 -0
- data/render/xhtml/twilight.render +161 -0
- data/render/xhtml/zenburnesque.render +134 -0
- data/syntax/actionscript.syntax +97 -0
- data/syntax/active4d.syntax +276 -0
- data/syntax/active4d_html.syntax +311 -0
- data/syntax/active4d_ini.syntax +50 -0
- data/syntax/active4d_library.syntax +21 -0
- data/syntax/ada.syntax +33 -0
- data/syntax/antlr.syntax +151 -0
- data/syntax/apache.syntax +191 -0
- data/syntax/applescript.syntax +384 -0
- data/syntax/asp.syntax +70 -0
- data/syntax/asp_vb.net.syntax +129 -0
- data/syntax/bibtex.syntax +151 -0
- data/syntax/blog_html.syntax +41 -0
- data/syntax/blog_markdown.syntax +42 -0
- data/syntax/blog_text.syntax +27 -0
- data/syntax/blog_textile.syntax +27 -0
- data/syntax/build.syntax +53 -0
- data/syntax/bulletin_board.syntax +287 -0
- data/syntax/c++.syntax +109 -0
- data/syntax/c.syntax +326 -0
- data/syntax/cake.syntax +55 -0
- data/syntax/camlp4.syntax +36 -0
- data/syntax/cm.syntax +32 -0
- data/syntax/coldfusion.syntax +119 -0
- data/syntax/context_free.syntax +176 -0
- data/syntax/cs.syntax +59 -0
- data/syntax/css.syntax +195 -0
- data/syntax/css_experimental.syntax +1925 -0
- data/syntax/csv.syntax +68 -0
- data/syntax/d.syntax +142 -0
- data/syntax/diff.syntax +81 -0
- data/syntax/dokuwiki.syntax +204 -0
- data/syntax/dot.syntax +47 -0
- data/syntax/doxygen.syntax +43 -0
- data/syntax/dylan.syntax +62 -0
- data/syntax/eiffel.syntax +78 -0
- data/syntax/erlang.syntax +922 -0
- data/syntax/f-script.syntax +80 -0
- data/syntax/fortran.syntax +141 -0
- data/syntax/fxscript.syntax +142 -0
- data/syntax/greasemonkey.syntax +34 -0
- data/syntax/gri.syntax +83 -0
- data/syntax/groovy.syntax +191 -0
- data/syntax/gtd.syntax +22 -0
- data/syntax/gtdalt.syntax +143 -0
- data/syntax/haml.syntax +88 -0
- data/syntax/haskell.syntax +88 -0
- data/syntax/html-asp.syntax +27 -0
- data/syntax/html.syntax +362 -0
- data/syntax/html_django.syntax +36 -0
- data/syntax/html_for_asp.net.syntax +424 -0
- data/syntax/html_mason.syntax +119 -0
- data/syntax/html_rails.syntax +40 -0
- data/syntax/html_tcl.syntax +26 -0
- data/syntax/icalendar.syntax +32 -0
- data/syntax/inform.syntax +48 -0
- data/syntax/ini.syntax +55 -0
- data/syntax/installer_distribution_script.syntax +77 -0
- data/syntax/io.syntax +81 -0
- data/syntax/java.syntax +211 -0
- data/syntax/javaproperties.syntax +20 -0
- data/syntax/javascript.syntax +256 -0
- data/syntax/javascript_+_prototype.syntax +72 -0
- data/syntax/javascript_+_prototype_bracketed.syntax +140 -0
- data/syntax/jquery_javascript.syntax +114 -0
- data/syntax/json.syntax +136 -0
- data/syntax/languagedefinition.syntax +708 -0
- data/syntax/latex.syntax +566 -0
- data/syntax/latex_beamer.syntax +41 -0
- data/syntax/latex_log.syntax +50 -0
- data/syntax/latex_memoir.syntax +64 -0
- data/syntax/lexflex.syntax +219 -0
- data/syntax/lighttpd.syntax +54 -0
- data/syntax/lilypond.syntax +492 -0
- data/syntax/lisp.syntax +61 -0
- data/syntax/literate_haskell.syntax +24 -0
- data/syntax/logo.syntax +29 -0
- data/syntax/logtalk.syntax +152 -0
- data/syntax/lua.syntax +86 -0
- data/syntax/m.syntax +142 -0
- data/syntax/macports_portfile.syntax +163 -0
- data/syntax/mail.syntax +118 -0
- data/syntax/makefile.syntax +36 -0
- data/syntax/man.syntax +17 -0
- data/syntax/markdown.syntax +543 -0
- data/syntax/mediawiki.syntax +567 -0
- data/syntax/mel.syntax +92 -0
- data/syntax/mips.syntax +66 -0
- data/syntax/mod_perl.syntax +50 -0
- data/syntax/modula-3.syntax +47 -0
- data/syntax/moinmoin.syntax +189 -0
- data/syntax/mootools.syntax +572 -0
- data/syntax/movable_type.syntax +162 -0
- data/syntax/multimarkdown.syntax +39 -0
- data/syntax/objective-c++.syntax +18 -0
- data/syntax/objective-c.syntax +233 -0
- data/syntax/ocaml.syntax +764 -0
- data/syntax/ocamllex.syntax +167 -0
- data/syntax/ocamlyacc.syntax +184 -0
- data/syntax/opengl.syntax +14 -0
- data/syntax/pascal.syntax +77 -0
- data/syntax/perl.syntax +1115 -0
- data/syntax/php.syntax +1253 -0
- data/syntax/plain_text.syntax +32 -0
- data/syntax/pmwiki.syntax +113 -0
- data/syntax/postscript.syntax +114 -0
- data/syntax/processing.syntax +106 -0
- data/syntax/prolog.syntax +40 -0
- data/syntax/property_list.syntax +635 -0
- data/syntax/python.syntax +868 -0
- data/syntax/python_django.syntax +21 -0
- data/syntax/qmake_project.syntax +114 -0
- data/syntax/qt_c++.syntax +26 -0
- data/syntax/quake3_config.syntax +32 -0
- data/syntax/r.syntax +81 -0
- data/syntax/r_console.syntax +16 -0
- data/syntax/ragel.syntax +201 -0
- data/syntax/rd_r_documentation.syntax +91 -0
- data/syntax/regexp.syntax +50 -0
- data/syntax/regular_expressions_oniguruma.syntax +107 -0
- data/syntax/regular_expressions_python.syntax +109 -0
- data/syntax/release_notes.syntax +46 -0
- data/syntax/remind.syntax +253 -0
- data/syntax/restructuredtext.syntax +250 -0
- data/syntax/rez.syntax +80 -0
- data/syntax/ruby.syntax +1035 -0
- data/syntax/ruby_experimental.syntax +145 -0
- data/syntax/ruby_on_rails.syntax +88 -0
- data/syntax/s5.syntax +69 -0
- data/syntax/scheme.syntax +347 -0
- data/syntax/scilab.syntax +41 -0
- data/syntax/setext.syntax +147 -0
- data/syntax/shell-unix-generic.syntax +384 -0
- data/syntax/slate.syntax +149 -0
- data/syntax/smarty.syntax +63 -0
- data/syntax/sql.syntax +237 -0
- data/syntax/sql_rails.syntax +18 -0
- data/syntax/ssh-config.syntax +33 -0
- data/syntax/standard_ml.syntax +121 -0
- data/syntax/strings_file.syntax +39 -0
- data/syntax/subversion_commit_message.syntax +36 -0
- data/syntax/sweave.syntax +84 -0
- data/syntax/swig.syntax +57 -0
- data/syntax/tcl.syntax +152 -0
- data/syntax/template_toolkit.syntax +121 -0
- data/syntax/tex.syntax +86 -0
- data/syntax/tex_math.syntax +49 -0
- data/syntax/textile.syntax +215 -0
- data/syntax/tsv.syntax +50 -0
- data/syntax/twiki.syntax +241 -0
- data/syntax/txt2tags.syntax +79 -0
- data/syntax/vectorscript.syntax +57 -0
- data/syntax/xhtml_1.0.syntax +4027 -0
- data/syntax/xml.syntax +180 -0
- data/syntax/xml_strict.syntax +92 -0
- data/syntax/xsl.syntax +60 -0
- data/syntax/yaml.syntax +160 -0
- data/syntax/yui_javascript.syntax +176 -0
- data/test/test_uv.rb +0 -0
- metadata +309 -0
data/syntax/dot.syntax
ADDED
@@ -0,0 +1,47 @@
|
|
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
|
@@ -0,0 +1,43 @@
|
|
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"
|
data/syntax/dylan.syntax
ADDED
@@ -0,0 +1,62 @@
|
|
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
|
@@ -0,0 +1,78 @@
|
|
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
|
@@ -0,0 +1,922 @@
|
|
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
|