@shikijs/langs-precompiled 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abap.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/astro.mjs +1 -1
- package/dist/awk.mjs +1 -1
- package/dist/ballerina.mjs +1 -1
- package/dist/bat.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/cmake.mjs +1 -1
- package/dist/cobol.mjs +1 -1
- package/dist/codeql.mjs +1 -1
- package/dist/coffee.mjs +1 -1
- package/dist/common-lisp.mjs +1 -1
- package/dist/coq.mjs +1 -1
- package/dist/cpp-macro.mjs +1 -1
- package/dist/cpp.mjs +1 -1
- package/dist/crystal.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/dream-maker.mjs +1 -1
- package/dist/elixir.mjs +1 -1
- package/dist/elm.mjs +1 -1
- package/dist/emacs-lisp.mjs +1 -1
- package/dist/erlang.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fortran-free-form.mjs +1 -1
- package/dist/fsharp.mjs +1 -1
- package/dist/gdresource.mjs +1 -1
- package/dist/gdscript.mjs +1 -1
- package/dist/gherkin.mjs +1 -1
- package/dist/gleam.mjs +1 -1
- package/dist/glimmer-js.mjs +1 -1
- package/dist/glimmer-ts.mjs +1 -1
- package/dist/glsl.mjs +1 -1
- package/dist/gnuplot.mjs +1 -1
- package/dist/go.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/imba.mjs +1 -1
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -1
- package/dist/kusto.mjs +1 -1
- package/dist/latex.mjs +1 -1
- package/dist/lean.mjs +1 -1
- package/dist/less.mjs +1 -1
- package/dist/liquid.mjs +1 -1
- package/dist/llvm.mjs +1 -1
- package/dist/log.mjs +1 -1
- package/dist/logo.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown.mjs +1 -1
- package/dist/marko.mjs +1 -1
- package/dist/matlab.mjs +1 -1
- package/dist/mdc.mjs +1 -1
- package/dist/mdx.mjs +1 -1
- package/dist/mermaid.mjs +1 -1
- package/dist/mipsasm.mjs +1 -1
- package/dist/mojo.mjs +1 -1
- package/dist/nginx.mjs +1 -1
- package/dist/nim.mjs +1 -1
- package/dist/nix.mjs +1 -1
- package/dist/nushell.mjs +1 -1
- package/dist/objective-c.mjs +1 -1
- package/dist/objective-cpp.mjs +1 -1
- package/dist/ocaml.mjs +1 -1
- package/dist/pascal.mjs +1 -1
- package/dist/perl.mjs +1 -1
- package/dist/php.mjs +1 -1
- package/dist/plsql.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/python.mjs +1 -1
- package/dist/qss.mjs +1 -1
- package/dist/r.mjs +1 -1
- package/dist/racket.mjs +1 -1
- package/dist/raku.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/smalltalk.mjs +1 -3
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/stata.mjs +1 -1
- package/dist/stylus.mjs +1 -1
- package/dist/svelte.mjs +1 -1
- package/dist/system-verilog.mjs +1 -1
- package/dist/systemd.mjs +1 -1
- package/dist/talonscript.mjs +1 -1
- package/dist/templ.mjs +1 -1
- package/dist/terraform.mjs +1 -1
- package/dist/tex.mjs +1 -1
- package/dist/toml.mjs +1 -1
- package/dist/tsx.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typst.mjs +1 -1
- package/dist/v.mjs +1 -1
- package/dist/vala.mjs +1 -1
- package/dist/vb.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wolfram.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/package.json +4 -4
package/dist/d.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"D",fileTypes:["d","di","dpp"],name:"d",patterns:[{include:"#comment"},{include:"#type"},{include:"#statement"},{include:"#expression"}],repository:{"aggregate-declaration":{patterns:[{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#struct-declaration"},{include:"#union-declaration"},{include:"#mixin-template-declaration"},{include:"#template-declaration"}]},"alias-declaration":{patterns:[{begin:/\b(alias)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.alias.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.alias.end.d"}},patterns:[{include:"#type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"},{include:"#expression"}]}]},"align-attribute":{patterns:[{begin:/\balign\p{space}*\(/dgv,end:/\)/dgv,name:"storage.modifier.align-attribute.d",patterns:[{include:"#integer-literal"}]},{match:/\balign\b\p{space}*(?!\()/dgv,name:"storage.modifier.align-attribute.d"}]},"alternate-wysiwyg-string":{patterns:[{begin:/`/dgv,end:/`[cdw]?/dgv,name:"string.alternate-wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]},"arbitrary-delimited-string":{begin:/q"([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,end:/\1"()/dgv,name:"string.delimited.d",patterns:[{match:/[^\n]/dgv,name:"string.delimited.d"}]},"arithmetic-expression":{patterns:[{match:/\^\^|\+\+|--|(?<!\/)\+(?!\/)|[\-\~]|(?<!\/)\*(?!\/)|(?<![\*\+\/])\/(?![\*\+\/])|%/dgv,name:"keyword.operator.numeric.d"}]},"asm-instruction":{patterns:[{include:"#comment"},{match:/\b(align|even|naked|db|ds|di|dl|df|dd|de)\b|:/dgv,name:"keyword.asm-instruction.d"},{match:/\b__LOCAL_SIZE\b/dgv,name:"constant.language.assembly.d"},{match:/\b(offsetof|seg)\b/dgv,name:"support.type.assembly.d"},{include:"#asm-type-prefix"},{include:"#asm-primary-expression"},{include:"#operands"},{include:"#register"},{include:"#register-64"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#identifier"}]},"asm-statement":{patterns:[{begin:/\b(asm)\b\p{space}*(?=\{)/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\})/dgv,patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.asm.begin.d"}},contentName:"gfm.markup.raw.assembly.d",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.asm.end.d"}},patterns:[{include:"#asm-instruction"}]}]}]},"asm-type-prefix":{patterns:[{match:/\b((near\p{space}+ptr)|(far\p{space}+ptr)|(byte\p{space}+ptr)|(short\p{space}+ptr)|(int\p{space}+ptr)|(word\p{space}+ptr)|(dword\p{space}+ptr)|(qword\p{space}+ptr)|(float\p{space}+ptr)|(double\p{space}+ptr)|(real\p{space}+ptr))\b/dgv,name:"support.type.asm-type-prefix.d"}]},"assert-expression":{patterns:[{begin:/\bassert\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.assert.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"assign-expression":{patterns:[{match:/>>>=|\^\^=|>>=|<<=|~=|\^=|\|=|&=|%=|\/=|\*=|-=|\+=|=(?!>)/dgv,name:"keyword.operator.assign.d"}]},attribute:{patterns:[{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#deprecated-attribute"},{include:"#protection-attribute"},{include:"#pragma"},{match:/\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"entity.other.attribute-name.d"},{include:"#property"}]},"base-type":{patterns:[{match:/\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\b/dgv,name:"storage.type.basic-type.d"},{match:/\b(string|wstring|dstring|size_t|ptrdiff_t)\b(?!\p{space}*=)/dgv,name:"storage.type.basic-type.d"}]},"binary-integer":{patterns:[{match:/\b(0[Bb])[01_]+(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.binary.d"}]},"bitwise-expression":{patterns:[{match:/[\&\^\|]/dgv,name:"keyword.operator.bitwise.d"}]},"block-comment":{patterns:[{begin:/\/((?!\*\/)\*)+/dgv,beginCaptures:{"0":{name:"comment.block.begin.d"}},end:/\*+\//dgv,endCaptures:{"0":{name:"comment.block.end.d"}},name:"comment.block.content.d"}]},"break-statement":{patterns:[{match:/\bbreak\b/dgv,name:"keyword.control.break.d"}]},"case-statement":{patterns:[{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.case.range.d"}},end:/:/dgv,endCaptures:{"0":{name:"meta.case.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"cast-expression":{patterns:[{begin:/\b(cast)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.cast.d"},"2":{name:"keyword.operator.cast.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.cast.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"}]}]},catch:{patterns:[{begin:/\b(catch)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.catch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},catches:{patterns:[{include:"#catch"}]},character:{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+/dgv,name:"string.character.d"}]},"character-literal":{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.character-literal.d",patterns:[{include:"#character"},{include:"#escape-sequence"}]}]},"class-declaration":{patterns:[{captures:{"1":{name:"storage.type.class.d"},"2":{name:"entity.name.class.d"}},match:/\b(class)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv},{include:"#protection-attribute"},{include:"#class-members"}]},"class-members":{patterns:[{include:"#shared-static-constructor"},{include:"#shared-static-destructor"},{include:"#constructor"},{include:"#destructor"},{include:"#postblit"},{include:"#invariant"},{include:"#member-function-attribute"}]},colon:{patterns:[{match:/:/dgv,name:"support.type.colon.d"}]},comma:{patterns:[{match:/,/dgv,name:"keyword.operator.comma.d"}]},comment:{patterns:[{include:"#block-comment"},{include:"#line-comment"},{include:"#nesting-block-comment"}]},condition:{patterns:[{include:"#version-condition"},{include:"#debug-condition"},{include:"#static-if-condition"}]},"conditional-declaration":{patterns:[{include:"#condition"},{match:/\belse\b/dgv,name:"keyword.control.else.d"},{include:"#colon"},{include:"#decl-defs"}]},"conditional-expression":{patterns:[{match:/\p{space}([\:\?])\p{space}/dgv,name:"keyword.operator.ternary.d"}]},"conditional-statement":{patterns:[{include:"#condition"},{include:"#no-scope-non-empty-statement"},{match:/\belse\b/dgv,name:"keyword.control.else.d"}]},constructor:{patterns:[{match:/\bthis\b/dgv,name:"entity.name.function.constructor.d"}]},"continue-statement":{patterns:[{match:/\bcontinue\b/dgv,name:"keyword.control.continue.d"}]},"debug-condition":{patterns:[{begin:/\bdebug\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.debug.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.debug.identifier.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{match:/\bdebug\b\p{space}*(?!\()/dgv,name:"keyword.other.debug.plain.d"}]},"debug-specification":{patterns:[{match:/\bdebug\b\p{space}*(?==)/dgv,name:"keyword.other.debug-specification.d"}]},"decimal-float":{patterns:[{match:/\b((\.[0-9])|(0\.)|(([1-9]|(0[1-9_]))[0-9_]*\.))[0-9_]*((e-|E-|e\+|E\+|[Ee])[0-9][0-9_]*)?[FLf]?i?\b/dgv,name:"constant.numeric.float.decimal.d"}]},"decimal-integer":{patterns:[{match:/\b(0(?=[^BXbx\p{Nd}]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.decimal.d"}]},declaration:{patterns:[{include:"#alias-declaration"},{include:"#aggregate-declaration"},{include:"#enum-declaration"},{include:"#import-declaration"},{include:"#storage-class"},{include:"#void-initializer"},{include:"#mixin-declaration"}]},"declaration-statement":{patterns:[{include:"#declaration"}]},"default-statement":{patterns:[{captures:{"1":{name:"keyword.control.case.default.d"},"2":{name:"meta.default.colon.d"}},match:/\b(default)\p{space}*(:)/dgv}]},"delete-expression":{patterns:[{match:/\bdelete\p{space}+/dgv,name:"keyword.other.delete.d"}]},"delimited-string":{begin:/q"/dgv,end:/"/dgv,name:"string.delimited.d",patterns:[{include:"#delimited-string-bracket"},{include:"#delimited-string-parens"},{include:"#delimited-string-angle-brackets"},{include:"#delimited-string-braces"}]},"delimited-string-angle-brackets":{patterns:[{begin:/</dgv,end:/>/dgv,name:"constant.character.angle-brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-braces":{patterns:[{begin:/\{/dgv,end:/\}/dgv,name:"constant.character.delimited.braces.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-bracket":{patterns:[{begin:/\[/dgv,end:/\]/dgv,name:"constant.characters.delimited.brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-parens":{patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"constant.character.delimited.parens.d",patterns:[{include:"#wysiwyg-characters"}]}]},"deprecated-statement":{patterns:[{begin:/\bdeprecated\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.deprecated.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.deprecated.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]},{match:/\bdeprecated\b\p{space}*(?!\()/dgv,name:"keyword.other.deprecated.plain.d"}]},destructor:{patterns:[{match:/\b~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.d"}]},"do-statement":{patterns:[{match:/\bdo\b/dgv,name:"keyword.control.do.d"}]},"double-quoted-characters":{patterns:[{include:"#character"},{include:"#end-of-line"},{include:"#escape-sequence"}]},"double-quoted-string":{patterns:[{begin:/"/dgv,end:/"[cdw]?/dgv,name:"string.double-quoted-string.d",patterns:[{include:"#double-quoted-characters"}]}]},"end-of-line":{patterns:[{match:/\n+/dgv,name:"string.character.end-of-line.d"}]},"enum-declaration":{patterns:[{begin:/\b(enum)\b\p{space}+(?=[^\n]*[\;\=])/dgv,beginCaptures:{"1":{name:"storage.type.enum.d"}},end:/([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*)\p{space}*(?=[\(\;\=])(;)?/dgv,endCaptures:{"1":{name:"entity.name.type.enum.d"},"2":{name:"meta.enum.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"}]}]},eof:{patterns:[{begin:/__EOF__/dgv,beginCaptures:{"0":{name:"comment.block.documentation.eof.start.d"}},end:/(?!__NEVER_MATCH__)__NEVER_MATCH__/dgv,name:"text.eof.d"}]},equal:{patterns:[{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.d"}]},"escape-sequence":{patterns:[{match:/(\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf|sigma|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))/dgv,name:"constant.character.escape-sequence.entity.d"},{match:/(\\(?:x[_\p{AHex}]{2}|u[_\p{AHex}]{4}|U[_\p{AHex}]{8}|[0-7]{1,3}))/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\["'0\?\\abfnrtv])/dgv,name:"constant.character.escape-sequence.d"}]},expression:{patterns:[{include:"#index-expression"},{include:"#expression-no-index"}]},"expression-no-index":{patterns:[{include:"#function-literal"},{include:"#assert-expression"},{include:"#assign-expression"},{include:"#mixin-expression"},{include:"#import-expression"},{include:"#traits-expression"},{include:"#is-expression"},{include:"#typeid-expression"},{include:"#shift-expression"},{include:"#logical-expression"},{include:"#rel-expression"},{include:"#bitwise-expression"},{include:"#identity-expression"},{include:"#in-expression"},{include:"#conditional-expression"},{include:"#arithmetic-expression"},{include:"#new-expression"},{include:"#delete-expression"},{include:"#cast-expression"},{include:"#type-specialization"},{include:"#comma"},{include:"#special-keyword"},{include:"#functions"},{include:"#type"},{include:"#parentheses-expression"},{include:"#lexical"}]},"extended-type":{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"entity.name.type.d"},{begin:/\[/dgv,beginCaptures:{"0":{name:"storage.type.array.expression.begin.d"}},end:/\]/dgv,endCaptures:{"0":{name:"storage.type.array.expression.end.d"}},patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#type"},{include:"#expression"}]}]},"final-switch-statement":{patterns:[{begin:/\b(final\p{space}+switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.final.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"finally-statement":{patterns:[{match:/\bfinally\b/dgv,name:"keyword.control.throw.d"}]},"float-literal":{patterns:[{include:"#decimal-float"},{include:"#hexadecimal-float"}]},"for-statement":{patterns:[{begin:/\b(for)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.for.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"foreach-reverse-statement":{patterns:[{begin:/\b(foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach_reverse.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"foreach-statement":{patterns:[{begin:/\b(foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"function-attribute":{patterns:[{match:/\b(nothrow|pure)\b/dgv,name:"storage.type.modifier.function-attribute.d"},{include:"#property"}]},"function-body":{patterns:[{include:"#in-statement"},{include:"#out-statement"},{include:"#block-statement"}]},"function-literal":{patterns:[{match:/=>/dgv,name:"keyword.operator.lambda.d"},{match:/\b(function|delegate)\b/dgv,name:"keyword.other.function-literal.d"},{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=>)/dgv,beginCaptures:{"1":{name:"variable.parameter.d"},"2":{name:"meta.lexical.token.symbolic.d"}},end:/(?=[\]\)\,\;\}])/dgv,patterns:[{include:"source.d"}]},{begin:/(?<=[\(\)])(\p{space}*)(\{)/dgv,beginCaptures:{"1":{name:"source.d"},"2":{name:"source.d"}},end:/\}/dgv,patterns:[{include:"source.d"}]}]},"function-prelude":{patterns:[{match:/(?!type(?:of|id))((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\p{space}*(?=\()/dgv,name:"entity.name.function.d"}]},functions:{patterns:[{include:"#function-attribute"},{include:"#function-prelude"}]},"goto-statement":{patterns:[{match:/\bgoto\p{space}+default\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\p{space}+case\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\b/dgv,name:"keyword.control.goto.d"}]},"hex-string":{patterns:[{begin:/x"/dgv,end:/"[cdw]?/dgv,name:"string.hex-string.d",patterns:[{match:/[_s\p{AHex}]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[Xx][_\p{AHex}]*(\.[_\p{AHex}]*)?(p-|P-|p\+|P\+|[Pp])[0-9][0-9_]*[FLf]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0[Xx])(\p{AHex}[_\p{AHex}]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.hexadecimal.d"}]},identifier:{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"variable.d"}]},"identifier-list":{patterns:[{match:/,/dgv,name:"keyword.other.comma.d"},{include:"#identifier"}]},"identity-expression":{patterns:[{match:/\b((?:|!)is)\b/dgv,name:"keyword.operator.identity.d"}]},"ies-string":{patterns:[{begin:/i"/dgv,end:/"[cdw]?/dgv,name:"string.ies-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#double-quoted-characters"}]}]},"ies-token-string":{begin:/iq\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#interpolation-sequence"},{include:"#token-string-content"}]},"ies-wysiwyg-string":{patterns:[{begin:/i`/dgv,end:/`[cdw]?/dgv,name:"string.ies-wysiwyg-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#wysiwyg-characters"}]}]},"if-statement":{patterns:[{begin:/\b(if)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.if.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]},{match:/\belse\b\p{space}*/dgv,name:"keyword.control.else.d"}]},"import-declaration":{patterns:[{begin:/\b(static\p{space}+)?(import)\p{space}+(?!\()/dgv,beginCaptures:{"1":{name:"keyword.package.import.d"},"2":{name:"keyword.package.import.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.import.end.d"}},patterns:[{include:"#import-identifier"},{include:"#comma"},{include:"#comment"}]}]},"import-expression":{patterns:[{begin:/\b(import)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import.d"},"2":{name:"keyword.other.import.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.import.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"import-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.import.d"}]},"in-expression":{patterns:[{match:/\b((?:|!)in)\b/dgv,name:"keyword.operator.in.d"}]},"in-statement":{patterns:[{match:/\bin\b/dgv,name:"keyword.control.in.d"}]},"index-expression":{patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#expression-no-index"}]}]},"integer-literal":{patterns:[{include:"#decimal-integer"},{include:"#binary-integer"},{include:"#hexadecimal-integer"}]},"interface-declaration":{patterns:[{captures:{"1":{name:"storage.type.interface.d"},"2":{name:"entity.name.type.interface.d"}},match:/\b(interface)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"interpolation-escape":{match:/\\\$/dgv,name:"constant.character.escape-sequence.d"},"interpolation-sequence":{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.d"}},name:"meta.interpolation.expression.d",patterns:[{include:"#expression"}]},invariant:{patterns:[{match:/\binvariant\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.invariant.d"}]},"is-expression":{patterns:[{begin:/\bis\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.token.is.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.token.is.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},keyword:{patterns:[{match:/\babstract\b/dgv,name:"keyword.token.abstract.d"},{match:/\balias\b/dgv,name:"keyword.token.alias.d"},{match:/\balign\b/dgv,name:"keyword.token.align.d"},{match:/\basm\b/dgv,name:"keyword.token.asm.d"},{match:/\bassert\b/dgv,name:"keyword.token.assert.d"},{match:/\bauto\b/dgv,name:"keyword.token.auto.d"},{match:/\bbool\b/dgv,name:"keyword.token.bool.d"},{match:/\bbreak\b/dgv,name:"keyword.token.break.d"},{match:/\bbyte\b/dgv,name:"keyword.token.byte.d"},{match:/\bcase\b/dgv,name:"keyword.token.case.d"},{match:/\bcast\b/dgv,name:"keyword.token.cast.d"},{match:/\bcatch\b/dgv,name:"keyword.token.catch.d"},{match:/\bcdouble\b/dgv,name:"keyword.token.cdouble.d"},{match:/\bcent\b/dgv,name:"keyword.token.cent.d"},{match:/\bcfloat\b/dgv,name:"keyword.token.cfloat.d"},{match:/\bchar\b/dgv,name:"keyword.token.char.d"},{match:/\bclass\b/dgv,name:"keyword.token.class.d"},{match:/\bconst\b/dgv,name:"keyword.token.const.d"},{match:/\bcontinue\b/dgv,name:"keyword.token.continue.d"},{match:/\bcreal\b/dgv,name:"keyword.token.creal.d"},{match:/\bdchar\b/dgv,name:"keyword.token.dchar.d"},{match:/\bdebug\b/dgv,name:"keyword.token.debug.d"},{match:/\bdefault\b/dgv,name:"keyword.token.default.d"},{match:/\bdelegate\b/dgv,name:"keyword.token.delegate.d"},{match:/\bdelete\b/dgv,name:"keyword.token.delete.d"},{match:/\bdeprecated\b/dgv,name:"keyword.token.deprecated.d"},{match:/\bdo\b/dgv,name:"keyword.token.do.d"},{match:/\bdouble\b/dgv,name:"keyword.token.double.d"},{match:/\belse\b/dgv,name:"keyword.token.else.d"},{match:/\benum\b/dgv,name:"keyword.token.enum.d"},{match:/\bexport\b/dgv,name:"keyword.token.export.d"},{match:/\bextern\b/dgv,name:"keyword.token.extern.d"},{match:/\bfalse\b/dgv,name:"constant.language.boolean.false.d"},{match:/\bfinal\b/dgv,name:"keyword.token.final.d"},{match:/\bfinally\b/dgv,name:"keyword.token.finally.d"},{match:/\bfloat\b/dgv,name:"keyword.token.float.d"},{match:/\bfor\b/dgv,name:"keyword.token.for.d"},{match:/\bforeach\b/dgv,name:"keyword.token.foreach.d"},{match:/\bforeach_reverse\b/dgv,name:"keyword.token.foreach_reverse.d"},{match:/\bfunction\b/dgv,name:"keyword.token.function.d"},{match:/\bgoto\b/dgv,name:"keyword.token.goto.d"},{match:/\bidouble\b/dgv,name:"keyword.token.idouble.d"},{match:/\bif\b/dgv,name:"keyword.token.if.d"},{match:/\bifloat\b/dgv,name:"keyword.token.ifloat.d"},{match:/\bimmutable\b/dgv,name:"keyword.token.immutable.d"},{match:/\bimport\b/dgv,name:"keyword.token.import.d"},{match:/\bin\b/dgv,name:"keyword.token.in.d"},{match:/\binout\b/dgv,name:"keyword.token.inout.d"},{match:/\bint\b/dgv,name:"keyword.token.int.d"},{match:/\binterface\b/dgv,name:"keyword.token.interface.d"},{match:/\binvariant\b/dgv,name:"keyword.token.invariant.d"},{match:/\bireal\b/dgv,name:"keyword.token.ireal.d"},{match:/\bis\b/dgv,name:"keyword.token.is.d"},{match:/\blazy\b/dgv,name:"keyword.token.lazy.d"},{match:/\blong\b/dgv,name:"keyword.token.long.d"},{match:/\bmacro\b/dgv,name:"keyword.token.macro.d"},{match:/\bmixin\b/dgv,name:"keyword.token.mixin.d"},{match:/\bmodule\b/dgv,name:"keyword.token.module.d"},{match:/\bnew\b/dgv,name:"keyword.token.new.d"},{match:/\bnothrow\b/dgv,name:"keyword.token.nothrow.d"},{match:/\bnull\b/dgv,name:"constant.language.null.d"},{match:/\bout\b/dgv,name:"keyword.token.out.d"},{match:/\boverride\b/dgv,name:"keyword.token.override.d"},{match:/\bpackage\b/dgv,name:"keyword.token.package.d"},{match:/\bpragma\b/dgv,name:"keyword.token.pragma.d"},{match:/\bprivate\b/dgv,name:"keyword.token.private.d"},{match:/\bprotected\b/dgv,name:"keyword.token.protected.d"},{match:/\bpublic\b/dgv,name:"keyword.token.public.d"},{match:/\bpure\b/dgv,name:"keyword.token.pure.d"},{match:/\breal\b/dgv,name:"keyword.token.real.d"},{match:/\bref\b/dgv,name:"keyword.token.ref.d"},{match:/\breturn\b/dgv,name:"keyword.token.return.d"},{match:/\bscope\b/dgv,name:"keyword.token.scope.d"},{match:/\bshared\b/dgv,name:"keyword.token.shared.d"},{match:/\bshort\b/dgv,name:"keyword.token.short.d"},{match:/\bstatic\b/dgv,name:"keyword.token.static.d"},{match:/\bstruct\b/dgv,name:"keyword.token.struct.d"},{match:/\bsuper\b/dgv,name:"keyword.token.super.d"},{match:/\bswitch\b/dgv,name:"keyword.token.switch.d"},{match:/\bsynchronized\b/dgv,name:"keyword.token.synchronized.d"},{match:/\btemplate\b/dgv,name:"keyword.token.template.d"},{match:/\bthis\b/dgv,name:"keyword.token.this.d"},{match:/\bthrow\b/dgv,name:"keyword.token.throw.d"},{match:/\btrue\b/dgv,name:"constant.language.boolean.true.d"},{match:/\btry\b/dgv,name:"keyword.token.try.d"},{match:/\btypedef\b/dgv,name:"keyword.token.typedef.d"},{match:/\btypeid\b/dgv,name:"keyword.token.typeid.d"},{match:/\btypeof\b/dgv,name:"keyword.token.typeof.d"},{match:/\bubyte\b/dgv,name:"keyword.token.ubyte.d"},{match:/\bucent\b/dgv,name:"keyword.token.ucent.d"},{match:/\buint\b/dgv,name:"keyword.token.uint.d"},{match:/\bulong\b/dgv,name:"keyword.token.ulong.d"},{match:/\bunion\b/dgv,name:"keyword.token.union.d"},{match:/\bunittest\b/dgv,name:"keyword.token.unittest.d"},{match:/\bushort\b/dgv,name:"keyword.token.ushort.d"},{match:/\bversion\b/dgv,name:"keyword.token.version.d"},{match:/\bvoid\b/dgv,name:"keyword.token.void.d"},{match:/\bvolatile\b/dgv,name:"keyword.token.volatile.d"},{match:/\bwchar\b/dgv,name:"keyword.token.wchar.d"},{match:/\bwhile\b/dgv,name:"keyword.token.while.d"},{match:/\bwith\b/dgv,name:"keyword.token.with.d"},{match:/\b__FILE__\b/dgv,name:"keyword.token.__FILE__.d"},{match:/\b__MODULE__\b/dgv,name:"keyword.token.__MODULE__.d"},{match:/\b__LINE__\b/dgv,name:"keyword.token.__LINE__.d"},{match:/\b__FUNCTION__\b/dgv,name:"keyword.token.__FUNCTION__.d"},{match:/\b__PRETTY_FUNCTION__\b/dgv,name:"keyword.token.__PRETTY_FUNCTION__.d"},{match:/\b__gshared\b/dgv,name:"keyword.token.__gshared.d"},{match:/\b__traits\b/dgv,name:"keyword.token.__traits.d"},{match:/\b__vector\b/dgv,name:"keyword.token.__vector.d"},{match:/\b__parameters\b/dgv,name:"keyword.token.__parameters.d"}]},"labeled-statement":{patterns:[{match:/\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[A-Z_a-z][0-9A-Z_a-z]*\p{space}*:/dgv,name:"entity.name.d"}]},lexical:{patterns:[{include:"#comment"},{include:"#string-literal"},{include:"#character-literal"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#eof"},{include:"#special-tokens"},{include:"#special-token-sequence"},{include:"#keyword"},{include:"#identifier"}]},"line-comment":{patterns:[{match:/\/\/+[^\n]*(?=\n?$)/dgv,name:"comment.line.d"}]},"linkage-attribute":{patterns:[{begin:/\bextern\p{space}*\(\p{space}*C\+\+\p{space}*,/dgv,beginCaptures:{"0":{name:"keyword.other.extern.cplusplus.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.cplusplus.end.d"}},patterns:[{include:"#identifier"},{include:"#comma"}]},{begin:/\bextern\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.extern.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.end.d"}},patterns:[{include:"#linkage-type"}]}]},"linkage-type":{patterns:[{match:/C|C\+\+|D|Windows|Pascal|System/dgv,name:"storage.modifier.linkage-type.d"}]},"logical-expression":{patterns:[{match:/\|\||&&|==|!=|!/dgv,name:"keyword.operator.logical.d"}]},"member-function-attribute":{patterns:[{match:/\b(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.member-function-attribute"}]},"mixin-declaration":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-expression":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-statement":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-template-declaration":{patterns:[{captures:{"1":{name:"storage.type.mixintemplate.d"},"2":{name:"entity.name.type.mixintemplate.d"}},match:/\b(mixin\p{space}*template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},module:{packages:[{import:"#module-declaration"}]},"module-declaration":{patterns:[{begin:/\b(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.module.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.module.end.d"}},patterns:[{include:"#module-identifier"},{include:"#comment"}]}]},"module-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.module.d"}]},"nesting-block-comment":{patterns:[{begin:/\/((?!\+\/)\+)+/dgv,beginCaptures:{"0":{name:"comment.block.documentation.begin.d"}},end:/\++\//dgv,endCaptures:{"0":{name:"comment.block.documentation.end.d"}},name:"comment.block.documentation.content.d",patterns:[{include:"#nesting-block-comment"}]}]},"new-expression":{patterns:[{match:/\bnew\p{space}+/dgv,name:"keyword.other.new.d"}]},"non-block-statement":{patterns:[{include:"#module-declaration"},{include:"#labeled-statement"},{include:"#if-statement"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#static-foreach"},{include:"#static-foreach-reverse"},{include:"#foreach-statement"},{include:"#foreach-reverse-statement"},{include:"#switch-statement"},{include:"#final-switch-statement"},{include:"#case-statement"},{include:"#default-statement"},{include:"#continue-statement"},{include:"#break-statement"},{include:"#return-statement"},{include:"#goto-statement"},{include:"#with-statement"},{include:"#synchronized-statement"},{include:"#try-statement"},{include:"#catches"},{include:"#scope-guard-statement"},{include:"#throw-statement"},{include:"#finally-statement"},{include:"#asm-statement"},{include:"#pragma-statement"},{include:"#mixin-statement"},{include:"#conditional-statement"},{include:"#static-assert"},{include:"#deprecated-statement"},{include:"#unit-test"},{include:"#declaration-statement"}]},operands:{patterns:[{match:/[\:\?]/dgv,name:"keyword.operator.ternary.assembly.d"},{match:/[\]\[]/dgv,name:"keyword.operator.bracket.assembly.d"},{match:/>>>|\|\||&&|==|!=|<=|>=|<<|>>|[\-\!\%\&\*\+\/\<\>\^\|\~]/dgv,name:"keyword.operator.assembly.d"}]},"out-statement":{patterns:[{begin:/\bout\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.out.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.out.end.d"}},patterns:[{include:"#identifier"}]},{match:/\bout\b/dgv,name:"keyword.control.out.d"}]},"parentheses-expression":{patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#expression"}]}]},postblit:{patterns:[{match:/\bthis\p{space}*\(\p{space}*this\p{space}*\)\p{space}/dgv,name:"entity.name.class.postblit.d"}]},pragma:{patterns:[{match:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\)/dgv,name:"keyword.other.pragma.d"},{begin:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*,/dgv,end:/\)/dgv,name:"keyword.other.pragma.d",patterns:[{include:"#expression"}]},{match:/^#![^\n]+/dgv,name:"gfm.markup.header.preprocessor.script-tag.d"}]},"pragma-statement":{patterns:[{include:"#pragma"}]},property:{patterns:[{match:/@(property|safe|trusted|system|disable|nogc)\b/dgv,name:"entity.name.tag.property.d"},{include:"#user-defined-attribute"}]},"protection-attribute":{patterns:[{match:/\b(private|package|protected|public|export)\b/dgv,name:"keyword.other.protections.d"}]},register:{patterns:[{match:/\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\(0\)|ST\(1\)|ST\(2\)|ST\(3\)|ST\(4\)|ST\(5\)|ST\(6\)|ST\(7\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\b/dgv,name:"storage.type.assembly.register.d"}]},"register-64":{patterns:[{match:/\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D|R8|R9B|R9W|R9D|R9|R10B|R10W|R10D|R10|R11B|R11W|R11D|R11|R12B|R12W|R12D|R12|R13B|R13W|R13D|R13|R14B|R14W|R14D|R14|R15B|R15W|R15D|R15|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\b/dgv,name:"storage.type.assembly.register-64.d"}]},"rel-expression":{patterns:[{match:/!<>=|!<>|<>=|!>=|!<=|<=|>=|<>|!>|!<|[\<\>]/dgv,name:"keyword.operator.rel.d"}]},"return-statement":{patterns:[{match:/\breturn\b/dgv,name:"keyword.control.return.d"}]},"scope-guard-statement":{patterns:[{match:/\bscope\p{space}*\((exit|success|failure)\)/dgv,name:"keyword.control.scope.d"}]},"semi-colon":{patterns:[{match:/;/dgv,name:"meta.statement.end.d"}]},"shared-static-constructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.constructor.shared-static.d"},{include:"#function-body"}]},"shared-static-destructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.static.d"}]},"shift-expression":{patterns:[{match:/<<|>>|>>>/dgv,name:"keyword.operator.shift.d"},{include:"#add-expression"}]},"special-keyword":{patterns:[{match:/\b(__(?:FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION)__)\b/dgv,name:"constant.language.special-keyword.d"}]},"special-token-sequence":{patterns:[{match:/#\p{space}*line[^\n]*/dgv,name:"gfm.markup.italic.special-token-sequence.d"}]},"special-tokens":{patterns:[{match:/\b(__(?:DATE|TIME|TIMESTAMP|VENDOR|VERSION)__)\b/dgv,name:"gfm.markup.raw.special-tokens.d"}]},statement:{patterns:[{include:"#non-block-statement"},{include:"#semi-colon"}]},"static-assert":{patterns:[{begin:/\bstatic\p{space}+assert\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.static-assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.static-assert.end.d"}},patterns:[{include:"#expression"}]}]},"static-foreach":{patterns:[{begin:/\b(static\p{space}+foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-foreach-reverse":{patterns:[{begin:/\b(static\p{space}+foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-if-condition":{patterns:[{begin:/\bstatic\p{space}+if\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.static-if.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.static-if.end.d"}},patterns:[{include:"#comment"},{include:"#expression"}]}]},"storage-class":{patterns:[{match:/\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"storage.class.d"},{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#property"}]},"string-literal":{patterns:[{include:"#wysiwyg-string"},{include:"#alternate-wysiwyg-string"},{include:"#hex-string"},{include:"#arbitrary-delimited-string"},{include:"#delimited-string"},{include:"#double-quoted-string"},{include:"#token-string"},{include:"#ies-string"},{include:"#ies-wysiwyg-string"},{include:"#ies-token-string"}]},"struct-declaration":{patterns:[{captures:{"1":{name:"storage.type.struct.d"},"2":{name:"entity.name.type.struct.d"}},match:/\b(struct)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"switch-statement":{patterns:[{begin:/\b(switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"synchronized-statement":{patterns:[{begin:/\b(synchronized)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.synchronized.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"template-declaration":{patterns:[{captures:{"1":{name:"storage.type.template.d"},"2":{name:"entity.name.type.template.d"}},match:/\b(template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"throw-statement":{patterns:[{match:/\bthrow\b/dgv,name:"keyword.control.throw.d"}]},"token-string":{begin:/q\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#token-string-content"}]},"token-string-content":{patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#token-string-content"}]},{include:"#comment"},{include:"#tokens"}]},tokens:{patterns:[{include:"#string-literal"},{include:"#character-literal"},{include:"#integer-literal"},{include:"#float-literal"},{include:"#keyword"},{match:/~=|~|>>>|>>=|>>|>=|>|=>|==|=|<>|<=|<<|<|%=|[\#\%]|&=|&&|[\$\&]|\|=|\|\||\||\+=|\+\+|\+|\^=|\^\^=|\^\^|\^|\*=|[\]\(\)\*\[\{\}]|\.\.\.|\.\.|[\.\?]|!>=|!>|!=|!<>=|!<>|!<=|!<|!|\/=|[\,\/\:\;\@]|-=|--|-/dgv,name:"meta.lexical.token.symbolic.d"},{include:"#identifier"}]},"traits-argument":{patterns:[{include:"#expression"},{include:"#type"}]},"traits-arguments":{patterns:[{include:"#traits-argument"},{include:"#comma"}]},"traits-expression":{patterns:[{begin:/\b__traits\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.traits.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.traits.end.d"}},patterns:[{include:"#traits-keyword"},{include:"#comma"},{include:"#traits-argument"}]}]},"traits-keyword":{patterns:[{match:/isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles/dgv,name:"support.constant.traits-keyword.d"}]},"try-statement":{patterns:[{match:/\btry\b/dgv,name:"keyword.control.try.d"}]},type:{patterns:[{include:"#typeof"},{include:"#base-type"},{include:"#type-ctor"},{begin:/!\(/dgv,end:/\)/dgv,patterns:[{include:"#type"},{include:"#expression"}]}]},"type-ctor":{patterns:[{match:/(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.d"}]},"type-specialization":{patterns:[{match:/\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\b/dgv,name:"keyword.other.storage.type-specialization.d"}]},"typeid-expression":{patterns:[{match:/\btypeid\p{space}*(?=\()/dgv,name:"keyword.other.typeid.d"}]},typeof:{begin:/typeof\p{space}*\(/dgv,end:/\)/dgv,name:"keyword.token.typeof.d",patterns:[{match:/return/dgv,name:"keyword.control.return.d"},{include:"#expression"}]},"union-declaration":{patterns:[{captures:{"1":{name:"storage.type.union.d"},"2":{name:"entity.name.type.union.d"}},match:/\b(union)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"user-defined-attribute":{patterns:[{match:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.tag.user-defined-property.d"},{begin:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)?\(/dgv,end:/\)/dgv,name:"entity.name.tag.user-defined-property.d",patterns:[{include:"#expression"}]}]},"version-condition":{patterns:[{match:/\bversion\p{space}*\(\p{space}*unittest\p{space}*\)/dgv,name:"keyword.other.version.unittest.d"},{match:/\bversion\p{space}*\(\p{space}*assert\p{space}*\)/dgv,name:"keyword.other.version.assert.d"},{begin:/\bversion\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.version.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.version.identifer.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{include:"#version-specification"}]},"version-specification":{patterns:[{match:/\bversion\b\p{space}*(?==)/dgv,name:"keyword.other.version-specification.d"}]},"void-initializer":{patterns:[{match:/\bvoid\b/dgv,name:"support.type.void.d"}]},"while-statement":{patterns:[{begin:/\b(while)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.while.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"with-statement":{patterns:[{begin:/\b(with)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.with.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"wysiwyg-characters":{patterns:[{include:"#character"},{include:"#end-of-line"}]},"wysiwyg-string":{patterns:[{begin:/r"/dgv,end:/"[cdw]?/dgv,name:"string.wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]}},scopeName:"source.d",embeddedLangs:undefined,aliases:undefined})
|
|
1
|
+
const lang = Object.freeze({displayName:"D",fileTypes:["d","di","dpp"],name:"d",patterns:[{include:"#comment"},{include:"#type"},{include:"#statement"},{include:"#expression"}],repository:{"aggregate-declaration":{patterns:[{include:"#class-declaration"},{include:"#interface-declaration"},{include:"#struct-declaration"},{include:"#union-declaration"},{include:"#mixin-template-declaration"},{include:"#template-declaration"}]},"alias-declaration":{patterns:[{begin:/\b(alias)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.other.alias.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.alias.end.d"}},patterns:[{include:"#type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"},{include:"#expression"}]}]},"align-attribute":{patterns:[{begin:/\balign\p{space}*\(/dgv,end:/\)/dgv,name:"storage.modifier.align-attribute.d",patterns:[{include:"#integer-literal"}]},{match:/\balign\b\p{space}*(?!\()/dgv,name:"storage.modifier.align-attribute.d"}]},"alternate-wysiwyg-string":{patterns:[{begin:/`/dgv,end:/`[cdw]?/dgv,name:"string.alternate-wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]},"arbitrary-delimited-string":{begin:/q"([\p{L}\p{M}\p{N}\p{Pc}]+)/dgv,end:/\1"()/dgv,name:"string.delimited.d",patterns:[{match:/[^\n]/dgv,name:"string.delimited.d"}]},"arithmetic-expression":{patterns:[{match:/\^\^|\+\+|--|(?<!\/)\+(?!\/)|[\-\~]|(?<!\/)\*(?!\/)|(?<![\*\+\/])\/(?![\*\+\/])|%/dgv,name:"keyword.operator.numeric.d"}]},"asm-instruction":{patterns:[{include:"#comment"},{match:/\b(align|even|naked|db|ds|di|dl|df|dd|de)\b|:/dgv,name:"keyword.asm-instruction.d"},{match:/\b__LOCAL_SIZE\b/dgv,name:"constant.language.assembly.d"},{match:/\b(offsetof|seg)\b/dgv,name:"support.type.assembly.d"},{include:"#asm-type-prefix"},{include:"#asm-primary-expression"},{include:"#operands"},{include:"#register"},{include:"#register-64"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#identifier"}]},"asm-statement":{patterns:[{begin:/\b(asm)\b\p{space}*(?=\{)/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\})/dgv,patterns:[{begin:/\{/dgv,beginCaptures:{"0":{name:"keyword.control.asm.begin.d"}},contentName:"gfm.markup.raw.assembly.d",end:/\}/dgv,endCaptures:{"0":{name:"keyword.control.asm.end.d"}},patterns:[{include:"#asm-instruction"}]}]}]},"asm-type-prefix":{patterns:[{match:/\b((near\p{space}+ptr)|(far\p{space}+ptr)|(byte\p{space}+ptr)|(short\p{space}+ptr)|(int\p{space}+ptr)|(word\p{space}+ptr)|(dword\p{space}+ptr)|(qword\p{space}+ptr)|(float\p{space}+ptr)|(double\p{space}+ptr)|(real\p{space}+ptr))\b/dgv,name:"support.type.asm-type-prefix.d"}]},"assert-expression":{patterns:[{begin:/\bassert\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.assert.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"assign-expression":{patterns:[{match:/>>>=|\^\^=|>>=|<<=|~=|\^=|\|=|&=|%=|\/=|\*=|-=|\+=|=(?!>)/dgv,name:"keyword.operator.assign.d"}]},attribute:{patterns:[{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#deprecated-attribute"},{include:"#protection-attribute"},{include:"#pragma"},{match:/\b(static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"entity.other.attribute-name.d"},{include:"#property"}]},"base-type":{patterns:[{match:/\b(auto|bool|byte|ubyte|short|ushort|int|uint|long|ulong|char|wchar|dchar|float|double|real|ifloat|idouble|ireal|cfloat|cdouble|creal|void|noreturn)\b/dgv,name:"storage.type.basic-type.d"},{match:/\b(string|wstring|dstring|size_t|ptrdiff_t)\b(?!\p{space}*=)/dgv,name:"storage.type.basic-type.d"}]},"binary-integer":{patterns:[{match:/\b(0[Bb])[01_]+(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.binary.d"}]},"bitwise-expression":{patterns:[{match:/[\&\^\|]/dgv,name:"keyword.operator.bitwise.d"}]},"block-comment":{patterns:[{begin:/\/((?!\*\/)\*)+/dgv,beginCaptures:{"0":{name:"comment.block.begin.d"}},end:/\*+\//dgv,endCaptures:{"0":{name:"comment.block.end.d"}},name:"comment.block.content.d"}]},"break-statement":{patterns:[{match:/\bbreak\b/dgv,name:"keyword.control.break.d"}]},"case-statement":{patterns:[{begin:/\b(case)\b\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.control.case.range.d"}},end:/:/dgv,endCaptures:{"0":{name:"meta.case.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"cast-expression":{patterns:[{begin:/\b(cast)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.operator.cast.d"},"2":{name:"keyword.operator.cast.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.operator.cast.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"}]}]},catch:{patterns:[{begin:/\b(catch)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.catch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},catches:{patterns:[{include:"#catch"}]},character:{patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}\p{space}]+/dgv,name:"string.character.d"}]},"character-literal":{patterns:[{begin:/'/dgv,end:/'/dgv,name:"string.character-literal.d",patterns:[{include:"#character"},{include:"#escape-sequence"}]}]},"class-declaration":{patterns:[{captures:{"1":{name:"storage.type.class.d"},"2":{name:"entity.name.class.d"}},match:/\b(class)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv},{include:"#protection-attribute"},{include:"#class-members"}]},"class-members":{patterns:[{include:"#shared-static-constructor"},{include:"#shared-static-destructor"},{include:"#constructor"},{include:"#destructor"},{include:"#postblit"},{include:"#invariant"},{include:"#member-function-attribute"}]},colon:{patterns:[{match:/:/dgv,name:"support.type.colon.d"}]},comma:{patterns:[{match:/,/dgv,name:"keyword.operator.comma.d"}]},comment:{patterns:[{include:"#block-comment"},{include:"#line-comment"},{include:"#nesting-block-comment"}]},condition:{patterns:[{include:"#version-condition"},{include:"#debug-condition"},{include:"#static-if-condition"}]},"conditional-declaration":{patterns:[{include:"#condition"},{match:/\belse\b/dgv,name:"keyword.control.else.d"},{include:"#colon"},{include:"#decl-defs"}]},"conditional-expression":{patterns:[{match:/\p{space}([\:\?])\p{space}/dgv,name:"keyword.operator.ternary.d"}]},"conditional-statement":{patterns:[{include:"#condition"},{include:"#no-scope-non-empty-statement"},{match:/\belse\b/dgv,name:"keyword.control.else.d"}]},constructor:{patterns:[{match:/\bthis\b/dgv,name:"entity.name.function.constructor.d"}]},"continue-statement":{patterns:[{match:/\bcontinue\b/dgv,name:"keyword.control.continue.d"}]},"debug-condition":{patterns:[{begin:/\bdebug\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.debug.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.debug.identifier.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{match:/\bdebug\b\p{space}*(?!\()/dgv,name:"keyword.other.debug.plain.d"}]},"debug-specification":{patterns:[{match:/\bdebug\b\p{space}*(?==)/dgv,name:"keyword.other.debug-specification.d"}]},"decimal-float":{patterns:[{match:/\b((\.[0-9])|(0\.)|(([1-9]|(0[1-9_]))[0-9_]*\.))[0-9_]*((e-|E-|e\+|E\+|[Ee])[0-9][0-9_]*)?[FLf]?i?\b/dgv,name:"constant.numeric.float.decimal.d"}]},"decimal-integer":{patterns:[{match:/\b(0(?=[^BXbx\p{Nd}]))|([1-9][0-9_]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.decimal.d"}]},declaration:{patterns:[{include:"#alias-declaration"},{include:"#aggregate-declaration"},{include:"#enum-declaration"},{include:"#import-declaration"},{include:"#storage-class"},{include:"#void-initializer"},{include:"#mixin-declaration"}]},"declaration-statement":{patterns:[{include:"#declaration"}]},"default-statement":{patterns:[{captures:{"1":{name:"keyword.control.case.default.d"},"2":{name:"meta.default.colon.d"}},match:/\b(default)\p{space}*(:)/dgv}]},"delete-expression":{patterns:[{match:/\bdelete\p{space}+/dgv,name:"keyword.other.delete.d"}]},"delimited-string":{begin:/q"/dgv,end:/"/dgv,name:"string.delimited.d",patterns:[{include:"#delimited-string-bracket"},{include:"#delimited-string-parens"},{include:"#delimited-string-angle-brackets"},{include:"#delimited-string-braces"}]},"delimited-string-angle-brackets":{patterns:[{begin:/</dgv,end:/>/dgv,name:"constant.character.angle-brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-braces":{patterns:[{begin:/\{/dgv,end:/\}/dgv,name:"constant.character.delimited.braces.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-bracket":{patterns:[{begin:/\[/dgv,end:/\]/dgv,name:"constant.characters.delimited.brackets.d",patterns:[{include:"#wysiwyg-characters"}]}]},"delimited-string-parens":{patterns:[{begin:/\(/dgv,end:/\)/dgv,name:"constant.character.delimited.parens.d",patterns:[{include:"#wysiwyg-characters"}]}]},"deprecated-statement":{patterns:[{begin:/\bdeprecated\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.deprecated.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.deprecated.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]},{match:/\bdeprecated\b\p{space}*(?!\()/dgv,name:"keyword.other.deprecated.plain.d"}]},destructor:{patterns:[{match:/\b~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.d"}]},"do-statement":{patterns:[{match:/\bdo\b/dgv,name:"keyword.control.do.d"}]},"double-quoted-characters":{patterns:[{include:"#character"},{include:"#end-of-line"},{include:"#escape-sequence"}]},"double-quoted-string":{patterns:[{begin:/"/dgv,end:/"[cdw]?/dgv,name:"string.double-quoted-string.d",patterns:[{include:"#double-quoted-characters"}]}]},"end-of-line":{patterns:[{match:/\n+/dgv,name:"string.character.end-of-line.d"}]},"enum-declaration":{patterns:[{begin:/\b(enum)\b\p{space}+(?=[^\n]*[\;\=])/dgv,beginCaptures:{"1":{name:"storage.type.enum.d"}},end:/([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*)\p{space}*(?=[\(\;\=])(;)?/dgv,endCaptures:{"1":{name:"entity.name.type.enum.d"},"2":{name:"meta.enum.end.d"}},patterns:[{include:"#type"},{include:"#extended-type"},{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.alias.d"}]}]},eof:{patterns:[{begin:/__EOF__/dgv,beginCaptures:{"0":{name:"comment.block.documentation.eof.start.d"}},end:/(?!__NEVER_MATCH__)__NEVER_MATCH__/dgv,name:"text.eof.d"}]},equal:{patterns:[{match:/=(?![\=\>])/dgv,name:"keyword.operator.equal.d"}]},"escape-sequence":{patterns:[{match:/(\\(?:quot|amp|lt|gt|OElig|oelig|Scaron|scaron|Yuml|circ|tilde|ensp|emsp|thinsp|zwnj|zwj|lrm|rlm|ndash|mdash|lsquo|rsquo|sbquo|ldquo|rdquo|bdquo|dagger|Dagger|permil|lsaquo|rsaquo|euro|nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|Aelig|Ccedil|egrave|eacute|ecirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|fnof|Alpha|Beta|Gamma|Delta|Epsilon|Zeta|Eta|Theta|Iota|Kappa|Lambda|Mu|Nu|Xi|Omicron|Pi|Rho|Sigma|Tau|Upsilon|Phi|Chi|Psi|Omega|alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigmaf?|tau|upsilon|phi|chi|psi|omega|thetasym|upsih|piv|bull|hellip|prime|Prime|oline|frasl|weierp|image|real|trade|alefsym|larr|uarr|rarr|darr|harr|crarr|lArr|uArr|rArr|dArr|hArr|forall|part|exist|empty|nabla|isin|notin|ni|prod|sum|minux|lowast|radic|prop|infin|ang|and|or|cap|cup|int|there4|sim|cong|asymp|ne|equiv|le|ge|sub|sup|nsub|sube|supe|oplus|otimes|perp|sdot|lceil|rceil|lfloor|rfloor|loz|spades|clubs|hearts|diams|lang|rang))/dgv,name:"constant.character.escape-sequence.entity.d"},{match:/(\\(?:x[_\p{AHex}]{2}|u[_\p{AHex}]{4}|U[_\p{AHex}]{8}|[0-7]{1,3}))/dgv,name:"constant.character.escape-sequence.number.d"},{match:/(\\["'0\?\\abfnrtv])/dgv,name:"constant.character.escape-sequence.d"}]},expression:{patterns:[{include:"#index-expression"},{include:"#expression-no-index"}]},"expression-no-index":{patterns:[{include:"#function-literal"},{include:"#assert-expression"},{include:"#assign-expression"},{include:"#mixin-expression"},{include:"#import-expression"},{include:"#traits-expression"},{include:"#is-expression"},{include:"#typeid-expression"},{include:"#shift-expression"},{include:"#logical-expression"},{include:"#rel-expression"},{include:"#bitwise-expression"},{include:"#identity-expression"},{include:"#in-expression"},{include:"#conditional-expression"},{include:"#arithmetic-expression"},{include:"#new-expression"},{include:"#delete-expression"},{include:"#cast-expression"},{include:"#type-specialization"},{include:"#comma"},{include:"#special-keyword"},{include:"#functions"},{include:"#type"},{include:"#parentheses-expression"},{include:"#lexical"}]},"extended-type":{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"entity.name.type.d"},{begin:/\[/dgv,beginCaptures:{"0":{name:"storage.type.array.expression.begin.d"}},end:/\]/dgv,endCaptures:{"0":{name:"storage.type.array.expression.end.d"}},patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#type"},{include:"#expression"}]}]},"final-switch-statement":{patterns:[{begin:/\b(final\p{space}+switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.final.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"finally-statement":{patterns:[{match:/\bfinally\b/dgv,name:"keyword.control.throw.d"}]},"float-literal":{patterns:[{include:"#decimal-float"},{include:"#hexadecimal-float"}]},"for-statement":{patterns:[{begin:/\b(for)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.for.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"foreach-reverse-statement":{patterns:[{begin:/\b(foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach_reverse.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"foreach-statement":{patterns:[{begin:/\b(foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"function-attribute":{patterns:[{match:/\b(nothrow|pure)\b/dgv,name:"storage.type.modifier.function-attribute.d"},{include:"#property"}]},"function-body":{patterns:[{include:"#in-statement"},{include:"#out-statement"},{include:"#block-statement"}]},"function-literal":{patterns:[{match:/=>/dgv,name:"keyword.operator.lambda.d"},{match:/\b(function|delegate)\b/dgv,name:"keyword.other.function-literal.d"},{begin:/\b([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=>)/dgv,beginCaptures:{"1":{name:"variable.parameter.d"},"2":{name:"meta.lexical.token.symbolic.d"}},end:/(?=[\]\)\,\;\}])/dgv,patterns:[{include:"source.d"}]},{begin:/(?<=[\(\)])(\p{space}*)(\{)/dgv,beginCaptures:{"1":{name:"source.d"},"2":{name:"source.d"}},end:/\}/dgv,patterns:[{include:"source.d"}]}]},"function-prelude":{patterns:[{match:/(?!type(?:of|id))((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\p{space}*(?=\()/dgv,name:"entity.name.function.d"}]},functions:{patterns:[{include:"#function-attribute"},{include:"#function-prelude"}]},"goto-statement":{patterns:[{match:/\bgoto\p{space}+default\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\p{space}+case\b/dgv,name:"keyword.control.goto.d"},{match:/\bgoto\b/dgv,name:"keyword.control.goto.d"}]},"hex-string":{patterns:[{begin:/x"/dgv,end:/"[cdw]?/dgv,name:"string.hex-string.d",patterns:[{match:/[_s\p{AHex}]+/dgv,name:"constant.character.hex-string.d"}]}]},"hexadecimal-float":{patterns:[{match:/\b0[Xx][_\p{AHex}]*(\.[_\p{AHex}]*)?(p-|P-|p\+|P\+|[Pp])[0-9][0-9_]*[FLf]?i?\b/dgv,name:"constant.numeric.float.hexadecimal.d"}]},"hexadecimal-integer":{patterns:[{match:/\b(0[Xx])(\p{AHex}[_\p{AHex}]*)(Lu|LU|uL|UL|[LUu])?\b/dgv,name:"constant.numeric.integer.hexadecimal.d"}]},identifier:{patterns:[{match:/\b((\.\p{space}*)?[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*\b/dgv,name:"variable.d"}]},"identifier-list":{patterns:[{match:/,/dgv,name:"keyword.other.comma.d"},{include:"#identifier"}]},"identity-expression":{patterns:[{match:/\b(!??is)\b/dgv,name:"keyword.operator.identity.d"}]},"ies-string":{patterns:[{begin:/i"/dgv,end:/"[cdw]?/dgv,name:"string.ies-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#double-quoted-characters"}]}]},"ies-token-string":{begin:/iq\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#interpolation-sequence"},{include:"#token-string-content"}]},"ies-wysiwyg-string":{patterns:[{begin:/i`/dgv,end:/`[cdw]?/dgv,name:"string.ies-wysiwyg-string.d",patterns:[{include:"#interpolation-escape"},{include:"#interpolation-sequence"},{include:"#wysiwyg-characters"}]}]},"if-statement":{patterns:[{begin:/\b(if)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.if.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]},{match:/\belse\b\p{space}*/dgv,name:"keyword.control.else.d"}]},"import-declaration":{patterns:[{begin:/\b(static\p{space}+)?(import)\p{space}+(?!\()/dgv,beginCaptures:{"1":{name:"keyword.package.import.d"},"2":{name:"keyword.package.import.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.import.end.d"}},patterns:[{include:"#import-identifier"},{include:"#comma"},{include:"#comment"}]}]},"import-expression":{patterns:[{begin:/\b(import)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.other.import.d"},"2":{name:"keyword.other.import.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.import.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"import-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.import.d"}]},"in-expression":{patterns:[{match:/\b(!??in)\b/dgv,name:"keyword.operator.in.d"}]},"in-statement":{patterns:[{match:/\bin\b/dgv,name:"keyword.control.in.d"}]},"index-expression":{patterns:[{begin:/\[/dgv,end:/\]/dgv,patterns:[{match:/\.\.|\$/dgv,name:"keyword.operator.slice.d"},{include:"#expression-no-index"}]}]},"integer-literal":{patterns:[{include:"#decimal-integer"},{include:"#binary-integer"},{include:"#hexadecimal-integer"}]},"interface-declaration":{patterns:[{captures:{"1":{name:"storage.type.interface.d"},"2":{name:"entity.name.type.interface.d"}},match:/\b(interface)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"interpolation-escape":{match:/\\\$/dgv,name:"constant.character.escape-sequence.d"},"interpolation-sequence":{begin:/\$\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.template-expression.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.definition.template-expression.end.d"}},name:"meta.interpolation.expression.d",patterns:[{include:"#expression"}]},invariant:{patterns:[{match:/\binvariant\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.invariant.d"}]},"is-expression":{patterns:[{begin:/\bis\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.token.is.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.token.is.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},keyword:{patterns:[{match:/\babstract\b/dgv,name:"keyword.token.abstract.d"},{match:/\balias\b/dgv,name:"keyword.token.alias.d"},{match:/\balign\b/dgv,name:"keyword.token.align.d"},{match:/\basm\b/dgv,name:"keyword.token.asm.d"},{match:/\bassert\b/dgv,name:"keyword.token.assert.d"},{match:/\bauto\b/dgv,name:"keyword.token.auto.d"},{match:/\bbool\b/dgv,name:"keyword.token.bool.d"},{match:/\bbreak\b/dgv,name:"keyword.token.break.d"},{match:/\bbyte\b/dgv,name:"keyword.token.byte.d"},{match:/\bcase\b/dgv,name:"keyword.token.case.d"},{match:/\bcast\b/dgv,name:"keyword.token.cast.d"},{match:/\bcatch\b/dgv,name:"keyword.token.catch.d"},{match:/\bcdouble\b/dgv,name:"keyword.token.cdouble.d"},{match:/\bcent\b/dgv,name:"keyword.token.cent.d"},{match:/\bcfloat\b/dgv,name:"keyword.token.cfloat.d"},{match:/\bchar\b/dgv,name:"keyword.token.char.d"},{match:/\bclass\b/dgv,name:"keyword.token.class.d"},{match:/\bconst\b/dgv,name:"keyword.token.const.d"},{match:/\bcontinue\b/dgv,name:"keyword.token.continue.d"},{match:/\bcreal\b/dgv,name:"keyword.token.creal.d"},{match:/\bdchar\b/dgv,name:"keyword.token.dchar.d"},{match:/\bdebug\b/dgv,name:"keyword.token.debug.d"},{match:/\bdefault\b/dgv,name:"keyword.token.default.d"},{match:/\bdelegate\b/dgv,name:"keyword.token.delegate.d"},{match:/\bdelete\b/dgv,name:"keyword.token.delete.d"},{match:/\bdeprecated\b/dgv,name:"keyword.token.deprecated.d"},{match:/\bdo\b/dgv,name:"keyword.token.do.d"},{match:/\bdouble\b/dgv,name:"keyword.token.double.d"},{match:/\belse\b/dgv,name:"keyword.token.else.d"},{match:/\benum\b/dgv,name:"keyword.token.enum.d"},{match:/\bexport\b/dgv,name:"keyword.token.export.d"},{match:/\bextern\b/dgv,name:"keyword.token.extern.d"},{match:/\bfalse\b/dgv,name:"constant.language.boolean.false.d"},{match:/\bfinal\b/dgv,name:"keyword.token.final.d"},{match:/\bfinally\b/dgv,name:"keyword.token.finally.d"},{match:/\bfloat\b/dgv,name:"keyword.token.float.d"},{match:/\bfor\b/dgv,name:"keyword.token.for.d"},{match:/\bforeach\b/dgv,name:"keyword.token.foreach.d"},{match:/\bforeach_reverse\b/dgv,name:"keyword.token.foreach_reverse.d"},{match:/\bfunction\b/dgv,name:"keyword.token.function.d"},{match:/\bgoto\b/dgv,name:"keyword.token.goto.d"},{match:/\bidouble\b/dgv,name:"keyword.token.idouble.d"},{match:/\bif\b/dgv,name:"keyword.token.if.d"},{match:/\bifloat\b/dgv,name:"keyword.token.ifloat.d"},{match:/\bimmutable\b/dgv,name:"keyword.token.immutable.d"},{match:/\bimport\b/dgv,name:"keyword.token.import.d"},{match:/\bin\b/dgv,name:"keyword.token.in.d"},{match:/\binout\b/dgv,name:"keyword.token.inout.d"},{match:/\bint\b/dgv,name:"keyword.token.int.d"},{match:/\binterface\b/dgv,name:"keyword.token.interface.d"},{match:/\binvariant\b/dgv,name:"keyword.token.invariant.d"},{match:/\bireal\b/dgv,name:"keyword.token.ireal.d"},{match:/\bis\b/dgv,name:"keyword.token.is.d"},{match:/\blazy\b/dgv,name:"keyword.token.lazy.d"},{match:/\blong\b/dgv,name:"keyword.token.long.d"},{match:/\bmacro\b/dgv,name:"keyword.token.macro.d"},{match:/\bmixin\b/dgv,name:"keyword.token.mixin.d"},{match:/\bmodule\b/dgv,name:"keyword.token.module.d"},{match:/\bnew\b/dgv,name:"keyword.token.new.d"},{match:/\bnothrow\b/dgv,name:"keyword.token.nothrow.d"},{match:/\bnull\b/dgv,name:"constant.language.null.d"},{match:/\bout\b/dgv,name:"keyword.token.out.d"},{match:/\boverride\b/dgv,name:"keyword.token.override.d"},{match:/\bpackage\b/dgv,name:"keyword.token.package.d"},{match:/\bpragma\b/dgv,name:"keyword.token.pragma.d"},{match:/\bprivate\b/dgv,name:"keyword.token.private.d"},{match:/\bprotected\b/dgv,name:"keyword.token.protected.d"},{match:/\bpublic\b/dgv,name:"keyword.token.public.d"},{match:/\bpure\b/dgv,name:"keyword.token.pure.d"},{match:/\breal\b/dgv,name:"keyword.token.real.d"},{match:/\bref\b/dgv,name:"keyword.token.ref.d"},{match:/\breturn\b/dgv,name:"keyword.token.return.d"},{match:/\bscope\b/dgv,name:"keyword.token.scope.d"},{match:/\bshared\b/dgv,name:"keyword.token.shared.d"},{match:/\bshort\b/dgv,name:"keyword.token.short.d"},{match:/\bstatic\b/dgv,name:"keyword.token.static.d"},{match:/\bstruct\b/dgv,name:"keyword.token.struct.d"},{match:/\bsuper\b/dgv,name:"keyword.token.super.d"},{match:/\bswitch\b/dgv,name:"keyword.token.switch.d"},{match:/\bsynchronized\b/dgv,name:"keyword.token.synchronized.d"},{match:/\btemplate\b/dgv,name:"keyword.token.template.d"},{match:/\bthis\b/dgv,name:"keyword.token.this.d"},{match:/\bthrow\b/dgv,name:"keyword.token.throw.d"},{match:/\btrue\b/dgv,name:"constant.language.boolean.true.d"},{match:/\btry\b/dgv,name:"keyword.token.try.d"},{match:/\btypedef\b/dgv,name:"keyword.token.typedef.d"},{match:/\btypeid\b/dgv,name:"keyword.token.typeid.d"},{match:/\btypeof\b/dgv,name:"keyword.token.typeof.d"},{match:/\bubyte\b/dgv,name:"keyword.token.ubyte.d"},{match:/\bucent\b/dgv,name:"keyword.token.ucent.d"},{match:/\buint\b/dgv,name:"keyword.token.uint.d"},{match:/\bulong\b/dgv,name:"keyword.token.ulong.d"},{match:/\bunion\b/dgv,name:"keyword.token.union.d"},{match:/\bunittest\b/dgv,name:"keyword.token.unittest.d"},{match:/\bushort\b/dgv,name:"keyword.token.ushort.d"},{match:/\bversion\b/dgv,name:"keyword.token.version.d"},{match:/\bvoid\b/dgv,name:"keyword.token.void.d"},{match:/\bvolatile\b/dgv,name:"keyword.token.volatile.d"},{match:/\bwchar\b/dgv,name:"keyword.token.wchar.d"},{match:/\bwhile\b/dgv,name:"keyword.token.while.d"},{match:/\bwith\b/dgv,name:"keyword.token.with.d"},{match:/\b__FILE__\b/dgv,name:"keyword.token.__FILE__.d"},{match:/\b__MODULE__\b/dgv,name:"keyword.token.__MODULE__.d"},{match:/\b__LINE__\b/dgv,name:"keyword.token.__LINE__.d"},{match:/\b__FUNCTION__\b/dgv,name:"keyword.token.__FUNCTION__.d"},{match:/\b__PRETTY_FUNCTION__\b/dgv,name:"keyword.token.__PRETTY_FUNCTION__.d"},{match:/\b__gshared\b/dgv,name:"keyword.token.__gshared.d"},{match:/\b__traits\b/dgv,name:"keyword.token.__traits.d"},{match:/\b__vector\b/dgv,name:"keyword.token.__vector.d"},{match:/\b__parameters\b/dgv,name:"keyword.token.__parameters.d"}]},"labeled-statement":{patterns:[{match:/\b(?!abstract|alias|align|asm|assert|auto|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|in|inout|int|interface|invariant|ireal|is|lazy|long|macro|mixin|module|new|nothrow|noreturn|null|out|override|package|pragma|private|protected|public|pure|real|ref|return|scope|shared|short|static|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__|__gshared|__traits|__vector|__parameters)[A-Z_a-z][0-9A-Z_a-z]*\p{space}*:/dgv,name:"entity.name.d"}]},lexical:{patterns:[{include:"#comment"},{include:"#string-literal"},{include:"#character-literal"},{include:"#float-literal"},{include:"#integer-literal"},{include:"#eof"},{include:"#special-tokens"},{include:"#special-token-sequence"},{include:"#keyword"},{include:"#identifier"}]},"line-comment":{patterns:[{match:/\/\/+[^\n]*(?=\n?$)/dgv,name:"comment.line.d"}]},"linkage-attribute":{patterns:[{begin:/\bextern\p{space}*\(\p{space}*C\+\+\p{space}*,/dgv,beginCaptures:{"0":{name:"keyword.other.extern.cplusplus.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.cplusplus.end.d"}},patterns:[{include:"#identifier"},{include:"#comma"}]},{begin:/\bextern\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.extern.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.extern.end.d"}},patterns:[{include:"#linkage-type"}]}]},"linkage-type":{patterns:[{match:/C|C\+\+|D|Windows|Pascal|System/dgv,name:"storage.modifier.linkage-type.d"}]},"logical-expression":{patterns:[{match:/\|\||&&|==|!=?/dgv,name:"keyword.operator.logical.d"}]},"member-function-attribute":{patterns:[{match:/\b(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.member-function-attribute"}]},"mixin-declaration":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-expression":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-statement":{patterns:[{begin:/\bmixin\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.mixin.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.mixin.end.d"}},patterns:[{include:"#comment"},{include:"#expression"},{include:"#comma"}]}]},"mixin-template-declaration":{patterns:[{captures:{"1":{name:"storage.type.mixintemplate.d"},"2":{name:"entity.name.type.mixintemplate.d"}},match:/\b(mixin\p{space}*template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},module:{packages:[{import:"#module-declaration"}]},"module-declaration":{patterns:[{begin:/\b(module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.package.module.d"}},end:/;/dgv,endCaptures:{"0":{name:"meta.module.end.d"}},patterns:[{include:"#module-identifier"},{include:"#comment"}]}]},"module-identifier":{patterns:[{match:/([A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)(\p{space}*\.\p{space}*[A-Z_a-z][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)*/dgv,name:"variable.parameter.module.d"}]},"nesting-block-comment":{patterns:[{begin:/\/((?!\+\/)\+)+/dgv,beginCaptures:{"0":{name:"comment.block.documentation.begin.d"}},end:/\++\//dgv,endCaptures:{"0":{name:"comment.block.documentation.end.d"}},name:"comment.block.documentation.content.d",patterns:[{include:"#nesting-block-comment"}]}]},"new-expression":{patterns:[{match:/\bnew\p{space}+/dgv,name:"keyword.other.new.d"}]},"non-block-statement":{patterns:[{include:"#module-declaration"},{include:"#labeled-statement"},{include:"#if-statement"},{include:"#while-statement"},{include:"#do-statement"},{include:"#for-statement"},{include:"#static-foreach"},{include:"#static-foreach-reverse"},{include:"#foreach-statement"},{include:"#foreach-reverse-statement"},{include:"#switch-statement"},{include:"#final-switch-statement"},{include:"#case-statement"},{include:"#default-statement"},{include:"#continue-statement"},{include:"#break-statement"},{include:"#return-statement"},{include:"#goto-statement"},{include:"#with-statement"},{include:"#synchronized-statement"},{include:"#try-statement"},{include:"#catches"},{include:"#scope-guard-statement"},{include:"#throw-statement"},{include:"#finally-statement"},{include:"#asm-statement"},{include:"#pragma-statement"},{include:"#mixin-statement"},{include:"#conditional-statement"},{include:"#static-assert"},{include:"#deprecated-statement"},{include:"#unit-test"},{include:"#declaration-statement"}]},operands:{patterns:[{match:/[\:\?]/dgv,name:"keyword.operator.ternary.assembly.d"},{match:/[\]\[]/dgv,name:"keyword.operator.bracket.assembly.d"},{match:/>>>|\|\||&&|==|!=|<=|>=|<<|>>|[\-\!\%\&\*\+\/\<\>\^\|\~]/dgv,name:"keyword.operator.assembly.d"}]},"out-statement":{patterns:[{begin:/\bout\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.out.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.out.end.d"}},patterns:[{include:"#identifier"}]},{match:/\bout\b/dgv,name:"keyword.control.out.d"}]},"parentheses-expression":{patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"#expression"}]}]},postblit:{patterns:[{match:/\bthis\p{space}*\(\p{space}*this\p{space}*\)\p{space}/dgv,name:"entity.name.class.postblit.d"}]},pragma:{patterns:[{match:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\)/dgv,name:"keyword.other.pragma.d"},{begin:/\bpragma\p{space}*\(\p{space}*[_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*,/dgv,end:/\)/dgv,name:"keyword.other.pragma.d",patterns:[{include:"#expression"}]},{match:/^#![^\n]+/dgv,name:"gfm.markup.header.preprocessor.script-tag.d"}]},"pragma-statement":{patterns:[{include:"#pragma"}]},property:{patterns:[{match:/@(property|safe|trusted|system|disable|nogc)\b/dgv,name:"entity.name.tag.property.d"},{include:"#user-defined-attribute"}]},"protection-attribute":{patterns:[{match:/\b(private|package|protected|public|export)\b/dgv,name:"keyword.other.protections.d"}]},register:{patterns:[{match:/\b(XMM0|XMM1|XMM2|XMM3|XMM4|XMM5|XMM6|XMM7|MM0|MM1|MM2|MM3|MM4|MM5|MM6|MM7|ST\(0\)|ST\(1\)|ST\(2\)|ST\(3\)|ST\(4\)|ST\(5\)|ST\(6\)|ST\(7\)|ST|TR1|TR2|TR3|TR4|TR5|TR6|TR7|DR0|DR1|DR2|DR3|DR4|DR5|DR6|DR7|CR0|CR2|CR3|CR4|EAX|EBX|ECX|EDX|EBP|ESP|EDI|ESI|AL|AH|AX|BL|BH|BX|CL|CH|CX|DL|DH|DX|BP|SP|DI|SI|ES|CS|SS|DS|GS|FS)\b/dgv,name:"storage.type.assembly.register.d"}]},"register-64":{patterns:[{match:/\b(RAX|RBX|RCX|RDX|BPL|RBP|SPL|RSP|DIL|RDI|SIL|RSI|R8B|R8W|R8D?|R9B|R9W|R9D?|R10B|R10W|R10D?|R11B|R11W|R11D?|R12B|R12W|R12D?|R13B|R13W|R13D?|R14B|R14W|R14D?|R15B|R15W|R15D?|XMM8|XMM9|XMM10|XMM11|XMM12|XMM13|XMM14|XMM15|YMM0|YMM1|YMM2|YMM3|YMM4|YMM5|YMM6|YMM7|YMM8|YMM9|YMM10|YMM11|YMM12|YMM13|YMM14|YMM15)\b/dgv,name:"storage.type.assembly.register-64.d"}]},"rel-expression":{patterns:[{match:/!<>=?|<>=|!>=|!<=|<=|>=|<>|!>|!<|[\<\>]/dgv,name:"keyword.operator.rel.d"}]},"return-statement":{patterns:[{match:/\breturn\b/dgv,name:"keyword.control.return.d"}]},"scope-guard-statement":{patterns:[{match:/\bscope\p{space}*\((exit|success|failure)\)/dgv,name:"keyword.control.scope.d"}]},"semi-colon":{patterns:[{match:/;/dgv,name:"meta.statement.end.d"}]},"shared-static-constructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.constructor.shared-static.d"},{include:"#function-body"}]},"shared-static-destructor":{patterns:[{match:/\b(shared\p{space}+)?static\p{space}+~this\p{space}*\(\p{space}*\)/dgv,name:"entity.name.class.destructor.static.d"}]},"shift-expression":{patterns:[{match:/<<|>>>??/dgv,name:"keyword.operator.shift.d"},{include:"#add-expression"}]},"special-keyword":{patterns:[{match:/\b(__(?:FILE|FILE_FULL_PATH|MODULE|LINE|FUNCTION|PRETTY_FUNCTION)__)\b/dgv,name:"constant.language.special-keyword.d"}]},"special-token-sequence":{patterns:[{match:/#\p{space}*line[^\n]*/dgv,name:"gfm.markup.italic.special-token-sequence.d"}]},"special-tokens":{patterns:[{match:/\b(__(?:DATE|TIME|TIMESTAMP|VENDOR|VERSION)__)\b/dgv,name:"gfm.markup.raw.special-tokens.d"}]},statement:{patterns:[{include:"#non-block-statement"},{include:"#semi-colon"}]},"static-assert":{patterns:[{begin:/\bstatic\p{space}+assert\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.static-assert.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.static-assert.end.d"}},patterns:[{include:"#expression"}]}]},"static-foreach":{patterns:[{begin:/\b(static\p{space}+foreach)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-foreach-reverse":{patterns:[{begin:/\b(static\p{space}+foreach_reverse)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.static-foreach.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{match:/;/dgv,name:"keyword.operator.semi-colon.d"},{include:"source.d"}]}]}]},"static-if-condition":{patterns:[{begin:/\bstatic\p{space}+if\b\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.control.static-if.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.control.static-if.end.d"}},patterns:[{include:"#comment"},{include:"#expression"}]}]},"storage-class":{patterns:[{match:/\b(deprecated|enum|static|extern|abstract|final|override|synchronized|auto|scope|const|immutable|inout|shared|__gshared|nothrow|pure|ref)\b/dgv,name:"storage.class.d"},{include:"#linkage-attribute"},{include:"#align-attribute"},{include:"#property"}]},"string-literal":{patterns:[{include:"#wysiwyg-string"},{include:"#alternate-wysiwyg-string"},{include:"#hex-string"},{include:"#arbitrary-delimited-string"},{include:"#delimited-string"},{include:"#double-quoted-string"},{include:"#token-string"},{include:"#ies-string"},{include:"#ies-wysiwyg-string"},{include:"#ies-token-string"}]},"struct-declaration":{patterns:[{captures:{"1":{name:"storage.type.struct.d"},"2":{name:"entity.name.type.struct.d"}},match:/\b(struct)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"switch-statement":{patterns:[{begin:/\b(switch)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.switch.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"synchronized-statement":{patterns:[{begin:/\b(synchronized)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.synchronized.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"template-declaration":{patterns:[{captures:{"1":{name:"storage.type.template.d"},"2":{name:"entity.name.type.template.d"}},match:/\b(template)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"throw-statement":{patterns:[{match:/\bthrow\b/dgv,name:"keyword.control.throw.d"}]},"token-string":{begin:/q\{/dgv,beginCaptures:{"0":{name:"string.quoted.token.d"}},end:/\}[cdw]?/dgv,endCaptures:{"0":{name:"string.quoted.token.d"}},patterns:[{include:"#token-string-content"}]},"token-string-content":{patterns:[{begin:/\{/dgv,end:/\}/dgv,patterns:[{include:"#token-string-content"}]},{include:"#comment"},{include:"#tokens"}]},tokens:{patterns:[{include:"#string-literal"},{include:"#character-literal"},{include:"#integer-literal"},{include:"#float-literal"},{include:"#keyword"},{match:/~=?|>>>|>>=?|>=?|=>|==?|<>|<=|<<?|%=|[\#\%]|&=|&&|[\$\&]|\|=|\|\|?|\+=|\+\+?|\^=|\^\^=?|\^|\*=|[\]\(\)\*\[\{\}]|\.\.\.?|[\.\?]|!>=?|!=|!<>=?|!<=?|!|\/=|[\,\/\:\;\@]|-=|--?/dgv,name:"meta.lexical.token.symbolic.d"},{include:"#identifier"}]},"traits-argument":{patterns:[{include:"#expression"},{include:"#type"}]},"traits-arguments":{patterns:[{include:"#traits-argument"},{include:"#comma"}]},"traits-expression":{patterns:[{begin:/\b__traits\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.traits.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.traits.end.d"}},patterns:[{include:"#traits-keyword"},{include:"#comma"},{include:"#traits-argument"}]}]},"traits-keyword":{patterns:[{match:/isAbstractClass|isArithmetic|isAssociativeArray|isFinalClass|isPOD|isNested|isFloating|isIntegral|isScalar|isStaticArray|isUnsigned|isVirtualFunction|isVirtualMethod|isAbstractFunction|isFinalFunction|isStaticFunction|isOverrideFunction|isRef|isOut|isLazy|hasMember|identifier|getAliasThis|getAttributes|getMember|getOverloads|getProtection|getVirtualFunctions|getVirtualMethods|getUnitTests|parent|classInstanceSize|getVirtualIndex|allMembers|derivedMembers|isSame|compiles/dgv,name:"support.constant.traits-keyword.d"}]},"try-statement":{patterns:[{match:/\btry\b/dgv,name:"keyword.control.try.d"}]},type:{patterns:[{include:"#typeof"},{include:"#base-type"},{include:"#type-ctor"},{begin:/!\(/dgv,end:/\)/dgv,patterns:[{include:"#type"},{include:"#expression"}]}]},"type-ctor":{patterns:[{match:/(const|immutable|inout|shared)\b/dgv,name:"storage.type.modifier.d"}]},"type-specialization":{patterns:[{match:/\b(struct|union|class|interface|enum|function|delegate|super|const|immutable|inout|shared|return|__parameters)\b/dgv,name:"keyword.other.storage.type-specialization.d"}]},"typeid-expression":{patterns:[{match:/\btypeid\p{space}*(?=\()/dgv,name:"keyword.other.typeid.d"}]},typeof:{begin:/typeof\p{space}*\(/dgv,end:/\)/dgv,name:"keyword.token.typeof.d",patterns:[{match:/return/dgv,name:"keyword.control.return.d"},{include:"#expression"}]},"union-declaration":{patterns:[{captures:{"1":{name:"storage.type.union.d"},"2":{name:"entity.name.type.union.d"}},match:/\b(union)(?:\p{space}+([A-Z_a-z][_\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]*))?\b/dgv}]},"user-defined-attribute":{patterns:[{match:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.tag.user-defined-property.d"},{begin:/@([_\p{L}\p{M}\p{N}\p{Pc}][_\p{Nd}\p{L}\p{M}\p{N}\p{Pc}]*)?\(/dgv,end:/\)/dgv,name:"entity.name.tag.user-defined-property.d",patterns:[{include:"#expression"}]}]},"version-condition":{patterns:[{match:/\bversion\p{space}*\(\p{space}*unittest\p{space}*\)/dgv,name:"keyword.other.version.unittest.d"},{match:/\bversion\p{space}*\(\p{space}*assert\p{space}*\)/dgv,name:"keyword.other.version.assert.d"},{begin:/\bversion\p{space}*\(/dgv,beginCaptures:{"0":{name:"keyword.other.version.identifier.begin.d"}},end:/\)/dgv,endCaptures:{"0":{name:"keyword.other.version.identifer.end.d"}},patterns:[{include:"#integer-literal"},{include:"#identifier"}]},{include:"#version-specification"}]},"version-specification":{patterns:[{match:/\bversion\b\p{space}*(?==)/dgv,name:"keyword.other.version-specification.d"}]},"void-initializer":{patterns:[{match:/\bvoid\b/dgv,name:"support.type.void.d"}]},"while-statement":{patterns:[{begin:/\b(while)\b\p{space}*/dgv,captures:{"1":{name:"keyword.control.while.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"with-statement":{patterns:[{begin:/\b(with)\b\p{space}*(?=\()/dgv,captures:{"1":{name:"keyword.control.with.d"}},end:/(?<=\))/dgv,patterns:[{begin:/\(/dgv,end:/\)/dgv,patterns:[{include:"source.d"}]}]}]},"wysiwyg-characters":{patterns:[{include:"#character"},{include:"#end-of-line"}]},"wysiwyg-string":{patterns:[{begin:/r"/dgv,end:/"[cdw]?/dgv,name:"string.wysiwyg-string.d",patterns:[{include:"#wysiwyg-characters"}]}]}},scopeName:"source.d",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/dax.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"DAX",name:"dax",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#labels"},{include:"#parameters"},{include:"#strings"},{include:"#numbers"}],repository:{comments:{patterns:[{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/--/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\*\//dgv,name:"comment.block.dax"}]},keywords:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("\\b(YIELDMAT|YIELDDISC|YIELD|YEARFRAC|YEAR|XNPV|XIRR|WEEKNUM|WEEKDAY|VDB|VARX[^\\n]S|VARX[^\\n]P|VAR[^\\n]S|VAR[^\\n]P|VALUES
|
|
3
|
+
const lang = Object.freeze({displayName:"DAX",name:"dax",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#labels"},{include:"#parameters"},{include:"#strings"},{include:"#numbers"}],repository:{comments:{patterns:[{begin:/\/\//dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/--/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\n/dgv,name:"comment.line.dax"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dax"}},end:/\*\//dgv,name:"comment.block.dax"}]},keywords:{patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("\\b(YIELDMAT|YIELDDISC|YIELD|YEARFRAC|YEAR|XNPV|XIRR|WEEKNUM|WEEKDAY|VDB|VARX[^\\n]S|VARX[^\\n]P|VAR[^\\n]S|VAR[^\\n]P|VALUES?|UTCTODAY|UTCNOW|USERPRINCIPALNAME|USEROBJECTID|USERNAME|USERELATIONSHIP|USERCULTURE|UPPER|UNION|UNICODE|UNICHAR|TRUNC|TRUE|TRIM|TREATAS|TOTALYTD|TOTALQTD|TOTALMTD|TOPNSKIP|TOPNPERLEVEL|TOPN|TODAY|TIMEVALUE|TIME|TBILLYIELD|TBILLPRICE|TBILLEQ|TANH?|T[^\\n]INV[^\\n]2T|T[^\\n]INV|T[^\\n]DIST[^\\n]RT|T[^\\n]DIST[^\\n]2T|T[^\\n]DIST|SYD|SWITCH|SUMX|SUMMARIZECOLUMNS|SUMMARIZE|SUM|SUBSTITUTEWITHINDEX|SUBSTITUTE|STDEVX[^\\n]S|STDEVX[^\\n]P|STDEV[^\\n]S|STDEV[^\\n]P|STARTOFYEAR|STARTOFQUARTER|STARTOFMONTH|SQRTPI|SQRT|SLN|SINH?|SIGN|SELECTEDVALUE|SELECTEDMEASURENAME|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURE|SELECTCOLUMNS|SECOND|SEARCH|SAMPLE|SAMEPERIODLASTYEAR|RRI|ROW|ROUNDUP|ROUNDDOWN|ROUND|ROLLUPISSUBTOTAL|ROLLUPGROUP|ROLLUPADDISSUBTOTAL|ROLLUP|RIGHT|REPT|REPLACE|REMOVEFILTERS|RELATEDTABLE|RELATED|RECEIVED|RATE|RANKX|RANK[^\\n]EQ|RANDBETWEEN|RAND|RADIANS|QUOTIENT|QUARTER|PV|PRODUCTX?|PRICEMAT|PRICEDISC|PRICE|PREVIOUSYEAR|PREVIOUSQUARTER|PREVIOUSMONTH|PREVIOUSDAY|PPMT|POWER|POISSON[^\\n]DIST|PMT|PI|PERMUT|PERCENTILEX[^\\n]INC|PERCENTILEX[^\\n]EXC|PERCENTILE[^\\n]INC|PERCENTILE[^\\n]EXC|PDURATION|PATHLENGTH|PATHITEMREVERSE|PATHITEM|PATHCONTAINS|PATH|PARALLELPERIOD|OR|OPENINGBALANCEYEAR|OPENINGBALANCEQUARTER|OPENINGBALANCEMONTH|ODDLYIELD|ODDLPRICE|ODDFYIELD|ODDFPRICE|ODD|NPER|NOW|NOT|NORM[^\\n]S[^\\n]INV|NORM[^\\n]S[^\\n]DIST|NORM[^\\n]INV|NORM[^\\n]DIST|NONVISUAL|NOMINAL|NEXTYEAR|NEXTQUARTER|NEXTMONTH|NEXTDAY|NATURALLEFTOUTERJOIN|NATURALINNERJOIN|MROUND|MONTH|MOD|MINX|MINUTE|MINA?|MID|MEDIANX?|MDURATION|MAXX|MAXA?|LOWER|LOOKUPVALUE|LOG10|LOG|LN|LEN|LEFT|LCM|LASTNONBLANKVALUE|LASTNONBLANK|LASTDATE|KEYWORDMATCH|KEEPFILTERS|ISTEXT|ISSUBTOTAL|ISSELECTEDMEASURE|ISPMT|ISONORAFTER|ISODD|ISO[^\\n]CEILING|ISNUMBER|ISNONTEXT|ISLOGICAL|ISINSCOPE|ISFILTERED|ISEVEN|ISERROR|ISEMPTY|ISCROSSFILTERED|ISBLANK|ISAFTER|IPMT|INTRATE|INTERSECT|INT|IGNORE|IFERROR|IF[^\\n]EAGER|IF|HOUR|HASONEVALUE|HASONEFILTER|HASH|GROUPBY|GEOMEANX?|GENERATESERIES|GENERATEALL|GENERATE|GCD|FV|FORMAT|FLOOR|FIXED|FIRSTNONBLANKVALUE|FIRSTNONBLANK|FIRSTDATE|FIND|FILTERS?|FALSE|FACT|EXPON[^\\n]DIST|EXP|EXCEPT|EXACT|EVEN|ERROR|EOMONTH|ENDOFYEAR|ENDOFQUARTER|ENDOFMONTH|EFFECT|EDATE|EARLIEST|EARLIER|DURATION|DOLLARFR|DOLLARDE|DIVIDE|DISTINCTCOUNTNOBLANK|DISTINCTCOUNT|DISTINCT|DISC|DETAILROWS|DEGREES|DDB|DB|DAY|DATEVALUE|DATESYTD|DATESQTD|DATESMTD|DATESINPERIOD|DATESBETWEEN|DATEDIFF|DATEADD|DATE|DATATABLE|CUSTOMDATA|CURRENTGROUP|CURRENCY|CUMPRINC|CUMIPMT|CROSSJOIN|CROSSFILTER|COUPPCD|COUPNUM|COUPNCD|COUPDAYSNC|COUPDAYS|COUPDAYBS|COUNTX|COUNTROWS|COUNTBLANK|COUNTAX?|COUNT|COTH?|COSH?|CONVERT|CONTAINSSTRINGEXACT|CONTAINSSTRING|CONTAINSROW|CONTAINS|CONFIDENCE[^\\n]T|CONFIDENCE[^\\n]NORM|CONCATENATEX?|COMBINEVALUES|COMBINA?|COLUMNSTATISTICS|COALESCE|CLOSINGBALANCEYEAR|CLOSINGBALANCEQUARTER|CLOSINGBALANCEMONTH|CHISQ[^\\n]INV[^\\n]RT|CHISQ[^\\n]INV|CHISQ[^\\n]DIST[^\\n]RT|CHISQ[^\\n]DIST|CEILING|CALENDARAUTO|CALENDAR|CALCULATETABLE|CALCULATE|BLANK|BETA[^\\n]INV|BETA[^\\n]DIST|AVERAGEX|AVERAGEA?|ATANH?|ASINH?|APPROXIMATEDISTINCTCOUNT|AND|AMORLINC|AMORDEGRC|ALLSELECTED|ALLNOBLANKROW|ALLEXCEPT|ALLCROSSFILTERED|ALL|ADDMISSINGITEMS|ADDCOLUMNS|ACOTH?|ACOSH?|ACCRINTM?|ABS)\\b","dgv",{"lazyCompile":true}),name:"variable.language.dax"},{match:/\b(DEFINE|EVALUATE|ORDER BY|RETURN|VAR)\b/dgv,name:"keyword.control.dax"},{match:/[\{\}]/dgv,name:"keyword.array.constructor.dax"},{match:/[\<\>]|>=|<=|=(?!==)/dgv,name:"keyword.operator.comparison.dax"},{match:/&&|IN|NOT|\|\|/dgv,name:"keyword.operator.logical.dax"},{match:/[\-\*\+\/]/dgv,name:"keyword.arithmetic.operator.dax"},{begin:/\[/dgv,end:/\]/dgv,name:"support.function.dax"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax"},{begin:/'/dgv,end:/'/dgv,name:"support.class.dax"}]},labels:{patterns:[{captures:{"1":{name:"punctuation.separator.label.dax"},"2":{name:"entity.name.label.dax"}},match:/^(([^\n]*?)\p{space}*([\!\:]=))/dgv}]},metas:{patterns:[{begin:/\(/dgv,beginCaptures:{"0":{name:"meta.brace.round.dax"}},end:/\)/dgv,endCaptures:{"0":{name:"meta.brace.round.dax"}}}]},numbers:{match:/-?(?:0|[1-9]\p{Nd}*)(?:(?:\.\p{Nd}+)?(?:[Ee][\-\+]?\p{Nd}+)?)?/dgv,name:"constant.numeric.dax"},parameters:{patterns:[{begin:/\b(?<!\.)(VAR)\b(?<!\.)\b/dgv,beginCaptures:{"1":{name:"keyword.control.dax"},"2":{name:"variable.other.readwrite.dax"}},end:/=/dgv,endCaptures:{"0":{name:"keyword.operator.assignment.dax"}},name:"meta.function.definition.parameters.dax",patterns:[{match:/=/dgv,name:"keyword.control.dax"}]},{match:/[\$_\p{Alpha}][\$_\p{Alpha}\p{Nd}]*/dgv,name:"variable.other.constant.dax"}]},strings:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.dax",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.dax"}]}},scopeName:"source.dax",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/dream-maker.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Dream Maker",fileTypes:["dm","dme"],foldingStartMarker:/\/\*\*(?!\*)|^(?![^\{]*?\/\/|[^\{]*?\/\*(?![^\n]*?\*\/[^\n]*?\{))[^\n]*?\{\p{space}*((?=\n?$)|\/\/|\/\*(?![^\n]*?\*\/[^\n]*\P{space}))/dgv,foldingStopMarker:/(?<!\*)\*\*\/|^\p{space}*\}/dgv,name:"dream-maker",patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-other"},{include:"#comments"},{captures:{"1":{name:"storage.type.dm"},"2":{name:"storage.modifier.dm"},"3":{name:"storage.type.dm"},"5":{name:"variable.other.dm"}},match:/(var)[ \/](?:(static|global|tmp|const)\/)?(?:(datum|atom(?:\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\/)?(?:([\-\$0-9A-Z_a-z]*)\/)*([\$0-9A-Z_a-z]*)\b/dgv,name:"meta.initialization.dm"},{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)\b/dgv,name:"constant.numeric.dm"},{match:/\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\b/dgv,name:"keyword.control.dm"},{match:/\b(del|new)\b/dgv,name:"keyword.other.dm"},{match:/\b(proc|verb|datum|atom(\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\b/dgv,name:"storage.type.dm"},{match:/\b(as|const|global|set|static|tmp)\b/dgv,name:"storage.modifier.dm"},{match:/\b(usr|world|src|args)\b/dgv,name:"variable.language.dm"},{match:/(\?|([\<\>])(=)?|[\.\:]|\/(=)?|~|\+([\+\=])?|-([\-\=])?|\*([\*\=])?|%|>>|<<|=(=)?|!(=)?|<>|&|&&|[\^\|]|\|\||\bto\b|\bin\b|\bstep\b)/dgv,name:"keyword.operator.dm"},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"constant.language.dm"},{match:/\bnull\b/dgv,name:"constant.language.dm"},{begin:/\{"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.triple.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.double.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.single.dm",patterns:[{include:"#string_escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*((#)\\p{space}*define)\\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))(\\()(\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*((,)\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*)*(?:\\.\\.\\.)?)(\\))","dgv",{"hiddenCaptures":[7,10],"transfers":[[4,[7,10]]]}),beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"entity.name.function.preprocessor.dm"},"5":{name:"punctuation.definition.parameters.begin.dm"},"6":{name:"variable.parameter.preprocessor.dm"},"8":{name:"punctuation.separator.parameters.dm"},"9":{name:"punctuation.definition.parameters.end.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*((#)\p{space}*define)\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))/dgv,beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"variable.other.preprocessor.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*(#\p{space}*(error|warn))\b/dgv,captures:{"1":{name:"keyword.control.import.error.dm"}},end:/(?=\n?$)/dgv,name:"meta.preprocessor.diagnostic.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{begin:/^\p{space}*(?:((#)\p{space}*(?:elif|else|if|ifdef|ifndef))|((#)\p{space}*(undef|include)))\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"keyword.control.directive.$5.dm"},"4":{name:"punctuation.definition.directive.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{include:"#block"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\p{space}*[A-Z_a-z])(?<!&&)(?<=[\\&\\*\\>])))(\\p{space}*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()((?:(?=((?:[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)|::)+))\\4)|(?<=operator)(?:[\\-\\!\\&\\*\\+\\<\\=\\>]+|\\(\\)|\\[\\]))\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[4,5]}),beginCaptures:{"1":{name:"punctuation.whitespace.function.leading.dm"},"3":{name:"entity.name.function.dm"},"4":{name:"punctuation.definition.parameters.dm"}},end:/(?<=\})|(?=#)|(;)?/dgv,name:"meta.function.dm",patterns:[{include:"#comments"},{include:"#parens"},{match:/\bconst\b/dgv,name:"storage.modifier.dm"},{include:"#block"}]}],repository:{access:{match:/\.[A-Z_a-z][0-9A-Z_a-z]*\b(?!\p{space}*\()/dgv,name:"variable.other.dot-access.dm"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.dm",patterns:[{include:"#block_innards"}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-other-block"},{include:"#access"},{captures:{"1":{name:"punctuation.whitespace.function-call.leading.dm"},"2":{name:"support.function.any-method.dm"},"3":{name:"punctuation.definition.parameters.dm"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=\\p{space})(?:(?<=else|new|return)|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(\\p{space}+))?\\b((?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()(?:(?=((?:(?!NS)[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)\\b|::)+))\\4))\\p{space}*(\\()","dgv",{"hiddenCaptures":[4,5]}),name:"meta.function-call.dm"},{include:"#block"},{include:"$base"}]},comments:{patterns:[{captures:{"1":{name:"meta.toc-list.banner.block.dm"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.dm"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dm"}},end:/\*\//dgv,name:"comment.block.dm",patterns:[{include:"#comments"}]},{match:/\*\/[^\n]*\n/dgv,name:"invalid.illegal.stray-comment-end.dm"},{captures:{"1":{name:"meta.toc-list.banner.line.dm"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=\p{space}*(?=\n?$)\n?/dgv,name:"comment.line.banner.dm"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.dm"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#disabled"}]},parens:{begin:/\(/dgv,end:/\)/dgv,name:"meta.parens.dm",patterns:[{include:"$base"}]},"preprocessor-rule-disabled":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-disabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch.in-block",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-enabled":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]}]},"preprocessor-rule-enabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch.in-block",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]}]},"preprocessor-rule-other":{begin:/^\p{space}*((#\p{space}*(if(n?def)?))\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*((#\p{space}*(endif)))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"$base"}]},"preprocessor-rule-other-block":{begin:/^\p{space}*(#\p{space}*(if(n?def)?)\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#block_innards"}]},string_embedded_expression:{patterns:[{begin:/(?<!\\)\[/dgv,end:/\]/dgv,name:"string.interpolated.dm",patterns:[{include:"$self"}]}]},string_escaped_char:{patterns:[{match:/\\(h(?:(?:er|im)self|ers|im)|([STst]?he)|He|[Hh]is|[Aa]n?|(?:im)?proper|\.\.\.|(?:icon|ref|[Rr]oman)(?=\[)|[\n "\<\>\[ns])/dgv,name:"constant.character.escape.dm"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.dm"}]}},scopeName:"source.dm",embeddedLangs:undefined,aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"Dream Maker",fileTypes:["dm","dme"],foldingStartMarker:/\/\*\*(?!\*)|^(?![^\{]*?\/\/|[^\{]*?\/\*(?![^\n]*?\*\/[^\n]*?\{))[^\n]*?\{\p{space}*((?=\n?$)|\/\/|\/\*(?![^\n]*?\*\/[^\n]*\P{space}))/dgv,foldingStopMarker:/(?<!\*)\*\*\/|^\p{space}*\}/dgv,name:"dream-maker",patterns:[{include:"#preprocessor-rule-enabled"},{include:"#preprocessor-rule-disabled"},{include:"#preprocessor-rule-other"},{include:"#comments"},{captures:{"1":{name:"storage.type.dm"},"2":{name:"storage.modifier.dm"},"3":{name:"storage.type.dm"},"5":{name:"variable.other.dm"}},match:/(var)[ \/](?:(static|global|tmp|const)\/)?(?:(datum|atom(?:\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\/)?(?:([\-\$0-9A-Z_a-z]*)\/)*([\$0-9A-Z_a-z]*)\b/dgv,name:"meta.initialization.dm"},{match:/\b((0([Xx])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([Ee])([\-\+])?[0-9]+)?)\b/dgv,name:"constant.numeric.dm"},{match:/\b(sleep|spawn|break|continue|do|else|for|goto|if|return|switch|while)\b/dgv,name:"keyword.control.dm"},{match:/\b(del|new)\b/dgv,name:"keyword.other.dm"},{match:/\b(proc|verb|datum|atom(\/movable)?|obj|mob|turf|area|savefile|list|client|sound|image|database|matrix|regex|exception)\b/dgv,name:"storage.type.dm"},{match:/\b(as|const|global|set|static|tmp)\b/dgv,name:"storage.modifier.dm"},{match:/\b(usr|world|src|args)\b/dgv,name:"variable.language.dm"},{match:/(\?|([\<\>])(=)?|[\.\:]|\/(=)?|~|\+([\+\=])?|-([\-\=])?|\*([\*\=])?|%|>>|<<|=(=)?|!(=)?|<>|&&??|[\^\|]|\|\||\bto\b|\bin\b|\bstep\b)/dgv,name:"keyword.operator.dm"},{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"constant.language.dm"},{match:/\bnull\b/dgv,name:"constant.language.dm"},{begin:/\{"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"\}/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.triple.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.double.dm",patterns:[{include:"#string_escaped_char"},{include:"#string_embedded_expression"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.dm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.dm"}},name:"string.quoted.single.dm",patterns:[{include:"#string_escaped_char"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*((#)\\p{space}*define)\\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))(\\()(\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*((,)\\p{space}*([A-Z_a-z][0-9A-Z_a-z]*)\\p{space}*)*(?:\\.\\.\\.)?)(\\))","dgv",{"hiddenCaptures":[7,10],"transfers":[[4,[7,10]]]}),beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"entity.name.function.preprocessor.dm"},"5":{name:"punctuation.definition.parameters.begin.dm"},"6":{name:"variable.parameter.preprocessor.dm"},"8":{name:"punctuation.separator.parameters.dm"},"9":{name:"punctuation.definition.parameters.end.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*((#)\p{space}*define)\p{space}+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))/dgv,beginCaptures:{"1":{name:"keyword.control.directive.define.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"variable.other.preprocessor.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.macro.dm",patterns:[{include:"$base"}]},{begin:/^\p{space}*(#\p{space}*(error|warn))\b/dgv,captures:{"1":{name:"keyword.control.import.error.dm"}},end:/(?=\n?$)/dgv,name:"meta.preprocessor.diagnostic.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{begin:/^\p{space}*(?:((#)\p{space}*(?:elif|else|if|ifdef|ifndef))|((#)\p{space}*(undef|include)))\b/dgv,beginCaptures:{"1":{name:"keyword.control.directive.conditional.dm"},"2":{name:"punctuation.definition.directive.dm"},"3":{name:"keyword.control.directive.$5.dm"},"4":{name:"punctuation.definition.directive.dm"}},end:/(?=\/[\*\/])|(?<!\\)(?=\n)/dgv,name:"meta.preprocessor.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]},{include:"#block"},{begin:/*@__PURE__*/ new EmulatedRegExp("(?:^|(?:(?=\\p{space})(?<!else|new|return)(?<=[\\p{L}\\p{M}\\p{N}\\p{Pc}])|(?=\\p{space}*[A-Z_a-z])(?<!&&)(?<=[\\&\\*\\>])))(\\p{space}*)(?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()((?:(?=((?:[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)|::)+))\\4)|(?<=operator)(?:[\\-\\!\\&\\*\\+\\<\\=\\>]+|\\(\\)|\\[\\]))\\p{space}*(?=\\()","dgv",{"hiddenCaptures":[4,5]}),beginCaptures:{"1":{name:"punctuation.whitespace.function.leading.dm"},"3":{name:"entity.name.function.dm"},"4":{name:"punctuation.definition.parameters.dm"}},end:/(?<=\})|(?=#)|(;)?/dgv,name:"meta.function.dm",patterns:[{include:"#comments"},{include:"#parens"},{match:/\bconst\b/dgv,name:"storage.modifier.dm"},{include:"#block"}]}],repository:{access:{match:/\.[A-Z_a-z][0-9A-Z_a-z]*\b(?!\p{space}*\()/dgv,name:"variable.other.dot-access.dm"},block:{begin:/\{/dgv,end:/\}/dgv,name:"meta.block.dm",patterns:[{include:"#block_innards"}]},block_innards:{patterns:[{include:"#preprocessor-rule-enabled-block"},{include:"#preprocessor-rule-disabled-block"},{include:"#preprocessor-rule-other-block"},{include:"#access"},{captures:{"1":{name:"punctuation.whitespace.function-call.leading.dm"},"2":{name:"support.function.any-method.dm"},"3":{name:"punctuation.definition.parameters.dm"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=\\p{space})(?:(?<=else|new|return)|(?<![\\p{L}\\p{M}\\p{N}\\p{Pc}]))(\\p{space}+))?\\b((?!(while|for|do|if|else|switch|catch|enumerate|return|r?iterate)\\p{space}*\\()(?:(?=((?:(?!NS)[A-Z_a-z](?:(?=([0-9A-Z_a-z]*))\\5)\\b|::)+))\\4))\\p{space}*(\\()","dgv",{"hiddenCaptures":[4,5]}),name:"meta.function-call.dm"},{include:"#block"},{include:"$base"}]},comments:{patterns:[{captures:{"1":{name:"meta.toc-list.banner.block.dm"}},match:/^\/\* =(\p{space}*[^\n]*?)\p{space}*= \*\/(?=\n?$)\n?/dgv,name:"comment.block.dm"},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.dm"}},end:/\*\//dgv,name:"comment.block.dm",patterns:[{include:"#comments"}]},{match:/\*\/[^\n]*\n/dgv,name:"invalid.illegal.stray-comment-end.dm"},{captures:{"1":{name:"meta.toc-list.banner.line.dm"}},match:/^\/\/ =(\p{space}*[^\n]*?)\p{space}*=\p{space}*(?=\n?$)\n?/dgv,name:"comment.line.banner.dm"},{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.dm"}},end:/(?=\n?$)\n?/dgv,name:"comment.line.double-slash.dm",patterns:[{match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=(\\\\\\p{space}*\\n))\\1)","dgv",{"hiddenCaptures":[1]}),name:"punctuation.separator.continuation.dm"}]}]},disabled:{begin:/^\p{space}*#\p{space}*if(n?def)?\b[^\n]*(?=\n?$)/dgv,end:/^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#disabled"}]},parens:{begin:/\(/dgv,end:/\)/dgv,name:"meta.parens.dm",patterns:[{include:"$base"}]},"preprocessor-rule-disabled":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-disabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,name:"comment.block.preprocessor.if-branch.in-block",patterns:[{include:"#disabled"}]}]},"preprocessor-rule-enabled":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"$base"}]}]},"preprocessor-rule-enabled-block":{begin:/^\p{space}*(#(if)\p{space}+(0*1))\b/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.if.dm"},"3":{name:"constant.numeric.preprocessor.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b/dgv,patterns:[{begin:/^\p{space}*(#\p{space}*(else))\b[^\n]*/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.else.dm"}},contentName:"comment.block.preprocessor.else-branch.in-block",end:/(?=^\p{space}*#\p{space}*endif\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#disabled"}]},{begin:"",end:/(?=^\p{space}*#\p{space}*(e(?:lse|ndif))\b[^\n]*(?=\n?$))/dgv,patterns:[{include:"#block_innards"}]}]},"preprocessor-rule-other":{begin:/^\p{space}*((#\p{space}*(if(n?def)?))\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*((#\p{space}*(endif)))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"$base"}]},"preprocessor-rule-other-block":{begin:/^\p{space}*(#\p{space}*(if(n?def)?)\b[^\n]*?(?:(?=\/[\*\/])|(?=\n?$)))/dgv,captures:{"1":{name:"meta.preprocessor.dm"},"2":{name:"keyword.control.import.dm"}},end:/^\p{space}*(#\p{space}*(endif))\b[^\n]*(?=\n?$)/dgv,patterns:[{include:"#block_innards"}]},string_embedded_expression:{patterns:[{begin:/(?<!\\)\[/dgv,end:/\]/dgv,name:"string.interpolated.dm",patterns:[{include:"$self"}]}]},string_escaped_char:{patterns:[{match:/\\(h(?:(?:er|im)self|ers|im)|([STst]?he)|He|[Hh]is|[Aa]n?|(?:im)?proper|\.\.\.|(?:icon|ref|[Rr]oman)(?=\[)|[\n "\<\>\[ns])/dgv,name:"constant.character.escape.dm"},{match:/\\[^\n]/dgv,name:"invalid.illegal.unknown-escape.dm"}]}},scopeName:"source.dm",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/elixir.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
import html from './html.mjs'
|
|
3
3
|
|
|
4
|
-
const lang = Object.freeze({displayName:"Elixir",fileTypes:["ex","exs"],firstLineMatch:/^#!\/[^\n]*\belixir/dgv,foldingStartMarker:/(after|else|catch|rescue|->|[\[\{]|do)\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*(([\]\}]|after|else|catch|rescue)\p{space}*(?=\n?$)|end\b)/dgv,name:"elixir",patterns:[{begin:/\b(fn)\b(?![^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/(?=\n?$)/dgv,patterns:[{include:"#core_syntax"}]},{captures:{"1":{name:"entity.name.type.class.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"constant.other.symbol.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/(:[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*(_?[\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"entity.name.function.elixir"}},match:/(\|>)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{match:/\b[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(?=\p{space}*\.?\p{space}*\()/dgv,name:"entity.name.function.elixir"},{begin:/\b(fn)\b(?=[^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]},{include:"#core_syntax"},{begin:/^(?=[^\n]*->)((?![^"']*(["'])[^"']*->)|(?=[^\n]*->[^"']*(["'])[^"']*->))((?![^\n]*\([^\)]*->)|(?=[^\(\)]*->)|(?=\p{space}*\([^\n]*\)[^\n]*->))((?![^\n]*\b(fn)\b)|(?=[^\n]*->[^\n]*\bfn\b))/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]}],repository:{core_syntax:{patterns:[{begin:/^\p{space}*(defmodule)\b/dgv,beginCaptures:{"1":{name:"keyword.control.module.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.module.elixir"}},name:"meta.module.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=\.)/dgv,name:"entity.other.inherited-class.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"}]},{begin:/^\p{space}*(defprotocol)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_declaration.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/^\p{space}*(defimpl)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_implementation.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|macro|delegate|guard))\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.public.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:|n|macro|delegate|guard))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.public.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|n|macro|guard)p)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.private.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:p|macrop|guardp))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.private.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/\p{space}*~L"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.leex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/\p{space}*~H"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.heex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/@(module|type)?doc (~[a-z])?"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc"},{begin:/@(module|type)?doc (~[a-z])?'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc"},{match:/@(module|type)?doc false/dgv,name:"comment.block.documentation.false"},{begin:/@(module|type)?doc "/dgv,end:/"/dgv,name:"comment.block.documentation.string",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{match:/(?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![\!\:\?])/dgv,name:"keyword.control.elixir"},{match:/(?<!\.)\b(and|not|or|when|xor|in)\b/dgv,name:"keyword.operator.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"},{match:/\b(nil|true|false)\b(?![\!\?])/dgv,name:"constant.language.elixir"},{match:/\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\b(?![\!\?])/dgv,name:"variable.language.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.module.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(&)\p{Nd}+/dgv,name:"variable.other.anonymous.elixir"},{match:/&(?!&)/dgv,name:"variable.other.anonymous.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/\^[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.capture.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0x\\p{AHex}(?:(?=(_?\\p{AHex}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.hex.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\3)+)([Ee][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\5)*)?\\b","dgv",{"hiddenCaptures":[1,3,5]}),name:"constant.numeric.float.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.integer.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0b[01](?:(?=(_?[01]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.binary.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0o[0-7](?:(?=(_?[0-7]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.octal.elixir"},{begin:/:'/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/'/dgv,name:"constant.other.symbol.single-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/:"/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/"/dgv,name:"constant.other.symbol.double-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[A-Z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.literal.elixir"},{begin:/~[A-Z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?![\\=\\>])))\\3)?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\|>|=>|=~|[\\/\\=]|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\\.\\.//|>=?|<=?|&&?&?|\\+\\+?|--?|\\|\\|?\\|?|[\\!\\@]|%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.other.symbol.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.other.keywords.elixir"},{begin:/(^[\t ]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.section.elixir"}]},{begin:/(^[\t ]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.number-sign.elixir"}]},{match:/\b_([^_][\p{L}\p{M}\p{N}\p{Pc}]+[\!\?]?)/dgv,name:"comment.unused.elixir"},{match:/\b_\b/dgv,name:"comment.wildcard.elixir"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|[^CMx])|[^\\\p{space}])/dgv,name:"constant.numeric.elixir"},{match:/\+\+|--|<\|>/dgv,name:"keyword.operator.concatenation.elixir"},{match:/\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\|>/dgv,name:"keyword.operator.sigils_1.elixir"},{match:/&&(?:&|)/dgv,name:"keyword.operator.sigils_2.elixir"},{match:/<-|\\\\/dgv,name:"keyword.operator.sigils_3.elixir"},{match:/===?|!==?|<=?|>=?/dgv,name:"keyword.operator.comparison.elixir"},{match:/(\|\|\||&&&|\^\^\^|<<<|>>>|~~~)/dgv,name:"keyword.operator.bitwise.elixir"},{match:/(?<=[\t ])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b/dgv,name:"keyword.operator.logical.elixir"},{match:/([\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.elixir"},{match:/\||\+\+|--|\*\*|\\\\|<-|<>|<<|>>|::|\.\.|\/\/|\|>|~|=>|&/dgv,name:"keyword.operator.other.elixir"},{match:/=/dgv,name:"keyword.operator.assignment.elixir"},{match:/:/dgv,name:"punctuation.separator.other.elixir"},{match:/;/dgv,name:"punctuation.separator.statement.elixir"},{match:/,/dgv,name:"punctuation.separator.object.elixir"},{match:/\./dgv,name:"punctuation.separator.method.elixir"},{match:/[\{\}]/dgv,name:"punctuation.section.scope.elixir"},{match:/[\]\[]/dgv,name:"punctuation.section.array.elixir"},{match:/[\(\)]/dgv,name:"punctuation.section.function.elixir"}]},escaped_char:{match:/\\(x[A-Fa-f\p{Nd}]{1,2}|[^\n])/dgv,name:"constant.character.escaped.elixir"},interpolated_elixir:{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.elixir"}},contentName:"source.elixir",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.elixir"}},name:"meta.embedded.line.elixir",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.elixir"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}},scopeName:"source.elixir",embeddedLangs:["html"],aliases:undefined})
|
|
4
|
+
const lang = Object.freeze({displayName:"Elixir",fileTypes:["ex","exs"],firstLineMatch:/^#!\/[^\n]*\belixir/dgv,foldingStartMarker:/(after|else|catch|rescue|->|[\[\{]|do)\p{space}*(?=\n?$)/dgv,foldingStopMarker:/^\p{space}*(([\]\}]|after|else|catch|rescue)\p{space}*(?=\n?$)|end\b)/dgv,name:"elixir",patterns:[{begin:/\b(fn)\b(?![^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/(?=\n?$)/dgv,patterns:[{include:"#core_syntax"}]},{captures:{"1":{name:"entity.name.type.class.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/([A-Z][\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"constant.other.symbol.elixir"},"2":{name:"punctuation.separator.method.elixir"},"3":{name:"entity.name.function.elixir"}},match:/(:[\p{L}\p{M}\p{N}\p{Pc}]+)\p{space}*(\.)\p{space}*(_?[\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{captures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"entity.name.function.elixir"}},match:/(\|>)\p{space}*([_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?)/dgv},{match:/\b[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*[\!\?]?(?=\p{space}*\.?\p{space}*\()/dgv,name:"entity.name.function.elixir"},{begin:/\b(fn)\b(?=[^\n]*->)/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]},{include:"#core_syntax"},{begin:/^(?=[^\n]*->)((?![^"']*(["'])[^"']*->)|(?=[^\n]*->[^"']*(["'])[^"']*->))((?![^\n]*\([^\)]*->)|(?=[^\(\)]*->)|(?=\p{space}*\([^\n]*\)[^\n]*->))((?![^\n]*\b(fn)\b)|(?=[^\n]*->[^\n]*\bfn\b))/dgv,beginCaptures:{"1":{name:"keyword.control.elixir"}},end:/*@__PURE__*/ new EmulatedRegExp("(?:(?=((->)|(when)|(\\))))\\1)","dgv",{"hiddenCaptures":[1]}),endCaptures:{"1":{name:"keyword.operator.other.elixir"},"2":{name:"keyword.control.elixir"},"3":{name:"punctuation.section.function.elixir"}},patterns:[{include:"#core_syntax"}]}],repository:{core_syntax:{patterns:[{begin:/^\p{space}*(defmodule)\b/dgv,beginCaptures:{"1":{name:"keyword.control.module.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.module.elixir"}},name:"meta.module.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=\.)/dgv,name:"entity.other.inherited-class.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"}]},{begin:/^\p{space}*(defprotocol)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_declaration.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/^\p{space}*(defimpl)\b/dgv,beginCaptures:{"1":{name:"keyword.control.protocol.elixir"}},end:/\b(do)\b/dgv,endCaptures:{"1":{name:"keyword.control.protocol.elixir"}},name:"meta.protocol_implementation.elixir",patterns:[{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.protocol.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|macro|delegate|guard))\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.public.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:|n|macro|delegate|guard))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.public.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*(def(?:|n|macro|guard)p)\\p{space}+((?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=(\\.|::))\\4)))\\3)?(?:(?=([A-Z_a-z][\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?!>)))\\6)?|===?|>[\\=\\>]?|<=>|<[\\<\\=]?|[\\%\\&\\/\\`\\|]|\\*\\*?|=?~|[\\-\\+]@?|\\[\\]=?))\\5))((\\()|\\p{space}*)","dgv",{"hiddenCaptures":[3,4,5,6]}),beginCaptures:{"1":{name:"keyword.control.module.elixir"},"2":{name:"entity.name.function.private.elixir"},"4":{name:"punctuation.section.function.elixir"}},end:/\b(do:)|\b(do)\b|(?=\p{space}+(def(?:p|macrop|guardp))\b)/dgv,endCaptures:{"1":{name:"constant.other.keywords.elixir"},"2":{name:"keyword.control.module.elixir"}},name:"meta.function.private.elixir",patterns:[{include:"$self"},{begin:/\p{space}(\\\\)/dgv,beginCaptures:{"1":{name:"keyword.operator.other.elixir"}},end:/[\)\,]|(?=\n?$)/dgv,patterns:[{include:"$self"}]},{match:/\b(is_atom|is_binary|is_bitstring|is_boolean|is_float|is_function|is_integer|is_list|is_map|is_nil|is_number|is_pid|is_port|is_record|is_reference|is_tuple|is_exception|abs|bit_size|byte_size|div|elem|hd|length|map_size|node|rem|round|tl|trunc|tuple_size)\b/dgv,name:"keyword.control.elixir"}]},{begin:/\p{space}*~L"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.leex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/\p{space}*~H"""/dgv,end:/\p{space}*"""/dgv,name:"sigil.heex",patterns:[{include:"text.elixir"},{include:"text.html.basic"}]},{begin:/@(module|type)?doc (~[a-z])?"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]"""/dgv,end:/\p{space}*"""/dgv,name:"comment.block.documentation.heredoc"},{begin:/@(module|type)?doc (~[a-z])?'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/@(module|type)?doc ~[A-Z]'''/dgv,end:/\p{space}*'''/dgv,name:"comment.block.documentation.heredoc"},{match:/@(module|type)?doc false/dgv,name:"comment.block.documentation.false"},{begin:/@(module|type)?doc "/dgv,end:/"/dgv,name:"comment.block.documentation.string",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{match:/(?<!\.)\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defnp?|defmacrop?|defguardp?|defdelegate|defexception|defoverridable|exit|after|rescue|catch|else|raise|reraise|throw|import|require|alias|use|quote|unquote|super|with)\b(?![\!\:\?])/dgv,name:"keyword.control.elixir"},{match:/(?<!\.)\b(and|not|or|when|xor|in)\b/dgv,name:"keyword.operator.elixir"},{match:/\b[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.class.elixir"},{match:/\b(nil|true|false)\b(?![\!\?])/dgv,name:"constant.language.elixir"},{match:/\b(__(CALLER|ENV|MODULE|DIR|STACKTRACE)__)\b(?![\!\?])/dgv,name:"variable.language.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(@)[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.readwrite.module.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/(&)\p{Nd}+/dgv,name:"variable.other.anonymous.elixir"},{match:/&(?!&)/dgv,name:"variable.other.anonymous.elixir"},{captures:{"1":{name:"punctuation.definition.variable.elixir"}},match:/\^[_a-z][\p{L}\p{M}\p{N}\p{Pc}]*/dgv,name:"variable.other.capture.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0x\\p{AHex}(?:(?=(_?\\p{AHex}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.hex.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*(\\.(?![^\\p{space}\\p{Nd}])(?:(?=(_?\\p{Nd}))\\3)+)([Ee][\\-\\+]?\\p{Nd}(?:(?=(_?\\p{Nd}))\\5)*)?\\b","dgv",{"hiddenCaptures":[1,3,5]}),name:"constant.numeric.float.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b\\p{Nd}(?:(?=(_?\\p{Nd}))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.integer.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0b[01](?:(?=(_?[01]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.binary.elixir"},{match:/*@__PURE__*/ new EmulatedRegExp("\\b0o[0-7](?:(?=(_?[0-7]))\\1)*\\b","dgv",{"hiddenCaptures":[1]}),name:"constant.numeric.octal.elixir"},{begin:/:'/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/'/dgv,name:"constant.other.symbol.single-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/:"/dgv,captures:{"0":{name:"punctuation.definition.constant.elixir"}},end:/"/dgv,name:"constant.other.symbol.double-quoted.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'''/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*'''/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.single.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.double.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[a-z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.elixir",patterns:[{include:"#interpolated_elixir"},{include:"#escaped_char"}]},{begin:/~[A-Z]"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/^\p{space}*"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.heredoc.literal.elixir"},{begin:/~[A-Z]\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\}[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\][a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]</dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/>[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]\(/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\)[a-z]*/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{begin:/~[A-Z]([^\p{L}\p{M}\p{N}\p{Pc}])/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elixir"}},end:/\1[a-z]*()/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elixir"}},name:"string.quoted.other.sigil.literal.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?<!:)(:)(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*(?:(?=([\\!\\?]|=(?![\\=\\>])))\\3)?|<>|===?|!==?|<<>>|<<<|>>>|~~~|::|<-|\\|>|=>|=~|[\\/\\=]|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|\\.\\.//|>=?|<=?|&&?&?|\\+\\+?|--?|\\|\\|?\\|?|[\\!\\@]|%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?))\\2)","dgv",{"hiddenCaptures":[2,3]}),name:"constant.other.symbol.elixir"},{captures:{"1":{name:"punctuation.definition.constant.elixir"}},match:/*@__PURE__*/ new EmulatedRegExp("(?:(?=([A-Z_a-z][\\@\\p{L}\\p{M}\\p{N}\\p{Pc}]*[\\!\\?]?))\\1)(:)(?!:)","dgv",{"hiddenCaptures":[1]}),name:"constant.other.keywords.elixir"},{begin:/(^[\t ]+)?(?=##)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/##/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.section.elixir"}]},{begin:/(^[\t ]+)?(?=#)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.elixir"}},end:/(?!#)/dgv,patterns:[{begin:/#/dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.elixir"}},end:/\n/dgv,name:"comment.line.number-sign.elixir"}]},{match:/\b_([^_][\p{L}\p{M}\p{N}\p{Pc}]+[\!\?]?)/dgv,name:"comment.unused.elixir"},{match:/\b_\b/dgv,name:"comment.wildcard.elixir"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])\?(\\(x\p{AHex}{1,2}(?!\p{AHex})\b|[^CMx])|[^\\\p{space}])/dgv,name:"constant.numeric.elixir"},{match:/\+\+|--|<\|>/dgv,name:"keyword.operator.concatenation.elixir"},{match:/\|>|<~>|<>|<<<|>>>|~>>|<<~|~>|<~|<\|>/dgv,name:"keyword.operator.sigils_1.elixir"},{match:/&&&?/dgv,name:"keyword.operator.sigils_2.elixir"},{match:/<-|\\\\/dgv,name:"keyword.operator.sigils_3.elixir"},{match:/===?|!==?|<=?|>=?/dgv,name:"keyword.operator.comparison.elixir"},{match:/(\|\|\||&&&|\^\^\^|<<<|>>>|~~~)/dgv,name:"keyword.operator.bitwise.elixir"},{match:/(?<=[\t ])!+|\bnot\b|&&|\band\b|\|\||\bor\b|\bxor\b/dgv,name:"keyword.operator.logical.elixir"},{match:/([\-\*\+\/])/dgv,name:"keyword.operator.arithmetic.elixir"},{match:/\||\+\+|--|\*\*|\\\\|<-|<>|<<|>>|::|\.\.|\/\/|\|>|~|=>|&/dgv,name:"keyword.operator.other.elixir"},{match:/=/dgv,name:"keyword.operator.assignment.elixir"},{match:/:/dgv,name:"punctuation.separator.other.elixir"},{match:/;/dgv,name:"punctuation.separator.statement.elixir"},{match:/,/dgv,name:"punctuation.separator.object.elixir"},{match:/\./dgv,name:"punctuation.separator.method.elixir"},{match:/[\{\}]/dgv,name:"punctuation.section.scope.elixir"},{match:/[\]\[]/dgv,name:"punctuation.section.array.elixir"},{match:/[\(\)]/dgv,name:"punctuation.section.function.elixir"}]},escaped_char:{match:/\\(x[A-Fa-f\p{Nd}]{1,2}|[^\n])/dgv,name:"constant.character.escaped.elixir"},interpolated_elixir:{begin:/#\{/dgv,beginCaptures:{"0":{name:"punctuation.section.embedded.begin.elixir"}},contentName:"source.elixir",end:/\}/dgv,endCaptures:{"0":{name:"punctuation.section.embedded.end.elixir"}},name:"meta.embedded.line.elixir",patterns:[{include:"#nest_curly_and_self"},{include:"$self"}]},nest_curly_and_self:{patterns:[{begin:/\{/dgv,captures:{"0":{name:"punctuation.section.scope.elixir"}},end:/\}/dgv,patterns:[{include:"#nest_curly_and_self"}]},{include:"$self"}]}},scopeName:"source.elixir",embeddedLangs:["html"],aliases:undefined})
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
7
|
...html,
|
package/dist/elm.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import glsl from './glsl.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Elm",fileTypes:["elm"],name:"elm",patterns:[{include:"#import"},{include:"#module"},{include:"#debug"},{include:"#comments"},{match:/\b(_)\b/dgv,name:"keyword.unused.elm"},{include:"#type-signature"},{include:"#type-declaration"},{include:"#type-alias-declaration"},{include:"#string-triple"},{include:"#string-quote"},{include:"#char"},{match:/\b([0-9]+\.[0-9]+([Ee][\-\+]?[0-9]+)?|[0-9]+[Ee][\-\+]?[0-9]+)\b/dgv,name:"constant.numeric.float.elm"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.elm"},{match:/\b(0x\p{AHex}+)\b/dgv,name:"constant.numeric.elm"},{include:"#glsl"},{include:"#record-prefix"},{include:"#module-prefix"},{include:"#constructor"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"},"3":{name:"keyword.pipe.elm"},"4":{name:"entity.name.record.field.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(\|)\p{space}+([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"keyword.pipe.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\|)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(?=\n?$)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{captures:{"1":{name:"punctuation.separator.comma.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(,)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{match:/([\{\}])/dgv,name:"punctuation.bracket.elm"},{include:"#unit"},{include:"#comma"},{include:"#parens"},{match:/(->)/dgv,name:"keyword.operator.arrow.elm"},{include:"#infix_op"},{match:/([\:\=\\\|])/dgv,name:"keyword.other.elm"},{match:/\b(type|as|port|exposing|alias|infixl|infixr|infix)\p{space}+/dgv,name:"keyword.other.elm"},{match:/\b(if|then|else|case|of|let|in)\p{space}+/dgv,name:"keyword.control.elm"},{include:"#record-accessor"},{include:"#top_level_value"},{include:"#value"},{include:"#period"},{include:"#square_brackets"}],repository:{block_comment:{applyEndPatternLast:1,begin:/\{-(?!#)/dgv,captures:{"0":{name:"punctuation.definition.comment.elm"}},end:/-\}/dgv,name:"comment.block.elm",patterns:[{include:"#block_comment"}]},char:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.char.begin.elm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.char.end.elm"}},name:"string.quoted.single.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},comma:{match:/(,)/dgv,name:"punctuation.separator.comma.elm"},comments:{patterns:[{begin:/--/dgv,captures:{"1":{name:"punctuation.definition.comment.elm"}},end:/(?=\n?$)/dgv,name:"comment.line.double-dash.elm"},{include:"#block_comment"}]},constructor:{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"constant.type-constructor.elm"},debug:{match:/\b(Debug)\b/dgv,name:"invalid.illegal.debug.elm"},glsl:{begin:/(\[)(glsl)(\|)/dgv,beginCaptures:{"1":{name:"entity.glsl.bracket.elm"},"2":{name:"entity.glsl.name.elm"},"3":{name:"entity.glsl.bracket.elm"}},end:/(\|\])/dgv,endCaptures:{"1":{name:"entity.glsl.bracket.elm"}},name:"meta.embedded.block.glsl",patterns:[{include:"source.glsl"}]},import:{begin:/^\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.elm"}},end:/\n(?!\p{space})/dgv,name:"meta.import.elm",patterns:[{match:/(as|exposing)/dgv,name:"keyword.control.elm"},{include:"#module_chunk"},{include:"#period"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},infix_op:{match:/(<\/>|<\?>|<\||<=|\|\||&&|>=|\|>|\|=|\|\.|\+\+|::|\/=|==|\/\/|>>|<<|[\-\*\+\/\<\>\^])/dgv,name:"keyword.operator.elm"},module:{begin:/^\b((port |effect )?module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.elm"}},end:/\n(?!\p{space})/dgv,endCaptures:{"1":{name:"keyword.other.elm"}},name:"meta.declaration.module.elm",patterns:[{include:"#module_chunk"},{include:"#period"},{match:/(exposing)/dgv,name:"keyword.other.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},"module-exports":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},name:"meta.declaration.exports.elm",patterns:[{match:/\b[a-z]['0-9A-Z_a-z]*/dgv,name:"entity.name.function.elm"},{match:/\b[A-Z]['0-9A-Z_a-z]*/dgv,name:"storage.type.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#comma"},{match:/\(\.\.\)/dgv,name:"punctuation.parens.ellipses.elm"},{match:/\.\./dgv,name:"punctuation.parens.ellipses.elm"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.unknown.elm"}]},"module-prefix":{captures:{"1":{name:"support.module.elm"},"2":{name:"keyword.other.period.elm"}},match:/([A-Z][0-9A-Z_a-z]*)(\.)/dgv,name:"meta.module.name.elm"},module_chunk:{match:/[A-Z][0-9A-Z_a-z]*/dgv,name:"support.module.elm"},parens:{match:/([\(\)])/dgv,name:"punctuation.parens.elm"},period:{match:/\./dgv,name:"keyword.other.period.elm"},"record-accessor":{captures:{"1":{name:"keyword.other.period.elm"},"2":{name:"entity.name.record.field.accessor.elm"}},match:/(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.accessor"},"record-prefix":{captures:{"1":{name:"record.name.elm"},"2":{name:"keyword.other.period.elm"},"3":{name:"entity.name.record.field.accessor.elm"}},match:/([a-z][0-9A-Z_a-z]*)(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"record.accessor.elm"},square_brackets:{match:/[\]\[]/dgv,name:"punctuation.definition.list.elm"},"string-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.double.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},"string-triple":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.triple.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},top_level_value:{match:/^[a-z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.function.top_level.elm"},"type-alias-declaration":{begin:/^(type\p{space}+)(alias\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"keyword.type-alias.elm"},"3":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{match:/\n\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{include:"#module-prefix"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-declaration":{begin:/^(type\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{captures:{"1":{name:"constant.type-constructor.elm"}},match:/^\p{space}*([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{captures:{"1":{name:"keyword.operator.assignment.elm"},"2":{name:"constant.type-constructor.elm"}},match:/([\=\|])\p{space}+([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-record":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.braces.end"}},name:"meta.function.type-record.elm",patterns:[{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{captures:{"1":{name:"entity.name.record.field.elm"},"2":{name:"keyword.other.elm"}},match:/([a-z][0-9A-Z_a-z]*)\p{space}+(:)/dgv,name:"meta.record.field.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-signature":{begin:/^(port\p{space}+)?([_a-z]['0-9A-Z_a-z]*)\p{space}+(:)/dgv,beginCaptures:{"1":{name:"keyword.other.port.elm"},"2":{name:"entity.name.function.elm"},"3":{name:"keyword.other.colon.elm"}},end:/^(((?=[a-z]))|(?=\n?$))/dgv,name:"meta.function.type-declaration.elm",patterns:[{include:"#type-signature-chunk"}]},"type-signature-chunk":{patterns:[{match:/->/dgv,name:"keyword.operator.arrow.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\(\)/dgv,name:"constant.unit.elm"},{include:"#comma"},{include:"#parens"},{include:"#comments"},{include:"#type-record"}]},unit:{match:/\(\)/dgv,name:"constant.unit.elm"},value:{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"meta.value.elm"}},scopeName:"source.elm",embeddedLangs:["glsl"],aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"Elm",fileTypes:["elm"],name:"elm",patterns:[{include:"#import"},{include:"#module"},{include:"#debug"},{include:"#comments"},{match:/\b(_)\b/dgv,name:"keyword.unused.elm"},{include:"#type-signature"},{include:"#type-declaration"},{include:"#type-alias-declaration"},{include:"#string-triple"},{include:"#string-quote"},{include:"#char"},{match:/\b([0-9]+\.[0-9]+([Ee][\-\+]?[0-9]+)?|[0-9]+[Ee][\-\+]?[0-9]+)\b/dgv,name:"constant.numeric.float.elm"},{match:/\b([0-9]+)\b/dgv,name:"constant.numeric.elm"},{match:/\b(0x\p{AHex}+)\b/dgv,name:"constant.numeric.elm"},{include:"#glsl"},{include:"#record-prefix"},{include:"#module-prefix"},{include:"#constructor"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"},"3":{name:"keyword.pipe.elm"},"4":{name:"entity.name.record.field.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(\|)\p{space}+([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"keyword.pipe.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\|)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"record.name.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(?=\n?$)/dgv,name:"meta.record.field.update.elm"},{captures:{"1":{name:"punctuation.bracket.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(\{)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{captures:{"1":{name:"punctuation.separator.comma.elm"},"2":{name:"entity.name.record.field.elm"},"3":{name:"keyword.operator.assignment.elm"}},match:/(,)\p{space}+([a-z][0-9A-Z_a-z]*)\p{space}+(=)/dgv,name:"meta.record.field.elm"},{match:/([\{\}])/dgv,name:"punctuation.bracket.elm"},{include:"#unit"},{include:"#comma"},{include:"#parens"},{match:/(->)/dgv,name:"keyword.operator.arrow.elm"},{include:"#infix_op"},{match:/([\:\=\\\|])/dgv,name:"keyword.other.elm"},{match:/\b(type|as|port|exposing|alias|infixl|infixr?)\p{space}+/dgv,name:"keyword.other.elm"},{match:/\b(if|then|else|case|of|let|in)\p{space}+/dgv,name:"keyword.control.elm"},{include:"#record-accessor"},{include:"#top_level_value"},{include:"#value"},{include:"#period"},{include:"#square_brackets"}],repository:{block_comment:{applyEndPatternLast:1,begin:/\{-(?!#)/dgv,captures:{"0":{name:"punctuation.definition.comment.elm"}},end:/-\}/dgv,name:"comment.block.elm",patterns:[{include:"#block_comment"}]},char:{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.char.begin.elm"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.char.end.elm"}},name:"string.quoted.single.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},comma:{match:/(,)/dgv,name:"punctuation.separator.comma.elm"},comments:{patterns:[{begin:/--/dgv,captures:{"1":{name:"punctuation.definition.comment.elm"}},end:/(?=\n?$)/dgv,name:"comment.line.double-dash.elm"},{include:"#block_comment"}]},constructor:{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"constant.type-constructor.elm"},debug:{match:/\b(Debug)\b/dgv,name:"invalid.illegal.debug.elm"},glsl:{begin:/(\[)(glsl)(\|)/dgv,beginCaptures:{"1":{name:"entity.glsl.bracket.elm"},"2":{name:"entity.glsl.name.elm"},"3":{name:"entity.glsl.bracket.elm"}},end:/(\|\])/dgv,endCaptures:{"1":{name:"entity.glsl.bracket.elm"}},name:"meta.embedded.block.glsl",patterns:[{include:"source.glsl"}]},import:{begin:/^\b(import)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.control.import.elm"}},end:/\n(?!\p{space})/dgv,name:"meta.import.elm",patterns:[{match:/(as|exposing)/dgv,name:"keyword.control.elm"},{include:"#module_chunk"},{include:"#period"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},infix_op:{match:/(<\/>|<\?>|<\||<=|\|\||&&|>=|\|>|\|=|\|\.|\+\+|::|\/=|==|\/\/|>>|<<|[\-\*\+\/\<\>\^])/dgv,name:"keyword.operator.elm"},module:{begin:/^\b((port |effect )?module)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.other.elm"}},end:/\n(?!\p{space})/dgv,endCaptures:{"1":{name:"keyword.other.elm"}},name:"meta.declaration.module.elm",patterns:[{include:"#module_chunk"},{include:"#period"},{match:/(exposing)/dgv,name:"keyword.other.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-exports"}]},"module-exports":{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.parens.module-export.elm"}},name:"meta.declaration.exports.elm",patterns:[{match:/\b[a-z]['0-9A-Z_a-z]*/dgv,name:"entity.name.function.elm"},{match:/\b[A-Z]['0-9A-Z_a-z]*/dgv,name:"storage.type.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#comma"},{match:/\(\.\.\)/dgv,name:"punctuation.parens.ellipses.elm"},{match:/\.\./dgv,name:"punctuation.parens.ellipses.elm"},{include:"#infix_op"},{match:/\([^\n]*?\)/dgv,name:"meta.other.unknown.elm"}]},"module-prefix":{captures:{"1":{name:"support.module.elm"},"2":{name:"keyword.other.period.elm"}},match:/([A-Z][0-9A-Z_a-z]*)(\.)/dgv,name:"meta.module.name.elm"},module_chunk:{match:/[A-Z][0-9A-Z_a-z]*/dgv,name:"support.module.elm"},parens:{match:/([\(\)])/dgv,name:"punctuation.parens.elm"},period:{match:/\./dgv,name:"keyword.other.period.elm"},"record-accessor":{captures:{"1":{name:"keyword.other.period.elm"},"2":{name:"entity.name.record.field.accessor.elm"}},match:/(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"meta.record.accessor"},"record-prefix":{captures:{"1":{name:"record.name.elm"},"2":{name:"keyword.other.period.elm"},"3":{name:"entity.name.record.field.accessor.elm"}},match:/([a-z][0-9A-Z_a-z]*)(\.)([a-z][0-9A-Z_a-z]*)/dgv,name:"record.accessor.elm"},square_brackets:{match:/[\]\[]/dgv,name:"punctuation.definition.list.elm"},"string-quote":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.double.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},"string-triple":{begin:/"""/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.elm"}},end:/"""/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.elm"}},name:"string.quoted.triple.elm",patterns:[{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]|x\p{AHex}{1,5})/dgv,name:"constant.character.escape.elm"},{match:/\^[\@-_]/dgv,name:"constant.character.escape.control.elm"}]},top_level_value:{match:/^[a-z][0-9A-Z_a-z]*\b/dgv,name:"entity.name.function.top_level.elm"},"type-alias-declaration":{begin:/^(type\p{space}+)(alias\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"keyword.type-alias.elm"},"3":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{match:/\n\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{include:"#module-prefix"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-declaration":{begin:/^(type\p{space}+)([A-Z]['0-9A-Z_a-z]*)\p{space}+/dgv,beginCaptures:{"1":{name:"keyword.type.elm"},"2":{name:"storage.type.elm"}},end:/^(?=\P{space})/dgv,name:"meta.function.type-declaration.elm",patterns:[{captures:{"1":{name:"constant.type-constructor.elm"}},match:/^\p{space}*([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{captures:{"1":{name:"keyword.operator.assignment.elm"},"2":{name:"constant.type-constructor.elm"}},match:/([\=\|])\p{space}+([A-Z][0-9A-Z_a-z]*)\b/dgv,name:"meta.record.field.elm"},{match:/=/dgv,name:"keyword.operator.assignment.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-record":{begin:/(\{)/dgv,beginCaptures:{"1":{name:"punctuation.section.braces.begin"}},end:/(\})/dgv,endCaptures:{"1":{name:"punctuation.section.braces.end"}},name:"meta.function.type-record.elm",patterns:[{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{match:/->/dgv,name:"keyword.operator.arrow.elm"},{captures:{"1":{name:"entity.name.record.field.elm"},"2":{name:"keyword.other.elm"}},match:/([a-z][0-9A-Z_a-z]*)\p{space}+(:)/dgv,name:"meta.record.field.elm"},{match:/,/dgv,name:"punctuation.separator.comma.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{include:"#comments"},{include:"#type-record"}]},"type-signature":{begin:/^(port\p{space}+)?([_a-z]['0-9A-Z_a-z]*)\p{space}+(:)/dgv,beginCaptures:{"1":{name:"keyword.other.port.elm"},"2":{name:"entity.name.function.elm"},"3":{name:"keyword.other.colon.elm"}},end:/^(((?=[a-z]))|(?=\n?$))/dgv,name:"meta.function.type-declaration.elm",patterns:[{include:"#type-signature-chunk"}]},"type-signature-chunk":{patterns:[{match:/->/dgv,name:"keyword.operator.arrow.elm"},{match:/\p{space}+/dgv,name:"punctuation.spaces.elm"},{include:"#module-prefix"},{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"variable.type.elm"},{match:/\b[A-Z][0-9A-Z_a-z]*\b/dgv,name:"storage.type.elm"},{match:/\(\)/dgv,name:"constant.unit.elm"},{include:"#comma"},{include:"#parens"},{include:"#comments"},{include:"#type-record"}]},unit:{match:/\(\)/dgv,name:"constant.unit.elm"},value:{match:/\b[a-z][0-9A-Z_a-z]*\b/dgv,name:"meta.value.elm"}},scopeName:"source.elm",embeddedLangs:["glsl"],aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...glsl,
|