github-linguist 9.0.0 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/grammars/liquid.injection.json +1 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.answersetprogramming.json +1 -0
- data/grammars/source.apacheconf.json +1 -0
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bst.json +1 -0
- data/grammars/source.c.linker.json +1 -0
- data/grammars/source.cairo0.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.git-revlist.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.ispc.json +1 -0
- data/grammars/source.jai.json +1 -0
- data/grammars/source.json.comments.json +1 -0
- data/grammars/source.just.json +1 -1
- data/grammars/source.kdl.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.mzn.json +1 -0
- data/grammars/source.nr.json +1 -1
- data/grammars/source.openesql.json +1 -1
- data/grammars/source.overpassql.json +1 -0
- data/grammars/source.polar.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.purescript.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.rascal.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scm.json +1 -0
- data/grammars/source.slang.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tact.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.textgrid.json +1 -1
- data/grammars/source.toc.json +1 -1
- data/grammars/source.ts.prismaClientRawSQL.json +1 -1
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.typst.json +1 -1
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.xmake.json +1 -0
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.rtf.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +1 -1
- data/lib/linguist/heuristics.yml +57 -17
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +155 -23
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +1 -1
- metadata +16 -6
- data/grammars/source.apache-config.json +0 -1
- data/grammars/source.apache-config.mod_perl.json +0 -1
- data/grammars/text.html.erlang.yaws.json +0 -1
data/grammars/source.curry.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Curry","scopeName":"source.curry","patterns":[{"name":"meta.declaration.module.curry","begin":"^(module)\\b","end":"\\b(where)\\b|(^(?!\\s))","patterns":[{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.module.curry"}},"endCaptures":{"1":{"name":"keyword.module.curry"}}},{"name":"meta.import.curry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"name":"keyword.other.curry keyword.import.curry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#module_name"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.import.curry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.curry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.curry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.curry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.curry"},"2":{"name":"keyword.declaration.foreign.curry"},"3":{"name":"keyword.declaration.foreign.curry"},"5":{"name":"string.quoted.double.curry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.curry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"}],"captures":{"0":{"name":"punctuation.comment.curry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.curry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.curry"}}},"comments":{"patterns":[{"name":"comment.line.curry","match":"(--).*$","captures":{"1":{"name":"punctuation.comment.curry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.curry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.curry entity.name.constructor.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"ctor_names":{"patterns":[{"name":"constant.other.curry entity.name.constructor.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.curry","begin":"^(\\s*)(?:(external)\\s+)?(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"name":"keyword.declaration.data.curry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"constant.other.curry entity.name.constructor.curry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.external.curry"},"3":{"name":"keyword.declaration.data.curry"},"4":{"name":"constant.other.curry entity.name.type.curry"}}},"deriving":{"name":"keyword.other.curry keyword.declaration.data.curry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"name":"storage.module.curry entity.name.module.curry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.curry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.error.curry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.curry punctuation.list.curry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.curry","match":","},{"name":"keyword.operator.function.infix.curry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.curry"},"3":{"name":"punctuation.definition.entity.curry"}}},{"name":"record.expression.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.curry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\[\\]"},{"include":"#comments"},{"name":"keyword.operator.curry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"external_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(external)\\b","end":"^(?!\\s)","beginCaptures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.declaration.external.curry"}}},"field_signature":{"name":"meta.declaration.field.signature.curry","match":"\\b(\\w+)\\s*(::|∷)\\s*([^,}]+)","captures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.other.double-colon.curry"},"3":{"patterns":[{"include":"#type"}]}}},"fixity_declaration":{"name":"meta.declaration.fixity.curry","match":"\\b(infix[lr]?)\\b\\s*(\\d+).+","captures":{"1":{"name":"keyword.declaration.fixity.curry"},"2":{"name":"constant.numeric.fixity.curry"}}},"foreign_function_signature":{"name":"meta.declaration.function.curry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"function_declarations":{"patterns":[{"include":"#fixity_declaration"},{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#external_function_definition"}]},"function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"function_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s*)(?!--|where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.curry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"}}},"infix_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.curry"}}},"infix_op":{"name":"keyword.operator.curry","match":"(\\([^\"'\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.curry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"},{"include":"#comments"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.curry"}}},"literals":{"patterns":[{"name":"constant.numeric.curry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.curry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.curry","begin":"\"","end":"\"|$","patterns":[{"name":"constant.character.escape.curry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.curry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.curry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.curry","match":"(?x)(')(?: [\\ -\u0026(-\\[\\]-~\"]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')","captures":{"2":{"name":"constant.character.escape.curry"},"3":{"name":"constant.character.escape.octal.curry"},"4":{"name":"constant.character.escape.hexadecimal.curry"},"5":{"name":"constant.character.escape.control.curry"}}}]},"module_exports":{"name":"meta.declaration.exports.curry","begin":"(\\()","end":"(\\))","patterns":[{"name":"constant.character.escape.multilinestring.curry","begin":"\\\\\\s*$","end":"\\\\"},{"name":"entity.name.function.curry","match":"(?\u003c!')\\b[a-z][\\w']*"},{"name":"meta.declaration.export.data.curry","begin":"(?\u003c!')\\b([A-Z][\\w']*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"storage.type.curry entity.name.data.curry"},"2":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"storage.type.curry entity.name.data.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"punctuation.separator.comma.curry","match":","},{"include":"#infix_op"},{"name":"meta.other.unknown.curry","match":"\\(.*?\\)"},{"include":"#module_exports"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"storage.module.curry"}},"endCaptures":{"1":{"name":"storage.module.curry"}}},"module_name":{"name":"entity.name.module.curry entity.name.namespace.curry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"pattern_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.curry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"pragma":{"name":"meta.preprocessor.curry pragma.curry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.curry pragma.support.language.curry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.curry pragma.support.flag.curry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.curry"},"2":{"name":"keyword.preprocessor.curry pragma.name.curry"}}},"quasi_quote":{"name":"string.quoted.quasi.curry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"},"2":{"name":"entity.name.function.curry"},"3":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}}},"record_declaration":{"name":"meta.declaration.record.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#field_signature"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},"type":{"patterns":[{"name":"keyword.operator.arrow.curry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.curry","match":"=\u003e|⇒"},{"name":"entity.name.type.curry support.type.curry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.curry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"entity.name.type.curry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"punctuation.unit.curry","match":"\\(\\)"},{"name":"meta.type_signature.brace.curry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"meta.type_signature.list.curry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"include":"#comments"}]},"type_declaration":{"name":"meta.declaration.type.curry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.curry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.curry"},"3":{"name":"constant.other.curry entity.name.type.curry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
|
1
|
+
{"name":"Curry","scopeName":"source.curry","patterns":[{"name":"meta.declaration.module.curry","begin":"^(module)\\b","end":"\\b(where)\\b|(^(?!\\s))","patterns":[{"include":"#comments"},{"include":"#module_name"},{"include":"#module_exports"},{"name":"invalid","match":"[a-z]+"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.module.curry"}},"endCaptures":{"1":{"name":"keyword.module.curry"}}},{"name":"meta.import.curry","begin":"^(import)\\b","end":"(^(?!\\s))","patterns":[{"include":"#comments"},{"name":"keyword.other.curry keyword.import.curry","match":"\\b(qualified|as|hiding)\\b"},{"include":"#module_name"},{"include":"#module_exports"}],"beginCaptures":{"1":{"name":"keyword.other.curry keyword.import.curry"}}},{"name":"meta.preprocessor.c pragma.preprocessor.curry","begin":"^\\s*(#)\\s*\\w+","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.preprocessor.c punctuation.pragma.preprocessor.curry"}}},{"include":"#pragma"},{"name":"meta.function.foreign-declaration.curry","begin":"^(foreign)\\s+(import|export)((\\s+\\w+))(\\s+\\\"(\\\\.|[^\\\"])*\\\")?\\s*","end":"^(?!\\s)","patterns":[{"include":"#foreign_function_signature"}],"beginCaptures":{"1":{"name":"keyword.declaration.foreign.curry"},"2":{"name":"keyword.declaration.foreign.curry"},"3":{"name":"keyword.declaration.foreign.curry"},"5":{"name":"string.quoted.double.curry"}}},{"include":"#type_declarations"},{"include":"#function_declarations"},{"include":"#expression_stuff"}],"repository":{"block_comment":{"name":"comment.block.curry","begin":"\\{-(?!#)","end":"(?\u003c!#)-\\}","patterns":[{"include":"#block_comment"}],"captures":{"0":{"name":"punctuation.comment.curry"}},"applyEndPatternLast":true},"class_declaration":{"name":"meta.declaration.class.curry","begin":"^(\\s*)(class)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.class.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.class.curry"}}},"comments":{"patterns":[{"name":"comment.line.curry","match":"(--).*$","captures":{"1":{"name":"punctuation.comment.curry"}}},{"include":"#block_comment"}]},"common_keywords":{"name":"keyword.other.curry","match":"\\b(where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\b"},"constructor_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s+)([A-Z][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\1\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"constant.other.curry entity.name.constructor.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"ctor_names":{"patterns":[{"name":"constant.other.curry entity.name.constructor.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"}]},"data_declaration":{"name":"meta.declaration.data.curry","begin":"^(\\s*)(?:(external)\\s+)?(data|newtype)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.declaration.data.curry","match":"where"},{"begin":"([=\\|])","end":"(?\u003c!')\\b([A-Z][\\w']*)","patterns":[{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"constant.other.curry entity.name.constructor.curry"}}},{"include":"#deriving"},{"include":"#constructor_signature"},{"include":"#record_declaration"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.external.curry"},"3":{"name":"keyword.declaration.data.curry"},"4":{"name":"constant.other.curry entity.name.type.curry"}}},"deriving":{"name":"keyword.other.curry keyword.declaration.data.curry","match":"\\b(deriving)\\b"},"expression_stuff":{"patterns":[{"include":"#comments"},{"name":"storage.module.curry entity.name.module.curry","match":"([A-Z][\\w']*\\.)+"},{"name":"support.function.prelude.curry","match":"\\b(abs|acos|acosh|all|and|any|appendFile|asTypeOf|asin|asinh|atan|atan2|atanh|break|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{"name":"support.function.prelude.error.curry","match":"\\b(error|undefined)\\b"},{"include":"#infix_op"},{"name":"keyword.operator.curry punctuation.list.curry","match":"\\[|\\]"},{"name":"punctuation.separator.comma.curry","match":","},{"name":"keyword.operator.function.infix.curry","match":"(`)([A-Z][\\w']*\\.)*[a-z][\\w']*(`)","captures":{"1":{"name":"punctuation.definition.entity.curry"},"3":{"name":"punctuation.definition.entity.curry"}}},{"name":"record.expression.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"match":"(?\u003c!')\\b[a-z][\\w']+\\s+(=)","captures":{"2":{"name":"keyword.operator.curry"}}},{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\(\\)"},{"name":"constant.other.curry entity.name.constructor.curry","match":"\\[\\]"},{"name":"keyword.operator.curry","match":"[@|!%$?~+:.\\-*=\u003c/\u003e\\\\∘→⇒⇔←⇐≤≥≡⋮\\[\\]]+"},{"include":"#common_keywords"},{"include":"#literals"},{"include":"#quasi_quote"},{"include":"#ctor_names"}]},"external_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(external)\\b","end":"^(?!\\s)","beginCaptures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.declaration.external.curry"}}},"field_signature":{"name":"meta.declaration.field.signature.curry","match":"\\b(\\w+)\\s*(::|∷)\\s*(.*--.*|[^,}]+)","captures":{"1":{"name":"entity.name.function.curry"},"2":{"name":"keyword.other.double-colon.curry"},"3":{"patterns":[{"include":"#type"}]}}},"fixity_declaration":{"name":"meta.declaration.fixity.curry","match":"\\b(infix[lr]?)\\b\\s*(\\d+).+","captures":{"1":{"name":"keyword.declaration.fixity.curry"},"2":{"name":"constant.numeric.fixity.curry"}}},"foreign_function_signature":{"name":"meta.declaration.function.curry","begin":"(\\s*)([a-z_][\\w']*|\\(\\W+\\))\\s*((::)|∷)","end":"^(?!\\s)","patterns":[{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"},"3":{"name":"keyword.other.double-colon.curry"}}},"function_declarations":{"patterns":[{"include":"#fixity_declaration"},{"include":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#external_function_definition"}]},"function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?\u003c!')\\b([a-z_][\\w']*|\\(\\W+\\))\\s+(?![^\\w\\s='\"\\(\\[])(?=((([\\w\\.,'\"_]+|(?:\\w+\\@)?\\(.*\\)|\\[.*\\])\\s+)*[=\\|]))","end":"(=)","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"entity.name.function.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"function_signature":{"name":"meta.declaration.function.curry","begin":"^(\\s*)(?!--|(?:where|case|fcase|of|let|in|default|do|mdo|if|then|else|free)\\s+)(?:(\\(\\W\\)|[\\w']+)|[\\(\\[])(?=[\\w',\\s\\[\\]\\(\\)]*((?:::)|∷))","end":"^(?!\\1\\s)|(?=})","patterns":[{"name":"meta.declaration.function.names.curry","begin":"(?=.*((::)|∷))","end":"((::)|∷)","patterns":[{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}],"endCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"include":"#type"}],"beginCaptures":{"2":{"name":"entity.name.function.curry"}}},"infix_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=(([\\w'\\.'\"]+|(?:\\w+@)?\\(.*\\)|\\[.*\\])\\s+)+([^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)((\\s*[\\w'\\.'\"]+|\\s*(?:\\w+@)?\\(.*\\)|\\s*\\[.*\\]))+\\s*=)","end":"( [^\"'_,\\(\\);\\[\\]`\\{\\}\\:\\w\\s]+|`[a-z][\\w']*`)","patterns":[{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"entity.name.function.curry"}}},"infix_op":{"name":"keyword.operator.curry","match":"(\\([^\"'\\w \\)]+\\)|\\(,+\\))"},"instance_declaration":{"name":"meta.declaration.instance.curry","begin":"^(\\s*)(instance)\\b","end":"\\b(where)\\b|(^(?!\\1\\s))","patterns":[{"include":"#comments"},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.instance.curry"}},"endCaptures":{"1":{"name":"keyword.declaration.instance.curry"}}},"literals":{"patterns":[{"name":"constant.numeric.curry","match":"\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"},{"name":"constant.numeric.curry","match":"\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{"name":"string.quoted.double.curry","begin":"\"","end":"\"|$","patterns":[{"name":"constant.character.escape.curry","match":"\\\\(NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])"},{"name":"constant.character.escape.octal.curry","match":"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{"name":"constant.character.escape.control.curry","match":"\\^[A-Z@\\[\\]\\\\\\^_]"}]},{"name":"string.quoted.single.curry","match":"(?x)(')(?: [\\ -\u0026(-\\[\\]-~\"]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')","captures":{"2":{"name":"constant.character.escape.curry"},"3":{"name":"constant.character.escape.octal.curry"},"4":{"name":"constant.character.escape.hexadecimal.curry"},"5":{"name":"constant.character.escape.control.curry"}}}]},"module_exports":{"name":"meta.declaration.exports.curry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comments"},{"name":"constant.character.escape.multilinestring.curry","begin":"\\\\\\s*$","end":"\\\\"},{"name":"entity.name.function.curry","match":"(?\u003c!')\\b[a-z][\\w']*"},{"name":"meta.declaration.export.data.curry","begin":"(?\u003c!')\\b([A-Z][\\w']*)\\s*(\\()","end":"(\\))","patterns":[{"include":"#expression_stuff"}],"beginCaptures":{"1":{"name":"storage.type.curry entity.name.data.curry"},"2":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"storage.type.curry entity.name.data.curry","match":"(?\u003c!')\\b[A-Z][\\w']*"},{"name":"punctuation.separator.comma.curry","match":","},{"include":"#infix_op"},{"name":"meta.other.unknown.curry","match":"\\(.*?\\)"},{"include":"#module_exports"}],"beginCaptures":{"1":{"name":"storage.module.curry"}},"endCaptures":{"1":{"name":"storage.module.curry"}}},"module_name":{"name":"entity.name.module.curry entity.name.namespace.curry","match":"([A-Z][\\w']*)(\\.[A-Z][\\w']*)*"},"pattern_function_definition":{"name":"meta.definition.function.curry","begin":"^\\s*(?=\\(.*\\)|\\[.*\\]|([A-Z][\\w']*(\\s+([\\w\\s,']*|\\(.*\\)|\\[.*\\]|\\{.*\\}))*)\\s*=)","end":"(=)","patterns":[{"match":"(?\u003c!')\\b([a-z_][\\w']*)\\b","captures":{"1":{"name":"entity.name.function.curry"}}},{"include":"#expression_stuff"}],"endCaptures":{"1":{"name":"keyword.operator.curry"}}},"pragma":{"name":"meta.preprocessor.curry pragma.curry","begin":"(\\{-#)\\s+([A-Z_]+)\\b","end":"#-\\}","patterns":[{"name":"keyword.other.preprocessor.curry pragma.support.language.curry","match":"\\b([A-Z][a-z]*)+\\b"},{"name":"keyword.other.preprocessor.curry pragma.support.flag.curry","match":"(-+[a-z]+)+"}],"beginCaptures":{"1":{"name":"punctuation.pragma.curry"},"2":{"name":"keyword.preprocessor.curry pragma.name.curry"}}},"quasi_quote":{"name":"string.quoted.quasi.curry","begin":"(\\[)([a-z]\\w*)?(\\|)","end":"(\\|\\])","beginCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"},"2":{"name":"entity.name.function.curry"},"3":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}},"endCaptures":{"1":{"name":"punctuation.quasi-quoter.curry keyword.operator.curry"}}},"record_declaration":{"name":"meta.declaration.record.curry","begin":"(\\{)(?!-)","end":"(?\u003c!-)(\\})","patterns":[{"include":"#comments"},{"include":"#field_signature"}],"beginCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry punctuation.record.curry"}}},"type":{"patterns":[{"include":"#comments"},{"name":"keyword.operator.arrow.curry","match":"-\u003e|→"},{"name":"keyword.operator.big-arrow.curry","match":"=\u003e|⇒"},{"name":"entity.name.type.curry support.type.curry","match":"\\b(Int(eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(Error)?)\\b"},{"name":"variable.generic.curry","match":"(?\u003c!')\\b[a-z][\\w']*\\b"},{"name":"entity.name.type.curry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"punctuation.unit.curry","match":"\\(\\)"},{"name":"meta.type_signature.brace.curry","begin":"(\\()","end":"(\\))","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}},{"name":"meta.type_signature.list.curry","begin":"(\\[)","end":"(\\])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.operator.curry"}},"endCaptures":{"1":{"name":"keyword.operator.curry"}}}]},"type_declaration":{"name":"meta.declaration.type.curry","begin":"^(\\s*)(type)\\s+([A-Z][\\w']*)?","end":"^(?!\\1\\s)","patterns":[{"include":"#comments"},{"name":"keyword.operator.curry","match":"="},{"include":"#type"}],"beginCaptures":{"2":{"name":"keyword.declaration.data.curry"},"3":{"name":"constant.other.curry entity.name.type.curry"}}},"type_declarations":{"patterns":[{"include":"#data_declaration"},{"include":"#type_declaration"},{"include":"#class_declaration"},{"include":"#instance_declaration"}]}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"DDS.DSPF","scopeName":"source.dds.dspf","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.dds.dspf","match":"^.{5}(.)(\\*).*"}]},"constants":{"patterns":[{"name":"constant.language.dds.dspf","match":"(\\*)[a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.language.dds.dspf.andor","match":"(?i)(?\u003c=^.{5}(A|\\s).{0})(A|O)"},{"name":"constant.language.dds.dspf.n01","match":"(?i)(?\u003c=^.{5}(A|\\s).{1})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n02","match":"(?i)(?\u003c=^.{5}(A|\\s).{4})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n03","match":"(?i)(?\u003c=^.{5}(A|\\s).{7})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.nameType","match":"(?i)(?\u003c=^.{5}(A|\\s).{10})(R|H)"},{"name":"constant.language.dds.dspf.ref","match":"(?i)(?\u003c=^.{5}(A|\\s).{22})(R)"},{"name":"constant.language.dds.dspf.len","match":"(?i)(?\u003c=^.{5}(A|\\s).{23})[0-9|\\s]{5}"},{"name":"constant.language.dds.dspf.dataType","match":"(?i)(?\u003c=^.{5}(A|\\s).{28})(A|D|E|F|G|I|J|L|M|N|O|S|T|W|X|Y|Z)"},{"name":"constant.language.dds.dspf.decpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{29})[0-9|\\s]{2}"},{"name":"constant.language.dds.dspf.usage","match":"(?i)(?\u003c=^.{5}(A|\\s).{31})(O|I|B|H|M|P)"},{"name":"constant.language.dds.dspf.locline","match":"(?i)(?\u003c=^.{5}(A|\\s).{32})([0-9]|\\s){3}"},{"name":"constant.language.dds.dspf.locpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{35})([0-9]|\\s){3}"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"},{"name":"dds.dspf.check","begin":"(?i)(?\u003c=(CHECK\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.check.values","match":"(?i)(\\b(AB|ME|MF|M10F|M10|M11F|M11|VNE|VN|ER|FE|LC|RB|RZ|RLTB|RL)\\b)"}]},{"name":"dds.dspf.dspatr","begin":"(?i)(?\u003c=(DSPATR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.dspatr.values","match":"(?i)(\\b(SP|PR|OID|MDT|UL|RI|PC|ND|HI|CS|BL)\\b)"}]},{"name":"dds.dspf.color","begin":"(?i)(?\u003c=(COLOR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.color.values","match":"(?i)(\\b(BLU|PNK|YLW|TRQ|RED|WHT|GRN)\\b)"}]},{"name":"dds.dspf.comp","begin":"(?i)((?\u003c=((COMP)\\())|(?\u003c=((CMP)\\()))","end":"(?=(\\)))","patterns":[{"name":"keyword.other.dds.dspf.comp.values","match":"(?i)(\\b(GE|LE|NG|GT|NL|LT|NE|EQ)\\b)"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"},{"name":"keyword.other.dds.dspf","match":"\\+"},{"name":"keyword.other.dds.dspf.func","match":"((?i)(C(A|F)))[0-9]{2}"},{"name":"keyword.other.dds.dspf.funcs","match":"(?i)(?\u003c=(.{44}))(WRDWRAP|WINDOW|WDWTITLE|WDWBORDER|VLDCMDKEY|VALUES|VALNUM|USRRSTDSP|USRDSPMGT|USRDFN|USER|UNLOCK|TIMSEP|TIMFMT|TIME|TEXT|SYSNAME|SNGCHCFLD|SLNO|SFLSNGCHC|SFLSIZ|SFLSCROLL|SFLRTNSEL|SFLROLVAL|SFLRNA|SFLRCDNBR|SFLPGMQ|SFLPAG|SFLNXTCHG|SFLMSGRCD|SFLMSGKEY|SFLMSG|SFLMODE|SFLMLTCHC|SFLLIN|SFLINZ|SFLFOLD|SFLENTER|SFLEND|SFLDSPCTL|SFLDSP|SFLDROP|SFLDLT|SFLCTL|
|
1
|
+
{"name":"DDS.DSPF","scopeName":"source.dds.dspf","patterns":[{"include":"#comments"},{"include":"#constants"},{"include":"#keywords"},{"include":"#gutter"},{"include":"#strings"}],"repository":{"comments":{"patterns":[{"name":"comment.line.dds.dspf","match":"^.{5}(.)(\\*).*"}]},"constants":{"patterns":[{"name":"constant.language.dds.dspf","match":"(\\*)[a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.language.dds.dspf.andor","match":"(?i)(?\u003c=^.{5}(A|\\s).{0})(A|O)"},{"name":"constant.language.dds.dspf.n01","match":"(?i)(?\u003c=^.{5}(A|\\s).{1})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n02","match":"(?i)(?\u003c=^.{5}(A|\\s).{4})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.n03","match":"(?i)(?\u003c=^.{5}(A|\\s).{7})(N|\\s)[0-9]{2}"},{"name":"constant.language.dds.dspf.nameType","match":"(?i)(?\u003c=^.{5}(A|\\s).{10})(R|H)"},{"name":"constant.language.dds.dspf.ref","match":"(?i)(?\u003c=^.{5}(A|\\s).{22})(R)"},{"name":"constant.language.dds.dspf.len","match":"(?i)(?\u003c=^.{5}(A|\\s).{23})[0-9|\\s]{5}"},{"name":"constant.language.dds.dspf.dataType","match":"(?i)(?\u003c=^.{5}(A|\\s).{28})(A|D|E|F|G|I|J|L|M|N|O|S|T|W|X|Y|Z)"},{"name":"constant.language.dds.dspf.decpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{29})[0-9|\\s]{2}"},{"name":"constant.language.dds.dspf.usage","match":"(?i)(?\u003c=^.{5}(A|\\s).{31})(O|I|B|H|M|P)"},{"name":"constant.language.dds.dspf.locline","match":"(?i)(?\u003c=^.{5}(A|\\s).{32})([0-9]|\\s){3}"},{"name":"constant.language.dds.dspf.locpos","match":"(?i)(?\u003c=^.{5}(A|\\s).{35})([0-9]|\\s){3}"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"},{"name":"dds.dspf.check","begin":"(?i)(?\u003c=(CHECK\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.check.values","match":"(?i)(\\b(AB|ME|MF|M10F|M10|M11F|M11|VNE|VN|ER|FE|LC|RB|RZ|RLTB|RL)\\b)"}]},{"name":"dds.dspf.dspatr","begin":"(?i)(?\u003c=(DSPATR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.dspatr.values","match":"(?i)(\\b(SP|PR|OID|MDT|UL|RI|PC|ND|HI|CS|BL)\\b)"}]},{"name":"dds.dspf.color","begin":"(?i)(?\u003c=(COLOR\\())","end":"(?=(\\)))","patterns":[{"name":"constant.other.dds.dspf.color.values","match":"(?i)(\\b(BLU|PNK|YLW|TRQ|RED|WHT|GRN)\\b)"}]},{"name":"dds.dspf.comp","begin":"(?i)((?\u003c=((COMP)\\())|(?\u003c=((CMP)\\()))","end":"(?=(\\)))","patterns":[{"name":"keyword.other.dds.dspf.comp.values","match":"(?i)(\\b(GE|LE|NG|GT|NL|LT|NE|EQ)\\b)"},{"name":"constant.numeric.dds.dspf","match":"\\b([0-9]+)\\b"}]}]},"gutter":{"patterns":[{"name":"comment.gutter","match":"^.{5}"}]},"keywords":{"patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"},{"name":"keyword.other.dds.dspf","match":"\\+"},{"name":"keyword.other.dds.dspf.func","match":"((?i)(C(A|F)))[0-9]{2}"},{"name":"keyword.other.dds.dspf.funcs","match":"(?i)(?\u003c=(.{44}))(WRDWRAP|WINDOW|WDWTITLE|WDWBORDER|VLDCMDKEY|VALUES|VALNUM|USRRSTDSP|USRDSPMGT|USRDFN|USER|UNLOCK|TIMSEP|TIMFMT|TIME|TEXT|SYSNAME|SNGCHCFLD|SLNO|SFLSNGCHC|SFLSIZ|SFLSCROLL|SFLRTNSEL|SFLROLVAL|SFLRNA|SFLRCDNBR|SFLPGMQ|SFLPAG|SFLNXTCHG|SFLMSGRCD|SFLMSGKEY|SFLMSG|SFLMODE|SFLMLTCHC|SFLLIN|SFLINZ|SFLFOLD|SFLENTER|SFLEND|SFLDSPCTL|SFLDSP|SFLDROP|SFLDLT|SFLCTL|SFLCSRRRN|SFLCSRPRG|SFLCLR|SFLCHCCTL|SETOFF|SETOF|RTNDTA|RTNCSRLOC|ROLLUP|ROLLDOWN|RMVWDW|RETLCKSTS|RETKEY|REFFLD|REF|RANGE|PUTRETAIN|PUTOVR|PULLDOWN|PSHBTNFLD|PSHBTNCHC|PROTECT|PRINT|PASSRCD|PAGEDOWN|PAGEUP|OVRDTA|OVRATR|OVERLAY|OPENPRT|NOCCSID|MSGLOC|MSGID|MSGCON|MSGALARM|MOUBTN|MNUCNL|MNUBARSW|MNUBARSEP|MNUBARDSP|MNUBARCHC|MNUBAR|MLTCHFLD|MDTOFF|MAPVAL|LOWER|LOGOUT|LOGINP|LOCK|KEEP|INZRCD|INZINP|INVITE|INDTXT|INDARA|HTML|HOME|HLPTITLE|HLPSEQ|HLPSCHIDX|HLPRTN|HLPRCD|HLPPNLGRP|HLPID|HLPFULL|HLPEXCLD|HLPDOC|HLPCMDKEY|HLPCLR|HLPBDY|HLPARA|HELP|GETRETAIN|FRCDTA|FLTPCN|FLTFIXDEC|FLDCSRPRG|ERRSFL|ERRMSG|ERRMSGID|ERASEINP|ERASE|ENTFLDATR|EDTWRD|EDTMSK|EDTCDE|DUP|DSPSIZ|DSPRL|DSPMOD|DSPATR|DLTEDT|DLTCHK|DFTVAL|DFT|DATSEP|DATFMT|DATE|CSRLOC|CSRINPONLY|COMP|COLOR|CNTFLD|CLEAR|CHRID|CHOICE|CHKMSGID|CHGINPDFT|CHECK|CHCUNAVAIL|CHCSLT|CHCCTL|CHCAVAIL|CHCACCEL|CHANGE|BLKFOLD|BLINK|BLANKS|AUTO|ASSUME|ALWROL|ALWGPH|ALTPAGEDWN|ALTPAGEUP|ALTNAME|ALTHELP|ALIAS|ALARM)\\b"},{"name":"keyword.other.dds.dspf.funcs","match":"\\b(?i)(CMP|CLRL|SFL)\\b"}]},"strings":{"name":"string.quoted.single.dds.dspf","begin":"'","end":"'","patterns":[{"name":"keyword.other.dds.dspf.spec","match":"(?i)(?\u003c=^.{5})[A]"}]}}}
|
data/grammars/source.erlang.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Erlang","scopeName":"source.erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"name":"constant.other.symbol.quoted.single.erlang","begin":"(')","end":"(')","patterns":[{"name":"constant.other.symbol.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_]|[0-7]{1,3})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.atom.erlang","match":"\\\\\\^?.?"}],"beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}}},{"name":"constant.other.symbol.unquoted.erlang","match":"[a-z][a-zA-Z\\d@_]*+"}]},"behaviour-directive":{"name":"meta.directive.behaviour.erlang","match":"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"binary":{"name":"meta.structure.binary.erlang","begin":"(\u003c\u003c)","end":"(\u003e\u003e)","patterns":[{"match":"(,)|(:)","captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}}},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}}},"character":{"patterns":[{"name":"constant.character.erlang","match":"(\\$)((\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_]|[0-7]{1,3}))","captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$\\\\\\^?.?"},{"name":"constant.character.erlang","match":"(\\$)\\S","captures":{"1":{"name":"punctuation.definition.character.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$.?"}]},"comment":{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.erlang","begin":"%","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}}},"define-directive":{"patterns":[{"name":"meta.directive.define.erlang","begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.define.erlang","begin":"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()","end":"(\\))\\s*+(\\.)","patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()","end":"(\\))\\s*(,)","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}}},{"name":"punctuation.separator.define.erlang","match":"\\|\\||\\||:|;|,|\\.|-\u003e"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"directive":{"patterns":[{"name":"meta.directive.erlang","begin":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)","end":"(\\)?)\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.erlang","match":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}}}]},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"name":"meta.expression.if.erlang","begin":"\\b(if)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.case.erlang","begin":"\\b(case)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.receive.erlang","begin":"\\b(receive)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"match":"\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)\\s*+(:)\\s*+)?([a-z][a-zA-Z\\d@_]*+)\\s*(/)","captures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"punctuation.separator.module-function.erlang"},"5":{"name":"entity.name.function.erlang"},"6":{"name":"punctuation.separator.function-arity.erlang"}}},{"name":"meta.expression.fun.erlang","begin":"\\b(fun)\\b","end":"\\b(end)\\b","patterns":[{"begin":"(?=\\()","end":"(;)|(?=\\bend\\b)","patterns":[{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.try.erlang","begin":"\\b(try)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.begin.erlang","begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}}]},"function":{"name":"meta.function.erlang","begin":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","end":"(\\.)","patterns":[{"match":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","captures":{"1":{"name":"entity.name.function.erlang"}}},{"begin":"(?=\\()","end":"(;)|(?=\\.)","patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}}},"function-call":{"name":"meta.function-call.erlang","begin":"(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+\\())","end":"(\\))","patterns":[{"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*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}}},{"begin":"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(:)\\s*+)?([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}}}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},"import-export-directive":{"patterns":[{"name":"meta.directive.import.erlang","begin":"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.export.erlang","begin":"^\\s*+(-)\\s*+(export)\\s*+(\\()","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"internal-expression-punctuation":{"match":"(-\u003e)|(;)|(,)","captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}}},"internal-function-list":{"name":"meta.structure.list.function.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"begin":"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)","end":"(,)|(?=\\])","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"internal-function-parts":{"patterns":[{"begin":"(?=\\()","end":"(-\u003e)","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"punctuation.separator.guards.erlang","match":",|;"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}}},{"name":"punctuation.separator.expressions.erlang","match":","},{"include":"#everything-else"}]},"internal-record-body":{"name":"meta.structure.record.erlang","begin":"(\\{)","end":"(?=\\})","patterns":[{"begin":"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))\\s*+(=|::)","end":"(,)|(?=\\})","patterns":[{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"},"4":{"name":"keyword.operator.assignment.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}}},{"match":"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)?","captures":{"1":{"name":"variable.other.field.erlang"},"2":{"name":"punctuation.separator.class.record.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}}},"internal-type-specifiers":{"begin":"(/)","end":"(?=,|:|\u003e\u003e)","patterns":[{"match":"(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)","captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.type-specifiers.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}}},"keyword":{"name":"keyword.control.erlang","match":"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when)\\b"},"list":{"name":"meta.structure.list.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"name":"punctuation.separator.list.erlang","match":"\\||\\|\\||,"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"macro-directive":{"patterns":[{"name":"meta.directive.ifdef.erlang","match":"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.ifndef.erlang","match":"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.undef.erlang","match":"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}}]},"macro-usage":{"name":"meta.macro-usage.erlang","match":"(\\?\\??)\\s*+([a-zA-Z\\d@_]++)","captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}}},"module-directive":{"name":"meta.directive.module.erlang","match":"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"number":{"begin":"(?=\\d)","end":"(?!\\d)","patterns":[{"name":"constant.numeric.float.erlang","match":"\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?","captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}}},{"name":"constant.numeric.integer.binary.erlang","match":"2(#)[0-1]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-3.erlang","match":"3(#)[0-2]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-4.erlang","match":"4(#)[0-3]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-5.erlang","match":"5(#)[0-4]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-6.erlang","match":"6(#)[0-5]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-7.erlang","match":"7(#)[0-6]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.octal.erlang","match":"8(#)[0-7]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-9.erlang","match":"9(#)[0-8]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.decimal.erlang","match":"10(#)\\d++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-11.erlang","match":"11(#)[\\daA]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-12.erlang","match":"12(#)[\\da-bA-B]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-13.erlang","match":"13(#)[\\da-cA-C]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-14.erlang","match":"14(#)[\\da-dA-D]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-15.erlang","match":"15(#)[\\da-eA-E]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.hexadecimal.erlang","match":"16(#)[0-9A-Fa-f]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-17.erlang","match":"17(#)[\\da-gA-G]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-18.erlang","match":"18(#)[\\da-hA-H]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-19.erlang","match":"19(#)[\\da-iA-I]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-20.erlang","match":"20(#)[\\da-jA-J]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-21.erlang","match":"21(#)[\\da-kA-K]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-22.erlang","match":"22(#)[\\da-lA-L]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-23.erlang","match":"23(#)[\\da-mA-M]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-24.erlang","match":"24(#)[\\da-nA-N]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-25.erlang","match":"25(#)[\\da-oA-O]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-26.erlang","match":"26(#)[\\da-pA-P]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-27.erlang","match":"27(#)[\\da-qA-Q]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-28.erlang","match":"28(#)[\\da-rA-R]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-29.erlang","match":"29(#)[\\da-sA-S]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-30.erlang","match":"30(#)[\\da-tA-T]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-31.erlang","match":"31(#)[\\da-uA-U]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-32.erlang","match":"32(#)[\\da-vA-V]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-33.erlang","match":"33(#)[\\da-wA-W]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-34.erlang","match":"34(#)[\\da-xA-X]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-35.erlang","match":"35(#)[\\da-yA-Y]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-36.erlang","match":"36(#)[\\da-zA-Z]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"invalid.illegal.integer.erlang","match":"\\d++#[\\da-zA-Z]++"},{"name":"constant.numeric.integer.decimal.erlang","match":"\\d++"}]},"parenthesized-expression":{"name":"meta.expression.parenthesized","begin":"(\\()","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}}},"record-directive":{"name":"meta.directive.record.erlang","begin":"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"((\\}))\\s*+(\\))\\s*+(\\.)","patterns":[{"include":"#internal-record-body"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"meta.structure.record.erlang"},"2":{"name":"punctuation.definition.class.record.end.erlang"},"3":{"name":"punctuation.definition.parameters.end.erlang"},"4":{"name":"punctuation.section.directive.end.erlang"}}},"record-usage":{"patterns":[{"name":"meta.record-usage.erlang","match":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}}},{"name":"meta.record-usage.erlang","begin":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","end":"((\\}))","patterns":[{"include":"#internal-record-body"}],"beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}},"endCaptures":{"1":{"name":"meta.structure.record.erlang"},"2":{"name":"punctuation.definition.class.record.end.erlang"}}}]},"string":{"name":"string.quoted.double.erlang","begin":"(\")","end":"(\")","patterns":[{"name":"constant.character.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_]|[0-7]{1,3})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"\\\\\\^?.?"},{"name":"constant.other.placeholder.erlang","match":"(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*)))?((\\.)((\\*)|.))?[~cfegswpWPBX#bx\\+ni]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"},"12":{"name":"punctuation.separator.placeholder-parts.erlang"},"3":{"name":"punctuation.separator.placeholder-parts.erlang"},"4":{"name":"punctuation.separator.placeholder-parts.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"},"8":{"name":"punctuation.separator.placeholder-parts.erlang"}}},{"name":"constant.other.placeholder.erlang","match":"(~)(\\*)?(\\d++)?[~du\\-#fsacl]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"2":{"name":"punctuation.separator.placeholder-parts.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"~.?"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"symbolic-operator":{"name":"keyword.operator.symbolic.erlang","match":"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=\u003c|=|\u003c-|\u003c|\u003e=|\u003e|!|::"},"textual-operator":{"name":"keyword.operator.textual.erlang","match":"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"},"tuple":{"name":"meta.structure.tuple.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.tuple.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}}},"variable":{"match":"(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)","captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}}}}}
|
1
|
+
{"name":"Erlang","scopeName":"source.erlang","patterns":[{"include":"#module-directive"},{"include":"#import-export-directive"},{"include":"#behaviour-directive"},{"include":"#record-directive"},{"include":"#define-directive"},{"include":"#macro-directive"},{"include":"#directive"},{"include":"#function"},{"include":"#everything-else"}],"repository":{"atom":{"patterns":[{"name":"constant.other.symbol.quoted.single.erlang","begin":"(')","end":"(')","patterns":[{"name":"constant.other.symbol.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.atom.erlang","match":"\\\\\\^?.?"}],"beginCaptures":{"1":{"name":"punctuation.definition.symbol.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.symbol.end.erlang"}}},{"name":"constant.other.symbol.unquoted.erlang","match":"[a-z][a-zA-Z\\d@_]*+"}]},"behaviour-directive":{"name":"meta.directive.behaviour.erlang","match":"^\\s*+(-)\\s*+(behaviour)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.behaviour.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.behaviour.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"binary":{"name":"meta.structure.binary.erlang","begin":"(\u003c\u003c)","end":"(\u003e\u003e)","patterns":[{"match":"(,)|(:)","captures":{"1":{"name":"punctuation.separator.binary.erlang"},"2":{"name":"punctuation.separator.value-size.erlang"}}},{"include":"#internal-type-specifiers"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.binary.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.binary.end.erlang"}}},"character":{"patterns":[{"name":"constant.character.erlang","match":"(\\$)((\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2}))","captures":{"1":{"name":"punctuation.definition.character.erlang"},"2":{"name":"constant.character.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"},"5":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$\\\\\\^?.?"},{"name":"constant.character.erlang","match":"(\\$)[ \\S]","captures":{"1":{"name":"punctuation.definition.character.erlang"}}},{"name":"invalid.illegal.character.erlang","match":"\\$.?"}]},"comment":{"begin":"(^[ \\t]+)?(?=%)","end":"(?!\\G)","patterns":[{"name":"comment.line.percentage.erlang","begin":"%","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.erlang"}}},"define-directive":{"patterns":[{"name":"meta.directive.define.erlang","begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.define.erlang","begin":"(?=^\\s*+-\\s*+define\\s*+\\(\\s*+[a-zA-Z\\d@_]++\\s*+\\()","end":"(\\))\\s*+(\\.)","patterns":[{"begin":"^\\s*+(-)\\s*+(define)\\s*+(\\()\\s*+([a-zA-Z\\d@_]++)\\s*+(\\()","end":"(\\))\\s*(,)","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.define.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.definition.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.separator.parameters.erlang"}}},{"name":"punctuation.separator.define.erlang","match":"\\|\\||\\||:|;|,|\\.|-\u003e"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"directive":{"patterns":[{"name":"meta.directive.erlang","begin":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\(?)","end":"(\\)?)\\s*+(\\.)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.erlang","match":"^\\s*+(-)\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.erlang"},"3":{"name":"punctuation.section.directive.end.erlang"}}}]},"docstring":{"name":"string.quoted.triple.erlang","begin":"(?\u003c!\")(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\2))(?!\")","beginCaptures":{"1":{"name":"meta.string.quoted.triple.begin.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"},"3":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"everything-else":{"patterns":[{"include":"#comment"},{"include":"#record-usage"},{"include":"#macro-usage"},{"include":"#expression"},{"include":"#keyword"},{"include":"#textual-operator"},{"include":"#language-constant"},{"include":"#function-call"},{"include":"#tuple"},{"include":"#list"},{"include":"#binary"},{"include":"#parenthesized-expression"},{"include":"#character"},{"include":"#number"},{"include":"#atom"},{"include":"#sigil-docstring"},{"include":"#sigil-string"},{"include":"#docstring"},{"include":"#string"},{"include":"#symbolic-operator"},{"include":"#variable"}]},"expression":{"patterns":[{"name":"meta.expression.if.erlang","begin":"\\b(if)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.if.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.case.erlang","begin":"\\b(case)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.case.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.receive.erlang","begin":"\\b(receive)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.receive.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","match":"\\b(fun)\\s+((([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*(/)","captures":{"1":{"name":"keyword.control.fun.erlang"},"10":{"name":"punctuation.separator.function-arity.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"variable.other.erlang"},"6":{"name":"punctuation.separator.module-function.erlang"},"8":{"name":"entity.name.function.erlang"},"9":{"name":"variable.other.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(([a-z][a-zA-Z\\d@_]*+)|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"},"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"name":"meta.expression.fun.implicit.erlang","begin":"\\b(fun)\\s+(?!\\()","end":"(/)","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.function-arity.erlang"}}},{"begin":"\\b(fun)\\s*+(\\()(?=(\\s*+\\()|(\\)))","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"meta.expression.fun.erlang","begin":"\\b(fun)\\b","end":"\\b(end)\\b","patterns":[{"begin":"(?=\\()","end":"(;)|(?=\\bend\\b)","patterns":[{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.fun.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.try.erlang","begin":"\\b(try)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.try.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.begin.erlang","begin":"\\b(begin)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.begin.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}},{"name":"meta.expression.maybe.erlang","begin":"\\b(maybe)\\b","end":"\\b(end)\\b","patterns":[{"include":"#internal-expression-punctuation"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"keyword.control.maybe.erlang"}},"endCaptures":{"1":{"name":"keyword.control.end.erlang"}}}]},"function":{"name":"meta.function.erlang","begin":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","end":"(\\.)","patterns":[{"match":"^\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(?=\\()","captures":{"1":{"name":"entity.name.function.erlang"}}},{"begin":"(?=\\()","end":"(;)|(?=\\.)","patterns":[{"include":"#parenthesized-expression"},{"include":"#internal-function-parts"}],"endCaptures":{"1":{"name":"punctuation.separator.clauses.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.definition.erlang"}},"endCaptures":{"1":{"name":"punctuation.terminator.function.erlang"}}},"function-call":{"name":"meta.function-call.erlang","begin":"(?=([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+(\\(|:\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+'|_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)\\s*+\\())","end":"(\\))","patterns":[{"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*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"entity.name.type.class.module.erlang"},"3":{"name":"punctuation.separator.module-function.erlang"},"4":{"name":"entity.name.function.guard.erlang"},"5":{"name":"punctuation.definition.parameters.begin.erlang"}}},{"begin":"((([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(:)\\s*+)?(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+))\\s*+(\\()","end":"(?=\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"3":{"name":"entity.name.type.class.module.erlang"},"4":{"name":"variable.other.erlang"},"5":{"name":"punctuation.separator.module-function.erlang"},"7":{"name":"entity.name.function.erlang"},"8":{"name":"variable.other.erlang"},"9":{"name":"punctuation.definition.parameters.begin.erlang"}}}],"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},"import-export-directive":{"patterns":[{"name":"meta.directive.import.erlang","begin":"^\\s*+(-)\\s*+(import)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.export.erlang","begin":"^\\s*+(-)\\s*+(export)\\s*+(\\()","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-function-list"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.export.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}}]},"internal-expression-punctuation":{"match":"(-\u003e)|(;)|(,)","captures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"},"2":{"name":"punctuation.separator.clauses.erlang"},"3":{"name":"punctuation.separator.expressions.erlang"}}},"internal-function-list":{"name":"meta.structure.list.function.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"begin":"([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(/)","end":"(,)|(?=\\])","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"entity.name.function.erlang"},"2":{"name":"punctuation.separator.function-arity.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.list.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"internal-function-parts":{"patterns":[{"begin":"(?=\\()","end":"(-\u003e)","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"name":"punctuation.separator.parameters.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"}}},{"name":"punctuation.separator.guards.erlang","match":",|;"},{"include":"#everything-else"}],"endCaptures":{"1":{"name":"punctuation.separator.clause-head-body.erlang"}}},{"name":"punctuation.separator.expressions.erlang","match":","},{"include":"#everything-else"}]},"internal-record-body":{"name":"meta.structure.record.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"begin":"(([a-z][a-zA-Z\\d@_]*+|'[^']*+')|(_))","end":"(,)|(?=\\})","patterns":[{"include":"#everything-else"}],"beginCaptures":{"2":{"name":"variable.other.field.erlang"},"3":{"name":"variable.language.omitted.field.erlang"}},"endCaptures":{"1":{"name":"punctuation.separator.class.record.erlang"}}},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.class.record.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.class.record.end.erlang"}}},"internal-string-body":{"patterns":[{"name":"constant.character.escape.erlang","match":"(\\\\)([bdefnrstv\\\\'\"]|(\\^)[@-_a-z]|[0-7]{1,3}|x[\\da-fA-F]{2})","captures":{"1":{"name":"punctuation.definition.escape.erlang"},"3":{"name":"punctuation.definition.escape.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"\\\\\\^?.?"},{"name":"constant.character.format.placeholder.other.erlang","match":"(~)((\\-)?\\d++|(\\*))?((\\.)(\\d++|(\\*))?((\\.)((\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx\\+ni]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"},"10":{"name":"punctuation.separator.placeholder-parts.erlang"},"6":{"name":"punctuation.separator.placeholder-parts.erlang"}}},{"name":"constant.character.format.placeholder.other.erlang","match":"(~)(\\*)?(\\d++)?(t)?[~du\\-#fsacl]","captures":{"1":{"name":"punctuation.definition.placeholder.erlang"}}},{"name":"invalid.illegal.string.erlang","match":"~[^\"]?"}]},"internal-type-specifiers":{"begin":"(/)","end":"(?=,|:|\u003e\u003e)","patterns":[{"match":"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\d++)|(-)","captures":{"1":{"name":"storage.type.erlang"},"2":{"name":"storage.modifier.signedness.erlang"},"3":{"name":"storage.modifier.endianness.erlang"},"4":{"name":"storage.modifier.unit.erlang"},"5":{"name":"punctuation.separator.unit-specifiers.erlang"},"6":{"name":"constant.numeric.integer.decimal.erlang"},"7":{"name":"punctuation.separator.type-specifiers.erlang"}}}],"beginCaptures":{"1":{"name":"punctuation.separator.value-type.erlang"}}},"keyword":{"name":"keyword.control.erlang","match":"\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\b"},"language-constant":{"name":"constant.language","match":"\\b(false|true|undefined)\\b"},"list":{"name":"meta.structure.list.erlang","begin":"(\\[)","end":"(\\])","patterns":[{"name":"punctuation.separator.list.erlang","match":"\\||\\|\\||,"},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.list.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.list.end.erlang"}}},"macro-directive":{"patterns":[{"name":"meta.directive.ifdef.erlang","match":"^\\s*+(-)\\s*+(ifdef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifdef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.ifndef.erlang","match":"^\\s*+(-)\\s*+(ifndef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.ifndef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},{"name":"meta.directive.undef.erlang","match":"^\\s*+(-)\\s*+(undef)\\s*+(\\()\\s*+([a-zA-z\\d@_]++)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.undef.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.function.macro.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}}]},"macro-usage":{"name":"meta.macro-usage.erlang","match":"(\\?\\??)\\s*+([a-zA-Z\\d@_]++)","captures":{"1":{"name":"keyword.operator.macro.erlang"},"2":{"name":"entity.name.function.macro.erlang"}}},"module-directive":{"name":"meta.directive.module.erlang","match":"^\\s*+(-)\\s*+(module)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+)\\s*+(\\))\\s*+(\\.)","captures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.module.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.module.definition.erlang"},"5":{"name":"punctuation.definition.parameters.end.erlang"},"6":{"name":"punctuation.section.directive.end.erlang"}}},"number":{"begin":"(?=\\d)","end":"(?!\\d)","patterns":[{"name":"constant.numeric.float.erlang","match":"\\d++(\\.)\\d++([eE][\\+\\-]?\\d++)?","captures":{"1":{"name":"punctuation.separator.integer-float.erlang"},"2":{"name":"punctuation.separator.float-exponent.erlang"}}},{"name":"constant.numeric.integer.binary.erlang","match":"2(#)([0-1]++_)*[0-1]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-3.erlang","match":"3(#)([0-2]++_)*[0-2]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-4.erlang","match":"4(#)([0-3]++_)*[0-3]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-5.erlang","match":"5(#)([0-4]++_)*[0-4]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-6.erlang","match":"6(#)([0-5]++_)*[0-5]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-7.erlang","match":"7(#)([0-6]++_)*[0-6]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.octal.erlang","match":"8(#)([0-7]++_)*[0-7]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-9.erlang","match":"9(#)([0-8]++_)*[0-8]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.decimal.erlang","match":"10(#)(\\d++_)*\\d++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-11.erlang","match":"11(#)([\\daA]++_)*[\\daA]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-12.erlang","match":"12(#)([\\da-bA-B]++_)*[\\da-bA-B]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-13.erlang","match":"13(#)([\\da-cA-C]++_)*[\\da-cA-C]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-14.erlang","match":"14(#)([\\da-dA-D]++_)*[\\da-dA-D]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-15.erlang","match":"15(#)([\\da-eA-E]++_)*[\\da-eA-E]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.hexadecimal.erlang","match":"16(#)([\\da-fA-F]++_)*[\\da-fA-F]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-17.erlang","match":"17(#)([\\da-gA-G]++_)*[\\da-gA-G]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-18.erlang","match":"18(#)([\\da-hA-H]++_)*[\\da-hA-H]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-19.erlang","match":"19(#)([\\da-iA-I]++_)*[\\da-iA-I]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-20.erlang","match":"20(#)([\\da-jA-J]++_)*[\\da-jA-J]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-21.erlang","match":"21(#)([\\da-kA-K]++_)*[\\da-kA-K]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-22.erlang","match":"22(#)([\\da-lA-L]++_)*[\\da-lA-L]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-23.erlang","match":"23(#)([\\da-mA-M]++_)*[\\da-mA-M]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-24.erlang","match":"24(#)([\\da-nA-N]++_)*[\\da-nA-N]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-25.erlang","match":"25(#)([\\da-oA-O]++_)*[\\da-oA-O]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-26.erlang","match":"26(#)([\\da-pA-P]++_)*[\\da-pA-P]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-27.erlang","match":"27(#)([\\da-qA-Q]++_)*[\\da-qA-Q]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-28.erlang","match":"28(#)([\\da-rA-R]++_)*[\\da-rA-R]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-29.erlang","match":"29(#)([\\da-sA-S]++_)*[\\da-sA-S]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-30.erlang","match":"30(#)([\\da-tA-T]++_)*[\\da-tA-T]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-31.erlang","match":"31(#)([\\da-uA-U]++_)*[\\da-uA-U]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-32.erlang","match":"32(#)([\\da-vA-V]++_)*[\\da-vA-V]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-33.erlang","match":"33(#)([\\da-wA-W]++_)*[\\da-wA-W]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-34.erlang","match":"34(#)([\\da-xA-X]++_)*[\\da-xA-X]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-35.erlang","match":"35(#)([\\da-yA-Y]++_)*[\\da-yA-Y]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"constant.numeric.integer.base-36.erlang","match":"36(#)([\\da-zA-Z]++_)*[\\da-zA-Z]++","captures":{"1":{"name":"punctuation.separator.base-integer.erlang"}}},{"name":"invalid.illegal.integer.erlang","match":"\\d++#([\\da-zA-Z]++_)*[\\da-zA-Z]++"},{"name":"constant.numeric.integer.decimal.erlang","match":"(\\d++_)*\\d++"}]},"parenthesized-expression":{"name":"meta.expression.parenthesized","begin":"(\\()","end":"(\\))","patterns":[{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.section.expression.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.section.expression.end.erlang"}}},"record-directive":{"name":"meta.directive.record.erlang","begin":"^\\s*+(-)\\s*+(record)\\s*+(\\()\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(,)","end":"(\\))\\s*+(\\.)","patterns":[{"include":"#internal-record-body"},{"include":"#comment"}],"beginCaptures":{"1":{"name":"punctuation.section.directive.begin.erlang"},"2":{"name":"keyword.control.directive.import.erlang"},"3":{"name":"punctuation.definition.parameters.begin.erlang"},"4":{"name":"entity.name.type.class.record.definition.erlang"},"5":{"name":"punctuation.separator.parameters.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.erlang"},"2":{"name":"punctuation.section.directive.end.erlang"}}},"record-usage":{"patterns":[{"name":"meta.record-usage.erlang","match":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')\\s*+(\\.)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","captures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"},"3":{"name":"punctuation.separator.record-field.erlang"},"4":{"name":"variable.other.field.erlang"}}},{"name":"meta.record-usage.erlang","begin":"(#)\\s*+([a-z][a-zA-Z\\d@_]*+|'[^']*+')","end":"(?\u003c=\\})","patterns":[{"include":"#internal-record-body"}],"beginCaptures":{"1":{"name":"keyword.operator.record.erlang"},"2":{"name":"entity.name.type.class.record.erlang"}}}]},"sigil-docstring":{"name":"string.quoted.tripple.sigil.erlang","begin":"(~[bBsS]?)(([\"]{3,})\\s*)(\\S.*)?$","end":"^(\\s*(\\3))(?!\")","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"meta.string.quoted.triple.begin.erlang"},"3":{"name":"punctuation.definition.string.begin.erlang"},"4":{"name":"invalid.illegal.string.erlang"}},"endCaptures":{"1":{"name":"meta.string.quoted.triple.end.erlang"},"2":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string":{"patterns":[{"include":"#sigil-string-parenthesis"},{"include":"#sigil-string-parenthesis-verbatim"},{"include":"#sigil-string-curly-brackets"},{"include":"#sigil-string-curly-brackets-verbatim"},{"include":"#sigil-string-square-brackets"},{"include":"#sigil-string-square-brackets-verbatim"},{"include":"#sigil-string-less-greater"},{"include":"#sigil-string-less-greater-verbatim"},{"include":"#sigil-string-single-character"},{"include":"#sigil-string-single-character-verbatim"},{"include":"#sigil-string-single-quote"},{"include":"#sigil-string-single-quote-verbatim"},{"include":"#sigil-string-double-quote"},{"include":"#sigil-string-double-quote-verbatim"}]},"sigil-string-curly-brackets":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[bs]?)([{])","end":"([}])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-curly-brackets-verbatim":{"name":"string.quoted.curly-brackets.sigil.erlang","begin":"(~[BS])([{])","end":"([}])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote":{"name":"string.quoted.double.sigil.erlang","begin":"(~[bs]?)(\")","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-double-quote-verbatim":{"name":"string.quoted.double.sigil.erlang","begin":"(~[BS])(\")","end":"(\\2)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[bs]?)(\u003c)","end":"(\u003e)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-less-greater-verbatim":{"name":"string.quoted.less-greater.sigil.erlang","begin":"(~[BS])(\u003c)","end":"(\u003e)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[bs]?)([(])","end":"([)])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-parenthesis-verbatim":{"name":"string.quoted.parenthesis.sigil.erlang","begin":"(~[BS])([(])","end":"([)])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character":{"name":"string.quoted.other.sigil.erlang","begin":"(~[bs]?)([/\\|`#])","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-character-verbatim":{"name":"string.quoted.other.sigil.erlang","begin":"(~[BS])([/\\|`#])","end":"(\\2)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote":{"name":"string.quoted.single.sigil.erlang","begin":"(~[bs]?)(')","end":"(\\2)","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-single-quote-verbatim":{"name":"string.quoted.single.sigil.erlang","begin":"(~[BS])(')","end":"(\\2)","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[bs]?)([\\[])","end":"([\\]])","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"sigil-string-square-brackets-verbatim":{"name":"string.quoted.square-brackets.sigil.erlang","begin":"(~[BS])([\\[])","end":"([\\]])","beginCaptures":{"1":{"name":"storage.type.string.erlang"},"2":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"string":{"name":"string.quoted.double.erlang","begin":"(\")","end":"(\")","patterns":[{"include":"#internal-string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.erlang"}}},"symbolic-operator":{"name":"keyword.operator.symbolic.erlang","match":"\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=\u003c|=|\u003c-|\u003c|\u003e=|\u003e|!|::|\\?="},"textual-operator":{"name":"keyword.operator.textual.erlang","match":"\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b"},"tuple":{"name":"meta.structure.tuple.erlang","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.separator.tuple.erlang","match":","},{"include":"#everything-else"}],"beginCaptures":{"1":{"name":"punctuation.definition.tuple.begin.erlang"}},"endCaptures":{"1":{"name":"punctuation.definition.tuple.end.erlang"}}},"variable":{"match":"(_[a-zA-Z\\d@_]++|[A-Z][a-zA-Z\\d@_]*+)|(_)","captures":{"1":{"name":"variable.other.erlang"},"2":{"name":"variable.language.omitted.erlang"}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|abstract|static_unload)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|\\^=|/=|%=|\u0026=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.bare.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.bare.gdscript","begin":"(\\$\\s*|%|\\$%\\s*)(/\\s*)?([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$|%)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(##|#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!=|!"},"const_vars":{"name":"variable.other.constant.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?=\\b[a-zA-Z_]\\w*\\b\\()","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:)","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.float.gdscript","match":"(?x)\n (?\u003c! \\w)(?:\n (?:\n \\.[0-9](?: _?[0-9] )*\n |\n [0-9](?: _?[0-9] )* \\. [0-9](?: _?[0-9] )*\n |\n [0-9](?: _?[0-9] )* \\.\n ) (?: [eE][+-]?[0-9](?: _?[0-9] )* )?\n |\n [0-9](?: _?[0-9] )* (?: [eE][+-]?[0-9](?: _?[0-9] )* )\n )([jJ])?\\b\n","captures":{"1":{"name":"storage.type.imaginary.number.gdscript"}}},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
|
1
|
+
{"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*\\*=|\\*=|\\^=|/=|%=|\u0026=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#region"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.bare.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"},"4":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.bare.gdscript","begin":"(\\$\\s*|%|\\$%\\s*)(/\\s*)?([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$|%)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(##|#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!=|!"},"const_vars":{"name":"variable.other.constant.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#getter_setter_godot4"},{"include":"#base_expression"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?=\\b[a-zA-Z_]\\w*\\b\\()","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:)","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}},"endCaptures":{"1":{"name":"punctuation.section.function.begin.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"name":"meta.variable.declaration.getter.gdscript","match":"(get)\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"}}},{"name":"meta.variable.declaration.setter.gdscript","match":"(set)\\s*(\\()\\s*([A-Za-z_]\\w*)\\s*(\\))\\s*(:)","captures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"},"3":{"name":"variable.other.gdscript"},"4":{"name":"punctuation.definition.arguments.end.gdscript"},"5":{"name":"punctuation.separator.annotation.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]},{"include":"#expression"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)\\.[0-9_]*([eE][+-]?[0-9_]+)?"},{"name":"constant.numeric.float.gdscript","match":"([0-9][0-9_]*)?\\.[0-9_]*([eE][+-]?[0-9_]+)"},{"name":"constant.numeric.float.gdscript","match":"[0-9][0-9_]*[eE][+-]?[0-9_]+"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"region":{"name":"keyword.language.region.gdscript","match":"#(end)?region.*$\\n?"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"Git Revision List","scopeName":"source.git-revlist","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.git-revlist","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.git-revlist"}}},"invalid":{"name":"invalid.illegal.git-revlist","match":"\\S.*?(?=\\s*$)"},"main":{"patterns":[{"include":"#comment"},{"include":"#sha"},{"include":"#invalid"}]},"sha":{"name":"constant.numeric.sha.git-revlist"
|
1
|
+
{"name":"Git Revision List","scopeName":"source.git-revlist","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.git-revlist","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.git-revlist"}}},"invalid":{"name":"invalid.illegal.git-revlist","match":"\\S.*?(?=\\s*$)"},"main":{"patterns":[{"include":"#comment"},{"include":"#sha"},{"include":"#invalid"}]},"sha":{"name":"constant.numeric.sha.git-revlist"}}}
|
data/grammars/source.gleam.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0[bB]0*1[01_]*\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:alnum:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b(0*[1-9][0-9_]*|0)(\\.(0*[1-9][0-9_]*|0)?(e-?0*[1-9][0-9]*)?)?\\b"},"discards":{"name":"comment.unused.gleam","match":"\\b_(?:[[:word:]]+)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0[xX]0*[1-9a-zA-Z][0-9a-zA-Z]*\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|try)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.gleam","match":"(==|!=)"},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0[oO]0*[1-7][0-7]*\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
|
1
|
+
{"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0[bB]0*1[01_]*\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:alnum:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b(0*[1-9][0-9_]*|0)(\\.(0*[1-9][0-9_]*|0)?(e-?0*[1-9][0-9]*)?)?\\b"},"discards":{"name":"comment.unused.gleam","match":"\\b_(?:[[:word:]]+)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0[xX]0*[1-9a-zA-Z][0-9a-zA-Z]*\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|try|echo)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.gleam","match":"(==|!=)"},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0[oO]0*[1-7][0-7]*\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
|