@shikijs/langs-precompiled 3.1.0 → 3.2.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/actionscript-3.mjs +1 -1
- package/dist/ada.mjs +1 -1
- package/dist/angular-expression.mjs +1 -1
- package/dist/angular-html.mjs +1 -1
- package/dist/angular-inline-style.mjs +1 -1
- package/dist/angular-inline-template.mjs +1 -1
- package/dist/angular-ts.mjs +1 -1
- package/dist/apache.mjs +1 -1
- package/dist/apex.mjs +1 -1
- package/dist/apl.mjs +1 -1
- package/dist/applescript.mjs +1 -1
- package/dist/ara.mjs +1 -1
- package/dist/asciidoc.mjs +1 -1
- package/dist/asm.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/beancount.mjs +1 -1
- package/dist/berry.mjs +1 -1
- package/dist/bicep.mjs +1 -1
- package/dist/blade.mjs +1 -1
- package/dist/bsl.mjs +1 -1
- package/dist/c.mjs +1 -1
- package/dist/cadence.mjs +1 -1
- package/dist/cairo.mjs +1 -1
- package/dist/clarity.mjs +1 -1
- package/dist/clojure.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/csharp.mjs +1 -1
- package/dist/css.mjs +1 -1
- package/dist/cue.mjs +1 -1
- package/dist/cypher.mjs +1 -1
- package/dist/d.mjs +1 -1
- package/dist/dart.mjs +1 -1
- package/dist/dax.mjs +1 -1
- package/dist/desktop.mjs +1 -1
- package/dist/diff.mjs +1 -1
- package/dist/dotenv.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/es-tag-css.mjs +1 -1
- package/dist/es-tag-glsl.mjs +1 -1
- package/dist/es-tag-html.mjs +1 -1
- package/dist/es-tag-sql.mjs +1 -1
- package/dist/es-tag-xml.mjs +1 -1
- package/dist/fennel.mjs +1 -1
- package/dist/fish.mjs +1 -1
- package/dist/fluent.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/gdshader.mjs +1 -1
- package/dist/genie.mjs +1 -1
- package/dist/git-rebase.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/graphql.mjs +1 -1
- package/dist/groovy.mjs +1 -1
- package/dist/hack.mjs +1 -1
- package/dist/haml.mjs +1 -1
- package/dist/handlebars.mjs +1 -1
- package/dist/haskell.mjs +1 -1
- package/dist/haxe.mjs +1 -1
- package/dist/hcl.mjs +1 -1
- package/dist/hjson.mjs +1 -1
- package/dist/hlsl.mjs +1 -1
- package/dist/html-derivative.mjs +1 -1
- package/dist/html.mjs +1 -1
- package/dist/http.mjs +1 -1
- package/dist/hxml.mjs +1 -1
- package/dist/hy.mjs +1 -1
- package/dist/imba.mjs +1 -3
- package/dist/index.mjs +2 -0
- package/dist/java.mjs +1 -1
- package/dist/javascript.mjs +1 -1
- package/dist/jinja-html.mjs +1 -1
- package/dist/jinja.mjs +1 -1
- package/dist/jison.mjs +1 -1
- package/dist/json.mjs +1 -1
- package/dist/json5.mjs +1 -1
- package/dist/jsonc.mjs +1 -1
- package/dist/jsonl.mjs +1 -1
- package/dist/jsonnet.mjs +1 -1
- package/dist/jsx.mjs +1 -1
- package/dist/julia.mjs +1 -2
- package/dist/kotlin.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.d.mts +3 -0
- package/dist/llvm.mjs +5 -0
- package/dist/log.mjs +1 -1
- package/dist/lua.mjs +1 -1
- package/dist/luau.mjs +1 -1
- package/dist/make.mjs +1 -1
- package/dist/markdown-vue.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/move.mjs +1 -1
- package/dist/narrat.mjs +1 -1
- package/dist/nextflow.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/po.mjs +1 -1
- package/dist/polar.mjs +1 -1
- package/dist/postcss.mjs +1 -1
- package/dist/powerquery.mjs +1 -1
- package/dist/powershell.mjs +1 -1
- package/dist/prisma.mjs +1 -1
- package/dist/prolog.mjs +1 -1
- package/dist/proto.mjs +1 -1
- package/dist/pug.mjs +1 -1
- package/dist/puppet.mjs +1 -1
- package/dist/purescript.mjs +6 -2
- 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/razor.mjs +1 -1
- package/dist/reg.mjs +1 -1
- package/dist/regexp.mjs +1 -1
- package/dist/rel.mjs +1 -1
- package/dist/riscv.mjs +1 -1
- package/dist/rst.mjs +1 -1
- package/dist/ruby.mjs +1 -1
- package/dist/rust.mjs +1 -1
- package/dist/sas.mjs +1 -1
- package/dist/sass.mjs +1 -1
- package/dist/scala.mjs +1 -1
- package/dist/scheme.mjs +1 -1
- package/dist/scss.mjs +1 -1
- package/dist/sdbl.mjs +1 -1
- package/dist/shaderlab.mjs +1 -1
- package/dist/shellscript.mjs +1 -1
- package/dist/shellsession.mjs +1 -1
- package/dist/smalltalk.mjs +1 -1
- package/dist/solidity.mjs +1 -1
- package/dist/soy.mjs +1 -1
- package/dist/sparql.mjs +1 -1
- package/dist/splunk.mjs +1 -1
- package/dist/sql.mjs +1 -1
- package/dist/ssh-config.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/tasl.mjs +1 -1
- package/dist/tcl.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/twig.mjs +1 -1
- package/dist/typescript.mjs +1 -1
- package/dist/typespec.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/verilog.mjs +1 -1
- package/dist/vhdl.mjs +1 -1
- package/dist/viml.mjs +1 -1
- package/dist/vue-html.mjs +1 -1
- package/dist/vue-sfc-style-variable-injection.mjs +1 -1
- package/dist/vue.mjs +1 -1
- package/dist/vyper.mjs +1 -1
- package/dist/wasm.mjs +1 -1
- package/dist/wenyan.mjs +1 -1
- package/dist/wgsl.mjs +1 -1
- package/dist/wikitext.mjs +1 -1
- package/dist/wit.d.mts +3 -0
- package/dist/wit.mjs +5 -0
- package/dist/wolfram.mjs +1 -1
- package/dist/xml.mjs +1 -1
- package/dist/yaml.mjs +1 -1
- package/dist/zenscript.mjs +1 -1
- package/dist/zig.mjs +1 -1
- package/package.json +6 -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}*([_\p{Alpha}0-9\,\._\`\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:/(\??)([\p{Alpha}0-9'\`\^\._ ]+)\p{space}*(:)((?!with\b)\b([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._ ]+))?/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}*([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(:)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([\p{Alpha}0-9'\`\^_ ]+)/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|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:/(\^[\p{Alpha}0-9'\._]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([\?\p{Alpha}0-9'\`\^\._ ]*)))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(:)\p{space}*(\^[\p{Alpha}0-9'\._]+)\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:/([\p{Alpha}0-9'\^\._]+)/dgv},{match:/(\(|\))/dgv,name:"keyword.symbol.fsharp"}]},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/(:)\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)/dgv},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(->)\p{space}*(\()?\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)*/dgv},{begin:/(\*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([\?\p{Alpha}0-9'\`\^\._ ]+))*)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(\*)(\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+))*/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}*([\p{Alpha}0-9'\`\^\._ ]+)(<)/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:/([\p{Alpha}0-9'\`\^\._ ]+)/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([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/dgv},{include:"#anonymous_record_declaration"},{begin:/(\??)([\p{Alpha}0-9'\`\^\._ ]+)\p{space}*(:)(\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)(<))/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:/([\p{Alpha}0-9'\`\^\._ ]+)/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(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))/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}]([_\p{Alpha}0-9\._]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\._\`\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}]([_\p{Alpha}0-9\._]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\._\`\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((get|set)\p{space}*(?=\())(\[[^\-\=]*\]|[_\p{Alpha}]([_\p{Alpha}0-9\._]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\._\`\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}]([_\p{Alpha}0-9\,\._]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\,\._\`\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:/([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)\p{space}*(:)\p{space}*([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(``([\p{Alpha}0-9'\^\._ ]+)``|[\p{Alpha}0-9'\`\^\._]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]}]},generic_declaration:{patterns:[{begin:/(:)\p{space}*(\()\p{space}*(static member|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:/(('|\^)[\p{Alpha}0-9'\._]+)/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:/(('|\^)[\p{Alpha}0-9'\._]+)/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:/(('|\^)[\p{Alpha}0-9'\._]+)/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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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|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:/(\^[\p{Alpha}0-9'\._]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^[\p{Alpha}0-9'\._]+)/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:/(\??)([\p{Alpha}0-9'\`\^\._]+|``[\p{Alpha}0-9'\`\^\:\,\._ ]+``)\p{space}*(:?)(\p{space}*([\?\p{Alpha}0-9'\`\<\>\._ ]+))?/dgv},{include:"#keywords"}]},modules:{patterns:[{begin:/\b(namespace global)|\b(namespace|module)\p{space}*(public|internal|private|rec)?\p{space}+([\p{Alpha}\|\`\`][\p{Alpha}0-9'_\. ]*)/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][\p{Alpha}0-9'_]*)/dgv,name:"entity.name.section.fsharp"}]},{begin:/\b(open type|open)\p{space}+([\p{Alpha}\|\`\`][\p{Alpha}0-9'_]*)(?=(\.[A-Z][\p{Alpha}0-9_]*)*)/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}][\p{Alpha}0-9'_]*)/dgv,name:"entity.name.section.fsharp"},{include:"#comments"}]},{begin:/^\p{space}*(module)\p{space}+([A-Z][\p{Alpha}0-9'_]*)\p{space}*(=)\p{space}*([A-Z][\p{Alpha}0-9'_]*)/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][\p{Alpha}0-9'_]*)/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}]+)|[\p{Alpha}0-9'\`\<\>\^\._]*)\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:/([\p{Alpha}0-9'\`\^_ ]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(=)([\p{Alpha}0-9'\`\^_ ]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(=)([\p{Alpha}0-9'\`\^_ ]+)/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}+([\p{Alpha}0-9']+))|(=)|[\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:/([\p{Alpha}0-9'\^\._]+|``[\p{Alpha}0-9'\`\^\:\,\._ ]+``)/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:/(('|\^)``[\p{Alpha}0-9\`\^\:\,\._ ]+``|('|\^)[\p{Alpha}0-9\`\^\:\._]+)/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:/([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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}+)?((a|t)|(\.\p{Nd}+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\+?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[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{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:/(\^[\p{Alpha}0-9'\._]+)/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|member)\p{space}*([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)\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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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:/(\??)(``[\p{Alpha}0-9'\`\^\:\,\._ ]+``|(?!private|struct\b)\b[\p{L}\p{M}\p{N}\p{Pc}\p{Alpha}0-9'\`\<\>\^\._ ]+)/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}*([_\p{Alpha}0-9\,\.\`\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:/(\??)([\p{Alpha}0-9'\`\^\._ ]+)\p{space}*(:)((?!with\b)\b([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._ ]+))?/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}*([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(:)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/([\p{Alpha}0-9'\`\^_ ]+)/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|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:/(\^[\p{Alpha}0-9'\._]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{begin:/(:)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([\?\p{Alpha}0-9'\`\^\._ ]*)))/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(:)\p{space}*(\^[\p{Alpha}0-9'\._]+)\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:/([\p{Alpha}0-9'\^\._]+)/dgv},{match:/([\(\)])/dgv,name:"keyword.symbol.fsharp"}]},{captures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},match:/(:)\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)/dgv},{captures:{"1":{name:"keyword.symbol.arrow.fsharp"},"2":{name:"keyword.symbol.fsharp"},"3":{name:"entity.name.type.fsharp"}},match:/(->)\p{space}*(\()?\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)*/dgv},{begin:/(\*)\p{space}*(\()/dgv,beginCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"keyword.symbol.fsharp"}},end:/(\)\p{space}*(([\?\p{Alpha}0-9'\`\^\._ ]+))*)/dgv,endCaptures:{"1":{name:"keyword.symbol.fsharp"},"2":{name:"entity.name.type.fsharp"}},patterns:[{include:"#tuple_signature"}]},{begin:/(\*)(\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+))*/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}*([\p{Alpha}0-9'\`\^\._ ]+)(<)/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:/([\p{Alpha}0-9'\`\^\._ ]+)/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([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/dgv},{include:"#anonymous_record_declaration"},{begin:/(\??)([\p{Alpha}0-9'\`\^\._ ]+)\p{space}*(:)(\p{space}*([\?\p{Alpha}0-9'\`\^\._ ]+)(<))/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:/([\p{Alpha}0-9'\`\^\._ ]+)/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}]([_\p{Alpha}0-9\.]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\.\`\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}]([_\p{Alpha}0-9\.]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\.\`\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((get|set)\p{space}*(?=\())(\[[^\-\=]*\]|[_\p{Alpha}]([_\p{Alpha}0-9\.]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\.\`\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}]([_\p{Alpha}0-9\,\.]+)*|``[_\p{Alpha}]([_\p{Alpha}0-9\,\.\`\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:/([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)\p{space}*(:)\p{space}*([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)/dgv},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(``([\p{Alpha}0-9'\^\._ ]+)``|[\p{Alpha}0-9'\`\^\._]+)/dgv},{include:"#anonymous_record_declaration"},{include:"#keywords"}]}]},generic_declaration:{patterns:[{begin:/(:)\p{space}*(\()\p{space}*(static member|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:/((['\^])[\p{Alpha}0-9'\._]+)/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:/((['\^])[\p{Alpha}0-9'\._]+)/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:/((['\^])[\p{Alpha}0-9'\._]+)/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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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|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:/(\^[\p{Alpha}0-9'\._]+)/dgv},{include:"#variables"},{include:"#keywords"}]},{captures:{"1":{name:"entity.name.type.fsharp"}},match:/(\^[\p{Alpha}0-9'\._]+)/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:/(\??)([\p{Alpha}0-9'\`\^\._]+|``[\p{Alpha}0-9'\`\^\:\,\._ ]+``)\p{space}*(:?)(\p{space}*([\?\p{Alpha}0-9'\`\<\>\._ ]+))?/dgv},{include:"#keywords"}]},modules:{patterns:[{begin:/\b(?:(namespace global)|(namespace|module)\p{space}*(public|internal|private|rec)?\p{space}+([\p{Alpha}\|\`][\p{Alpha}0-9'_\. ]*))/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][\p{Alpha}0-9'_]*)/dgv,name:"entity.name.section.fsharp"}]},{begin:/\b(open(?: type|))\p{space}+([\p{Alpha}\|\`][\p{Alpha}0-9'_]*)(?=(\.[A-Z][\p{Alpha}0-9_]*)*)/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}[\p{Alpha}0-9'_]*)/dgv,name:"entity.name.section.fsharp"},{include:"#comments"}]},{begin:/^\p{space}*(module)\p{space}+([A-Z][\p{Alpha}0-9'_]*)\p{space}*(=)\p{space}*([A-Z][\p{Alpha}0-9'_]*)/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][\p{Alpha}0-9'_]*)/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}+)|[\p{Alpha}0-9'\`\<\>\^\._]*)\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:/([\p{Alpha}0-9'\`\^_ ]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(=)([\p{Alpha}0-9'\`\^_ ]+)/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:/[\p{Alpha}0-9'\`\^_ ]+(=)([\p{Alpha}0-9'\`\^_ ]+)/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}+([\p{Alpha}0-9']+))|(=)|[\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:/([\p{Alpha}0-9'\^\._]+|``[\p{Alpha}0-9'\`\^\:\,\._ ]+``)/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:/((['\^])``[\p{Alpha}0-9\`\^\:\,\._ ]+``|(['\^])[\p{Alpha}0-9\`\^\:\._]+)/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:/([\p{L}\p{M}\p{N}\p{Pc}0-9'\`\^\._]+)/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}+)?([fFeEgGM])|([bcsdixXou])|([sbO])|(\+?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:/(\^[\p{Alpha}0-9'\._]+)/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|member)\p{space}*([\p{Alpha}0-9'\`\<\>\^\._]+|``[\p{Alpha}0-9' \<\>\^\._]+``)\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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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:/(([\?\p{Alpha}0-9'\`\^\._ ]+))+/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:/(\??)(``[\p{Alpha}0-9'\`\^\:\,\._ ]+``|(?!private|struct\b)\b[\p{L}\p{M}\p{N}\p{Pc}\p{Alpha}0-9'\`\<\>\^\._ ]+)/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:/\\([btnfr"\\\n\/ ]|u
|
|
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:/\\([btnfr"\\\n\/ ]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^btnfr\/"\\\n]/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:/\\([btnfr"\\\n\/ ]|u\p{AHex}{4}|U\p{AHex}{8})/dgv,name:"constant.character.escape.gdresource"},{match:/\\[^btnfr\/"\\\n]/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{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}])(Vector2|Vector2i|Vector3|Vector3i|Color|Rect2|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}])(ExtResource|SubResource)(\()\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-Za-z_\-][A-Za-z0-9_\-]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([A-Za-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-Za-z_\-][A-Za-z0-9_\-]*\p{space}*=)(?=\p{space}*(?=\n?$))/dgv,name:"invalid.illegal.noValue.gdresource"},{begin:/\p{space}*([A-Za-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([a-zA-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-Za-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_][A-Z_0-9]*)|([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?![\(])/dgv},any_variable:{match:/\b(?<![\@\$\#\%])([A-Za-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-zA-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-zA-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-zA-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-zA-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-zA-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][a-zA-Z_0-9]*)\.([A-Z_0-9]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([a-zA-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(\.([a-zA-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-zA-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_][A-Z_0-9]*)\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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\.[a-zA-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-zA-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-zA-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-zA-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-zA-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-Za-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[0-9A-Fa-f_]+/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_]*[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-zA-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]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[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-zA-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-zA-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}]*|\[[^\]'"]+\])*(![rsa])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)?\})/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}]*|\[[^\]'"]+\])*(![rsa])?(:)[^'"\{\}\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}+|\*))?([hlL])?[diouxXeEfFgGcrsab\%])/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}*(set|get)\p{space}+=\p{space}+([a-zA-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-zA-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)(?:[\,]\p{space}*([a-zA-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)\p{space}*(:)\p{space}*([a-zA-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-Za-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_][A-Z_0-9]*)|([A-Za-z_][\p{L}\p{M}\p{N}\p{Pc}]*))\b(?!\()/dgv},any_variable:{match:/\b(?<![\@\$\#\%])([A-Za-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-zA-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-zA-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-zA-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-zA-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-zA-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][a-zA-Z_0-9]*)\.([A-Z_0-9]+)/dgv},class_is:{captures:{"1":{name:"storage.type.is.gdscript"},"2":{name:"entity.name.type.class.gdscript"}},match:/\p{space}+(is)\p{space}+([a-zA-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(\.([a-zA-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-zA-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_][A-Z_0-9]*)\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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\.[a-zA-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-zA-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-zA-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-zA-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-zA-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-Za-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-zA-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]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[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-zA-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-zA-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}]*|\[[^\]'"]+\])*(![rsa])?(:[\p{L}\p{M}\p{N}\p{Pc}]?[\<\>\=\^]?[\-\+ ]?#?\p{Nd}*,?(\.\p{Nd}+)?[bcdeEfFgGnosxX\%]?)?\})/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}]*|\[[^\]'"]+\])*(![rsa])?(:)[^'"\{\}\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}+|\*))?([hlL])?[diouxXeEfFgGcrsab\%])/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}*(set|get)\p{space}+=\p{space}+([a-zA-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-zA-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-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)(?:,\p{space}*([a-zA-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/gdshader.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"GDShader",fileTypes:["gdshader"],name:"gdshader",patterns:[{include:"#any"}],repository:{any:{patterns:[{include:"#comment"},{include:"#enclosed"},{include:"#classifier"},{include:"#definition"},{include:"#keyword"},{include:"#element"},{include:"#separator"},{include:"#operator"}]},arraySize:{begin:/\[/dgv,captures:{"0":{name:"punctuation.bracket.gdshader"}},end:/\]/dgv,name:"meta.array-size.gdshader",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#element"},{include:"#separator"}]},classifier:{begin:/(?=\b(?:shader_type|render_mode)\b)/dgv,end:/(?<=;)/dgv,name:"meta.classifier.gdshader",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#identifierClassification"},{include:"#separator"}]},classifierKeyword:{match:/\b(?:shader_type|render_mode)\b/dgv,name:"keyword.language.classifier.gdshader"},comment:{patterns:[{include:"#commentLine"},{include:"#commentBlock"}]},commentBlock:{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.gdshader"},commentLine:{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.gdshader"},constantFloat:{match:/\b(?:E|PI|TAU)\b/dgv,name:"constant.language.float.gdshader"},constructor:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?=\p{space}*\[\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\]\p{space}
|
|
1
|
+
const lang = Object.freeze({displayName:"GDShader",fileTypes:["gdshader"],name:"gdshader",patterns:[{include:"#any"}],repository:{any:{patterns:[{include:"#comment"},{include:"#enclosed"},{include:"#classifier"},{include:"#definition"},{include:"#keyword"},{include:"#element"},{include:"#separator"},{include:"#operator"}]},arraySize:{begin:/\[/dgv,captures:{"0":{name:"punctuation.bracket.gdshader"}},end:/\]/dgv,name:"meta.array-size.gdshader",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#element"},{include:"#separator"}]},classifier:{begin:/(?=\b(?:shader_type|render_mode)\b)/dgv,end:/(?<=;)/dgv,name:"meta.classifier.gdshader",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#identifierClassification"},{include:"#separator"}]},classifierKeyword:{match:/\b(?:shader_type|render_mode)\b/dgv,name:"keyword.language.classifier.gdshader"},comment:{patterns:[{include:"#commentLine"},{include:"#commentBlock"}]},commentBlock:{begin:/\/\*/dgv,end:/\*\//dgv,name:"comment.block.gdshader"},commentLine:{begin:/\/\//dgv,end:/(?=\n?$)/dgv,name:"comment.line.double-slash.gdshader"},constantFloat:{match:/\b(?:E|PI|TAU)\b/dgv,name:"constant.language.float.gdshader"},constructor:{match:/\b(?:[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?=\p{space}*\[\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\]\p{space}*\()|[A-Z][\p{L}\p{M}\p{N}\p{Pc}]*(?=\p{space}*\())/dgv,name:"entity.name.type.constructor.gdshader"},controlKeyword:{match:/\b(?:if|else|do|while|for|continue|break|switch|case|default|return|discard)\b/dgv,name:"keyword.control.gdshader"},definition:{patterns:[{include:"#structDefinition"}]},element:{patterns:[{include:"#literalFloat"},{include:"#literalInt"},{include:"#literalBool"},{include:"#identifierType"},{include:"#constructor"},{include:"#processorFunction"},{include:"#identifierFunction"},{include:"#swizzling"},{include:"#identifierField"},{include:"#constantFloat"},{include:"#languageVariable"},{include:"#identifierVariable"}]},enclosed:{begin:/\(/dgv,captures:{"0":{name:"punctuation.parenthesis.gdshader"}},end:/\)/dgv,name:"meta.parenthesis.gdshader",patterns:[{include:"#any"}]},fieldDefinition:{begin:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,beginCaptures:{"0":{patterns:[{include:"#typeKeyword"},{match:/[^\n]+/dgv,name:"entity.name.type.gdshader"}]}},end:/(?<=;)/dgv,name:"meta.definition.field.gdshader",patterns:[{include:"#comment"},{include:"#keyword"},{include:"#arraySize"},{include:"#fieldName"},{include:"#any"}]},fieldName:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.variable.field.gdshader"},hintKeyword:{match:/\b(?:source_color|hint_(?:color|range|(?:black_)?albedo|normal|(?:default_)?(?:white|black)|aniso|anisotropy|roughness_(?:[rgba]|normal|gray))|filter_(?:nearest|linear)(?:_mipmap(?:_anisotropic)?)?|repeat_(?:en|dis)able)\b/dgv,name:"support.type.annotation.gdshader"},identifierClassification:{match:/\b[a-z_]+\b/dgv,name:"entity.other.inherited-class.gdshader"},identifierField:{captures:{"1":{name:"punctuation.accessor.gdshader"},"2":{name:"entity.name.variable.field.gdshader"}},match:/(\.)\p{space}*([a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*)\b(?!\p{space}*\()/dgv},identifierFunction:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?=(?:\p{space}|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\()/dgv,name:"entity.name.function.gdshader"},identifierType:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*(?=(?:\p{space}*\[\p{space}*[\p{L}\p{M}\p{N}\p{Pc}]*\p{space}*\])?\p{space}+[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b)/dgv,name:"entity.name.type.gdshader"},identifierVariable:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"variable.name.gdshader"},keyword:{patterns:[{include:"#classifierKeyword"},{include:"#structKeyword"},{include:"#controlKeyword"},{include:"#modifierKeyword"},{include:"#precisionKeyword"},{include:"#typeKeyword"},{include:"#hintKeyword"}]},languageVariable:{match:/\b[A-Z][A-Z_0-9]*\b/dgv,name:"variable.language.gdshader"},literalBool:{match:/\b(?:false|true)\b/dgv,name:"constant.language.boolean.gdshader"},literalFloat:{match:/\b(?:\p{Nd}+[eE][\-\+]?\p{Nd}+|(?:\p{Nd}*\.\p{Nd}+|\p{Nd}+\.)(?:[eE][\-\+]?\p{Nd}+)?)[fF]?/dgv,name:"constant.numeric.float.gdshader"},literalInt:{match:/\b(?:0[xX]\p{AHex}+|\p{Nd}+[uU]?)\b/dgv,name:"constant.numeric.integer.gdshader"},modifierKeyword:{match:/\b(?:const|global|instance|uniform|varying|in|out|inout|flat|smooth)\b/dgv,name:"storage.modifier.gdshader"},operator:{match:/<<=?|>>=?|[\-\+\*\/\&\|\<\>\=\!]=|&&|\|\||[\-\+\~\!\*\/\%\<\>\&\^\|\=]/dgv,name:"keyword.operator.gdshader"},precisionKeyword:{match:/\b(?:low|medium|high)p\b/dgv,name:"storage.type.built-in.primitive.precision.gdshader"},processorFunction:{match:/\b(?:vertex|fragment|light|start|process|sky|fog)(?=(?:\p{space}|\/\*(?:\*(?!\/)|[^\*])*\*\/)*\()/dgv,name:"support.function.gdshader"},separator:{patterns:[{match:/\./dgv,name:"punctuation.accessor.gdshader"},{include:"#separatorComma"},{match:/;/dgv,name:"punctuation.terminator.statement.gdshader"},{match:/:/dgv,name:"keyword.operator.type.annotation.gdshader"}]},separatorComma:{match:/,/dgv,name:"punctuation.separator.comma.gdshader"},structDefinition:{begin:/(?=\bstruct\b)/dgv,end:/(?<=;)/dgv,patterns:[{include:"#comment"},{include:"#keyword"},{include:"#structName"},{include:"#structDefinitionBlock"},{include:"#separator"}]},structDefinitionBlock:{begin:/\{/dgv,captures:{"0":{name:"punctuation.definition.block.struct.gdshader"}},end:/\}/dgv,name:"meta.definition.block.struct.gdshader",patterns:[{include:"#comment"},{include:"#precisionKeyword"},{include:"#fieldDefinition"},{include:"#keyword"},{include:"#any"}]},structKeyword:{match:/\bstruct\b/dgv,name:"keyword.other.struct.gdshader"},structName:{match:/\b[a-zA-Z_][\p{L}\p{M}\p{N}\p{Pc}]*\b/dgv,name:"entity.name.type.struct.gdshader"},swizzling:{captures:{"1":{name:"punctuation.accessor.gdshader"},"2":{name:"variable.other.property.gdshader"}},match:/(\.)\p{space}*([xyzw]{2,4}|[rgba]{2,4}|[stpq]{2,4})\b/dgv},typeKeyword:{match:/\b(?:void|bool|[biu]?vec[234]|u?int|float|mat[234]|[iu]?sampler(?:3D|2D(?:Array)?)|samplerCube)\b/dgv,name:"support.type.gdshader"}},scopeName:"source.gdshader",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/genie.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Genie",fileTypes:["gs"],name:"genie",patterns:[{include:"#code"}],repository:{code:{patterns:[{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#keywords"},{include:"#types"},{include:"#functions"},{include:"#variables"}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.vala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.vala"},{include:"text.html.javadoc"},{include:"#comments-inline"}]},"comments-inline":{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.vala"}},end:/\*\//dgv,name:"comment.block.vala"},{captures:{"1":{name:"comment.line.double-slash.vala"},"2":{name:"punctuation.definition.comment.vala"}},match:/\p{space}*((\/\/)[^\n]*(?=\n?$)\n?)/dgv}]},constants:{patterns:[{match:/\b((0(
|
|
1
|
+
const lang = Object.freeze({displayName:"Genie",fileTypes:["gs"],name:"genie",patterns:[{include:"#code"}],repository:{code:{patterns:[{include:"#comments"},{include:"#constants"},{include:"#strings"},{include:"#keywords"},{include:"#types"},{include:"#functions"},{include:"#variables"}]},comments:{patterns:[{captures:{"0":{name:"punctuation.definition.comment.vala"}},match:/\/\*\*\//dgv,name:"comment.block.empty.vala"},{include:"text.html.javadoc"},{include:"#comments-inline"}]},"comments-inline":{patterns:[{begin:/\/\*/dgv,captures:{"0":{name:"punctuation.definition.comment.vala"}},end:/\*\//dgv,name:"comment.block.vala"},{captures:{"1":{name:"comment.line.double-slash.vala"},"2":{name:"punctuation.definition.comment.vala"}},match:/\p{space}*((\/\/)[^\n]*(?=\n?$)\n?)/dgv}]},constants:{patterns:[{match:/\b((0([xX])\p{AHex}*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))(([eE])([\+\-])?[0-9]+)?)([LlFfUuDd]|UL|ul)?\b/dgv,name:"constant.numeric.vala"},{match:/\b([A-Z][A-Z0-9_]+)\b/dgv,name:"variable.other.constant.vala"}]},functions:{patterns:[{match:/([\p{L}\p{M}\p{N}\p{Pc}]+)(?=\p{space}*(<[\p{space}\p{L}\p{M}\p{N}\p{Pc}\.]+>\p{space}*)?\()/dgv,name:"entity.name.function.vala"}]},keywords:{patterns:[{match:/(?<=^|[^\@\p{L}\p{M}\p{N}\p{Pc}\.])(as|do|if|in|is|of|or|to|and|def|for|get|isa|new|not|out|ref|set|try|var|case|dict|else|enum|init|list|lock|null|pass|prop|self|true|uses|void|weak|when|array|async|break|class|const|event|false|final|owned|print|super|raise|while|yield|assert|delete|downto|except|extern|inline|params|public|raises|return|sealed|sizeof|static|struct|typeof|default|dynamic|ensures|finally|private|unowned|virtual|abstract|continue|delegate|internal|override|readonly|requires|volatile|construct|errordomain|interface|namespace|protected|implements)\b/dgv,name:"keyword.vala"},{match:/(?<=^|[^\@\p{L}\p{M}\p{N}\p{Pc}\.])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\b/dgv,name:"keyword.vala"},{match:/(#(?:if|elif|else|endif))/dgv,name:"keyword.vala"}]},strings:{patterns:[{begin:/"""/dgv,end:/"""/dgv,name:"string.quoted.triple.vala"},{begin:/@"/dgv,end:/"/dgv,name:"string.quoted.interpolated.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"},{match:/\$[\p{L}\p{M}\p{N}\p{Pc}]+/dgv,name:"constant.character.escape.vala"},{match:/\$\(([^\)\(]|\(([^\)\(]|\([^\)]*\))*\))*\)/dgv,name:"constant.character.escape.vala"}]},{begin:/"/dgv,end:/"/dgv,name:"string.quoted.double.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{begin:/'/dgv,end:/'/dgv,name:"string.quoted.single.vala",patterns:[{match:/\\[^\n]/dgv,name:"constant.character.escape.vala"}]},{match:/\/((\\\/)|([^\/]))*\/(?=\p{space}*[\,\;\)\.\n])/dgv,name:"string.regexp.vala"}]},types:{patterns:[{match:/(?<=^|[^\@\p{L}\p{M}\p{N}\p{Pc}\.])(bool|double|float|unichar|char|uchar|int|uint|long|ulong|short|ushort|size_t|ssize_t|string|void|signal|int8|int16|int32|int64|uint8|uint16|uint32|uint64)\b/dgv,name:"storage.type.primitive.vala"},{match:/\b([A-Z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"entity.name.type.vala"}]},variables:{patterns:[{match:/\b([_a-z]+[\p{L}\p{M}\p{N}\p{Pc}]*)\b/dgv,name:"variable.other.vala"}]}},scopeName:"source.genie",embeddedLangs:undefined,aliases:undefined})
|
|
2
2
|
|
|
3
3
|
export default [
|
|
4
4
|
lang
|
package/dist/git-rebase.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import shellscript from './shellscript.mjs'
|
|
2
2
|
|
|
3
|
-
const lang = Object.freeze({displayName:"Git Rebase Message",name:"git-rebase",patterns:[{captures:{"1":{name:"punctuation.definition.comment.git-rebase"}},match:/^\p{space}*(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"},"2":{name:"constant.sha.git-rebase"},"3":{name:"meta.commit-message.git-rebase"}},match:/^\p{space}*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\p{space}+([0-9a-f]+)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"meta.commit-command.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"},"2":{patterns:[{include:"source.shell"}]}},match:/^\p{space}*(exec|x)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"meta.commit-command.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"}},match:/^\p{space}*(
|
|
3
|
+
const lang = Object.freeze({displayName:"Git Rebase Message",name:"git-rebase",patterns:[{captures:{"1":{name:"punctuation.definition.comment.git-rebase"}},match:/^\p{space}*(#)[^\n]*(?=\n?$)\n?/dgv,name:"comment.line.number-sign.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"},"2":{name:"constant.sha.git-rebase"},"3":{name:"meta.commit-message.git-rebase"}},match:/^\p{space}*(pick|p|reword|r|edit|e|squash|s|fixup|f|drop|d)\p{space}+([0-9a-f]+)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"meta.commit-command.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"},"2":{patterns:[{include:"source.shell"}]}},match:/^\p{space}*(exec|x)\p{space}+([^\n]*)(?=\n?$)/dgv,name:"meta.commit-command.git-rebase"},{captures:{"1":{name:"support.function.git-rebase"}},match:/^\p{space}*(b(?:reak|))\p{space}*(?=\n?$)/dgv,name:"meta.commit-command.git-rebase"}],scopeName:"text.git-rebase",embeddedLangs:["shellscript"],aliases:undefined})
|
|
4
4
|
|
|
5
5
|
export default [
|
|
6
6
|
...shellscript,
|
package/dist/gleam.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const lang = Object.freeze({displayName:"Gleam",name:"gleam",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#strings"},{include:"#constant"},{include:"#entity"},{include:"#discards"}],repository:{binary_number:{match:/\b0[bB]0*1[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"},{include:"#boolean"},{match
|
|
1
|
+
const lang = Object.freeze({displayName:"Gleam",name:"gleam",patterns:[{include:"#comments"},{include:"#keywords"},{include:"#strings"},{include:"#constant"},{include:"#entity"},{include:"#discards"}],repository:{binary_number:{match:/\b0[bB]0*1[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"},{include:"#boolean"},{match:/\p{Upper}[\p{Alpha}\p{Nd}]*/dgv,name:"entity.name.type.gleam"}]},decimal_number:{match:/\b(0*[1-9][0-9_]*|0)(\.(0*[1-9][0-9_]*|0)?(e-?0*[1-9][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]0*[1-9a-zA-Z][0-9a-zA-Z]*\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|try|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*[1-7][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])?([a-zA-Z0-9\-_\$\:\.]+)\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:/(&)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)/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}(@[a-zA-Z0-9\:_\.\-]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)(#|\/)(([\@\$a-zA-Z0-9_\/\.\-]+))/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:/(\{\{~?)(([\-a-zA-Z_0-9\/]+)\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}|else)([\(\)\@a-zA-Z0-9\.\p{space}\x08]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\(\)\p{space}\@a-zA-Z0-9_\.\-]+))/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])([a-zA-Z0-9_\.\-]+))/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([a-zA-Z0-9_\-]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([a-zA-Z0-9\:_\.\-]+)\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:/(\()([\@a-zA-Z0-9\.\-]+)/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}([a-zA-Z0-9\:_\.\-]+)(=)?/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:/(<\/?)([a-z0-9\-]+)(?!\.|:)\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}]+\.)*(?:hbs|html)\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])([a-zA-Z0-9_\.\-]+)/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([a-zA-Z0-9\-_]+)\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])?([a-zA-Z0-9\-_\$\:\.]+)\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:/(&)([a-zA-Z0-9]+|#[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}(@[a-zA-Z0-9\:_\.\-]+)(=)?/dgv},"glimmer-as-stuff":{patterns:[{include:"#as-keyword"},{include:"#as-params"}]},"glimmer-block":{begin:/(\{\{~?)([\#\/])(([\@\$a-zA-Z0-9_\/\.\-]+))/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:/(\{\{~?)(([\-a-zA-Z_0-9\/]+)\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}|))([\(\)\@a-zA-Z0-9\.\p{space}\x08]+)?(~?\}\})/dgv,name:"entity.expression.ember-handlebars"},"glimmer-expression":{begin:/(\{\{~?)(([\(\)\p{space}\@a-zA-Z0-9_\.\-]+))/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])([a-zA-Z0-9_\.\-]+))/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([a-zA-Z0-9_\-]+)(\p{space}?=)/dgv,patterns:[]},"glimmer-parameter-value":{captures:{"1":{name:"support.function",patterns:[{match:/(\.)+/dgv,name:"punctuation.definition.tag"}]}},match:/\b([a-zA-Z0-9\:_\.\-]+)\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:/(\()([\@a-zA-Z0-9\.\-]+)/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}([a-zA-Z0-9\:_\.\-]+)(=)?/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:/(<\/?)([a-z0-9\-]+)(?![\.\:])\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])([a-zA-Z0-9_\.\-]+)/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([a-zA-Z0-9\-_]+)\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,
|