@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/fsharp.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import markdown from './markdown.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"F#",name:"fsharp",patterns:[{include:"#compiler_directives"},{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#definition"},{include:"#abstract_definition"},{include:"#attributes"},{include:"#modules"},{include:"#anonymous_functions"},{include:"#du_declaration"},{include:"#record_declaration"},{include:"#records"},{include:"#strp_inlined"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}],repository:{abstract_definition:{begin:/\b(static\p{space}+)?(abstract)\p{space}+(member)?(\p{space}+\[<[^\n]*>\])?\p{space}*([\,\.0-9_\`\p{Alpha}\p{space}]+)(<)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"keyword.fsharp"},"4":{name:"support.function.attribute.fsharp"},"5":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(with)\b|=|(?=\n?$)/dgv,endCaptures:{"1":{name:"keyword.fsharp"}},name:"abstract.definition.fsharp",patterns:[{include:"#comments"},{include:"#common_declaration"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.type.fsharp"}},match:/(\??)([ '\.0-9\^_\`\p{Alpha}]+)\p{space}*(:)((?!with\b)\b([ '\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+))?/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words isn't blacklisted",match:/(?!with|get|set\b)\p{space}*(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#keywords"}]},anonymous_functions:{patterns:[{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/(->)/dgv,endCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"}},name:"function.anonymous",patterns:[{include:"#comments"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(?=(->))/dgv,endCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"}},patterns:[{include:"#member_declaration"}]},{include:"#variables"}]}]},anonymous_record_declaration:{begin:/(\{\|)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\|\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(:)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]},attributes:{patterns:[{begin:/\[</dgv,end:/(?:>|)\]/dgv,name:"support.function.attribute.fsharp",patterns:[{include:"$self"}]}]},cexprs:{patterns:[{captures:{"0":{name:"keyword.fsharp"}},match:/\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\p{space}*\{)/dgv,name:"cexpr.fsharp"}]},chars:{patterns:[{captures:{"1":{name:"string.quoted.single.fsharp"}},match:/('\\?[^\n]')/dgv,name:"char.fsharp"}]},comments:{patterns:[{beginCaptures:{"1":{name:"comment.block.fsharp"}},match:/(\(\*{3}[^\n]*\*{3}\))/dgv,name:"comment.literate.command.fsharp"},{begin:/^\p{space}*(\(\*\*(?!\)))((?!\*\))[^\n])*(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.block.fsharp"}},endCaptures:{"1":{name:"comment.block.fsharp"}},name:"comment.block.markdown.fsharp",patterns:[{include:"text.html.markdown"}],while:/^(?!\p{space}*(\*)+\)\p{space}*(?=\n?$))/dgv},{begin:/(\(\*(?!\)))/dgv,beginCaptures:{"1":{name:"comment.block.fsharp"}},end:/(\*+\))/dgv,endCaptures:{"1":{name:"comment.block.fsharp"}},name:"comment.block.fsharp",patterns:[{comments:"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155",match:/\/\//dgv,name:"fast-capture.comment.line.double-slash.fsharp"},{comments:"Capture (*) when inside of (* *) so that it doesn't prematurely end the comment block.",match:/\(\*\)/dgv,name:"fast-capture.comment.line.mul-operator.fsharp"},{include:"#comments"}]},{captures:{"1":{name:"comment.block.fsharp"}},match:/((?<!\()(\*)+\))/dgv,name:"comment.block.markdown.fsharp.end"},{begin:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/\/(?!\/)/dgv,name:"comment.line.markdown.fsharp",patterns:[{include:"text.html.markdown"}],while:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/\/(?!\/)/dgv},{match:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/([^\n]*)(?=\n?$)/dgv,name:"comment.line.double-slash.fsharp"}]},common_binding_definition:{patterns:[{include:"#comments"},{include:"#attributes"},{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))\p{space}*((?=,)|(?==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([ '\.0-9\?\^_\`\p{Alpha}]*)))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(:)\p{space}*(\^['\.0-9_\p{Alpha}]+)\p{space}*(when)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"},"3":{name:"keyword.fsharp"}},end:/(?=:)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\^_\p{Alpha}]+)/dgv},{match:/([\(\)])/dgv,name:"keyword.symbol.fsharp"}]},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/(:)\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)/dgv},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(->)\p{space}*(\()?\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)*/dgv},{begin:/(\*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([ '\.0-9\?\^_\`\p{Alpha}]+))*)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(\*)(\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+))*/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},end:/(?==)|(?=\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(<+(?!\p{space}*\)))/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},beginComment:"The group (?![[:space:]]*\\) is for protection against overload operator. static member (<)",end:/((?<!:)>|\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},endComment:"The group (?<!:) prevent us from stopping on :> when using SRTP synthax",patterns:[{include:"#generic_declaration"}]},{include:"#anonymous_record_declaration"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#record_signature"}]},{include:"#definition"},{include:"#variables"},{include:"#keywords"}]},common_declaration:{patterns:[{begin:/\p{space}*(->)\p{space}*([ '\.0-9\^_\`\p{Alpha}]+)(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"entity.name.type.fsharp"},"3":{name:"keyword.symbol.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/\p{space}*(->)\p{space}*(?!with|get|set\b)\b(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#anonymous_record_declaration"},{begin:/(\??)([ '\.0-9\^_\`\p{Alpha}]+)\p{space}*(:)(\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)(<))/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"keyword.symbol.fsharp"},"5":{name:"entity.name.type.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]}]},compiler_directives:{patterns:[{captures:{},match:/\p{space}?(#(?:if|elif|elseif|else|endif|light|nowarn))/dgv,name:"keyword.control.directive.fsharp"}]},constants:{patterns:[{match:/\(\)/dgv,name:"keyword.symbol.fsharp"},{match:/\b-?[0-9][0-9_]*((\.(?!\.)([0-9][0-9_]*([Ee][\-\+]??[0-9][0-9_]*)?)?)|([Ee][\-\+]??[0-9][0-9_]*))/dgv,name:"constant.numeric.float.fsharp"},{match:/\b(-?((0([Xx])\p{AHex}[_\p{AHex}]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))/dgv,name:"constant.numeric.integer.nativeint.fsharp"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.fsharp"},{match:/\b(null|void)\b/dgv,name:"constant.other.fsharp"}]},definition:{patterns:[{begin:/\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\p{space}+rec|mutable)?(\p{space}+\[<[^\n]*>\])?\p{space}*(private|internal|public)?\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"support.function.attribute.fsharp"},"4":{name:"storage.modifier.fsharp"},"5":{name:"variable.fsharp"}},end:/\p{space}*((with)\b|(=|\n+=|(?<==)))/dgv,endCaptures:{"2":{name:"keyword.fsharp"},"3":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(use|use!|and|and!)\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/\p{space}*(=)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/(?<=with|and)\p{space}*\b(([gs]et)\p{space}*(?=\())(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"4":{name:"variable.fsharp"}},end:/\p{space}*(=|\n+=|(?<==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(static val mutable|val mutable|val inline|val)(\p{space}+rec|mutable)?(\p{space}+\[<[^\n]*>\])?\p{space}*(private|internal|public)?\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\,\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\,\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"support.function.attribute.fsharp"},"4":{name:"storage.modifier.fsharp"},"5":{name:"variable.fsharp"}},end:/\n(?=\n?$)/dgv,name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(new)\b\p{space}+(\()/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]}]},double_tick:{patterns:[{captures:{"1":{name:"string.quoted.single.fsharp"},"2":{name:"variable.other.binding.fsharp"},"3":{name:"string.quoted.single.fsharp"}},match:/(``)([^\`]*)(``)/dgv,name:"variable.other.binding.fsharp"}]},du_declaration:{patterns:[{begin:/\b(of)\b/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/(?=\n?$)|(\|)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"du_declaration.fsharp",patterns:[{include:"#comments"},{captures:{"1":{name:"variable.parameter.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)\p{space}*(:)\p{space}*(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(``([ '\.0-9\^_\p{Alpha}]+)``|['\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]}]},generic_declaration:{patterns:[{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{match:/\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\b/dgv,name:"keyword.fsharp"},{match:/:/dgv,name:"keyword.symbol.fsharp"},{include:"#constants"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{begin:/(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{include:"#tuple_signature"},{include:"#generic_declaration"}]},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{include:"#tuple_signature"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words are allowed",match:/(?!when|and|or\b)\b(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{captures:{"1":{name:"keyword.symbol.fsharp"}},comments:"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`",match:/(\|)/dgv},{include:"#keywords"}]},keywords:{patterns:[{match:/\b(private|public|internal)\b/dgv,name:"storage.modifier"},{match:/\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use|use!|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\b/dgv,name:"keyword.fsharp"},{match:/\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\b/dgv,name:"keyword.control"},{match:/(->|<-)/dgv,name:"keyword.symbol.arrow.fsharp"},{match:/[\.\?]*(&&&|\|\|\||\^\^\^|~~~|~\+|~-|<<<|>>>|\|>|:>|:\?>|[\]\:\;\[]|<>|[\=\@]|\|\||&&|[\%\&_\{\|\}]|\.\.|[\!\*-\-\/\>\^]|>=|>>|<|<=|[\(\)]|<<)[\.\?]*/dgv,name:"keyword.symbol.fsharp"}]},member_declaration:{patterns:[{include:"#comments"},{include:"#common_declaration"},{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))\p{space}*((?=,)|(?==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{match:/([\(\)])/dgv,name:"keyword.symbol.fsharp"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.type.fsharp"}},match:/(\??)(['\.0-9\^_\`\p{Alpha}]+|``[ '\,\.0-\:\^_\`\p{Alpha}]+``)\p{space}*(:?)(\p{space}*([ '\.0-9\<\>\?_\`\p{Alpha}]+))?/dgv},{include:"#keywords"}]},modules:{patterns:[{begin:/\b(?:(namespace global)|(namespace|module)\p{space}*(public|internal|private|rec)?\p{space}+([\`\|\p{Alpha}][ '\.0-9_\p{Alpha}]*))/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"storage.modifier.fsharp"},"4":{name:"entity.name.section.fsharp"}},end:/(\p{space}?=|\p{space}|(?=\n?$))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"entity.name.section.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)([A-Z]['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"}]},{begin:/\b(open(?: type|))\p{space}+([\`\|\p{Alpha}]['0-9_\p{Alpha}]*)(?=(\.[A-Z][0-9_\p{Alpha}]*)*)/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"entity.name.section.fsharp"}},end:/(\p{space}|(?=\n?$))/dgv,name:"namespace.open.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)(\p{Alpha}['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"},{include:"#comments"}]},{begin:/^\p{space}*(module)\p{space}+([A-Z]['0-9_\p{Alpha}]*)\p{space}*(=)\p{space}*([A-Z]['0-9_\p{Alpha}]*)/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"entity.name.type.namespace.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.section.fsharp"}},end:/(\p{space}|(?=\n?$))/dgv,name:"namespace.alias.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)([A-Z]['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"}]}]},record_declaration:{patterns:[{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(?<=\})/dgv,patterns:[{include:"#comments"},{begin:/(((mutable)\p{space}\p{Alpha}+)|['\.0-9\<\>\^_\`\p{Alpha}]*)\p{space}*((?<!:):(?!:))\p{space}*/dgv,beginCaptures:{"3":{name:"keyword.fsharp"},"4":{name:"keyword.symbol.fsharp"}},end:/(?=\n?$)|([\;\}])/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#comments"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]},{include:"#compiler_directives"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#definition"},{include:"#attributes"},{include:"#anonymous_functions"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}]}]},record_signature:{patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(=)([ '0-9\^_\`\p{Alpha}]+)/dgv},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(=)([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#record_signature"}]},{include:"#keywords"}]},records:{patterns:[{begin:/\b(type)\p{space}+(private|internal|public)?\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"storage.modifier.fsharp"}},end:/\p{space}*((with)|((as)\p{space}+(['0-9\p{Alpha}]+))|(=)|[\n\=]|(\(\)))/dgv,endCaptures:{"2":{name:"keyword.fsharp"},"3":{name:"keyword.fsharp"},"4":{name:"keyword.fsharp"},"5":{name:"variable.parameter.fsharp"},"6":{name:"keyword.symbol.fsharp"},"7":{name:"keyword.symbol.fsharp"}},name:"record.fsharp",patterns:[{include:"#comments"},{include:"#attributes"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\^_\p{Alpha}]+|``[ '\,\.0-\:\^_\`\p{Alpha}]+``)/dgv},{begin:/(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/((?<!:)>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])``[ \,\.0-\:\^_\`\p{Alpha}]+``|(['\^])[\.0-\:\^_\`\p{Alpha}]+)/dgv},{match:/\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\b/dgv,name:"keyword.fsharp"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.fsharp"}},match:/(static member|member|new)/dgv},{include:"#common_binding_definition"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words isn't blacklisted",match:/(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#keywords"}]},{captures:{"1":{name:"storage.modifier.fsharp"}},match:/\p{space}*(private|internal|public)/dgv},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(?=(=)|[\n\=]|(\(\))|(as))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{include:"#keywords"}]}]},string_formatter:{patterns:[{captures:{"1":{name:"keyword.format.specifier.fsharp"}},match:/(%0?-?(\p{Nd}+)?(([at])|(\.\p{Nd}+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\+?A)))/dgv,name:"entity.name.type.format.specifier.fsharp"}]},strings:{patterns:[{begin:/(?=[^\\])(@")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(")(?!")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.literal.fsharp",patterns:[{match:/"(")/dgv,name:"constant.character.string.escape.fsharp"}]},{begin:/(?=[^\\])(""")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.triple.fsharp",patterns:[{include:"#string_formatter"}]},{begin:/(?=[^\\])(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.double.fsharp",patterns:[{match:/\\(?=\n?$)[\t ]*/dgv,name:"punctuation.separator.string.ignore-eol.fsharp"},{match:/\\(["'\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\p{AHex}{2})|(u\p{AHex}{4})|(U00(0\p{AHex}|10)\p{AHex}{4}))/dgv,name:"constant.character.string.escape.fsharp"},{match:/\\(([0-9]{1,3})|(x\P{space}{0,2})|(u\P{space}{0,4})|(U\P{space}{0,8})|\P{space})/dgv,name:"invalid.illegal.character.string.fsharp"},{include:"#string_formatter"}]}]},strp_inlined:{patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#strp_inlined_body"}]}]},strp_inlined_body:{patterns:[{include:"#comments"},{include:"#anonymous_functions"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#strp_inlined_body"}]},{captures:{"1":{name:"keyword.fsharp"},"2":{name:"variable.fsharp"},"3":{name:"keyword.symbol.fsharp"}},match:/((?:static |)member)\p{space}*(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)\p{space}*(:)/dgv},{include:"#compiler_directives"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#keywords"},{include:"#text"},{include:"#definition"},{include:"#attributes"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}]},text:{patterns:[{match:/\\/dgv,name:"text.fsharp"}]},tuple_signature:{patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{include:"#tuple_signature"}]},{include:"#keywords"}]},variables:{patterns:[{match:/\(\)/dgv,name:"keyword.symbol.fsharp"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/(\??)(``[ '\,\.0-\:\^_\`\p{Alpha}]+``|(?!private|struct\b)\b[ '\.0-9\<\>\^_\`\p{L}\p{M}\p{N}\p{Pc}\p{Alpha}]+)/dgv}]}},scopeName:"source.fsharp",embeddedLangs:["markdown"],aliases:["f#","fs"]})
|
|
3
|
+
const lang = Object.freeze({displayName:"F#",name:"fsharp",patterns:[{include:"#compiler_directives"},{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#definition"},{include:"#abstract_definition"},{include:"#attributes"},{include:"#modules"},{include:"#anonymous_functions"},{include:"#du_declaration"},{include:"#record_declaration"},{include:"#records"},{include:"#strp_inlined"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}],repository:{abstract_definition:{begin:/\b(static\p{space}+)?(abstract)\p{space}+(member)?(\p{space}+\[<[^\n]*>\])?\p{space}*([\,\.0-9_\`\p{Alpha}\p{space}]+)(<)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"keyword.fsharp"},"4":{name:"support.function.attribute.fsharp"},"5":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(with)\b|=|(?=\n?$)/dgv,endCaptures:{"1":{name:"keyword.fsharp"}},name:"abstract.definition.fsharp",patterns:[{include:"#comments"},{include:"#common_declaration"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.type.fsharp"}},match:/(\??)([ '\.0-9\^_\`\p{Alpha}]+)\p{space}*(:)((?!with\b)\b([ '\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+))?/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words isn't blacklisted",match:/(?!with|get|set\b)\p{space}*(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#keywords"}]},anonymous_functions:{patterns:[{begin:/\b(fun)\b/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/(->)/dgv,endCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"}},name:"function.anonymous",patterns:[{include:"#comments"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(?=(->))/dgv,endCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"}},patterns:[{include:"#member_declaration"}]},{include:"#variables"}]}]},anonymous_record_declaration:{begin:/(\{\|)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\|\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(:)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]},attributes:{patterns:[{begin:/\[</dgv,end:/>?\]/dgv,name:"support.function.attribute.fsharp",patterns:[{include:"$self"}]}]},cexprs:{patterns:[{captures:{"0":{name:"keyword.fsharp"}},match:/\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\p{space}*\{)/dgv,name:"cexpr.fsharp"}]},chars:{patterns:[{captures:{"1":{name:"string.quoted.single.fsharp"}},match:/('\\?[^\n]')/dgv,name:"char.fsharp"}]},comments:{patterns:[{beginCaptures:{"1":{name:"comment.block.fsharp"}},match:/(\(\*{3}[^\n]*\*{3}\))/dgv,name:"comment.literate.command.fsharp"},{begin:/^\p{space}*(\(\*\*(?!\)))((?!\*\))[^\n])*(?=\n?$)/dgv,beginCaptures:{"1":{name:"comment.block.fsharp"}},endCaptures:{"1":{name:"comment.block.fsharp"}},name:"comment.block.markdown.fsharp",patterns:[{include:"text.html.markdown"}],while:/^(?!\p{space}*(\*)+\)\p{space}*(?=\n?$))/dgv},{begin:/(\(\*(?!\)))/dgv,beginCaptures:{"1":{name:"comment.block.fsharp"}},end:/(\*+\))/dgv,endCaptures:{"1":{name:"comment.block.fsharp"}},name:"comment.block.fsharp",patterns:[{comments:"Capture // when inside of (* *) like that the rule which capture comments starting by // is not trigger. See https://github.com/ionide/ionide-fsgrammar/issues/155",match:/\/\//dgv,name:"fast-capture.comment.line.double-slash.fsharp"},{comments:"Capture (*) when inside of (* *) so that it doesn't prematurely end the comment block.",match:/\(\*\)/dgv,name:"fast-capture.comment.line.mul-operator.fsharp"},{include:"#comments"}]},{captures:{"1":{name:"comment.block.fsharp"}},match:/((?<!\()(\*)+\))/dgv,name:"comment.block.markdown.fsharp.end"},{begin:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/\/(?!\/)/dgv,name:"comment.line.markdown.fsharp",patterns:[{include:"text.html.markdown"}],while:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/\/(?!\/)/dgv},{match:/(?<![\!\%\&\+-\/\<-\@\^\|])\/\/([^\n]*)(?=\n?$)/dgv,name:"comment.line.double-slash.fsharp"}]},common_binding_definition:{patterns:[{include:"#comments"},{include:"#attributes"},{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))\p{space}*((?=,)|(?==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([ '\.0-9\?\^_\`\p{Alpha}]*)))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(:)\p{space}*(\^['\.0-9_\p{Alpha}]+)\p{space}*(when)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"},"3":{name:"keyword.fsharp"}},end:/(?=:)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\^_\p{Alpha}]+)/dgv},{match:/([\(\)])/dgv,name:"keyword.symbol.fsharp"}]},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/(:)\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)/dgv},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(->)\p{space}*(\()?\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)*/dgv},{begin:/(\*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([ '\.0-9\?\^_\`\p{Alpha}]+))*)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(\*)(\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+))*/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},end:/(?==)|(?=\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(<+(?!\p{space}*\)))/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},beginComment:"The group (?![[:space:]]*\\) is for protection against overload operator. static member (<)",end:/((?<!:)>|\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},endComment:"The group (?<!:) prevent us from stopping on :> when using SRTP synthax",patterns:[{include:"#generic_declaration"}]},{include:"#anonymous_record_declaration"},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#record_signature"}]},{include:"#definition"},{include:"#variables"},{include:"#keywords"}]},common_declaration:{patterns:[{begin:/\p{space}*(->)\p{space}*([ '\.0-9\^_\`\p{Alpha}]+)(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"entity.name.type.fsharp"},"3":{name:"keyword.symbol.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/\p{space}*(->)\p{space}*(?!with|get|set\b)\b(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#anonymous_record_declaration"},{begin:/(\??)([ '\.0-9\^_\`\p{Alpha}]+)\p{space}*(:)(\p{space}*([ '\.0-9\?\^_\`\p{Alpha}]+)(<))/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"keyword.symbol.fsharp"},"5":{name:"entity.name.type.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]}]},compiler_directives:{patterns:[{captures:{},match:/\p{space}?(#(?:if|elif|elseif|else|endif|light|nowarn))/dgv,name:"keyword.control.directive.fsharp"}]},constants:{patterns:[{match:/\(\)/dgv,name:"keyword.symbol.fsharp"},{match:/\b-?[0-9][0-9_]*((\.(?!\.)([0-9][0-9_]*([Ee][\-\+]??[0-9][0-9_]*)?)?)|([Ee][\-\+]??[0-9][0-9_]*))/dgv,name:"constant.numeric.float.fsharp"},{match:/\b(-?((0([Xx])\p{AHex}[_\p{AHex}]*)|(0([Oo])[0-7][0-7_]*)|(0([Bb])[01][01_]*)|([0-9][0-9_]*)))/dgv,name:"constant.numeric.integer.nativeint.fsharp"},{match:/\b(true|false)\b/dgv,name:"constant.language.boolean.fsharp"},{match:/\b(null|void)\b/dgv,name:"constant.other.fsharp"}]},definition:{patterns:[{begin:/\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member val|static member|default|member|override|let!)(\p{space}+rec|mutable)?(\p{space}+\[<[^\n]*>\])?\p{space}*(private|internal|public)?\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"support.function.attribute.fsharp"},"4":{name:"storage.modifier.fsharp"},"5":{name:"variable.fsharp"}},end:/\p{space}*((with)\b|(=|\n+=|(?<==)))/dgv,endCaptures:{"2":{name:"keyword.fsharp"},"3":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(use!??|and!??)\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/\p{space}*(=)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/(?<=with|and)\p{space}*\b(([gs]et)\p{space}*(?=\())(\[[^\-\=]*\]|[_\p{Alpha}]([\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"4":{name:"variable.fsharp"}},end:/\p{space}*(=|\n+=|(?<==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(static val mutable|val mutable|val inline|val)(\p{space}+rec|mutable)?(\p{space}+\[<[^\n]*>\])?\p{space}*(private|internal|public)?\p{space}+(\[[^\-\=]*\]|[_\p{Alpha}]([\,\.0-9_\p{Alpha}]+)*|``[_\p{Alpha}]([\,\.0-9_\`\p{Alpha}\p{space}]+|(?<=,)\p{space})*)?/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"support.function.attribute.fsharp"},"4":{name:"storage.modifier.fsharp"},"5":{name:"variable.fsharp"}},end:/\n(?=\n?$)/dgv,name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]},{begin:/\b(new)\b\p{space}+(\()/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"binding.fsharp",patterns:[{include:"#common_binding_definition"}]}]},double_tick:{patterns:[{captures:{"1":{name:"string.quoted.single.fsharp"},"2":{name:"variable.other.binding.fsharp"},"3":{name:"string.quoted.single.fsharp"}},match:/(``)([^\`]*)(``)/dgv,name:"variable.other.binding.fsharp"}]},du_declaration:{patterns:[{begin:/\b(of)\b/dgv,beginCaptures:{"1":{name:"keyword.fsharp"}},end:/(?=\n?$)|(\|)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"du_declaration.fsharp",patterns:[{include:"#comments"},{captures:{"1":{name:"variable.parameter.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)\p{space}*(:)\p{space}*(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(``([ '\.0-9\^_\p{Alpha}]+)``|['\.0-9\^_\`\p{Alpha}]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]}]},generic_declaration:{patterns:[{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{match:/\b(private|to|public|internal|function|yield!?|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let!|return!?|interface|with|abstract|enum|member|try|finally|and|when|or|use!??|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\b/dgv,name:"keyword.fsharp"},{match:/:/dgv,name:"keyword.symbol.fsharp"},{include:"#constants"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{begin:/(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])['\.0-9_\p{Alpha}]+)/dgv},{include:"#tuple_signature"},{include:"#generic_declaration"}]},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{include:"#tuple_signature"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words are allowed",match:/(?!when|and|or\b)\b(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{captures:{"1":{name:"keyword.symbol.fsharp"}},comments:"Prevent captures of `|>` as a keyword when defining custom operator like `<|>`",match:/(\|)/dgv},{include:"#keywords"}]},keywords:{patterns:[{match:/\b(private|public|internal)\b/dgv,name:"storage.modifier"},{match:/\b(private|to|public|internal|function|class|exception|delegate|of|new|as|begin|end|inherit|let!|interface|abstract|enum|member|and|when|or|use!??|struct|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\b/dgv,name:"keyword.fsharp"},{match:/\b(match|yield!??|with|if|then|else|elif|for|in|return!?|try|finally|while|do)(?!')\b/dgv,name:"keyword.control"},{match:/(->|<-)/dgv,name:"keyword.symbol.arrow.fsharp"},{match:/[\.\?]*(&&&|\|\|\||\^\^\^|~~~|~\+|~-|<<<|>>>|\|>|:>|:\?>|[\]\:\;\[]|<>|[\=\@]|\|\||&&|[\%\&_\{\|\}]|\.\.|[\!\*-\-\/\>\^]|>=|>>|<=??|[\(\)]|<<)[\.\?]*/dgv,name:"keyword.symbol.fsharp"}]},member_declaration:{patterns:[{include:"#comments"},{include:"#common_declaration"},{begin:/(:)\p{space}*(\()\p{space}*((?:static |)member)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"keyword.fsharp"}},comments:"SRTP syntax support",end:/(\))\p{space}*((?=,)|(?==))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{match:/([\(\)])/dgv,name:"keyword.symbol.fsharp"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.type.fsharp"}},match:/(\??)(['\.0-9\^_\`\p{Alpha}]+|``[ '\,\.0-\:\^_\`\p{Alpha}]+``)\p{space}*(:?)(\p{space}*([ '\.0-9\<\>\?_\`\p{Alpha}]+))?/dgv},{include:"#keywords"}]},modules:{patterns:[{begin:/\b(?:(namespace global)|(namespace|module)\p{space}*(public|internal|private|rec)?\p{space}+([\`\|\p{Alpha}][ '\.0-9_\p{Alpha}]*))/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"keyword.fsharp"},"3":{name:"storage.modifier.fsharp"},"4":{name:"entity.name.section.fsharp"}},end:/(\p{space}?=|\p{space}|(?=\n?$))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},name:"entity.name.section.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)([A-Z]['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"}]},{begin:/\b(open(?: type|))\p{space}+([\`\|\p{Alpha}]['0-9_\p{Alpha}]*)(?=(\.[A-Z][0-9_\p{Alpha}]*)*)/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"entity.name.section.fsharp"}},end:/(\p{space}|(?=\n?$))/dgv,name:"namespace.open.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)(\p{Alpha}['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"},{include:"#comments"}]},{begin:/^\p{space}*(module)\p{space}+([A-Z]['0-9_\p{Alpha}]*)\p{space}*(=)\p{space}*([A-Z]['0-9_\p{Alpha}]*)/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"entity.name.type.namespace.fsharp"},"3":{name:"keyword.symbol.fsharp"},"4":{name:"entity.name.section.fsharp"}},end:/(\p{space}|(?=\n?$))/dgv,name:"namespace.alias.fsharp",patterns:[{captures:{"1":{name:"punctuation.separator.namespace-reference.fsharp"},"2":{name:"entity.name.section.fsharp"}},match:/(\.)([A-Z]['0-9_\p{Alpha}]*)/dgv,name:"entity.name.section.fsharp"}]}]},record_declaration:{patterns:[{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(?<=\})/dgv,patterns:[{include:"#comments"},{begin:/(((mutable)\p{space}\p{Alpha}+)|['\.0-9\<\>\^_\`\p{Alpha}]*)\p{space}*((?<!:):(?!:))\p{space}*/dgv,beginCaptures:{"3":{name:"keyword.fsharp"},"4":{name:"keyword.symbol.fsharp"}},end:/(?=\n?$)|([\;\}])/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#comments"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#keywords"}]},{include:"#compiler_directives"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#definition"},{include:"#attributes"},{include:"#anonymous_functions"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}]}]},record_signature:{patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(=)([ '0-9\^_\`\p{Alpha}]+)/dgv},{begin:/(\{)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\})/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/[ '0-9\^_\`\p{Alpha}]+(=)([ '0-9\^_\`\p{Alpha}]+)/dgv},{include:"#record_signature"}]},{include:"#keywords"}]},records:{patterns:[{begin:/\b(type)\p{space}+(private|internal|public)?\p{space}*/dgv,beginCaptures:{"1":{name:"keyword.fsharp"},"2":{name:"storage.modifier.fsharp"}},end:/\p{space}*((with)|((as)\p{space}+(['0-9\p{Alpha}]+))|(=)|[\n\=]|(\(\)))/dgv,endCaptures:{"2":{name:"keyword.fsharp"},"3":{name:"keyword.fsharp"},"4":{name:"keyword.fsharp"},"5":{name:"variable.parameter.fsharp"},"6":{name:"keyword.symbol.fsharp"},"7":{name:"keyword.symbol.fsharp"}},name:"record.fsharp",patterns:[{include:"#comments"},{include:"#attributes"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(['\.0-9\^_\p{Alpha}]+|``[ '\,\.0-\:\^_\`\p{Alpha}]+``)/dgv},{begin:/(<)/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/((?<!:)>)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/((['\^])``[ \,\.0-\:\^_\`\p{Alpha}]+``|(['\^])[\.0-\:\^_\`\p{Alpha}]+)/dgv},{match:/\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\b/dgv,name:"keyword.fsharp"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"keyword.fsharp"}},match:/(static member|member|new)/dgv},{include:"#common_binding_definition"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},comments:"Here we need the \\w modifier in order to check that the words isn't blacklisted",match:/(['\.0-9\^_\`\p{L}\p{M}\p{N}\p{Pc}]+)/dgv},{include:"#keywords"}]},{captures:{"1":{name:"storage.modifier.fsharp"}},match:/\p{space}*(private|internal|public)/dgv},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/\p{space}*(?=(=)|[\n\=]|(\(\))|(as))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#member_declaration"}]},{include:"#keywords"}]}]},string_formatter:{patterns:[{captures:{"1":{name:"keyword.format.specifier.fsharp"}},match:/(%0?-?(\p{Nd}+)?(([at])|(\.\p{Nd}+)?([EFGMefg])|([Xbcdiosux])|([Obs])|(\+?A)))/dgv,name:"entity.name.type.format.specifier.fsharp"}]},strings:{patterns:[{begin:/(?=[^\\])(@")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(")(?!")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.literal.fsharp",patterns:[{match:/"(")/dgv,name:"constant.character.string.escape.fsharp"}]},{begin:/(?=[^\\])(""")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(""")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.triple.fsharp",patterns:[{include:"#string_formatter"}]},{begin:/(?=[^\\])(")/dgv,beginCaptures:{"1":{name:"punctuation.definition.string.begin.fsharp"}},end:/(")/dgv,endCaptures:{"1":{name:"punctuation.definition.string.end.fsharp"}},name:"string.quoted.double.fsharp",patterns:[{match:/\\(?=\n?$)[\t ]*/dgv,name:"punctuation.separator.string.ignore-eol.fsharp"},{match:/\\(["'\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x\p{AHex}{2})|(u\p{AHex}{4})|(U00(0\p{AHex}|10)\p{AHex}{4}))/dgv,name:"constant.character.string.escape.fsharp"},{match:/\\(([0-9]{1,3})|(x\P{space}{0,2})|(u\P{space}{0,4})|(U\P{space}{0,8})|\P{space})/dgv,name:"invalid.illegal.character.string.fsharp"},{include:"#string_formatter"}]}]},strp_inlined:{patterns:[{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#strp_inlined_body"}]}]},strp_inlined_body:{patterns:[{include:"#comments"},{include:"#anonymous_functions"},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^['\.0-9_\p{Alpha}]+)/dgv},{match:/\b(and|when|or)\b/dgv,name:"keyword.fsharp"},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{include:"#strp_inlined_body"}]},{captures:{"1":{name:"keyword.fsharp"},"2":{name:"variable.fsharp"},"3":{name:"keyword.symbol.fsharp"}},match:/((?:static |)member)\p{space}*(['\.0-9\<\>\^_\`\p{Alpha}]+|``[ '\.0-9\<\>\^_\p{Alpha}]+``)\p{space}*(:)/dgv},{include:"#compiler_directives"},{include:"#constants"},{include:"#strings"},{include:"#chars"},{include:"#double_tick"},{include:"#keywords"},{include:"#text"},{include:"#definition"},{include:"#attributes"},{include:"#keywords"},{include:"#cexprs"},{include:"#text"}]},text:{patterns:[{match:/\\/dgv,name:"text.fsharp"}]},tuple_signature:{patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{begin:/(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"}},end:/(\))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"}},patterns:[{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(([ '\.0-9\?\^_\`\p{Alpha}]+))+/dgv},{include:"#tuple_signature"}]},{include:"#keywords"}]},variables:{patterns:[{match:/\(\)/dgv,name:"keyword.symbol.fsharp"},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"variable.parameter.fsharp"}},match:/(\??)(``[ '\,\.0-\:\^_\`\p{Alpha}]+``|(?!private|struct\b)\b[ '\.0-9\<\>\^_\`\p{L}\p{M}\p{N}\p{Pc}\p{Alpha}]+)/dgv}]}},scopeName:"source.fsharp",embeddedLangs:["markdown"],aliases:["f#","fs"]})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...markdown,
|
package/dist/gdresource.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import gdshader from './gdshader.mjs'
|
|
2
2
|
import gdscript from './gdscript.mjs'
|
|
3
3
|
|
|
4
|
-
const lang = Object.freeze({displayName:"GDResource",name:"gdresource",patterns:[{include:"#embedded_shader"},{include:"#embedded_gdscript"},{include:"#comment"},{include:"#heading"},{include:"#key_value"}],repository:{comment:{captures:{"1":{name:"punctuation.definition.comment.gdresource"}},match:/(;)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.gdresource"},data:{patterns:[{include:"#comment"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},end:/\p{space}*(\})(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\[)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},end:/\p{space}*(\])(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},patterns:[{include:"#data"}]},{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.basic.block.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/"res:\/\/[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.function.any-method.gdresource"},{match:/(?<=type=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.class.library.gdresource"},{match:/(?<=NodePath\(|parent=|name=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"constant.character.escape.gdresource"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.basic.line.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/'[^\n]*?'/dgv,name:"string.quoted.single.literal.line.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(true|false)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][\-\+]?[1-9]_?[0-9]*|\.[0-9_]*))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.float.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.integer.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?inf)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.inf.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?nan)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.nan.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0x((\p{AHex}((
|
|
4
|
+
const lang = Object.freeze({displayName:"GDResource",name:"gdresource",patterns:[{include:"#embedded_shader"},{include:"#embedded_gdscript"},{include:"#comment"},{include:"#heading"},{include:"#key_value"}],repository:{comment:{captures:{"1":{name:"punctuation.definition.comment.gdresource"}},match:/(;)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.gdresource"},data:{patterns:[{include:"#comment"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\{)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},end:/\p{space}*(\})(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.table.inline.gdresource"}},patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(\[)\p{space}*/dgv,beginCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},end:/\p{space}*(\])(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,endCaptures:{"1":{name:"punctuation.definition.array.gdresource"}},patterns:[{include:"#data"}]},{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.basic.block.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/"res:\/\/[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.function.any-method.gdresource"},{match:/(?<=type=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"support.class.library.gdresource"},{match:/(?<=NodePath\(|parent=|name=)"[^"\\]*(?:\\[^\n][^"\\]*)*"/dgv,name:"constant.character.escape.gdresource"},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.basic.line.gdresource",patterns:[{match:/\\([\n "\/\\bfnrt]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^\n"\/\\bfnrt]/dgv,name:"invalid.illegal.escape.gdresource"}]},{match:/'[^\n]*?'/dgv,name:"string.quoted.single.literal.line.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(true|false)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.language.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?))(?:(?:\.(0|([1-9](([0-9]|_[0-9])+)?)))?[Ee][\-\+]?[1-9]_?[0-9]*|\.[0-9_]*))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.float.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?(0|([1-9](([0-9]|_[0-9])+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.integer.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?inf)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.inf.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])([\-\+]?nan)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.nan.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0x((\p{AHex}((_??\p{AHex})+)?)))(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.hex.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0o[0-7](_?[0-7])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.oct.gdresource"},{match:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(0b[01](_?[01])*)(?![\p{L}\p{M}\p{N}\p{Pc}])/dgv,name:"constant.numeric.bin.gdresource"},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])(Vector2i??|Vector3i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|Object|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|StringName|Quaternion|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedColorArray)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"support.class.library.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]},{begin:/(?<![\p{L}\p{M}\p{N}\p{Pc}])((?:Ext|Sub)Resource)(\()\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\p{space}?(\))/dgv,patterns:[{include:"#key_value"},{include:"#data"}]}]},embedded_gdscript:{begin:/(script\/source) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,patterns:[{include:"source.gdscript"}]},embedded_shader:{begin:/(code) = "/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"}},end:/"/dgv,name:"meta.embedded.block.gdshader",patterns:[{include:"source.gdshader"}]},heading:{begin:/\[([_a-z]*)\p{space}?/dgv,beginCaptures:{"1":{name:"keyword.control.gdresource"}},end:/\]/dgv,patterns:[{include:"#heading_properties"},{include:"#data"}]},heading_properties:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,?|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]},key_value:{patterns:[{match:/(\p{space}*[\-A-Z_a-z][\-0-9A-Z_a-z]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([\-A-Z_a-z]\P{space}*|"[^\n]+"|'[^\n]+'|[0-9]+)\p{space}*(=)\p{space}*/dgv,beginCaptures:{"1":{name:"variable.other.property.gdresource"},"2":{name:"punctuation.definition.keyValue.gdresource"}},end:/((?=\n?$)|(?==)|,|\p{space}*(?=\}))/dgv,patterns:[{include:"#data"}]}]}},scopeName:"source.gdresource",embeddedLangs:["gdshader","gdscript"],aliases:undefined})
|
|
5
5
|
|
|
6
6
|
export default [
|
|
7
7
|
...gdshader,
|
package/dist/gdscript.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"GDScript",fileTypes:["gd"],name:"gdscript",patterns:[{include:"#statement"},{include:"#expression"}],repository:{annotated_parameter:{begin:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"},"3":{name:"entity.name.type.class.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"}]},annotations:{captures:{"1":{name:"entity.name.function.decorator.gdscript"},"2":{name:"entity.name.function.decorator.gdscript"}},match:/(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\b/dgv},any_method:{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.other.gdscript"},any_property:{captures:{"1":{name:"punctuation.accessor.gdscript"},"2":{name:"constant.language.gdscript"},"3":{name:"variable.other.property.gdscript"}},match:/\b(\.)\p{space}*(?<![\#\$\%\@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?!\()/dgv},any_variable:{match:/\b(?<![\#\$\%\@])([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\()/dgv,name:"variable.other.gdscript"},arithmetic_operator:{match:/->|\+=|-=|\*\*=|\*=|\^=|\/=|%=|&=|~=|\|=|\*\*|[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.gdscript"},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.gdscript"},base_expression:{patterns:[{include:"#builtin_get_node_shorthand"},{include:"#nodepath_object"},{include:"#nodepath_function"},{include:"#strings"},{include:"#builtin_classes"},{include:"#const_vars"},{include:"#keywords"},{include:"#operators"},{include:"#lambda_declaration"},{include:"#class_declaration"},{include:"#variable_declaration"},{include:"#signal_declaration_bare"},{include:"#signal_declaration"},{include:"#function_declaration"},{include:"#statement_keyword"},{include:"#assignment_operator"},{include:"#in_keyword"},{include:"#control_flow"},{include:"#match_keyword"},{include:"#curly_braces"},{include:"#square_braces"},{include:"#round_braces"},{include:"#function_call"},{include:"#region"},{include:"#comment"},{include:"#self"},{include:"#func"},{include:"#letter"},{include:"#numbers"},{include:"#pascal_case_class"},{include:"#line_continuation"}]},bitwise_operator:{match:/[\&\|]|<<=|>>=|<<|>>|[\^\~]/dgv,name:"keyword.operator.bitwise.gdscript"},boolean_operator:{match:/(&&|\|\|)/dgv,name:"keyword.operator.boolean.gdscript"},builtin_classes:{match:/(?<![^\.]\.|:)\b(Vector2|Vector2i|Vector3|Vector3i|Vector4|Vector4i|Color|Rect2|Rect2i|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS)\b/dgv,name:"entity.name.type.class.builtin.gdscript"},builtin_get_node_shorthand:{patterns:[{include:"#builtin_get_node_shorthand_quoted"},{include:"#builtin_get_node_shorthand_bare"},{include:"#builtin_get_node_shorthand_bare_multi"}]},builtin_get_node_shorthand_bare:{captures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"},"4":{name:"constant.character.escape.gdscript"}},match:/(?<!\/\p{space}*)(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\p{space}*\/)/dgv,name:"meta.literal.nodepath.bare.gdscript"},builtin_get_node_shorthand_bare_multi:{begin:/(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"}},end:/(?!\p{space}*\/\p{space}*%?\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.literal.nodepath.bare.gdscript",patterns:[{captures:{"1":{name:"constant.character.escape.gdscript"},"2":{name:"keyword.control.flow.gdscript"},"3":{name:"constant.character.escape.gdscript"}},match:/(\/)\p{space}*(%)?\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv}]},builtin_get_node_shorthand_quoted:{begin:/(?:([\$\%])|([\&\@\^]))(["'])/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},end:/(\3)()()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow"}]},class_declaration:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=^class)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=:)/dgv},class_enum:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},match:/\b([A-Z][0-9A-Z_a-z]*)\.([0-9A-Z_]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},class_name:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=class_name)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(\.([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?)/dgv},class_new:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"storage.type.new.gdscript"},"3":{name:"punctuation.parenthesis.begin.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)[^\n](new)\(/dgv},comment:{captures:{"1":{name:"punctuation.definition.comment.number-sign.gdscript"}},match:/(#(?:#|))[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.gdscript"},compare_operator:{match:/<=|>=|==|[\<\>]|!=|!/dgv,name:"keyword.operator.comparison.gdscript"},const_vars:{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.gdscript"},control_flow:{match:/\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\b/dgv,name:"keyword.control.gdscript"},curly_braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.gdscript"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},expression:{patterns:[{include:"#getter_setter_godot4"},{include:"#base_expression"},{include:"#assignment_operator"},{include:"#annotations"},{include:"#class_name"},{include:"#builtin_classes"},{include:"#class_new"},{include:"#class_is"},{include:"#class_enum"},{include:"#any_method"},{include:"#any_variable"},{include:"#any_property"}]},extends_statement:{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.other.inherited-class.gdscript"}},match:/(extends)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},func:{match:/\bfunc\b/dgv,name:"keyword.language.gdscript"},function_arguments:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.gdscript"},{captures:{"1":{name:"variable.parameter.function-call.gdscript"},"2":{name:"keyword.operator.assignment.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{include:"#base_expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"}},match:/\p{space}*(\))\p{space}*(\()/dgv},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},function_call:{begin:/(?=\b[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.gdscript"}},name:"meta.function-call.gdscript",patterns:[{include:"#function_name"},{include:"#function_arguments"}]},function_declaration:{begin:/\p{space}*(func)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.gdscript"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"}]},function_name:{patterns:[{include:"#builtin_classes"},{match:/\b(preload)\b/dgv,name:"keyword.language.gdscript"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.gdscript"}]},getter_setter_godot4:{patterns:[{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"}},match:/(get)\p{space}*(:)/dgv,name:"meta.variable.declaration.getter.gdscript"},{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"},"3":{name:"variable.other.gdscript"},"4":{name:"punctuation.definition.arguments.end.gdscript"},"5":{name:"punctuation.separator.annotation.gdscript"}},match:/(set)\p{space}*(\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\))\p{space}*(:)/dgv,name:"meta.variable.declaration.setter.gdscript"}]},in_keyword:{patterns:[{begin:/\b(for)\b/dgv,captures:{"1":{name:"keyword.control.gdscript"}},end:/:/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.control.gdscript"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},{match:/\bin\b/dgv,name:"keyword.operator.wordlike.gdscript"}]},keywords:{match:/\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super)\b/dgv,name:"keyword.language.gdscript"},lambda_declaration:{begin:/(func)\p{space}?(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:|(?=[\n"\#']))/dgv,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{"1":{name:"punctuation.separator.annotation.result.gdscript"},"2":{name:"keyword.language.void.gdscript"},"3":{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},letter:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.gdscript"},line_continuation:{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.gdscript"},"2":{name:"invalid.illegal.line.continuation.gdscript"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=\n?$)\n?)/dgv},{begin:/(\\)\p{space}*(?=\n?$)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.gdscript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[Rr]?('''|\"\"\"|[\"']))|^()(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#base_expression"}]}]},loose_default:{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"}]},match_keyword:{captures:{"1":{name:"keyword.control.gdscript"}},match:/^\n\p{space}*(match)/dgv},nodepath_function:{begin:/(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.parameters.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape",patterns:[{match:/%/dgv,name:"keyword.control.flow"}]},{include:"#expression"}]},nodepath_object:{begin:/(NodePath)\p{space}*\(/dgv,beginCaptures:{"1":{name:"support.class.library.gdscript"}},end:/\)/dgv,name:"meta.literal.nodepath.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]}]},numbers:{patterns:[{match:/0b[01_]+/dgv,name:"constant.numeric.integer.binary.gdscript"},{match:/0x[_\p{AHex}]+/dgv,name:"constant.numeric.integer.hexadecimal.gdscript"},{match:/\.[0-9][0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)\.[0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)?\.[0-9_]*([Ee][\-\+]?[0-9_]+)/dgv,name:"constant.numeric.float.gdscript"},{match:/[0-9][0-9_]*[Ee][\-\+]?[0-9_]+/dgv,name:"constant.numeric.float.gdscript"},{match:/-?[0-9][0-9_]*/dgv,name:"constant.numeric.integer.gdscript"}]},operators:{patterns:[{include:"#wordlike_operator"},{include:"#boolean_operator"},{include:"#arithmetic_operator"},{include:"#bitwise_operator"},{include:"#compare_operator"}]},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.gdscript"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.parameters.gdscript",patterns:[{include:"#annotated_parameter"},{captures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.parameters.gdscript"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\n\#\)\=]))/dgv},{include:"#comment"},{include:"#loose_default"}]},pascal_case_class:{match:/\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\b/dgv,name:"entity.name.type.class.gdscript"},region:{match:/#(end)?region[^\n]*(?=\n?$)\n?/dgv,name:"keyword.language.region.gdscript"},round_braces:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.gdscript"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},self:{match:/\bself\b/dgv,name:"variable.language.gdscript"},signal_declaration:{begin:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/((?=[\n"\#']))/dgv,name:"meta.signal.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]},signal_declaration_bare:{captures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},match:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=[\n\p{space}])/dgv,name:"meta.signal.gdscript"},square_braces:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.gdscript"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},statement:{patterns:[{include:"#extends_statement"}]},statement_keyword:{patterns:[{match:/\b(?<!\.)(continue|assert|break|elif|else|if|pass|return|while)\b/dgv,name:"keyword.control.flow.gdscript"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.gdscript"},{captures:{"1":{name:"keyword.control.flow.gdscript"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-"\#'\(\+\:\[\{\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]|(?=\n?$)))\b/dgv}]},string_bracket_placeholders:{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/dgv,name:"meta.format.brace.gdscript"},{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:)[^\n"'\{\}]*(?:\{[^\n"'\}]*?\}[^\n"'\{\}]*)*\})/dgv,name:"meta.format.brace.gdscript"}]},string_percent_placeholders:{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\- \#\+0]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([Lhl])?[\%EFGXa-giorsux])/dgv,name:"meta.format.percent.gdscript"},strings:{begin:/(r)?("""|'''|["'])/dgv,beginCaptures:{"1":{name:"constant.character.escape.gdscript"}},end:/\2()()/dgv,name:"string.quoted.gdscript",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.gdscript"},{include:"#string_percent_placeholders"},{include:"#string_bracket_placeholders"}]},variable_declaration:{begin:/\b(?:(var)|(const))\b/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.var.gdscript"},"2":{name:"keyword.language.gdscript storage.type.const.gdscript"}},end:/(?=\n?$)|;/dgv,name:"meta.variable.declaration.gdscript",patterns:[{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(:)?\p{space}*([gs]et)\p{space}+=\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/:=|=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(setget)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:,\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv},{include:"#expression"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},wordlike_operator:{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.wordlike.gdscript"}},scopeName:"source.gdscript",embeddedLangs:undefined,aliases:undefined})
|
|
3
|
+
const lang = Object.freeze({displayName:"GDScript",fileTypes:["gd"],name:"gdscript",patterns:[{include:"#statement"},{include:"#expression"}],repository:{annotated_parameter:{begin:/\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv,beginCaptures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"},"3":{name:"entity.name.type.class.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"}]},annotations:{captures:{"1":{name:"entity.name.function.decorator.gdscript"},"2":{name:"entity.name.function.decorator.gdscript"}},match:/(@)(export|export_group|export_color_no_alpha|export_custom|export_dir|export_enum|export_exp_easing|export_file|export_flags|export_flags_2d_navigation|export_flags_2d_physics|export_flags_2d_render|export_flags_3d_navigation|export_flags_3d_physics|export_flags_3d_render|export_global_dir|export_global_file|export_multiline|export_node_path|export_placeholder|export_range|export_storage|icon|onready|rpc|tool|warning_ignore|static_unload)\b/dgv},any_method:{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?=\p{space}*\()/dgv,name:"entity.name.function.other.gdscript"},any_property:{captures:{"1":{name:"punctuation.accessor.gdscript"},"2":{name:"constant.language.gdscript"},"3":{name:"variable.other.property.gdscript"}},match:/\b(\.)\p{space}*(?<![\#\$\%\@])(?:([A-Z_][0-9A-Z_]*)|([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?!\()/dgv},any_variable:{match:/\b(?<![\#\$\%\@])([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\()/dgv,name:"variable.other.gdscript"},arithmetic_operator:{match:/->|\+=|-=|\*\*=|\*=|\^=|\/=|%=|&=|~=|\|=|\*\*|[\-\%\*\+\/]/dgv,name:"keyword.operator.arithmetic.gdscript"},assignment_operator:{match:/=/dgv,name:"keyword.operator.assignment.gdscript"},base_expression:{patterns:[{include:"#builtin_get_node_shorthand"},{include:"#nodepath_object"},{include:"#nodepath_function"},{include:"#strings"},{include:"#builtin_classes"},{include:"#const_vars"},{include:"#keywords"},{include:"#operators"},{include:"#lambda_declaration"},{include:"#class_declaration"},{include:"#variable_declaration"},{include:"#signal_declaration_bare"},{include:"#signal_declaration"},{include:"#function_declaration"},{include:"#statement_keyword"},{include:"#assignment_operator"},{include:"#in_keyword"},{include:"#control_flow"},{include:"#match_keyword"},{include:"#curly_braces"},{include:"#square_braces"},{include:"#round_braces"},{include:"#function_call"},{include:"#region"},{include:"#comment"},{include:"#func"},{include:"#letter"},{include:"#numbers"},{include:"#pascal_case_class"},{include:"#line_continuation"}]},bitwise_operator:{match:/[\&\|]|<<=|>>=|<<|>>|[\^\~]/dgv,name:"keyword.operator.bitwise.gdscript"},boolean_operator:{match:/(&&|\|\|)/dgv,name:"keyword.operator.boolean.gdscript"},builtin_classes:{match:/(?<![^\.]\.|:)\b(Vector2i??|Vector3i??|Vector4i??|Color|Rect2i??|Array|Basis|Dictionary|Plane|Quat|RID|Rect3|Transform|Transform2D|Transform3D|AABB|String|Color|NodePath|PoolByteArray|PoolIntArray|PoolRealArray|PoolStringArray|PoolVector2Array|PoolVector3Array|PoolColorArray|bool|int|float|Signal|Callable|StringName|Quaternion|Projection|PackedByteArray|PackedInt32Array|PackedInt64Array|PackedFloat32Array|PackedFloat64Array|PackedStringArray|PackedVector2Array|PackedVector2iArray|PackedVector3Array|PackedVector3iArray|PackedVector4Array|PackedColorArray|JSON|UPNP|OS|IP|JSONRPC|XRVRS)\b/dgv,name:"entity.name.type.class.builtin.gdscript"},builtin_get_node_shorthand:{patterns:[{include:"#builtin_get_node_shorthand_quoted"},{include:"#builtin_get_node_shorthand_bare"},{include:"#builtin_get_node_shorthand_bare_multi"}]},builtin_get_node_shorthand_bare:{captures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"},"4":{name:"constant.character.escape.gdscript"}},match:/(?<!\/\p{space}*)(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\p{space}*\/)/dgv,name:"meta.literal.nodepath.bare.gdscript"},builtin_get_node_shorthand_bare_multi:{begin:/(\$\p{space}*|%|\$%\p{space}*)(\/\p{space}*)?([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"constant.character.escape.gdscript"},"3":{name:"constant.character.escape.gdscript"}},end:/(?!\p{space}*\/\p{space}*%?\p{space}*[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv,name:"meta.literal.nodepath.bare.gdscript",patterns:[{captures:{"1":{name:"constant.character.escape.gdscript"},"2":{name:"keyword.control.flow.gdscript"},"3":{name:"constant.character.escape.gdscript"}},match:/(\/)\p{space}*(%)?\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*/dgv}]},builtin_get_node_shorthand_quoted:{begin:/(?:([\$\%])|([\&\@\^]))(["'])/dgv,beginCaptures:{"1":{name:"keyword.control.flow.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},end:/(\3)()()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow"}]},class_declaration:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=^class)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=:)/dgv},class_enum:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"variable.other.enummember.gdscript"}},match:/\b([A-Z][0-9A-Z_a-z]*)\.([0-9A-Z_]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},class_name:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"class.other.gdscript"}},match:/(?<=class_name)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*(\.([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?)/dgv},class_new:{captures:{"1":{name:"entity.name.type.class.gdscript"},"2":{name:"storage.type.new.gdscript"},"3":{name:"punctuation.parenthesis.begin.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)[^\n](new)\(/dgv},comment:{captures:{"1":{name:"punctuation.definition.comment.number-sign.gdscript"}},match:/(##?)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.gdscript"},compare_operator:{match:/<=|>=|==|[\<\>]|!=?/dgv,name:"keyword.operator.comparison.gdscript"},const_vars:{match:/\b([A-Z_][0-9A-Z_]*)\b/dgv,name:"variable.other.constant.gdscript"},control_flow:{match:/\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\b/dgv,name:"keyword.control.gdscript"},curly_braces:{begin:/\{/dgv,beginCaptures:{"0":{name:"punctuation.definition.dict.begin.gdscript"}},end:/\}/dgv,endCaptures:{"0":{name:"punctuation.definition.dict.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},expression:{patterns:[{include:"#getter_setter_godot4"},{include:"#base_expression"},{include:"#assignment_operator"},{include:"#annotations"},{include:"#class_name"},{include:"#builtin_classes"},{include:"#class_new"},{include:"#class_is"},{include:"#class_enum"},{include:"#any_method"},{include:"#any_variable"},{include:"#any_property"}]},extends_statement:{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.other.inherited-class.gdscript"}},match:/(extends)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\.[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},func:{match:/\bfunc\b/dgv,name:"keyword.language.gdscript storage.type.function.gdscript"},function_arguments:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.arguments.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(?=\))(?!\)\p{space}*\()/dgv,patterns:[{match:/(,)/dgv,name:"punctuation.separator.arguments.gdscript"},{captures:{"1":{name:"variable.parameter.function-call.gdscript"},"2":{name:"keyword.operator.assignment.gdscript"}},match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(=)(?!=)/dgv},{match:/=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{include:"#base_expression"},{captures:{"1":{name:"punctuation.definition.arguments.end.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"}},match:/\p{space}*(\))\p{space}*(\()/dgv},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},function_call:{begin:/(?=\b[A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*\b\()/dgv,end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.arguments.end.gdscript"}},name:"meta.function-call.gdscript",patterns:[{include:"#function_name"},{include:"#function_arguments"}]},function_declaration:{begin:/\p{space}*(func)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:)/dgv,endCaptures:{"1":{name:"punctuation.section.function.begin.gdscript"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"}]},function_name:{patterns:[{include:"#builtin_classes"},{match:/\b(preload)\b/dgv,name:"keyword.language.gdscript"},{match:/\b([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.function.gdscript"}]},getter_setter_godot4:{patterns:[{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.separator.annotation.gdscript"}},match:/(get)\p{space}*(:)/dgv,name:"meta.variable.declaration.getter.gdscript"},{captures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.arguments.begin.gdscript"},"3":{name:"variable.other.gdscript"},"4":{name:"punctuation.definition.arguments.end.gdscript"},"5":{name:"punctuation.separator.annotation.gdscript"}},match:/(set)\p{space}*(\()\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(\))\p{space}*(:)/dgv,name:"meta.variable.declaration.setter.gdscript"}]},in_keyword:{patterns:[{begin:/\b(for)\b/dgv,captures:{"1":{name:"keyword.control.gdscript"}},end:/:/dgv,patterns:[{match:/\bin\b/dgv,name:"keyword.control.gdscript"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},{match:/\bin\b/dgv,name:"keyword.operator.wordlike.gdscript"}]},keywords:{match:/\b(?:class|class_name|abstract|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace|super|self)\b/dgv,name:"keyword.language.gdscript"},lambda_declaration:{begin:/(func)\p{space}?(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/(:|(?=[\n"\#']))/dgv,end2:"(\\s*(\\-\\>)\\s*(void\\w*)|([a-zA-Z_]\\w*)\\s*\\:)",endCaptures2:{"1":{name:"punctuation.separator.annotation.result.gdscript"},"2":{name:"keyword.language.void.gdscript"},"3":{name:"entity.name.type.class.gdscript markup.italic"}},name:"meta.function.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"},{include:"#base_expression"},{include:"#any_variable"},{include:"#any_property"}]},letter:{match:/\b(?:true|false|null)\b/dgv,name:"constant.language.gdscript"},line_continuation:{patterns:[{captures:{"1":{name:"punctuation.separator.continuation.line.gdscript"},"2":{name:"invalid.illegal.line.continuation.gdscript"}},match:/(\\)\p{space}*(\P{space}[^\n]*(?=\n?$)\n?)/dgv},{begin:/(\\)\p{space}*(?=\n?$)\n?/dgv,beginCaptures:{"1":{name:"punctuation.separator.continuation.line.gdscript"}},end:/*@__PURE__*/ new EmulatedRegExp("(?=^\\p{space}*(?=\\n?$))|(?!(\\p{space}*[Rr]?('''|\"\"\"|[\"']))|^()(?=\\n?$))","dgv",{"strategy":"clip_search"}),patterns:[{include:"#base_expression"}]}]},loose_default:{begin:/(=)/dgv,beginCaptures:{"1":{name:"keyword.operator.gdscript"}},end:/(,)|(?=\))/dgv,endCaptures:{"1":{name:"punctuation.separator.parameters.gdscript"}},patterns:[{include:"#expression"}]},match_keyword:{captures:{"1":{name:"keyword.control.gdscript"}},match:/^\n\p{space}*(match)/dgv},nodepath_function:{begin:/(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.gdscript"},"2":{name:"punctuation.definition.parameters.begin.gdscript"}},contentName:"meta.function.parameters.gdscript",end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]},{include:"#expression"}]},nodepath_object:{begin:/(NodePath)\p{space}*\(/dgv,beginCaptures:{"1":{name:"support.class.library.gdscript"}},end:/\)/dgv,name:"meta.literal.nodepath.gdscript",patterns:[{begin:/(["'])/dgv,end:/\1()/dgv,name:"string.quoted.gdscript constant.character.escape.gdscript",patterns:[{match:/%/dgv,name:"keyword.control.flow.gdscript"}]}]},numbers:{patterns:[{match:/0b[01_]+/dgv,name:"constant.numeric.integer.binary.gdscript"},{match:/0x[_\p{AHex}]+/dgv,name:"constant.numeric.integer.hexadecimal.gdscript"},{match:/\.[0-9][0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)\.[0-9_]*([Ee][\-\+]?[0-9_]+)?/dgv,name:"constant.numeric.float.gdscript"},{match:/([0-9][0-9_]*)?\.[0-9_]*([Ee][\-\+]?[0-9_]+)/dgv,name:"constant.numeric.float.gdscript"},{match:/[0-9][0-9_]*[Ee][\-\+]?[0-9_]+/dgv,name:"constant.numeric.float.gdscript"},{match:/-?[0-9][0-9_]*/dgv,name:"constant.numeric.integer.gdscript"}]},operators:{patterns:[{include:"#wordlike_operator"},{include:"#boolean_operator"},{include:"#arithmetic_operator"},{include:"#bitwise_operator"},{include:"#compare_operator"}]},parameters:{begin:/(\()/dgv,beginCaptures:{"1":{name:"punctuation.definition.parameters.begin.gdscript"}},end:/(\))/dgv,endCaptures:{"1":{name:"punctuation.definition.parameters.end.gdscript"}},name:"meta.function.parameters.gdscript",patterns:[{include:"#annotated_parameter"},{captures:{"1":{name:"variable.parameter.function.language.gdscript"},"2":{name:"punctuation.separator.parameters.gdscript"}},match:/([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?:(,)|(?=[\n\#\)\=]))/dgv},{include:"#comment"},{include:"#loose_default"}]},pascal_case_class:{match:/\b([A-Z]+[0-9_a-z]*([A-Z]?[0-9_a-z]+)*[A-Z]?)\b/dgv,name:"entity.name.type.class.gdscript"},region:{match:/#(end)?region[^\n]*(?=\n?$)\n?/dgv,name:"keyword.language.region.gdscript"},round_braces:{begin:/\(/dgv,beginCaptures:{"0":{name:"punctuation.parenthesis.begin.gdscript"}},end:/\)/dgv,endCaptures:{"0":{name:"punctuation.parenthesis.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},signal_declaration:{begin:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(?=\()/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},end:/((?=[\n"\#']))/dgv,name:"meta.signal.gdscript",patterns:[{include:"#parameters"},{include:"#line_continuation"}]},signal_declaration_bare:{captures:{"1":{name:"keyword.language.gdscript storage.type.function.gdscript"},"2":{name:"entity.name.function.gdscript"}},match:/\p{space}*(signal)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?=[\n\p{space}])/dgv,name:"meta.signal.gdscript"},square_braces:{begin:/\[/dgv,beginCaptures:{"0":{name:"punctuation.definition.list.begin.gdscript"}},end:/\]/dgv,endCaptures:{"0":{name:"punctuation.definition.list.end.gdscript"}},patterns:[{include:"#base_expression"},{include:"#any_variable"}]},statement:{patterns:[{include:"#extends_statement"}]},statement_keyword:{patterns:[{match:/\b(?<!\.)(continue|assert|break|elif|else|if|pass|return|while)\b/dgv,name:"keyword.control.flow.gdscript"},{match:/\b(?<!\.)(class)\b/dgv,name:"storage.type.class.gdscript"},{captures:{"1":{name:"keyword.control.flow.gdscript"}},match:/^\p{space}*(case|match)(?=\p{space}*([\-"\#'\(\+\:\[\{\p{L}\p{M}\p{N}\p{Pc}\p{Nd}]|(?=\n?$)))\b/dgv}]},string_bracket_placeholders:{patterns:[{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{\{|\}\}|\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\=\>\^]?[\- \+]?#?\p{Nd}*,?(\.\p{Nd}+)?[\%EFGXb-gnosx]?)?\})/dgv,name:"meta.format.brace.gdscript"},{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"},"3":{name:"storage.type.format.gdscript"},"4":{name:"storage.type.format.gdscript"}},match:/(\{[\p{L}\p{M}\p{N}\p{Pc}]*(\.[_\p{Alpha}][\p{L}\p{M}\p{N}\p{Pc}]*|\[[^\]"']+\])*(![ars])?(:)[^\n"'\{\}]*(?:\{[^\n"'\}]*?\}[^\n"'\{\}]*)*\})/dgv,name:"meta.format.brace.gdscript"}]},string_percent_placeholders:{captures:{"1":{name:"constant.character.format.placeholder.other.gdscript"}},match:/(%(\([\p{L}\p{M}\p{N}\p{Pc}\p{space}]*\))?[\- \#\+0]*(\p{Nd}+|\*)?(\.(\p{Nd}+|\*))?([Lhl])?[\%EFGXa-giorsux])/dgv,name:"meta.format.percent.gdscript"},strings:{begin:/(r)?("""|'''|["'])/dgv,beginCaptures:{"1":{name:"constant.character.escape.gdscript"}},end:/\2()()/dgv,name:"string.quoted.gdscript",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.gdscript"},{include:"#string_percent_placeholders"},{include:"#string_bracket_placeholders"}]},variable_declaration:{begin:/\b(?:(var)|(const))\b/dgv,beginCaptures:{"1":{name:"keyword.language.gdscript storage.type.var.gdscript"},"2":{name:"keyword.language.gdscript storage.type.const.gdscript"}},end:/(?=\n?$)|;/dgv,name:"meta.variable.declaration.gdscript",patterns:[{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(:)?\p{space}*([gs]et)\p{space}+=\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)/dgv},{match:/:=|=(?!=)/dgv,name:"keyword.operator.assignment.gdscript"},{captures:{"1":{name:"punctuation.separator.annotation.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/(:)\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)?/dgv},{captures:{"1":{name:"keyword.language.gdscript"},"2":{name:"entity.name.function.gdscript"},"3":{name:"entity.name.function.gdscript"}},match:/(setget)\p{space}+([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*)(?:,\p{space}*([A-Z_a-z][\p{L}\p{M}\p{N}\p{Pc}]*))?/dgv},{include:"#expression"},{include:"#letter"},{include:"#any_variable"},{include:"#any_property"},{include:"#keywords"}]},wordlike_operator:{match:/\b(and|or|not)\b/dgv,name:"keyword.operator.wordlike.gdscript"}},scopeName:"source.gdscript",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/gherkin.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EmulatedRegExp } from 'oniguruma-to-es'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Gherkin",fileTypes:["feature"],firstLineMatch:/기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Особина|Функция|Функциональность|Свойство|Могућност|Özellik|Właściwość|Tính năng|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Ability|Business Need|Feature|Egenskap|Egenskab|Crikey|Característica|Arwedd([^\n]*)/dgv,foldingStartMarker:/^\p{space}*\b(예|시나리오
|
|
3
|
+
const lang = Object.freeze({displayName:"Gherkin",fileTypes:["feature"],firstLineMatch:/기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Особина|Функция|Функциональность|Свойство|Могућност|Özellik|Właściwość|Tính năng|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Ability|Business Need|Feature|Egenskap|Egenskab|Crikey|Característica|Arwedd([^\n]*)/dgv,foldingStartMarker:/^\p{space}*\b(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子?|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примери?|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Значения|Örnekler|Założenia|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta?|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenarios|Scenario Outline|Scenario Amlinellol|Scenario|Example|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri?|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Exemplos|Exemples|Exemplele|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario?|Enghreifftiau|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dis is what went down|Dasar|Contoh|Contexto|Contexte|Contesto|Condiţii|Conditii|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiele|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario|Rule|Regla|Règle|Regel|Regra)/dgv,foldingStopMarker:/^\p{space}*(?=\n?$)/dgv,name:"gherkin",patterns:[{include:"#feature_element_keyword"},{include:"#feature_keyword"},{include:"#step_keyword"},{include:"#strings_triple_quote"},{include:"#strings_single_quote"},{include:"#strings_double_quote"},{include:"#comments"},{include:"#tags"},{include:"#scenario_outline_variable"},{include:"#table"}],repository:{comments:{captures:{"0":{name:"comment.line.number-sign"}},match:/^\p{space}*(#[^\n]*)/dgv},feature_element_keyword:{captures:{"1":{name:"keyword.language.gherkin.feature.scenario"},"2":{name:"string.language.gherkin.scenario.title.title"}},match:/^\p{space}*(예|시나리오 개요|시나리오|배경|背景|場景大綱|場景|场景大纲|场景|劇本大綱|劇本|例子?|テンプレ|シナリオテンプレート|シナリオテンプレ|シナリオアウトライン|シナリオ|サンプル|سيناريو مخطط|سيناريو|امثلة|الخلفية|תרחיש|תבנית תרחיש|רקע|דוגמאות|Тарих|Сценарій|Сценарији|Сценарио|Сценарий структураси|Сценарий|Структура сценарію|Структура сценарија|Структура сценария|Скица|Рамка на сценарий|Примери?|Приклади|Предыстория|Предистория|Позадина|Передумова|Основа|Мисоллар|Концепт|Контекст|Значения|Örnekler|Założenia|Wharrimean is|Voorbeelden|Variantai|Tình huống|The thing of it is|Tausta?|Tapausaihio|Tapaus|Tapaukset|Szenariogrundriss|Szenario|Szablon scenariusza|Stsenaarium|Struktura scenarija|Skica|Skenario konsep|Skenario|Situācija|Senaryo taslağı|Senaryo|Scénář|Scénario|Schema dello scenario|Scenārijs pēc parauga|Scenārijs|Scenár|Scenariusz|Scenariul de şablon|Scenariul de sablon|Scenariu|Scenarios|Scenario Outline|Scenario Amlinellol|Scenario|Example|Scenarijus|Scenariji|Scenarijaus šablonas|Scenarijai|Scenarij|Scenarie|Rerefons|Raamstsenaarium|Příklady|Példák|Príklady|Przykłady|Primjeri|Primeri?|Pozadí|Pozadina|Pozadie|Plan du scénario|Plan du Scénario|Piemēri|Pavyzdžiai|Paraugs|Osnova scénáře|Osnova|Náčrt Scénáře|Náčrt Scenáru|Mate|MISHUN SRSLY|MISHUN|Kịch bản|Kontext|Konteksts|Kontekstas|Kontekst|Koncept|Khung tình huống|Khung kịch bản|Juhtumid|Háttér|Grundlage|Geçmiş|Forgatókönyv vázlat|Forgatókönyv|Exemplos|Exemples|Exemplele|Exempel|Examples|Esquema do Cenário|Esquema do Cenario|Esquema del escenario|Esquema de l'escenari|Esempi|Escenario?|Enghreifftiau|Eksempler|Ejemplos|EXAMPLZ|Dữ liệu|Dis is what went down|Dasar|Contoh|Contexto|Contexte|Contesto|Condiţii|Conditii|Cobber|Cenário|Cenario|Cefndir|Bối cảnh|Blokes|Beispiele|Bakgrunn|Bakgrund|Baggrund|Background|B4|Antecedents|Antecedentes|All y'all|Achtergrond|Abstrakt Scenario|Abstract Scenario|Rule|Regla|Règle|Regel|Regra):([^\n]*)/dgv},feature_keyword:{captures:{"1":{name:"keyword.language.gherkin.feature"},"2":{name:"string.language.gherkin.feature.title"}},match:/^\p{space}*(기능|機能|功能|フィーチャ|خاصية|תכונה|Функціонал|Функционалност|Функционал|Особина|Функция|Функциональность|Свойство|Могућност|Özellik|Właściwość|Tính năng|Savybė|Požiadavka|Požadavek|Osobina|Ominaisuus|Omadus|OH HAI|Mogućnost|Mogucnost|Jellemző|Fīča|Funzionalità|Funktionalität|Funkcionalnost|Funkcionalitāte|Funcționalitate|Functionaliteit|Functionalitate|Funcionalitat|Funcionalidade|Fonctionnalité|Fitur|Ability|Business Need|Feature|Ability|Egenskap|Egenskab|Crikey|Característica|Arwedd):([^\n]*)\b/dgv},scenario_outline_variable:{match:/<[\- 0-9A-Z_a-z]*>/dgv,name:"variable.other"},step_keyword:{captures:{"1":{name:"keyword.language.gherkin.feature.step"}},match:/*@__PURE__*/ new EmulatedRegExp("^\\p{space}*((?:En|[EYو]|Եվ|Ya|Too right|Və|Həm|[AИ]|而且|并且|同时|並且|同時|Ak|Epi|A také|Og|😂|And|Kaj|Ja|Et que|Et qu'|Et|და|Und|Και|અને|וגם|और|तथा|És|Dan|Agus|かつ|Lan|ಮತ್ತು|'ej|latlh|그리고|AN|Un|Ir|an?|Мөн|Тэгээд|Ond|7|ਅਤੇ|Aye|Oraz|Si|Și|Şi|К тому же|Также|An|A tiež|A taktiež|A zároveň|In|Ter|Och|மேலும்|மற்றும்|Һәм|Вә|మరియు|และ|Ve|І|А також|Та|اور|Ва|Và|Maar|لكن|Pero|Բայց|Peru|Yeah nah|Amma|Ancaq|Ali|Но|Però|但是|Men|Ale|😔|But|Sed|Kuid|Mutta|Mais que|Mais qu'|Mais|მაგრამ|Aber|Αλλά|પણ|אבל|पर|परन्तु|किन्तु|De|En|Tapi|Ach|Ma|しかし|但し|ただし|Nanging|Ananging|ಆದರೆ|'ach|'a|하지만|단|BUT|Bet|awer|mä|No|Tetapi|Гэхдээ|Харин|Ac|ਪਰ|اما|Avast!|Mas|Dar|А|Иначе|Buh|Али|Toda|Ampak|Vendar|ஆனால்|Ләкин|Әмма|కాని|แต่|Fakat|Ama|Але|لیکن|Лекин|Бирок|Аммо|Nhưng|Ond|Dan|اذاً|ثم|Alavez|Allora|Antonces|Ապա|Entós|But at the end of the day I reckon|O halda|Zatim|То|Aleshores|Cal|那么|那麼|Lè sa a|Le sa a|Onda|Pak|Så|🙏|Then|Do|Siis|Niin|Alors|Entón|Logo|მაშინ|Dann|Τότε|પછી|אזי??|तब|तदा|Akkor|Þá|Maka|Ansin|ならば|Njuk|Banjur|ನಂತರ|vaj|그러면|DEN|Tada??|dann|Тогаш|Togash|Kemudian|Тэгэхэд|Үүний дараа|Tha|Þa|Ða|Tha the|Þa þe|Ða ðe|ਤਦ|آنگاه|Let go and haul|Wtedy|Então|Entao|Atunci|Затем|Тогда|Dun|Den youse gotta|Онда|Tak|Potom|Nato|Potem|Takrat|Entonces|அப்பொழுது|Нәтиҗәдә|అప్పుడు|ดังนั้น|O zaman|Тоді|پھر|تب|Унда|Thì|Yna|Wanneer|متى|عندما|Cuan|Եթե|Երբ|Cuando|It's just unbelievable|Əgər|Nə vaxt ki|Kada|Когато|Quan|[当當]|Lè|Le|Kad|Když|Når|Als|🎬|When|Se|Kui|Kun|Quand|Lorsque|Lorsqu'|Cando|როდესაც|Wenn|Όταν|ક્યારે|כאשר|जब|कदा|Majd|Ha|Amikor|Þegar|Ketika|Nuair a|Nuair nach|Nuair ba|Nuair nár|Quando|もし|Manawa|Menawa|ಸ್ಥಿತಿಯನ್ನು|qaSDI'|만일|만약|WEN|Ja|Kai|wann|Кога|Koga|Apabila|Хэрэв|Tha|Þa|Ða|ਜਦੋਂ|هنگامی|Blimey!|Jeżeli|Jeśli|Gdy|Kiedy|Cand|Când|Когда|Если|Wun|Youse know like when|Када?|Keď|Ak|Ko|Ce|Če|Kadar|När|எப்போது|Әгәр|ఈ పరిస్థితిలో|เมื่อ|Eğer ki|Якщо|Коли|جب|Агар|Khi|Pryd|Gegewe|بفرض|Dau|Dada|Daus|Dadas|Դիցուք|Dáu|Daos|Daes|Y'know|Tutaq ki|Verilir|Dato|Дадено|Donat|Donada|Atès|Atesa|假如|假设|假定|假設|Sipoze|Sipoze ke|Sipoze Ke|Zadani??|Zadano|Pokud|Za předpokladu|Givet|Gegeven|Stel|😐|Given|Donitaĵo|Komence|Eeldades|Oletetaan|Soit|Etant donné que|Etant donné qu'|Etant donnée??|Etant donnés|Etant données|Étant donné que|Étant donné qu'|Étant donnée??|Étant donnés|Étant données|Dados??|მოცემული|Angenommen|Gegeben sei|Gegeben seien|Δεδομένου|આપેલ છે|בהינתן|अगर|यदि|चूंकि|Amennyiben|Adott|Ef|Dengan|Cuir i gcás go|Cuir i gcás nach|Cuir i gcás gur|Cuir i gcás nár|Data|Dati|Date|前提|Nalika|Nalikaning|ನೀಡಿದ|ghu' noblu'|DaH ghu' bejlu'|조건|먼저|I CAN HAZ|Kad|Duota|ugeholl|Дадена|Dadeno|Dadena|Diberi|Bagi|Өгөгдсөн нь|Анх|Gitt|Thurh|Þurh|Ðurh|ਜੇਕਰ|ਜਿਵੇਂ ਕਿ|با فرض|Gangway!|Zakładając|Mając|Zakładając, że|Date fiind|Dat fiind|Dată fiind|Dati fiind|Dați fiind|Daţi fiind|Допустим|Дано|Пусть|Givun|Youse know when youse got|За дато|За дате|За дати|Za dato|Za date|Za dati|Pokiaľ|Za predpokladu|Dano|Podano|Zaradi|Privzeto|கொடுக்கப்பட்ட|Әйтик|చెప్పబడినది|กำหนดให้|Diyelim ki|Припустимо|Припустимо, що|Нехай|اگر|بالفرض|فرض کیا|Агар|Biết|Cho|Anrhegedig a|\\*) )","dgv",{"lazyCompile":true})},strings_double_quote:{begin:/(?<!['0-9A-Za-z])"/dgv,end:/"(?!['0-9A-Za-z])/dgv,name:"string.quoted.double",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.untitled"}]},strings_single_quote:{begin:/(?<!["0-9A-Za-z])'/dgv,end:/'(?!["0-9A-Za-z])/dgv,name:"string.quoted.single",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape"}]},strings_triple_quote:{begin:/"""[^\n]*/dgv,end:/"""/dgv,name:"string.quoted.single"},table:{begin:/^\p{space}*\|/dgv,end:/\|\p{space}*(?=\n?$)/dgv,name:"keyword.control.cucumber.table",patterns:[{match:/[\p{L}\p{M}\p{N}\p{Pc}]/dgv,name:"source"}]},tags:{captures:{"0":{name:"entity.name.type.class.tsx"}},match:/(@[^\t\n\r \@]+)/dgv}},scopeName:"text.gherkin.feature",embeddedLangs:undefined,aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
lang
|
package/dist/gleam.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Gleam",fileTypes:["gleam"],name:"gleam",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#strings"},{include:"#constant"},{include:"#entity"},{include:"#discards"}],repository:{binary_number:{match:/\b0[Bb]
|
|
1
|
+
const lang = Object.freeze({displayName:"Gleam",fileTypes:["gleam"],name:"gleam",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#strings"},{include:"#constant"},{include:"#entity"},{include:"#discards"}],repository:{binary_number:{match:/\b0[Bb][01_]*\b/dgv,name:"constant.numeric.binary.gleam",patterns:[]},comments:{patterns:[{match:/\/\/[^\n]*/dgv,name:"comment.line.gleam"}]},constant:{patterns:[{include:"#binary_number"},{include:"#octal_number"},{include:"#hexadecimal_number"},{include:"#decimal_number"},{match:/\p{Upper}[\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.gleam"}]},decimal_number:{match:/\b([0-9][0-9_]*)(\.([0-9_]*)?(e-?[0-9]+)?)?\b/dgv,name:"constant.numeric.decimal.gleam",patterns:[]},discards:{match:/\b_(?:[\p{Alpha}\p{M}\p{Nd}\p{Pc}]+)?\b/dgv,name:"comment.unused.gleam"},entity:{patterns:[{begin:/\b(\p{Lower}[\p{Alpha}\p{M}\p{Nd}\p{Pc}]*)\b\p{space}*\(/dgv,captures:{"1":{name:"entity.name.function.gleam"}},end:/\)/dgv,patterns:[{include:"$self"}]},{match:/\b(\p{Lower}[\p{Alpha}\p{M}\p{Nd}\p{Pc}]*):\p{space}/dgv,name:"variable.parameter.gleam"},{match:/\b(\p{Lower}[\p{Alpha}\p{M}\p{Nd}\p{Pc}]*):/dgv,name:"entity.name.namespace.gleam"}]},hexadecimal_number:{match:/\b0[Xx][_\p{AHex}]+\b/dgv,name:"constant.numeric.hexadecimal.gleam",patterns:[]},keywords:{patterns:[{match:/\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|echo)\b/dgv,name:"keyword.control.gleam"},{match:/(<-|->)/dgv,name:"keyword.operator.arrow.gleam"},{match:/\|>/dgv,name:"keyword.operator.pipe.gleam"},{match:/\.\./dgv,name:"keyword.operator.splat.gleam"},{match:/([\!\=]=)/dgv,name:"keyword.operator.comparison.gleam"},{match:/([\<\>]=?\.)/dgv,name:"keyword.operator.comparison.float.gleam"},{match:/(<=|>=|[\<\>])/dgv,name:"keyword.operator.comparison.int.gleam"},{match:/(&&|\|\|)/dgv,name:"keyword.operator.logical.gleam"},{match:/<>/dgv,name:"keyword.operator.string.gleam"},{match:/\|/dgv,name:"keyword.operator.other.gleam"},{match:/([\-\*\+\/]\.)/dgv,name:"keyword.operator.arithmetic.float.gleam"},{match:/([\-\%\*\+\/])/dgv,name:"keyword.operator.arithmetic.int.gleam"},{match:/=/dgv,name:"keyword.operator.assignment.gleam"}]},octal_number:{match:/\b0[Oo][0-7_]*\b/dgv,name:"constant.numeric.octal.gleam",patterns:[]},strings:{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.gleam",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.gleam"}]}},scopeName:"source.gleam",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/glimmer-js.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import typescript from './typescript.mjs'
|
|
|
4
4
|
import css from './css.mjs'
|
|
5
5
|
import html from './html.mjs'
|
|
6
6
|
|
|
7
|
-
const lang = Object.freeze({displayName:"Glimmer JS",injections:{"L:source.gjs -comment -(string -meta.embedded)":{patterns:[{include:"#main"}]}},name:"glimmer-js",patterns:[{include:"#main"},{include:"source.js"}],repository:{"as-keyword":{match:/\p{space}\b(as)\b(?=\p{space}\|)/dgv,name:"keyword.control",patterns:[]},"as-params":{begin:/(?<!\|)(\|)/dgv,beginCaptures:{"1":{name:"constant.other.symbol.begin.ember-handlebars"}},end:/(\|)(?!\|)/dgv,endCaptures:{"1":{name:"constant.other.symbol.end.ember-handlebars"}},name:"keyword.block-params.ember-handlebars",patterns:[{include:"#variable"}]},attention:{match:/@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\b/dgv,name:"storage.type.class.${1:/downcase}",patterns:[]},boolean:{captures:{"0":{name:"string.regexp"},"1":{name:"string.regexp"},"2":{name:"string.regexp"}},match:/true|false|undefined|null/dgv,patterns:[]},"component-tag":{begin:/(<\/?)(@|this[^\n])?([\-\$\.0-\:A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"3":{name:"entity.name.type",patterns:[{include:"#glimmer-component-path"},{match:/([\$\:\@])/dgv,name:"markup.bold"}]}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},digit:{captures:{"0":{name:"constant.numeric"},"1":{name:"constant.numeric"},"2":{name:"constant.numeric"}},match:/\p{Nd}*(\.)?\p{Nd}+/dgv,patterns:[]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html.ember-handlebars"},"3":{name:"punctuation.definition.entity.html.ember-handlebars"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.html.ember-handlebars"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars.argument",patterns:[{match:/(@)/dgv,name:"markup.italic"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}(@[\-\.0-\:A-Z_a-z]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\$\--9\@-Z_a-z]+))/dgv,captures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-component-path"},{match:/(\/)+/dgv,name:"punctuation.definition.tag"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-as-stuff"},{include:"#glimmer-supexp-content"}]},"glimmer-bools":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"string.regexp"},"3":{name:"string.regexp"},"4":{name:"keyword.operator"}},match:/(\{\{~?)(true|false|null|undefined|\p{Nd}*(\.)?\p{Nd}+)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-comment-block":{begin:/\{\{!--/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/--\}\}/dgv,name:"comment.block.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-comment-inline":{begin:/\{\{!/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/\}\}/dgv,name:"comment.inline.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-component-path":{captures:{"1":{name:"punctuation.definition.tag"}},match:/(::|[\$\._])/dgv},"glimmer-control-expression":{begin:/(\{\{~?)(([\-\/-9A-Z_a-z]+)\p{space})/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"keyword.control"}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-else-block":{captures:{"0":{name:"punctuation.definition.tag"},"1":{name:"punctuation.definition.tag"},"2":{name:"keyword.control"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"4":{name:"punctuation.definition.tag"}},match:/(\{\{~?)(else(?:\p{space}[a-z]+\p{space}|))([\x08\(\)\.0-9\@-Za-z\p{space}]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\-\(\)\.0-9\@-Z_a-z\p{space}]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/\(+/dgv,name:"string.regexp"},{match:/\)+/dgv,name:"string.regexp"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"},{include:"#glimmer-supexp-content"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-expression-property":{begin:/(\{\{~?)((@|this[^\n])([\-\.0-9A-Z_a-z]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"4":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-parameter-name":{captures:{"1":{name:"variable.parameter.name.ember-handlebars"},"2":{name:"punctuation.definition.expression.ember-handlebars"}},match:/\b([\-0-9A-Z_a-z]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([\-\.0-\:A-Z_a-z]+)\b(?!=)/dgv,patterns:[]},"glimmer-special-block":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"keyword.control"},"3":{name:"keyword.operator"}},match:/(\{\{~?)(yield|outlet)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-subexp":{begin:/(\()([\-\.0-9\@-Za-z]+)/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"keyword.control"}},end:/(\))/dgv,name:"entity.subexpression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-supexp-content":{patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{begin:/\{\{\{/dgv,captures:{"0":{name:"keyword.operator"}},end:/\}\}\}/dgv,name:"entity.unescaped.expression.ember-handlebars",patterns:[{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#glimmer-subexp"},{include:"#param"}]},"html-attribute":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars",patterns:[{match:/(\.\.\.attributes)/dgv,name:"markup.bold"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}([\-\.0-\:A-Z_a-z]+)(=)?/dgv},"html-comment":{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.html.ember-handlebars"}},end:/--\p{space}*>/dgv,name:"comment.block.html.ember-handlebars",patterns:[{include:"#attention"},{match:/--/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{begin:/(<\/?)([\-0-9a-z]+)(?![\.\:])\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"entity.name.tag.html.ember-handlebars"}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},main:{patterns:[{begin:/\p{space}*(<)(template)\p{space}*(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithoutArgs",patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/(<)(template)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithArgs",patterns:[{begin:/(?<=<template)/dgv,end:/(?=>)/dgv,patterns:[{include:"#tag-like-content"}]},{begin:/(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.end.js"}},contentName:"meta.html.embedded.block",end:/(?=<\/template>)/dgv,patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/\b((?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)*h(?:bs|tml)\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.js"},"2":{name:"punctuation.definition.string.template.begin.js"}},contentName:"meta.embedded.block.html",end:/(`)/dgv,endCaptures:{"0":{name:"string.js"},"1":{name:"punctuation.definition.string.template.end.js"}},patterns:[{include:"source.ts#template-substitution-element"},{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/((createTemplate|hbs|html))(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},contentName:"meta.embedded.block.html",end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/((precompileTemplate)\p{space}*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},contentName:"meta.embedded.block.html",end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{include:"source.ts#object-literal"},{include:"source.ts"}]}]},param:{captures:{"0":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/(@|this[^\n])([\-\.0-9A-Z_a-z]+)/dgv,patterns:[]},script:{begin:/(^[\t ]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"},"3":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.js"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?=type\p{space}*=\p{space}*(["']|)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)["'\>\p{space}])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"text.html.basic"}},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"}}},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-argument"},{include:"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.html.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},"string-single-quoted-handlebars":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.html.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},style:{begin:/(^[\t ]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.style.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.style.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.css-ignored-vscode"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{"1":{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#glimmer-argument"},{include:"#html-attribute"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},"tag-like-content":{patterns:[{include:"#glimmer-bools"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#boolean"},{include:"#digit"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-as-stuff"},{include:"#glimmer-argument"},{include:"#html-attribute"}]},variable:{match:/\b([\-0-9A-Z_a-z]+)\b/dgv,name:"support.function",patterns:[]}},scopeName:"source.gjs",embeddedLangs:["javascript","typescript","css","html"],aliases:["gjs"]})
|
|
7
|
+
const lang = Object.freeze({displayName:"Glimmer JS",injections:{"L:source.gjs -comment -(string -meta.embedded)":{patterns:[{include:"#main"}]}},name:"glimmer-js",patterns:[{include:"#main"},{include:"source.js"}],repository:{"as-keyword":{match:/\p{space}\b(as)\b(?=\p{space}\|)/dgv,name:"keyword.control",patterns:[]},"as-params":{begin:/(?<!\|)(\|)/dgv,beginCaptures:{"1":{name:"constant.other.symbol.begin.ember-handlebars"}},end:/(\|)(?!\|)/dgv,endCaptures:{"1":{name:"constant.other.symbol.end.ember-handlebars"}},name:"keyword.block-params.ember-handlebars",patterns:[{include:"#variable"}]},attention:{match:/@?(TODO|FIXME|CHANGED|XXX|IDEA|HACK|NOTE|REVIEW|NB|BUG|QUESTION|TEMP)\b/dgv,name:"storage.type.class.${1:/downcase}",patterns:[]},boolean:{captures:{"0":{name:"string.regexp"},"1":{name:"string.regexp"},"2":{name:"string.regexp"}},match:/true|false|undefined|null/dgv,patterns:[]},"component-tag":{begin:/(<\/?)(@|this[^\n])?([\-\$\.0-\:A-Z_a-z]+)\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"3":{name:"entity.name.type",patterns:[{include:"#glimmer-component-path"},{match:/([\$\:\@])/dgv,name:"markup.bold"}]}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},digit:{captures:{"0":{name:"constant.numeric"},"1":{name:"constant.numeric"},"2":{name:"constant.numeric"}},match:/\p{Nd}*(\.)?\p{Nd}+/dgv,patterns:[]},entities:{patterns:[{captures:{"1":{name:"punctuation.definition.entity.html.ember-handlebars"},"3":{name:"punctuation.definition.entity.html.ember-handlebars"}},match:/(&)([0-9A-Za-z]+|#[0-9]+|#x\p{AHex}+)(;)/dgv,name:"constant.character.entity.html.ember-handlebars"},{match:/&/dgv,name:"invalid.illegal.bad-ampersand.html.ember-handlebars"}]},"glimmer-argument":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars.argument",patterns:[{match:/(@)/dgv,name:"markup.italic"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}(@[\-\.0-\:A-Z_a-z]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\$\--9\@-Z_a-z]+))/dgv,captures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-component-path"},{match:/(\/)+/dgv,name:"punctuation.definition.tag"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-as-stuff"},{include:"#glimmer-supexp-content"}]},"glimmer-bools":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"string.regexp"},"3":{name:"string.regexp"},"4":{name:"keyword.operator"}},match:/(\{\{~?)(true|false|null|undefined|\p{Nd}*(\.)?\p{Nd}+)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-comment-block":{begin:/\{\{!--/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/--\}\}/dgv,name:"comment.block.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-comment-inline":{begin:/\{\{!/dgv,captures:{"0":{name:"punctuation.definition.block.comment.glimmer"}},end:/\}\}/dgv,name:"comment.inline.glimmer",patterns:[{include:"#script"},{include:"#attention"}]},"glimmer-component-path":{captures:{"1":{name:"punctuation.definition.tag"}},match:/(::|[\$\._])/dgv},"glimmer-control-expression":{begin:/(\{\{~?)(([\-\/-9A-Z_a-z]+)\p{space})/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"keyword.control"}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-else-block":{captures:{"0":{name:"punctuation.definition.tag"},"1":{name:"punctuation.definition.tag"},"2":{name:"keyword.control"},"3":{name:"keyword.control",patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"4":{name:"punctuation.definition.tag"}},match:/(\{\{~?)(else(?:\p{space}[a-z]+\p{space}|))([\x08\(\)\.0-9\@-Za-z\p{space}]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\-\(\)\.0-9\@-Z_a-z\p{space}]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/\(+/dgv,name:"string.regexp"},{match:/\)+/dgv,name:"string.regexp"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"},{include:"#glimmer-supexp-content"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-expression-property":{begin:/(\{\{~?)((@|this[^\n])([\-\.0-9A-Z_a-z]+))/dgv,captures:{"1":{name:"keyword.operator"},"2":{name:"keyword.operator"},"3":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"4":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},end:/(~?\}\})/dgv,name:"entity.expression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-parameter-name":{captures:{"1":{name:"variable.parameter.name.ember-handlebars"},"2":{name:"punctuation.definition.expression.ember-handlebars"}},match:/\b([\-0-9A-Z_a-z]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([\-\.0-\:A-Z_a-z]+)\b(?!=)/dgv,patterns:[]},"glimmer-special-block":{captures:{"0":{name:"keyword.operator"},"1":{name:"keyword.operator"},"2":{name:"keyword.control"},"3":{name:"keyword.operator"}},match:/(\{\{~?)(yield|outlet)(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-subexp":{begin:/(\()([\-\.0-9\@-Za-z]+)/dgv,captures:{"1":{name:"keyword.other"},"2":{name:"keyword.control"}},end:/(\))/dgv,name:"entity.subexpression.ember-handlebars",patterns:[{include:"#glimmer-supexp-content"}]},"glimmer-supexp-content":{patterns:[{include:"#glimmer-subexp"},{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#boolean"},{include:"#digit"},{include:"#param"},{include:"#glimmer-parameter-name"},{include:"#glimmer-parameter-value"}]},"glimmer-unescaped-expression":{begin:/\{\{\{/dgv,captures:{"0":{name:"keyword.operator"}},end:/\}\}\}/dgv,name:"entity.unescaped.expression.ember-handlebars",patterns:[{include:"#string-single-quoted-handlebars"},{include:"#string-double-quoted-handlebars"},{include:"#glimmer-subexp"},{include:"#param"}]},"html-attribute":{captures:{"1":{name:"entity.other.attribute-name.ember-handlebars",patterns:[{match:/(\.\.\.attributes)/dgv,name:"markup.bold"}]},"2":{name:"punctuation.separator.key-value.html.ember-handlebars"}},match:/\p{space}([\-\.0-\:A-Z_a-z]+)(=)?/dgv},"html-comment":{begin:/<!--/dgv,captures:{"0":{name:"punctuation.definition.comment.html.ember-handlebars"}},end:/--\p{space}*>/dgv,name:"comment.block.html.ember-handlebars",patterns:[{include:"#attention"},{match:/--/dgv,name:"invalid.illegal.bad-comments-or-CDATA.html.ember-handlebars"}]},"html-tag":{begin:/(<\/?)([\-0-9a-z]+)(?![\.\:])\b/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"entity.name.tag.html.ember-handlebars"}},end:/(\/?)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag"},"2":{name:"punctuation.definition.tag"}},name:"meta.tag.any.ember-handlebars",patterns:[{include:"#tag-like-content"}]},main:{patterns:[{begin:/\p{space}*(<)(template)\p{space}*(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithoutArgs",patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/(<)(template)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"}},end:/(<\/)(template)(>)/dgv,endCaptures:{"1":{name:"punctuation.definition.tag.html"},"2":{name:"entity.name.tag.other.html"},"3":{name:"punctuation.definition.tag.html"}},name:"meta.js.embeddedTemplateWithArgs",patterns:[{begin:/(?<=<template)/dgv,end:/(?=>)/dgv,patterns:[{include:"#tag-like-content"}]},{begin:/(>)/dgv,beginCaptures:{"1":{name:"punctuation.definition.tag.end.js"}},contentName:"meta.html.embedded.block",end:/(?=<\/template>)/dgv,patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/\b((?:[\p{L}\p{M}\p{N}\p{Pc}]+\.)*h(?:bs|tml)\p{space}*)(`)/dgv,beginCaptures:{"1":{name:"entity.name.function.tagged-template.js"},"2":{name:"punctuation.definition.string.template.begin.js"}},contentName:"meta.embedded.block.html",end:/(`)/dgv,endCaptures:{"0":{name:"string.js"},"1":{name:"punctuation.definition.string.template.end.js"}},patterns:[{include:"source.ts#template-substitution-element"},{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{begin:/((createTemplate|hbs|html))(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},contentName:"meta.embedded.block.html",end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]}]},{begin:/((precompileTemplate)\p{space}*)(\()/dgv,beginCaptures:{"1":{name:"entity.name.function.ts"},"2":{name:"meta.function-call.ts"},"3":{name:"meta.brace.round.ts"}},end:/(\))/dgv,endCaptures:{"1":{name:"meta.brace.round.ts"}},patterns:[{begin:/((["'\`]))/dgv,beginCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.begin.ts"}},contentName:"meta.embedded.block.html",end:/((["'\`]))/dgv,endCaptures:{"1":{name:"string.template.ts"},"2":{name:"punctuation.definition.string.template.end.ts"}},patterns:[{include:"#style"},{include:"#script"},{include:"#glimmer-else-block"},{include:"#glimmer-bools"},{include:"#glimmer-special-block"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#html-tag"},{include:"#component-tag"},{include:"#html-comment"},{include:"#entities"}]},{include:"source.ts#object-literal"},{include:"source.ts"}]}]},param:{captures:{"0":{name:"support.function",patterns:[{match:/(@|this)/dgv,name:"variable.language"},{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]},"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/(@|this[^\n])([\-\.0-9A-Z_a-z]+)/dgv,patterns:[]},script:{begin:/(^[\t ]+)?(?=<script\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(script)\b/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/(\/)(script)(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"},"3":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,end:/(?=\/)/dgv,patterns:[{begin:/(>)/dgv,beginCaptures:{"0":{name:"meta.tag.metadata.script.start.html"},"1":{name:"punctuation.definition.tag.end.html"}},end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.js-ignored-vscode"}},patterns:[{begin:/(?:)/dgv,end:/(?=<\/script)/dgiv,name:"source.js",patterns:[{begin:/(^[\t ]+)?(?=\/\/)/dgv,beginCaptures:{"1":{name:"punctuation.whitespace.comment.leading.js"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),patterns:[{begin:/\/\//dgv,beginCaptures:{"0":{name:"punctuation.definition.comment.js"}},end:/(?=<\/script)|\n/dgv,name:"comment.line.double-slash.js"}]},{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.js"}},end:/\*\/|(?=<\/script)/dgv,name:"comment.block.js"},{include:"source.js"}]}]},{begin:/(?=type\p{space}*=\p{space}*(["']?)text\/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)["'\>\p{space}])/dgiv,end:/((<))(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"text.html.basic"}},patterns:[{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/script)/dgiv,name:"text.html.basic",patterns:[{include:"text.html.basic"}]}]},{begin:/(?=type)/dgiv,end:/(<)(?=\/script)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.script.end.html"},"1":{name:"punctuation.definition.tag.begin.html"}}},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-argument"},{include:"#html-attribute"}]}]}]},"string-double-quoted-handlebars":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-double-quoted-html":{begin:/"/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/"/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.double.html.ember-handlebars",patterns:[{match:/\\"/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},"string-single-quoted-handlebars":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"}]},"string-single-quoted-html":{begin:/'/dgv,beginCaptures:{"0":{name:"punctuation.definition.string.begin.ember-handlebars"}},end:/'/dgv,endCaptures:{"0":{name:"punctuation.definition.string.end.ember-handlebars"}},name:"string.quoted.single.html.ember-handlebars",patterns:[{match:/\\'/dgv,name:"constant.character.escape.ember-handlebars"},{include:"#glimmer-bools"},{include:"#glimmer-expression-property"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"}]},style:{begin:/(^[\t ]+)?(?=<style\b(?!-))/dgiv,beginCaptures:{"1":{name:"punctuation.whitespace.embedded.leading.html"}},end:/*@__PURE__*/ new EmulatedRegExp("(?!^)([\\t ]*(?=\\n?$)\\n?)?","dgv",{"strategy":"clip_search"}),endCaptures:{"1":{name:"punctuation.whitespace.embedded.trailing.html"}},patterns:[{begin:/(<)(style)(?=\p{space}|\/?>)/dgiv,beginCaptures:{"0":{name:"meta.tag.metadata.style.start.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"entity.name.tag.html"}},end:/((<)\/)(style)\p{space}*(>)/dgiv,endCaptures:{"0":{name:"meta.tag.metadata.style.end.html"},"1":{name:"punctuation.definition.tag.begin.html"},"2":{name:"source.css-ignored-vscode"},"3":{name:"entity.name.tag.html"},"4":{name:"punctuation.definition.tag.end.html"}},name:"meta.embedded.block.html",patterns:[{begin:/(?:)/dgv,captures:{"1":{name:"punctuation.definition.tag.end.html"}},end:/(>)/dgv,name:"meta.tag.metadata.style.start.html",patterns:[{include:"#glimmer-argument"},{include:"#html-attribute"}]},{begin:/*@__PURE__*/ new EmulatedRegExp("(?!^)","dgv",{"strategy":"clip_search"}),end:/(?=<\/style)/dgiv,name:"source.css",patterns:[{include:"source.css"}]}]}]},"tag-like-content":{patterns:[{include:"#glimmer-bools"},{include:"#glimmer-unescaped-expression"},{include:"#glimmer-comment-block"},{include:"#glimmer-comment-inline"},{include:"#glimmer-expression-property"},{include:"#boolean"},{include:"#digit"},{include:"#glimmer-control-expression"},{include:"#glimmer-expression"},{include:"#glimmer-block"},{include:"#string-double-quoted-html"},{include:"#string-single-quoted-html"},{include:"#glimmer-as-stuff"},{include:"#glimmer-argument"},{include:"#html-attribute"}]},variable:{match:/\b([\-0-9A-Z_a-z]+)\b/dgv,name:"support.function",patterns:[]}},scopeName:"source.gjs",embeddedLangs:["javascript","typescript","css","html"],aliases:["gjs"]})
|
|
8
8
|
|
|
9
9
|
export default [
|
|
10
10
|
...javascript,
|