github-linguist 7.21.0 → 7.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/linguist/lex.linguist_yy.c +584 -498
- data/ext/linguist/lex.linguist_yy.h +2 -3
- data/ext/linguist/tokenizer.l +52 -15
- data/grammars/inline.graphql.json +1 -0
- data/grammars/inline.graphql.php.json +1 -0
- data/grammars/inline.graphql.python.json +1 -0
- data/grammars/inline.graphql.re.json +1 -0
- data/grammars/inline.graphql.res.json +1 -0
- data/grammars/inline.prisma.json +1 -1
- data/grammars/liquid.injection.json +1 -1
- data/grammars/markdown.graphql.codeblock.json +1 -0
- data/grammars/markdown.rescript.codeblock.json +1 -0
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abapcds.json +1 -1
- data/grammars/source.astro.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.bicep.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.cds.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.context.json +1 -0
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.dart.json +1 -1
- data/grammars/source.denizenscript.json +1 -1
- data/grammars/source.ditroff.json +1 -1
- data/grammars/source.elvish-transcript.json +1 -0
- data/grammars/source.elvish.in.markdown.json +1 -0
- data/grammars/source.elvish.json +1 -0
- data/grammars/source.fsharp.json +1 -1
- data/grammars/source.ftl.json +1 -1
- data/grammars/source.gcode.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.gdshader.json +1 -1
- data/grammars/source.gemini.json +1 -0
- data/grammars/source.graphql.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hocon.json +1 -0
- data/grammars/source.json.json +1 -1
- data/grammars/source.jsonnet.json +1 -1
- data/grammars/source.kusto.json +1 -1
- data/grammars/source.livescript.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.move.json +1 -0
- data/grammars/source.nix.json +1 -1
- data/grammars/source.pic.json +1 -1
- data/grammars/source.pony.json +1 -1
- data/grammars/source.postscript.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.rego.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.rsc.json +1 -0
- data/grammars/source.scala.json +1 -1
- data/grammars/source.sexp.json +1 -0
- data/grammars/source.stan.json +1 -1
- data/grammars/source.svelte.json +1 -1
- data/grammars/source.ts.json +1 -1
- data/grammars/source.ts.prismaClientRawSQL.json +1 -0
- data/grammars/source.tsx.json +1 -1
- data/grammars/source.v.json +1 -1
- data/grammars/source.velocity.html.json +1 -0
- data/grammars/source.velocity.json +1 -0
- data/grammars/source.wren.json +1 -0
- data/grammars/source.wsd.json +1 -1
- data/grammars/source.xojo.json +1 -1
- data/grammars/text.adblock.json +1 -0
- data/grammars/text.checksums.json +1 -1
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.statamic.json +1 -1
- data/grammars/text.info.json +1 -1
- data/grammars/text.marko.json +1 -1
- data/grammars/text.restructuredtext.json +1 -1
- data/grammars/text.roff.json +1 -1
- data/grammars/text.texinfo.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +2 -2
- data/lib/linguist/generated.rb +2 -2
- data/lib/linguist/generic.yml +1 -0
- data/lib/linguist/heuristics.yml +50 -2
- data/lib/linguist/language.rb +3 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +96 -1
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/vendor.yml +1 -1
- metadata +32 -11
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"},{"include":"#comments"}],"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":"(---*(?!([!#\\$%\u0026\\*\\+\\./\u003c=\u003e\\?@\\\\\\^\\|\\-~:]|[^[^\\p{S}\\p{P}]_\"'\\(\\),;\\[\\]`\\{}]))).*$\\n?","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*)(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.data.curry"},"3":{"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.curry invalid.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.curry","begin":"(?=.*?((::)|∷))","end":"(?=[,}])","patterns":[{"name":"meta.declaration.field.signature.curry","begin":"((::)|∷)","end":"(?=[,}])","patterns":[{"include":"#type"}],"beginCaptures":{"1":{"name":"keyword.other.double-colon.curry"}}},{"name":"entity.name.function.curry","match":"((?\u003c!')\\b[a-z_][\\w']*|\\(\\W+\\))"}]},"fixity_declaration":{"name":"keyword.declaration.fixity.curry","match":"\\binfix[lr]?\\b"},"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":"#function_signature"},{"include":"#function_definition"},{"include":"#infix_function_definition"},{"include":"#external_function_definition"},{"include":"#fixity_declaration"}]},"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*)(?!--)(?:(\\(\\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)\n (')\n (?:\n [\\ -\u0026(-\\[\\]-~\"] # Basic Char\n | (\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE\n |DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS\n |US|SP|DEL|[abfnrtv\\\\\\\"'\\\u0026])) # Escapes\n | (\\\\o[0-7]+) # Octal Escapes\n | (\\\\x[0-9A-Fa-f]+) # Hexadecimal Escapes\n | (\\^[A-Z@\\[\\]\\\\\\^_]) # Control Chars\n )\n (')\n ","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":"storage.module.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":"storage.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":"storage.type.curry","match":"(?\u003c!')\\b[A-Z][\\w']*\\b"},{"name":"storage.type.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":"#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"},{"include":"#comments"}],"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*)(?!--)(?:(\\(\\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"}]}}}
|
data/grammars/source.dart.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"Dart","scopeName":"source.dart","patterns":[{"name":"meta.preprocessor.script.dart","match":"^(#!.*)$"},{"name":"meta.declaration.dart","begin":"^\\w*\\b(library|import|part of|part|export)\\b","end":";","patterns":[{"include":"#strings"},{"include":"#comments"},{"name":"keyword.other.import.dart","match":"\\b(as|show|hide)\\b"},{"name":"keyword.control.dart","match":"\\b(if)\\b"}],"beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"endCaptures":{"0":{"name":"punctuation.terminator.dart"}}},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"match":"(
|
1
|
+
{"name":"Dart","scopeName":"source.dart","patterns":[{"name":"meta.preprocessor.script.dart","match":"^(#!.*)$"},{"name":"meta.declaration.dart","begin":"^\\w*\\b(library|import|part of|part|export)\\b","end":";","patterns":[{"include":"#strings"},{"include":"#comments"},{"name":"keyword.other.import.dart","match":"\\b(as|show|hide)\\b"},{"name":"keyword.control.dart","match":"\\b(if)\\b"}],"beginCaptures":{"0":{"name":"keyword.other.import.dart"}},"endCaptures":{"0":{"name":"punctuation.terminator.dart"}}},{"include":"#comments"},{"include":"#punctuation"},{"include":"#annotations"},{"include":"#keywords"},{"include":"#constants-and-special-vars"},{"include":"#strings"}],"repository":{"annotations":{"patterns":[{"name":"storage.type.annotation.dart","match":"@[a-zA-Z]+"}]},"class-identifier":{"patterns":[{"name":"storage.type.primitive.dart","match":"\\bvoid\\b"},{"name":"support.class.dart","match":"\\b(bool|num|int|double|dynamic)\\b"},{"match":"\\b([_$]*[A-Z][a-zA-Z0-9_$]*)(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?","captures":{"1":{"name":"support.class.dart"},"2":{"patterns":[{"include":"#type-args"}]}}}]},"comments":{"patterns":[{"name":"comment.block.empty.dart","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.dart"}}},{"include":"#comments-doc-oldschool"},{"include":"#comments-doc"},{"include":"#comments-inline"}]},"comments-block":{"patterns":[{"name":"comment.block.dart","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments-block"}]}]},"comments-doc":{"patterns":[{"name":"comment.block.documentation.dart","begin":"///","while":"^\\s*///","patterns":[{"include":"#dartdoc"}]}]},"comments-doc-oldschool":{"patterns":[{"name":"comment.block.documentation.dart","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#comments-doc-oldschool"},{"include":"#comments-block"},{"include":"#dartdoc"}]}]},"comments-inline":{"patterns":[{"include":"#comments-block"},{"match":"((//).*)$","captures":{"1":{"name":"comment.line.double-slash.dart"}}}]},"constants-and-special-vars":{"patterns":[{"name":"constant.language.dart","match":"(?\u003c!\\$)\\b(true|false|null)\\b(?!\\$)"},{"name":"variable.language.dart","match":"(?\u003c!\\$)\\b(this|super)\\b(?!\\$)"},{"name":"constant.numeric.dart","match":"(?\u003c!\\$)\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b(?!\\$)"},{"include":"#class-identifier"},{"include":"#function-identifier"}]},"dartdoc":{"patterns":[{"match":"(\\[.*?\\])","captures":{"0":{"name":"variable.name.source.dart"}}},{"match":"^ {4,}(?![ \\*]).*","captures":{"0":{"name":"variable.name.source.dart"}}},{"contentName":"variable.other.source.dart","begin":"```.*?$","end":"```"},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(`.*?`)","captures":{"0":{"name":"variable.other.source.dart"}}},{"match":"(\\* (( ).*))$","captures":{"2":{"name":"variable.other.source.dart"}}}]},"function-identifier":{"patterns":[{"match":"([_$]*[a-z][a-zA-Z0-9_$]*)(\u003c(?:[a-zA-Z0-9_$\u003c\u003e?]|,\\s*|\\s+extends\\s+)+\u003e)?[!?]?(\\(|\\s+=\u003e)","captures":{"1":{"name":"entity.name.function.dart"},"2":{"patterns":[{"include":"#type-args"}]}}}]},"keywords":{"patterns":[{"name":"keyword.cast.dart","match":"(?\u003c!\\$)\\bas\\b(?!\\$)"},{"name":"keyword.control.catch-exception.dart","match":"(?\u003c!\\$)\\b(try|on|catch|finally|throw|rethrow)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(break|case|continue|default|do|else|for|if|in|return|switch|while)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\b(sync(\\*)?|async(\\*)?|await|yield(\\*)?)\\b(?!\\$)"},{"name":"keyword.control.dart","match":"(?\u003c!\\$)\\bassert\\b(?!\\$)"},{"name":"keyword.control.new.dart","match":"(?\u003c!\\$)\\b(new)\\b(?!\\$)"},{"name":"keyword.declaration.dart","match":"(?\u003c!\\$)\\b(abstract|class|enum|extends|extension|external|factory|implements|get|mixin|native|operator|set|typedef|with|covariant)\\b(?!\\$)"},{"name":"keyword.operator.dart","match":"(?\u003c!\\$)\\b(is\\!?)\\b(?!\\$)"},{"name":"keyword.operator.ternary.dart","match":"\\?|:"},{"name":"keyword.operator.bitwise.dart","match":"(\u003c\u003c|\u003e\u003e\u003e?|~|\\^|\\||\u0026)"},{"name":"keyword.operator.assignment.bitwise.dart","match":"((\u0026|\\^|\\||\u003c\u003c|\u003e\u003e\u003e?)=)"},{"name":"keyword.operator.closure.dart","match":"(=\u003e)"},{"name":"keyword.operator.comparison.dart","match":"(==|!=|\u003c=?|\u003e=?)"},{"name":"keyword.operator.assignment.arithmetic.dart","match":"(([+*/%-]|\\~)=)"},{"name":"keyword.operator.assignment.dart","match":"(=)"},{"name":"keyword.operator.increment-decrement.dart","match":"(\\-\\-|\\+\\+)"},{"name":"keyword.operator.arithmetic.dart","match":"(\\-|\\+|\\*|\\/|\\~\\/|%)"},{"name":"keyword.operator.logical.dart","match":"(!|\u0026\u0026|\\|\\|)"},{"name":"storage.modifier.dart","match":"(?\u003c!\\$)\\b(static|final|const|required|late)\\b(?!\\$)"},{"name":"storage.type.primitive.dart","match":"(?\u003c!\\$)\\b(?:void|var)\\b(?!\\$)"}]},"punctuation":{"patterns":[{"name":"punctuation.comma.dart","match":","},{"name":"punctuation.terminator.dart","match":";"},{"name":"punctuation.dot.dart","match":"\\."}]},"string-interp":{"patterns":[{"match":"\\$([a-zA-Z0-9_]+)","captures":{"1":{"name":"variable.parameter.dart"}}},{"name":"string.interpolated.expression.dart","begin":"\\$\\{","end":"\\}","patterns":[{"name":"variable.parameter.dart","include":"#constants-and-special-vars"},{"include":"#strings"},{"name":"variable.parameter.dart","match":"[a-zA-Z0-9_]+"}]},{"name":"constant.character.escape.dart","match":"\\\\."}]},"strings":{"patterns":[{"name":"string.interpolated.triple.double.dart","begin":"(?\u003c!r)\"\"\"","end":"\"\"\"(?!\")","patterns":[{"include":"#string-interp"}]},{"name":"string.interpolated.triple.single.dart","begin":"(?\u003c!r)'''","end":"'''(?!')","patterns":[{"include":"#string-interp"}]},{"name":"string.quoted.triple.double.dart","begin":"r\"\"\"","end":"\"\"\"(?!\")"},{"name":"string.quoted.triple.single.dart","begin":"r'''","end":"'''(?!')"},{"name":"string.interpolated.double.dart","begin":"(?\u003c!\\|r)\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.double.dart","begin":"r\"","end":"\"","patterns":[{"name":"invalid.string.newline","match":"\\n"}]},{"name":"string.interpolated.single.dart","begin":"(?\u003c!\\|r)'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"},{"include":"#string-interp"}]},{"name":"string.quoted.single.dart","begin":"r'","end":"'","patterns":[{"name":"invalid.string.newline","match":"\\n"}]}]},"type-args":{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#class-identifier"},{"match":"[\\s,]+"},{"name":"keyword.declaration.dart","match":"extends"}],"beginCaptures":{"1":{"name":"other.source.dart"}},"endCaptures":{"1":{"name":"other.source.dart"}}}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#
|
1
|
+
{"name":"DenizenScript","scopeName":"source.denizenscript","patterns":[{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"},{"include":"#keys"},{"include":"#commands"},{"include":"#double_quotes"},{"include":"#single_quotes"},{"include":"#tags"},{"include":"#def_brackets"},{"include":"#not_script_keys"}],"repository":{"commands":{"begin":"(-)\\s([^\\s\u003c\u003e\"']+)","end":"\\s","captures":{"1":{"name":"operator.dash.denizenscript"},"2":{"name":"entity.other.command.denizenscript"}}},"comments":{"name":"comment.line.number-sign.denizenscript","begin":"(?i)^\\s*#(?!\\s*todo|(?:\\s*(?:\\||\\+|=|#|_|@|\\/)))","end":"\\n"},"def_brackets":{"name":"entity.name.tag.def_brackets.denizenscript","begin":"(?\u003c=\\w|\u003c)\\[","end":"\\]","patterns":[{"include":"#tags"}]},"double_quotes":{"name":"string.quoted.double.denizenscript","begin":"(?\u003c=\\s)\"","end":"(?:\"|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"header_comments":{"name":"keyword.header-comment.denizenscript","begin":"^\\s*#\\s*(?:\\||\\+|=|#|_|@|\\/)","end":"\\n"},"keys":{"begin":"(^(?!.*- |#|\\n|.*(?:interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input)(?=(?::))).*)(?=(:)\\s)","end":"\\s","beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"not_script_keys":{"begin":"(^(?!.*- |#|\\n).*(?=interact scripts|default constants|data|constants|text|lore|aliases|slots|enchantments|input).*)(?=(:)\\s)","end":"^(?!.*- |\\n|\\s*#)","patterns":[{"include":"#tags"},{"include":"#def_brackets"},{"include":"#comments"},{"include":"#todo_comments"},{"include":"#header_comments"}],"beginCaptures":{"1":{"name":"markup.heading.key.denizenscript"},"2":{"name":"operator.colon.denizenscript"}}},"single_quotes":{"name":"string.quoted.single.denizenscript","begin":"(?\u003c=\\s)'","end":"(?:'|\\n)","patterns":[{"include":"#tags"},{"include":"#def_brackets"}]},"tags":{"name":"constant.language.tag.denizenscript","begin":"\u003c(?!-|\\s|=)","end":"\u003e","patterns":[{"include":"#def_brackets"}]},"todo_comments":{"name":"variable.todo-comment.denizenscript","begin":"(?i)^\\s*#\\s*(?:todo)","end":"\\n"}}}
|
@@ -1 +1 @@
|
|
1
|
-
{"name":"Ditroff (Troff Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"source.embedded.postscript"},"4":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.osc8-link.ditroff","begin":"\\G\\s*(link)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.link-destination.ditroff","match":"\\G\\s*(\\S+)","captures":{"1":{"name":"string.other.link.ditroff"}}},{"name":"meta.link-parameter.ditroff","contentName":"string.unquoted.ditroff","begin":"(?!\\G)([^\\s=]+)(=)","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"entity.other.attribute-name.ditroff"},"2":{"name":"punctuation.separator.key-value.ditroff"}}}],"beginCaptures":{"1":{"name":"storage.type.link.ditroff"}}},{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"patterns":[{"name":"punctuation.definition.tag.ditroff","match":"\\."}]}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\s*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^(\\+[ \\t]+)?)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"patterns":[{"include":"#continueLine"}]},"2":{"name":"string.other.link.filename.ditroff"},"3":{"name":"constant.language.alignment-type.ditroff"},"4":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
|
1
|
+
{"name":"Ditroff (Troff Intermediate Output)","scopeName":"source.ditroff","patterns":[{"include":"#main"}],"repository":{"colourMode":{"patterns":[{"name":"meta.colour-mode.default.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(d)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"}}},{"name":"meta.colour-mode.rgb.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(r)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmyk.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(k)((?:\\s*\\d+){4})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.cmy.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(c)((?:\\s*\\d+){3})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.colour-mode.grey.gnu.ditroff","match":"(?:(m)|(D)\\s*(F))\\s*(g)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.function.ditroff"},"3":{"name":"keyword.operator.subcommand.ditroff"},"4":{"name":"constant.language.colour-scheme.ditroff"},"5":{"patterns":[{"include":"text.roff#number"}]}}}]},"comment":{"name":"comment.line.number-sign.ditroff","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ditroff"}}},"continueLine":{"name":"keyword.operator.line-continuation.gnu.ditroff","match":"^\\+"},"deviceControl":{"patterns":[{"name":"meta.device-control.x-command.ditroff","begin":"(x)\\s*(X\\S*)[ \\t]*","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xCommands"}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.device.control.ditroff"}}},{"name":"meta.device-control.ditroff","begin":"(x)\\s*","end":"(?=$|#)","patterns":[{"name":"keyword.device.control.ditroff","match":"\\G([ipst]\\S*)\\s*?(?=$|#)"},{"name":"meta.space-underlining.gnu.ditroff","match":"\\G(u\\S*)\\s+(?:(1|0)|(\\d+))\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"invalid.illegal.argument.ditroff"}}},{"name":"meta.source-filename.gnu.ditroff","match":"\\G(F\\S*)\\s+(\\S+)\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"string.other.link.filename.ditroff"}}},{"name":"meta.typesetter-device.ditroff","match":"\\G(T\\S*)\\s+(\\S+)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"support.constant.device-name.ditroff"}}},{"name":"meta.device-resolution.ditroff","match":"\\G(r\\S*)((?:\\s+(\\d+)){1,3})\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?(?:\\s+(\\S.*?)\\s+(\\d+)[ \\t]*$)?[ \\t]*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.position.ditroff"},"3":{"name":"entity.name.font.ditroff"},"4":{"name":"string.other.link.filename.ditroff"},"5":{"name":"constant.numeric.integer.flags.ditroff"}}},{"name":"meta.mount-font.ditroff","match":"\\G(f\\S*)(?:\\s+(\\d+))?(?:\\s+([-\\w]+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"},"3":{"name":"variable.parameter.ditroff"}}},{"name":"meta.set-character-property.ditroff","match":"\\G([HS]\\S*)\\s+(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))?\\s*?(?=$|#)","captures":{"1":{"name":"keyword.device.control.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.unknown-command.ditroff","begin":"\\G(\\S+)","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.device.control.ditroff"}}}],"beginCaptures":{"0":{"name":"meta.device-control.lhs.ditroff"},"1":{"name":"keyword.operator.function.ditroff"}}}]},"eol":{"name":"meta.end-of-line.ditroff","match":"(n)((?:\\s*\\d+){2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"patterns":[{"include":"text.roff#number"}]}}},"font":{"name":"meta.change-font.ditroff","match":"(f)\\s*(\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"graphics":{"patterns":[{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(C)\\s*(\\d+)(?:\\s+(\\d+))?","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditrof"},"3":{"name":"constant.numeric.integer.ditroff"},"4":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.graphics.gnu.ditroff","match":"(D)\\s*(E)((?:\\s*(\\d+)){1,2})","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"},"3":{"patterns":[{"include":"text.roff#number"}]}}},{"name":"meta.graphics.ditroff","begin":"(D)\\s*([lceafptPR~])","end":"(?=$|#)","patterns":[{"include":"text.roff#number"}],"beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}},{"name":"meta.graphics.unknown-command.ditroff","contentName":"variable.parameter.ditroff","begin":"(D)\\s*([^\\s\\\\])","end":"(?=$|#)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"keyword.operator.subcommand.ditroff"}}}]},"main":{"patterns":[{"include":"#comment"},{"include":"#deviceControl"},{"include":"#colourMode"},{"include":"#print"},{"include":"#font"},{"include":"#eol"},{"include":"#move"},{"include":"#size"},{"include":"#page"},{"include":"#graphics"},{"include":"#movePrint"},{"include":"#wordSpace"}]},"move":{"name":"meta.move.ditroff","match":"([HhVv])\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"movePrint":{"name":"meta.move-and-print.ditroff","match":"(\\d{2})(.)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"}}},"page":{"name":"meta.start-page.ditroff","match":"(p)\\s*(\\d+)","captures":{"1":{"name":"keyword.control.page.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},"print":{"patterns":[{"name":"meta.print-character.indexed.ditroff","match":"(N)\\s*(-?\\d+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.print-character.ditroff","match":"(c)(?:\\s*(\\S)|(\\s))|(CPS|C)\\s*(\\S+)","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.character.ditroff"},"3":{"name":"constant.character.whitespace.ditroff"},"4":{"name":"keyword.operator.function.ditroff"},"5":{"name":"string.unquoted.ditroff"}}},{"name":"meta.print-text.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(t)\\s*","end":"(?=$)|\\s+(\\d*)","beginCaptures":{"0":{"name":"keyword.operator.function.ditroff"},"1":{"name":"punctuation.definition.entity.ditroff"}},"endCaptures":{"1":{"name":"comment.dummy.argument.ditroff"}}},{"name":"meta.print-text.track-kerned.gnu.ditroff","contentName":"string.quoted.double.ditroff","begin":"(u)\\s*(-?\\d+)\\s*","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"constant.numeric.integer.ditroff"}}}]},"size":{"match":"(s)\\s*(?:(-23)\\s+(-?[\\d.]+)|(-?\\d+))","captures":{"1":{"name":"keyword.operator.function.ditroff"},"2":{"name":"comment.dummy.argument.ditroff"},"3":{"name":"constant.numeric.float.ditroff"},"4":{"name":"constant.numeric.integer.ditroff"}}},"wordSpace":{"name":"keyword.operator.function.word-space.ditroff","match":"(?\u003c=^|[\\s\\d])w"},"xCommands":{"patterns":[{"begin":"(?:\\G|^)(?:(ps)\\s*(:)(?=\\s*(?:exec|m?def)\\b)|(PSSetup|PS)\\s*(:)?)","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G(?:(?\u003c=:)\\s*(?:(exec|def)|(mdef)(?:\\s+(\\d+))?)\\b)?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"source.embedded.postscript","match":".+","captures":{"0":{"patterns":[{"include":"source.postscript"}]}}}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"keyword.device.control.subcommand.heirloom.ditroff"},"4":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(ps)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(invis)|(endinvis))\\b","captures":{"1":{"name":"keyword.control.suppress-output.begin.gnu.ditroff"},"2":{"name":"keyword.control.suppress-output.end.gnu.ditroff"}}},{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(file)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"begin":"\\G\\s*(import)(?:\\s+|$)","end":"(?=^(?!\\+))(?!\\G)","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(pdf)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"keyword.control.directive.gnu.ditroff","match":"\\G\\s*(xrev)\\b"},{"begin":"\\G\\s*(pdfpic)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#xImportParams"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.pdfmark.$2.ditroff","begin":"\\G\\s*(mark(start|end|suspend|restart))\\b(\\s+(\\S.*))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"3":{"name":"source.embedded.postscript"},"4":{"patterns":[{"include":"source.postscript"}]}}},{"name":"meta.transition-settings.ditroff","begin":"\\G\\s*(transition)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"name":"support.constant.other.mode.ditroff","match":"\\b(Blinds|Box|Cover|Dissolve|Fade|Fly|Glitter|Push|R|Split|Uncover|Wipe)\\b"},{"name":"constant.language.boolean.$1.ditroff","match":"\\b(true|false)\\b"},{"name":"constant.language.null.ditroff","match":"\\b(?:None)\\b"},{"name":"support.constant.feature.ditroff","match":"\\b(?:SLIDE|BLOCK)\\b"},{"name":"support.constant.dimension.ditroff","match":"\\b(?:H|V)\\b"},{"name":"support.constant.motion.ditroff","match":"\\b(?:I|O)\\b"},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.page-name.ditroff","begin":"\\G\\s*(pagename)(?:$|\\s+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"name":"entity.name.page.ditroff","match":"\\G(\\S.*?)(?=[ \\t]*$)"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"name":"meta.switch-to-page.ditroff","begin":"\\G\\s*(switchtopage)(?:\\s+(after|before))?(?=$|\\s)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"name":"entity.name.page.ditroff","match":"\\G(\\S.*?)(?=[ \\t]*$)"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"support.constant.other.insertion-location.gnu.ditroff"}}},{"name":"meta.background-rectangle.ditroff","begin":"\\G\\s*(background)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"match":"\\G\\s*(?:(off|footnote)|((?:page|fill|box)+))\\b","captures":{"1":{"name":"keyword.control.subcommand.$1.gnu.ditroff"},"2":{"name":"support.constant.other.background-type.gnu.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?[\\d.]+"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.control.directive.gnu.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.pdfmark.ditroff","begin":"(?:\\G|^)(PDFMark)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"meta.bookmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(Bookmark(?:Closed)?)(?:\\s+(\\d+))?(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.bookmark.ditroff"},"2":{"name":"constant.numeric.integer.level.ditroff"}}},{"name":"meta.pdfmark.ditroff","contentName":"string.unquoted.ditroff","begin":"\\G\\s*(\\S+)(?:\\s+|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.field.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(tty)s*(:)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.osc8-link.ditroff","begin":"\\G\\s*(link)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"name":"meta.link-destination.ditroff","match":"\\G\\s*(\\S+)","captures":{"1":{"name":"string.other.link.ditroff"}}},{"name":"meta.link-parameter.ditroff","contentName":"string.unquoted.ditroff","begin":"(?!\\G)([^\\s=]+)(=)","end":"(?=\\s|$)","beginCaptures":{"1":{"name":"entity.other.attribute-name.ditroff"},"2":{"name":"punctuation.separator.key-value.ditroff"}}}],"beginCaptures":{"1":{"name":"storage.type.link.ditroff"}}},{"match":"\\G\\s*(sgr)\\b(?:\\s+([-+]?[\\d.0]+))?","captures":{"1":{"name":"keyword.control.directive.gnu.ditroff"},"2":{"name":"constant.numeric.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.gnu.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.set-paper-size.ditroff","begin":"(?:\\G|^)(papersize)\\s*(=)","end":"(?=^(?!\\+))","patterns":[{"include":"source.ditroff.desc#paperSizes"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"storage.type.paper-size.ditroff"},"2":{"name":"punctuation.separator.key-value.equals-sign.ditroff"}}},{"name":"meta.devtag.ditroff","begin":"(?:\\G|^)(devtag)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"name":"entity.name.tag.ditroff","match":"\\.?[^\\s.]+(?:\\.[^\\s.]+)*+","captures":{"0":{"patterns":[{"name":"punctuation.definition.tag.ditroff","match":"\\."}]}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.infer.ditroff","begin":"(?:\\G|^)(infer)\\s*(:)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"meta.$1-$2.ditroff","begin":"\\G\\s*(start|end)\\s+(\\S+)(?=\\s|$)","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"support.constant.other.ditroff","match":".+"}],"beginCaptures":{"1":{"name":"keyword.control.$1-scope.ditroff"},"2":{"name":"entity.name.type.ditroff"}}}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"name":"meta.manpage-reference.ditroff","match":"(?:\\G|^)(html)\\s+(?:(manref\\s+end)|(manref(?:\\s+start)?))(?:\\s+((?!#)\\S+))(?:\\s+(?:(\\()([0-9])(\\))|((?!#)\\S+)))","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"keyword.control.end-reference.ditroff"},"3":{"name":"keyword.control.start-reference.ditroff"},"4":{"name":"entity.name.subject.ditroff"},"5":{"name":"punctuation.definition.bracket.round.begin.ditroff"},"6":{"name":"constant.numeric.section.ditroff"},"7":{"name":"punctuation.definition.bracket.round.end.ditroff"},"8":{"name":"constant.numeric.section.ditroff"}}},{"begin":"(?:\\G|^)(index)\\s*(:)(?:\\s*(\\d+)(?=\\s))?.*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"constant.numeric.integer.ditroff"}}},{"name":"meta.assertion.ditroff","begin":"(?:\\G|^)(assertion)\\s*(:)(?=\\s*\\[)","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"\\G\\s*(\\[)(x|y)?","end":"\\s*(\\])|(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"punctuation.section.bracket.square.begin.ditroff"},"2":{"name":"variable.parameter.assertion-type.$2.ditroff"}},"endCaptures":{"1":{"name":"punctuation.section.bracket.square.end.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)((?:html|math)\\b(?:\u003c[/?]p\u003e)?)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"begin":"\\G[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"},{"name":"text.embedded.html.basic","match":".+","captures":{"0":{"patterns":[{"include":"text.html.basic"}]}}}]},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(Anchor|U?Link)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.ditroff","begin":"\\G(?:\\s+([+-]?\\d+(?:,[+-]?\\d+)*+)(?=\\s))?\\s*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"patterns":[{"name":"constant.numeric.integer.ditroff","match":"\\d+"},{"name":"punctuation.separator.comma.ditroff","match":","}]}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(BleedAt|CropAt|HorScale|PaperSize|Track|TrimAt)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"name":"constant.numeric.ditroff","match":"[-+]?\\d+(?:\\.\\d+)?"},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"match":"(?:\\G|^)(LC_CTYPE)\\b(?:\\s*(:))?\\s+((?!#)\\S+)(.*)","captures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"},"3":{"name":"entity.name.locale.ditroff"},"4":{"patterns":[{"include":"#comment"}]}}},{"begin":"(?:\\G|^)(SupplyFont)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"contentName":"string.other.link.filename.ditroff","begin":"\\G\\s*(\\S+)[ \\t]*","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"entity.name.font.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"begin":"(?:\\G|^)(SetColor)\\b(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"match":"(?:\\G|^)\\s*(?:([\\s\\d.]+)(?\u003c=\\s)(rgb|hsb|cmyk|setgray|setcolor)|(\\S+))","captures":{"1":{"patterns":[{"name":"constant.numeric.ditroff","match":"[\\d.]+"}]},"2":{"name":"constant.language.colour-scheme.ditroff"},"3":{"name":"variable.other.named-colour.ditroff"}}},{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"contentName":"string.raw.unquoted.heredoc.ditroff","begin":"(?:\\G|^)([^\\s:#]+)(?:\\s*(:))?","end":"(?=^(?!\\+))","patterns":[{"include":"#continueLine"}],"beginCaptures":{"1":{"name":"keyword.device.control.subcommand.ditroff"},"2":{"name":"punctuation.separator.key-value.colon.ditroff"}}},{"include":"#continueLine"}]},"xImportParams":{"patterns":[{"match":"(?:\\G|^(\\+[ \\t]+)?)(\\S+)(?:\\s+((-)[LCR]))?","captures":{"1":{"patterns":[{"include":"#continueLine"}]},"2":{"name":"string.other.link.filename.ditroff"},"3":{"name":"constant.language.alignment-type.ditroff"},"4":{"name":"punctuation.definition.dash.ditroff"}}},{"name":"constant.numeric.ditroff","match":"[-+]?(?:\\d*\\.\\d+|\\d+)"},{"include":"#continueLine"}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Elvish transcript","scopeName":"source.elvish-transcript","patterns":[{"contentName":"meta.embedded.block.elvish","begin":"(^|\\G)[~/][^ ]*\u003e ","while":"(^|\\G) ","patterns":[{"include":"source.elvish"}]}]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"scopeName":"source.elvish.in.markdown","patterns":[{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish)((\\s+|:|,|\\{|\\?)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.elvish","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.elvish"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}},{"name":"markup.fenced_code.block.markdown","begin":"(^|\\G)(\\s*)(\\`{3,}|~{3,})\\s*(?i:(elvish-transcript)((\\s+|:|,|\\{|\\?)[^`~]*)?$)","end":"(^|\\G)(\\2|\\s{0,3})(\\3)\\s*$","patterns":[{"contentName":"meta.embedded.block.elvish-transcript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*([`~]{3,})\\s*$)","patterns":[{"include":"source.elvish-transcript"}]}],"beginCaptures":{"3":{"name":"punctuation.definition.markdown"},"4":{"name":"fenced_code.block.language.markdown"},"5":{"name":"fenced_code.block.language.attributes.markdown"}},"endCaptures":{"3":{"name":"punctuation.definition.markdown"}}}]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Elvish","scopeName":"source.elvish","patterns":[{"name":"string.quoted.double.elvish","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.elvish","match":"\\\\."}]},{"name":"string.quoted.single.elvish","begin":"'","end":"'"},{"name":"comment.line.number-sign.elvish","begin":"#","end":"$"},{"name":"variable.other.elvish","match":"\\$[\\w\\d_:~-]+"},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(var|set|tmp|del)((\\s+[\\w\\d_:~-]+)+)","captures":{"1":{"name":"keyword.other.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(for)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"}\\s+(catch|except)\\s+([\\w\\d_:~-]+)","captures":{"1":{"name":"keyword.control.elvish"},"2":{"name":"variable.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(nop|!=|!=s|%|\\*|\\+|-gc|-ifaddrs|-log|-override-wcwidth|-stack|-|/|\u003c|\u003c=|\u003c=s|\u003cs|==|==s|\u003e|\u003e=|\u003e=s|\u003es|all|assoc|base|bool|break|call|cd|compare|constantly|continue|count|defer|deprecate|dissoc|drop|each|eawk|echo|eq|eval|exact-num|exec|exit|external|fail|fg|float64|from-json|from-lines|from-terminated|get-env|has-env|has-external|has-key|has-value|is|keys|kind-of|make-map|multi-error|nop|not-eq|not|ns|num|one|only-bytes|only-values|order|peach|pprint|print|printf|put|rand|randint|range|read-line|read-upto|repeat|repr|resolve|return|run-parallel|search-external|set-env|show|sleep|slurp|src|styled|styled-segment|take|tilde-abbr|time|to-json|to-lines|to-string|to-terminated|unset-env|use-mod|wcswidth)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"support.function.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(and|or|coalesce)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.operator.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(use|var|set|tmp|del|pragma|fn)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.other.elvish"}}},{"match":"(?\u003c=\\G|^|\\{ |\\{\t|\\(|\\||\\;)\\s*(while|for|try|if)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"match":"}\\s+(elif|else|catch|except|finally)(?=[\\s)}\u003c\u003e;|\u0026])","captures":{"1":{"name":"keyword.control.elvish"}}},{"name":"keyword.operator.elvish","match":"[*?|\u0026;\u003c\u003e()\\[\\]{}]"}]}
|
data/grammars/source.fsharp.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use\\!|and|and!)\\s*(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\([\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})"},{"name":"invalid.illeagal.character.string.fsharp","match":"\\\\(?![\\\\''ntbr]|x[a-fA-F0-9]{2}|u[a-fA-F0-9]{4}|u[a-fA-F0-9]{8})."},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
|
1
|
+
{"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)\\s*\\{","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"///","while":"///","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"//.*$"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|unit|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|member val|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(with\\b|=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use\\!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.new","match":"\\b(new)\\b"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|\\-\u003e|\\\u003c\\-|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"punctuation.separator.namespace-definition.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"constant.language.unit.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"constant.language.unit.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
|
data/grammars/source.ftl.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"scopeName":"source.ftl","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\s*(\\.[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\s*[^\\.])","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}}},"comment":{"name":"comment.fluent","match":"^##?#?\\s.*$"},"function-comma":{"name":"support.function.function-comma.fluent","match":","},"function-named-argument":{"name":"variable.other.named-argument.fluent","begin":"([a-zA-Z0-9]+:)\\s*([\"a-zA-Z0-9]+)","end":"(?=\\)|,|\\s)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}}},"function-positional-argument":{"name":"variable.other.function.positional-argument.fluent","match":"\\$[a-zA-Z0-9_-]+"},"invalid-placeable-string-missing-end-quote":{"name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent","match":"\"[^\"]+$"},"invalid-placeable-wrong-placeable-missing-end":{"name":"invalid.illegal.wrong-placeable-missing-end.fluent","match":"([^}A-Z]*$|[^-][^\u003e]$)\\b"},"message":{"contentName":"string.fluent","begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}}},"placeable":{"contentName":"variable.other.placeable.content.fluent","begin":"({)","end":"(})","patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}],"beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}}},"placeable-function":{"contentName":"string.placeable-function.fluent","begin":"([A-Z][A-Z0-9_-]*\\()","end":"(\\))","patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}],"beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}}},"placeable-reference-or-number":{"name":"variable.other.placeable.reference-or-number.fluent","match":"((-|\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)"},"placeable-string":{"contentName":"string.placeable-string-content.fluent","begin":"(\")(?=[^\\n]*\")","end":"(\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"contentName":"string.selector.content.fluent","begin":"(-\u003e)","end":"^(?=\\s*})","patterns":[{"include":"#selector-item"}],"beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}}},"selector-item":{"contentName":"string.selector-item.content.fluent","begin":"(\\s*\\*?\\[)([a-zA-Z0-9_-]+)(\\]\\s*)","end":"^(
|
1
|
+
{"scopeName":"source.ftl","patterns":[{"include":"#comment"},{"include":"#message"},{"include":"#wrong-line"}],"repository":{"attributes":{"begin":"\\s*(\\.[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\s*[^\\.])","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.attribute-begin.fluent"}}},"comment":{"name":"comment.fluent","match":"^##?#?\\s.*$"},"function-comma":{"name":"support.function.function-comma.fluent","match":","},"function-named-argument":{"name":"variable.other.named-argument.fluent","begin":"([a-zA-Z0-9]+:)\\s*([\"a-zA-Z0-9]+)","end":"(?=\\)|,|\\s)","beginCaptures":{"1":{"name":"support.function.named-argument.name.fluent"},"2":{"name":"variable.other.named-argument.value.fluent"}}},"function-positional-argument":{"name":"variable.other.function.positional-argument.fluent","match":"\\$[a-zA-Z0-9_-]+"},"invalid-placeable-string-missing-end-quote":{"name":"invalid.illegal.wrong-placeable-missing-end-quote.fluent","match":"\"[^\"]+$"},"invalid-placeable-wrong-placeable-missing-end":{"name":"invalid.illegal.wrong-placeable-missing-end.fluent","match":"([^}A-Z]*$|[^-][^\u003e]$)\\b"},"message":{"contentName":"string.fluent","begin":"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\s*=\\s*)","end":"^(?=\\S)","patterns":[{"include":"#attributes"},{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.class.message-identifier.fluent"}}},"placeable":{"contentName":"variable.other.placeable.content.fluent","begin":"({)","end":"(})","patterns":[{"include":"#placeable-string"},{"include":"#placeable-function"},{"include":"#placeable-reference-or-number"},{"include":"#selector"},{"include":"#invalid-placeable-wrong-placeable-missing-end"},{"include":"#invalid-placeable-string-missing-end-quote"},{"include":"#invalid-placeable-wrong-function-name"}],"beginCaptures":{"1":{"name":"keyword.placeable.begin.fluent"}},"endCaptures":{"1":{"name":"keyword.placeable.end.fluent"}}},"placeable-function":{"contentName":"string.placeable-function.fluent","begin":"([A-Z][A-Z0-9_-]*\\()","end":"(\\))","patterns":[{"include":"#function-comma"},{"include":"#function-positional-argument"},{"include":"#function-named-argument"}],"beginCaptures":{"1":{"name":"support.function.placeable-function.call.begin.fluent"}},"endCaptures":{"1":{"name":"support.function.placeable-function.call.end.fluent"}}},"placeable-reference-or-number":{"name":"variable.other.placeable.reference-or-number.fluent","match":"((-|\\$)[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)"},"placeable-string":{"contentName":"string.placeable-string-content.fluent","begin":"(\")(?=[^\\n]*\")","end":"(\")","beginCaptures":{"1":{"name":"variable.other.placeable-string-begin.fluent"}},"endCaptures":{"1":{"name":"variable.other.placeable-string-end.fluent"}}},"selector":{"contentName":"string.selector.content.fluent","begin":"(-\u003e)","end":"^(?=\\s*})","patterns":[{"include":"#selector-item"}],"beginCaptures":{"1":{"name":"support.function.selector.begin.fluent"}}},"selector-item":{"contentName":"string.selector-item.content.fluent","begin":"(\\s*\\*?\\[)([a-zA-Z0-9_-]+)(\\]\\s*)","end":"^(?=(\\s*})|(\\s*\\[)|(\\s*\\*))","patterns":[{"include":"#placeable"}],"beginCaptures":{"1":{"name":"support.function.selector-item.begin.fluent"},"2":{"name":"variable.other.selector-item.begin.fluent"},"3":{"name":"support.function.selector-item.begin.fluent"}}},"wrong-line":{"name":"invalid.illegal.wrong-line.fluent","match":".*"}}}
|