github-linguist 7.30.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/inline.edgeql.json +1 -1
  3. data/grammars/inline.peggy.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/mdx.move.codeblock.json +1 -0
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.bicep.json +1 -1
  8. data/grammars/source.cairo.json +1 -1
  9. data/grammars/source.cairo0.json +1 -0
  10. data/grammars/source.cl.json +1 -1
  11. data/grammars/source.clar.json +1 -1
  12. data/grammars/source.clarion.json +1 -1
  13. data/grammars/source.cmd.json +1 -1
  14. data/grammars/source.commonlisp.json +1 -1
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.curlrc.json +1 -1
  17. data/grammars/source.curry.json +1 -1
  18. data/grammars/source.cylc.json +1 -0
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.dds.dspf.json +1 -1
  21. data/grammars/source.dds.icff.json +1 -1
  22. data/grammars/source.dds.lf.json +1 -1
  23. data/grammars/source.dds.pf.json +1 -1
  24. data/grammars/source.dds.prtf.json +1 -1
  25. data/grammars/source.dune.json +1 -0
  26. data/grammars/source.elvish.json +1 -1
  27. data/grammars/source.fsharp.json +1 -1
  28. data/grammars/source.gdscript.json +1 -1
  29. data/grammars/source.gitconfig.json +1 -1
  30. data/grammars/source.gleam.json +1 -1
  31. data/grammars/source.hgignore.json +1 -1
  32. data/grammars/source.hosts.json +1 -1
  33. data/grammars/source.iCalendar.json +1 -0
  34. data/grammars/source.ice.json +1 -1
  35. data/grammars/source.julia.json +1 -1
  36. data/grammars/source.just.json +1 -1
  37. data/grammars/source.lcb.json +1 -0
  38. data/grammars/source.lilypond.json +1 -1
  39. data/grammars/source.livecodescript.json +1 -0
  40. data/grammars/source.luau.json +1 -1
  41. data/grammars/source.matlab.json +1 -1
  42. data/grammars/source.mcfunction.json +1 -1
  43. data/grammars/source.mdx.json +1 -1
  44. data/grammars/source.mo.json +1 -1
  45. data/grammars/source.move.json +1 -1
  46. data/grammars/source.nanorc.json +1 -1
  47. data/grammars/source.nr.json +1 -0
  48. data/grammars/source.p4.json +1 -1
  49. data/grammars/source.peggy.json +1 -0
  50. data/grammars/source.polar.json +1 -1
  51. data/grammars/source.powerbuilder.json +1 -0
  52. data/grammars/source.qsharp.json +1 -1
  53. data/grammars/source.rpgle.json +1 -1
  54. data/grammars/source.rust.json +1 -1
  55. data/grammars/source.sentinel.json +1 -1
  56. data/grammars/source.sourcepawn.json +1 -1
  57. data/grammars/source.stan.json +1 -1
  58. data/grammars/source.swift.json +1 -1
  59. data/grammars/source.sy.json +1 -1
  60. data/grammars/source.vba.json +1 -1
  61. data/grammars/source.vcard.json +1 -0
  62. data/grammars/source.wdl.json +1 -1
  63. data/grammars/text.adblock.json +1 -1
  64. data/grammars/text.html.jte.json +1 -0
  65. data/grammars/text.html.statamic.json +1 -1
  66. data/grammars/text.md.json +1 -1
  67. data/grammars/text.mdx.astro.codeblock.json +1 -0
  68. data/grammars/version +1 -1
  69. data/lib/linguist/VERSION +1 -1
  70. data/lib/linguist/classifier.rb +315 -106
  71. data/lib/linguist/generated.rb +17 -4
  72. data/lib/linguist/generic.yml +1 -0
  73. data/lib/linguist/heuristics.rb +6 -6
  74. data/lib/linguist/heuristics.yml +54 -4
  75. data/lib/linguist/languages.json +1 -1
  76. data/lib/linguist/languages.yml +123 -7
  77. data/lib/linguist/samples.json +1 -1
  78. data/lib/linguist/samples.rb +9 -1
  79. data/lib/linguist/sha256.rb +1 -1
  80. metadata +17 -5
  81. data/grammars/markdown.mcfunction.codeblock.json +0 -1
  82. data/grammars/mdx.LANGUAGE.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(static)?\\s+(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(\u003c)?","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\s*([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\s*\\{)","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"name":"fast-capture.comment.line.mul-operator.fsharp","match":"\\(\\*\\)"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","while":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])//(.*$)"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))+)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.(?!\\.)([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","begin":"\\b(let mutable|static let mutable|static let|let inline|let|and|member val|member inline|static member inline|static member|default|member|override|let!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*((with\\b)|(=|\\n+=|(?\u003c=\\=)))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val inline|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.symbol.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|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"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.arrow.fsharp","match":"(\\-\u003e|\\\u003c\\-)"},{"name":"keyword.symbol.fsharp","match":"(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|~\\+|~\\-|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|\u0026|%|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]|``][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]|``][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private|struct\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
1
+ {"name":"fsharp","scopeName":"source.fsharp","patterns":[{"include":"#compiler_directives"},{"include":"#comments"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#abstract_definition"},{"include":"#attributes"},{"include":"#modules"},{"include":"#anonymous_functions"},{"include":"#du_declaration"},{"include":"#record_declaration"},{"include":"#records"},{"include":"#strp_inlined"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"repository":{"abstract_definition":{"name":"abstract.definition.fsharp","begin":"\\b(static)?\\s+(abstract)\\s+(member)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(\u003c)?","end":"\\s*(with)\\b|=|$","patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)((?!with\\b)\\b([\\w0-9'`^._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"match":"(?!with|get|set\\b)\\s*([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"support.function.attribute.fsharp"},"5":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.fsharp"}}},"anonymous_functions":{"patterns":[{"name":"function.anonymous","begin":"\\b(fun)\\b","end":"(-\u003e)","patterns":[{"include":"#comments"},{"begin":"(\\()","end":"\\s*(?=(-\u003e))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"}}}]},"anonymous_record_declaration":{"begin":"(\\{\\|)","end":"(\\|\\})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(:)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},"attributes":{"patterns":[{"name":"support.function.attribute.fsharp","begin":"\\[\\\u003c","end":"\\\u003e\\]|\\]","patterns":[{"include":"$self"}]}]},"cexprs":{"patterns":[{"name":"cexpr.fsharp","match":"\\b(async|seq|promise|task|maybe|asyncMaybe|controller|scope|application|pipeline)(?=\\s*\\{)","captures":{"0":{"name":"keyword.fsharp"}}}]},"chars":{"patterns":[{"name":"char.fsharp","match":"('\\\\?.')","captures":{"1":{"name":"string.quoted.single.fsharp"}}}]},"comments":{"patterns":[{"name":"comment.literate.command.fsharp","match":"(\\(\\*{3}.*\\*{3}\\))","beginCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp","begin":"^\\s*(\\(\\*\\*(?!\\)))((?!\\*\\)).)*$","while":"^(?!\\s*(\\*)+\\)\\s*$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.fsharp","begin":"(\\(\\*(?!\\)))","end":"(\\*+\\))","patterns":[{"name":"fast-capture.comment.line.double-slash.fsharp","match":"//"},{"name":"fast-capture.comment.line.mul-operator.fsharp","match":"\\(\\*\\)"},{"include":"#comments"}],"beginCaptures":{"1":{"name":"comment.block.fsharp"}},"endCaptures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.block.markdown.fsharp.end","match":"((?\u003c!\\()(\\*)+\\))","captures":{"1":{"name":"comment.block.fsharp"}}},{"name":"comment.line.markdown.fsharp","begin":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","while":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])///(?!/)","patterns":[{"include":"source.gfm"}]},{"name":"comment.line.double-slash.fsharp","match":"(?\u003c![!%\u0026+-.\u003c=\u003e?@^|/])//(.*$)"}]},"common_binding_definition":{"patterns":[{"include":"#comments"},{"include":"#attributes"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(:)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]*)))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(:)\\s*(\\^[[:alpha:]0-9'._]+)\\s*(when)","end":"(?=:)","patterns":[{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"match":"([[:alpha:]0-9'^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(:)\\s*([?[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"match":"(-\u003e)\\s*(\\()?\\s*([?[:alpha:]0-9'`^._ ]+)*","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)\\s*(\\()","end":"(\\)\\s*(([?[:alpha:]0-9'`^._ ]+))*)","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\*)(\\s*([?[:alpha:]0-9'`^._ ]+))*","end":"(?==)|(?=\\))","patterns":[{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\u003c+(?![[:space:]]*\\)))","end":"((?\u003c!:)\u003e|\\))","patterns":[{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"({)","end":"(})","patterns":[{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#definition"},{"include":"#variables"},{"include":"#keywords"}]},"common_declaration":{"patterns":[{"begin":"\\s*(-\u003e)\\s*([[:alpha:]0-9'`^._ ]+)(\u003c)","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"},"3":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(-\u003e)\\s*(?!with|get|set\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"keyword.symbol.arrow.fsharp"},"2":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"begin":"(\\?{0,1})([[:alpha:]0-9'`^._ ]+)\\s*(:)(\\s*([?[:alpha:]0-9'`^._ ]+)(\u003c))","end":"(\u003e)","patterns":[{"match":"([[:alpha:]0-9'`^._ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"keyword.symbol.fsharp"},"5":{"name":"entity.name.type.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"compiler_directives":{"patterns":[{"name":"keyword.control.directive.fsharp","match":"\\s?(#if|#elif|#elseif|#else|#endif|#light|#nowarn)"}]},"constants":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"name":"constant.numeric.float.fsharp","match":"\\b-?[0-9][0-9_]*((\\.(?!\\.)([0-9][0-9_]*([eE][+-]??[0-9][0-9_]*)?)?)|([eE][+-]??[0-9][0-9_]*))"},{"name":"constant.numeric.integer.nativeint.fsharp","match":"\\b(-?((0(x|X)[0-9a-fA-F][0-9a-fA-F_]*)|(0(o|O)[0-7][0-7_]*)|(0(b|B)[01][01_]*)|([0-9][0-9_]*)))"},{"name":"constant.language.boolean.fsharp","match":"\\b(true|false)\\b"},{"name":"constant.other.fsharp","match":"\\b(null|void)\\b"}]},"definition":{"patterns":[{"name":"binding.fsharp","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!)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*((with\\b)|(=|\\n+=|(?\u003c=\\=)))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(use|use!|and|and!)\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=)","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"(?\u003c=with|and)\\s*\\b((get|set)\\s*(?=\\())(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\s*(=|\\n+=|(?\u003c=\\=))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"4":{"name":"variable.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(static val mutable|val mutable|val inline|val)(\\s+rec|mutable)?(\\s+\\[\\\u003c.*\\\u003e\\])?\\s*(private|internal|public)?\\s+(\\[[^-=]*\\]|[_[:alpha:]]([_[:alpha:]0-9,\\._]+)*|``[_[:alpha:]]([_[:alpha:]0-9,\\._`\\s]+|(?\u003c=,)\\s)*)?","end":"\\n$","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"support.function.attribute.fsharp"},"4":{"name":"storage.modifier.fsharp"},"5":{"name":"variable.fsharp"}}},{"name":"binding.fsharp","begin":"\\b(new)\\b\\s+(\\()","end":"(\\))","patterns":[{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"double_tick":{"patterns":[{"name":"variable.other.binding.fsharp","match":"(``)([^`]*)(``)","captures":{"1":{"name":"string.quoted.single.fsharp"},"2":{"name":"variable.other.binding.fsharp"},"3":{"name":"string.quoted.single.fsharp"}}}]},"du_declaration":{"patterns":[{"name":"du_declaration.fsharp","begin":"\\b(of)\\b","end":"$|(\\|)","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)","captures":{"1":{"name":"variable.parameter.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"entity.name.type.fsharp"}}},{"match":"(``([[:alpha:]0-9'^._ ]+)``|[[:alpha:]0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#anonymous_record_declaration"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"generic_declaration":{"patterns":[{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|yield!|yield|class|exception|match|delegate|of|new|in|as|if|then|else|elif|for|begin|end|inherit|do|let\\!|return\\!|return|interface|with|abstract|enum|member|try|finally|and|when|or|use|use\\!|struct|while|mutable|assert|base|done|downcast|downto|extern|fixed|global|lazy|upcast|not)(?!')\\b"},{"name":"keyword.symbol.fsharp","match":":"},{"include":"#constants"},{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"(\u003e)","patterns":[{"match":"(('|\\^)[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"},{"include":"#generic_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(?!when|and|or\\b)\\b([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"match":"(\\|)","captures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"keywords":{"patterns":[{"name":"storage.modifier","match":"\\b(private|public|internal)\\b"},{"name":"keyword.fsharp","match":"\\b(private|to|public|internal|function|class|exception|delegate|of|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"},{"name":"keyword.control","match":"\\b(match|yield|yield!|with|if|then|else|elif|for|in|return!|return|try|finally|while|do)(?!')\\b"},{"name":"keyword.symbol.arrow.fsharp","match":"(\\-\u003e|\\\u003c\\-)"},{"name":"keyword.symbol.fsharp","match":"[.?]*(\u0026\u0026\u0026|\\|\\|\\||\\^\\^\\^|~~~|~\\+|~\\-|\u003c\u003c\u003c|\u003e\u003e\u003e|\\|\u003e|:\u003e|:\\?\u003e|:|\\[|\\]|\\;|\u003c\u003e|=|@|\\|\\||\u0026\u0026|\u0026|%|{|}|\\||_|\\.\\.|\\,|\\+|\\-|\\*|\\/|\\^|\\!|\\\u003e|\\\u003e\\=|\\\u003e\\\u003e|\\\u003c|\\\u003c\\=|\\(|\\)|\\\u003c\\\u003c)[.?]*"}]},"member_declaration":{"patterns":[{"include":"#comments"},{"include":"#common_declaration"},{"begin":"(:)\\s*(\\()\\s*(static member|member)","end":"(\\))\\s*((?=,)|(?=\\=))","patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#variables"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"keyword.symbol.fsharp"},"3":{"name":"keyword.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"name":"keyword.symbol.fsharp","match":"(\\(|\\))"},{"match":"(\\?{0,1})([[:alpha:]0-9'`^._]+|``[[:alpha:]0-9'`^:,._ ]+``)\\s*(:{0,1})(\\s*([?[:alpha:]0-9'`\u003c\u003e._ ]+)){0,1}","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}]},"modules":{"patterns":[{"name":"entity.name.section.fsharp","begin":"\\b(namespace global)|\\b(namespace|module)\\s*(public|internal|private|rec)?\\s+([[:alpha:]|``][[:alpha:]0-9'_. ]*)","end":"(\\s?=|\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"keyword.fsharp"},"3":{"name":"storage.modifier.fsharp"},"4":{"name":"entity.name.section.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"name":"namespace.open.fsharp","begin":"\\b(open type|open)\\s+([[:alpha:]|``][[:alpha:]0-9'_]*)(?=(\\.[A-Z][[:alpha:]0-9_]*)*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([[:alpha:]][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.section.fsharp"}}},{"name":"namespace.alias.fsharp","begin":"^\\s*(module)\\s+([A-Z][[:alpha:]0-9'_]*)\\s*(=)\\s*([A-Z][[:alpha:]0-9'_]*)","end":"(\\s|$)","patterns":[{"name":"entity.name.section.fsharp","match":"(\\.)([A-Z][[:alpha:]0-9'_]*)","captures":{"1":{"name":"punctuation.separator.namespace-reference.fsharp"},"2":{"name":"entity.name.section.fsharp"}}}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"entity.name.type.namespace.fsharp"},"3":{"name":"keyword.symbol.fsharp"},"4":{"name":"entity.name.section.fsharp"}}}]},"record_declaration":{"patterns":[{"begin":"(\\{)","end":"(?\u003c=\\})","patterns":[{"include":"#comments"},{"begin":"(((mutable)\\s[[:alpha:]]+)|[[:alpha:]0-9'`\u003c\u003e^._]*)\\s*((?\u003c!:):(?!:))\\s*","end":"$|(;|\\})","patterns":[{"include":"#comments"},{"match":"([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#definition"},{"include":"#attributes"},{"include":"#anonymous_functions"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"record_signature":{"patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"begin":"({)","end":"(})","patterns":[{"match":"[[:alpha:]0-9'`^_ ]+(=)([[:alpha:]0-9'`^_ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}},{"include":"#record_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"records":{"patterns":[{"name":"record.fsharp","begin":"\\b(type)[\\s]+(private|internal|public)?\\s*","end":"\\s*((with)|((as)\\s+([[:alpha:]0-9']+))|(=)|[\\n=]|(\\(\\)))","patterns":[{"include":"#comments"},{"include":"#attributes"},{"match":"([[:alpha:]0-9'^._]+|``[[:alpha:]0-9'`^:,._ ]+``)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\u003c)","end":"((?\u003c!:)\u003e)","patterns":[{"match":"(('|\\^)``[[:alpha:]0-9`^:,._ ]+``|('|\\^)[[:alpha:]0-9`^:._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(interface|with|abstract|and|when|or|not|struct|equality|comparison|unmanaged|delegate|enum)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(static member|member|new)","captures":{"1":{"name":"keyword.fsharp"}}},{"include":"#common_binding_definition"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"([\\w0-9'`^._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"\\s*(private|internal|public)","captures":{"1":{"name":"storage.modifier.fsharp"}}},{"begin":"(\\()","end":"\\s*(?=(=)|[\\n=]|(\\(\\))|(as))","patterns":[{"include":"#member_declaration"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.fsharp"},"2":{"name":"storage.modifier.fsharp"}},"endCaptures":{"2":{"name":"keyword.fsharp"},"3":{"name":"keyword.fsharp"},"4":{"name":"keyword.fsharp"},"5":{"name":"variable.parameter.fsharp"},"6":{"name":"keyword.symbol.fsharp"},"7":{"name":"keyword.symbol.fsharp"}}}]},"string_formatter":{"patterns":[{"name":"entity.name.type.format.specifier.fsharp","match":"(%0?-?(\\d+)?((a|t)|(\\.\\d+)?(f|F|e|E|g|G|M)|(b|c|s|d|i|x|X|o|u)|(s|b|O)|(\\+?A)))","captures":{"1":{"name":"keyword.format.specifier.fsharp"}}}]},"strings":{"patterns":[{"name":"string.quoted.literal.fsharp","begin":"(?=[^\\\\])(@\")","end":"(\")(?!\")","patterns":[{"name":"constant.character.string.escape.fsharp","match":"\"(\")"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.triple.fsharp","begin":"(?=[^\\\\])(\"\"\")","end":"(\"\"\")","patterns":[{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}},{"name":"string.quoted.double.fsharp","begin":"(?=[^\\\\])(\")","end":"(\")","patterns":[{"name":"punctuation.separator.string.ignore-eol.fsharp","match":"\\\\$[ \\t]*"},{"name":"constant.character.string.escape.fsharp","match":"\\\\(['\"\\\\abfnrtv]|([01][0-9][0-9]|2[0-4][0-9]|25[0-5])|(x[0-9a-fA-F]{2})|(u[0-9a-fA-F]{4})|(U00(0[0-9a-fA-F]|10)[0-9a-fA-F]{4}))"},{"name":"invalid.illegal.character.string.fsharp","match":"\\\\(([0-9]{1,3})|(x[^\\s]{0,2})|(u[^\\s]{0,4})|(U[^\\s]{0,8})|[^\\s])"},{"include":"#string_formatter"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.fsharp"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.fsharp"}}}]},"strp_inlined":{"patterns":[{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}}]},"strp_inlined_body":{"patterns":[{"include":"#comments"},{"include":"#anonymous_functions"},{"match":"(\\^[[:alpha:]0-9'._]+)","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"name":"keyword.fsharp","match":"\\b(and|when|or)\\b"},{"begin":"(\\()","end":"(\\))","patterns":[{"include":"#strp_inlined_body"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"match":"(static member|member)\\s*([[:alpha:]0-9'`\u003c\u003e^._]+|``[[:alpha:]0-9' \u003c\u003e^._]+``)\\s*(:)","captures":{"1":{"name":"keyword.fsharp"},"2":{"name":"variable.fsharp"},"3":{"name":"keyword.symbol.fsharp"}}},{"include":"#compiler_directives"},{"include":"#constants"},{"include":"#strings"},{"include":"#chars"},{"include":"#double_tick"},{"include":"#keywords"},{"include":"#text"},{"include":"#definition"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#cexprs"},{"include":"#text"}]},"text":{"patterns":[{"name":"text.fsharp","match":"\\\\"}]},"tuple_signature":{"patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"begin":"(\\()","end":"(\\))","patterns":[{"match":"(([?[:alpha:]0-9'`^._ ]+))+","captures":{"1":{"name":"entity.name.type.fsharp"}}},{"include":"#tuple_signature"}],"beginCaptures":{"1":{"name":"keyword.symbol.fsharp"}},"endCaptures":{"1":{"name":"keyword.symbol.fsharp"}}},{"include":"#keywords"}]},"variables":{"patterns":[{"name":"keyword.symbol.fsharp","match":"\\(\\)"},{"match":"(\\?{0,1})(``[[:alpha:]0-9'`^:,._ ]+``|(?!private|struct\\b)\\b[\\w[:alpha:]0-9'`\u003c\u003e^._ ]+)","captures":{"1":{"name":"keyword.symbol.fsharp"},"2":{"name":"variable.parameter.fsharp"}}}]}}}
@@ -1 +1 @@
1
- {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.builtin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|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|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"support.function.any-method.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|/=|%=|\u0026=|\\|=|\\*|/|%|\\+|-|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~|!"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#logic_operator"},{"include":"#compare_operator"},{"include":"#arithmetic_operator"},{"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":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#builtin_classes"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|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|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!="},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|match|yield|await)\\b"},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?x)\n \\b(?=\n ([a-zA-Z_]\\w*) \\s* (\\()\n )\n","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"beginCaptures":{"2":{"name":"punctuation.definition.arguments.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"support.function.any-method.gdscript","match":"(?x)\n \\b ([a-zA-Z_]\\w*) \\b\n"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|preload|assert|breakpoint|rpc|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"logic_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not|!)\\b"},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"nodepath_function":{"begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z][a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_formatting":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_formatting"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.gdscript","begin":"\\b(?:(var)|(const))\\s+(?:(\\b[A-Z_][A-Z_0-9]*\\b)|([A-Za-z_]\\w*))\\s*","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"constant.language.gdscript"},"4":{"name":"variable.other.gdscript"}}}}}
1
+ {"name":"GDScript","scopeName":"source.gdscript","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated_parameter":{"begin":"(?x)\n \\s* ([a-zA-Z_]\\w*) \\s* (:)\\s* ([a-zA-Z_]\\w*)? \n","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"}],"beginCaptures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.annotation.gdscript"},"3":{"name":"entity.name.type.class.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"annotations":{"match":"(@)(export|export_color_no_alpha|export_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|icon|onready|rpc|tool|warning_ignore|abstract)\\b","captures":{"1":{"name":"entity.name.function.decorator.gdscript"},"2":{"name":"entity.name.function.decorator.gdscript"}}},"any_method":{"name":"entity.name.function.other.gdscript","match":"\\b([A-Za-z_]\\w*)\\b(?=\\s*(?:[(]))"},"any_property":{"match":"\\b(\\.)\\s*(?\u003c![@\\$#%])(?:([A-Z_][A-Z_0-9]*)|([A-Za-z_]\\w*))\\b(?![(])","captures":{"1":{"name":"punctuation.accessor.gdscript"},"2":{"name":"constant.language.gdscript"},"3":{"name":"variable.other.property.gdscript"}}},"any_variable":{"name":"variable.other.gdscript","match":"\\b(?\u003c![@\\$#%])([A-Za-z_]\\w*)\\b(?![(])"},"arithmetic_operator":{"name":"keyword.operator.arithmetic.gdscript","match":"-\u003e|\\+=|-=|\\*=|\\^=|/=|%=|\u0026=|~=|\\|=|\\*\\*|\\*|/|%|\\+|-"},"assignment_operator":{"name":"keyword.operator.assignment.gdscript","match":"="},"base_expression":{"patterns":[{"include":"#builtin_get_node_shorthand"},{"include":"#nodepath_object"},{"include":"#nodepath_function"},{"include":"#strings"},{"include":"#builtin_classes"},{"include":"#const_vars"},{"include":"#keywords"},{"include":"#operators"},{"include":"#lambda_declaration"},{"include":"#class_declaration"},{"include":"#variable_declaration"},{"include":"#signal_declaration_bare"},{"include":"#signal_declaration"},{"include":"#function_declaration"},{"include":"#statement_keyword"},{"include":"#assignment_operator"},{"include":"#in_keyword"},{"include":"#control_flow"},{"include":"#match_keyword"},{"include":"#curly_braces"},{"include":"#square_braces"},{"include":"#round_braces"},{"include":"#function_call"},{"include":"#comment"},{"include":"#self"},{"include":"#func"},{"include":"#letter"},{"include":"#numbers"},{"include":"#pascal_case_class"},{"include":"#line_continuation"}]},"bitwise_operator":{"name":"keyword.operator.bitwise.gdscript","match":"\u0026|\\||\u003c\u003c=|\u003e\u003e=|\u003c\u003c|\u003e\u003e|\\^|~"},"boolean_operator":{"name":"keyword.operator.boolean.gdscript","match":"(\u0026\u0026|\\|\\|)"},"builtin_classes":{"name":"entity.name.type.class.builtin.gdscript","match":"(?\u003c![^.]\\.|:)\\b(OS|GDScript|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|super)\\b"},"builtin_get_node_shorthand":{"patterns":[{"include":"#builtin_get_node_shorthand_quoted"},{"include":"#builtin_get_node_shorthand_bare"},{"include":"#builtin_get_node_shorthand_bare_multi"}]},"builtin_get_node_shorthand_bare":{"name":"meta.literal.nodepath.gdscript","captures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_bare_multi":{"name":"meta.literal.nodepath.gdscript","begin":"(\\$|%|\\$%)([a-zA-Z_]\\w*)","end":"(?!\\s*/\\s*%?\\s*[a-zA-Z_]\\w*)","patterns":[{"match":"(/)\\s*(%)?\\s*([a-zA-Z_]\\w*)\\s*","captures":{"1":{"name":"constant.character.escape.gdscript"},"2":{"name":"keyword.control.flow.gdscript"},"3":{"name":"constant.character.escape.gdscript"}}}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"constant.character.escape.gdscript"}}},"builtin_get_node_shorthand_quoted":{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape.gdscript","begin":"(?:(\\$)|(\u0026|\\^|@))(\"|')","end":"(\\3)","patterns":[{"name":"keyword.control.flow","match":"%"}],"beginCaptures":{"1":{"name":"keyword.control.flow.gdscript"},"2":{"name":"variable.other.enummember.gdscript"}}},"class_declaration":{"match":"(?\u003c=^class)\\s+([a-zA-Z_]\\w*)\\s*(?=:)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_enum":{"match":"\\b([A-Z][a-zA-Z_0-9]*)\\.([A-Z_0-9]+)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"constant.language.gdscript"}}},"class_is":{"match":"\\s+(is)\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"storage.type.is.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},"class_name":{"match":"(?\u003c=class_name)\\s+([a-zA-Z_]\\w*(\\.([a-zA-Z_]\\w*))?)","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"class.other.gdscript"}}},"class_new":{"match":"\\b([a-zA-Z_]\\w*).(new)\\(","captures":{"1":{"name":"entity.name.type.class.gdscript"},"2":{"name":"storage.type.new.gdscript"},"3":{"name":"punctuation.parenthesis.begin.gdscript"}}},"comment":{"name":"comment.line.number-sign.gdscript","match":"(##|#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.number-sign.gdscript"}}},"compare_operator":{"name":"keyword.operator.comparison.gdscript","match":"\u003c=|\u003e=|==|\u003c|\u003e|!=|!"},"const_vars":{"name":"constant.language.gdscript","match":"\\b([A-Z_][A-Z_0-9]*)\\b"},"control_flow":{"name":"keyword.control.gdscript","match":"\\b(?:if|elif|else|while|break|continue|pass|return|when|yield|await)\\b"},"curly_braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.dict.end.gdscript"}}},"expression":{"patterns":[{"include":"#base_expression"},{"include":"#getter_setter_godot4"},{"include":"#assignment_operator"},{"include":"#annotations"},{"include":"#class_name"},{"include":"#builtin_classes"},{"include":"#class_new"},{"include":"#class_is"},{"include":"#class_enum"},{"include":"#any_method"},{"include":"#any_variable"},{"include":"#any_property"}]},"extends_statement":{"match":"(extends)\\s+([a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*)?","captures":{"1":{"name":"keyword.language.gdscript"},"2":{"name":"entity.other.inherited-class.gdscript"}}},"func":{"name":"keyword.language.gdscript","match":"\\bfunc\\b"},"function_arguments":{"contentName":"meta.function.parameters.gdscript","begin":"(\\()","end":"(?=\\))(?!\\)\\s*\\()","patterns":[{"name":"punctuation.separator.arguments.gdscript","match":"(,)"},{"match":"\\b([a-zA-Z_]\\w*)\\s*(=)(?!=)","captures":{"1":{"name":"variable.parameter.function-call.gdscript"},"2":{"name":"keyword.operator.assignment.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":"=(?!=)"},{"include":"#base_expression"},{"match":"\\s*(\\))\\s*(\\()","captures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"},"2":{"name":"punctuation.definition.arguments.begin.gdscript"}}},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.gdscript"}}},"function_call":{"name":"meta.function-call.gdscript","begin":"(?=\\b[a-zA-Z_]\\w*\\b\\()","end":"(\\))","patterns":[{"include":"#function_name"},{"include":"#function_arguments"}],"endCaptures":{"1":{"name":"punctuation.definition.arguments.end.gdscript"}}},"function_declaration":{"name":"meta.function.gdscript","begin":"(?x) \\s*\n (func) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"function_name":{"patterns":[{"include":"#builtin_classes"},{"name":"keyword.language.gdscript","match":"\\b(preload)\\b"},{"name":"entity.name.function.gdscript","match":"\\b([a-zA-Z_]\\w*)\\b"}]},"getter_setter_godot4":{"patterns":[{"match":"\\b(get):","captures":{"1":{"name":"entity.name.function.gdscript"}}},{"name":"meta.function.gdscript","begin":"(?x) \\s+\n (set) \\s*\n (?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"}}}]},"in_keyword":{"patterns":[{"begin":"\\b(for)\\b","end":":","patterns":[{"name":"keyword.control.gdscript","match":"\\bin\\b"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"captures":{"1":{"name":"keyword.control.gdscript"}}},{"name":"keyword.operator.wordlike.gdscript","match":"\\bin\\b"}]},"keywords":{"name":"keyword.language.gdscript","match":"\\b(?:class|class_name|is|onready|tool|static|export|as|void|enum|assert|breakpoint|sync|remote|master|puppet|slave|remotesync|mastersync|puppetsync|trait|namespace)\\b"},"lambda_declaration":{"name":"meta.function.gdscript","begin":"(func)\\s?(?=\\()","end":"(:|(?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"},{"include":"#base_expression"},{"include":"#any_variable"},{"include":"#any_property"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"letter":{"name":"constant.language.gdscript","match":"\\b(?:true|false|null)\\b"},"line_continuation":{"patterns":[{"match":"(\\\\)\\s*(\\S.*$\\n?)","captures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"},"2":{"name":"invalid.illegal.line.continuation.gdscript"}}},{"begin":"(\\\\)\\s*$\\n?","end":"(?x)\n (?=^\\s*$)\n |\n (?! (\\s* [rR]? (\\'\\'\\'|\\\"\\\"\\\"|\\'|\\\"))\n |\n (\\G $) (?# '\\G' is necessary for ST)\n )\n","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.gdscript"}}}]},"loose_default":{"begin":"(=)","end":"(,)|(?=\\))","patterns":[{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"keyword.operator.gdscript"}},"endCaptures":{"1":{"name":"punctuation.separator.parameters.gdscript"}}},"match_keyword":{"match":"^\n\\s*(match)","captures":{"1":{"name":"keyword.control.gdscript"}}},"nodepath_function":{"name":"meta.function.gdscript","contentName":"meta.function.parameters.gdscript","begin":"(get_node_or_null|has_node|has_node_and_resource|find_node|get_node)\\s*(\\()","end":"(\\))","patterns":[{"name":"string.quoted.gdscript meta.literal.nodepath.gdscript constant.character.escape","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow","match":"%"}]},{"include":"#base_expression"}],"beginCaptures":{"1":{"name":"entity.name.function.gdscript"},"2":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"nodepath_object":{"name":"meta.literal.nodepath.gdscript","begin":"(NodePath)\\s*(?:\\()","end":"(?:\\))","patterns":[{"name":"string.quoted.gdscript constant.character.escape.gdscript","begin":"(\"|')","end":"\\1","patterns":[{"name":"keyword.control.flow.gdscript","match":"%"}]}],"beginCaptures":{"1":{"name":"support.class.library.gdscript"}}},"numbers":{"patterns":[{"name":"constant.numeric.integer.binary.gdscript","match":"0b[01_]+"},{"name":"constant.numeric.integer.hexadecimal.gdscript","match":"0x[0-9A-Fa-f_]+"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]+\\.[0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?(\\.[0-9][0-9_]*(e[\\-\\+]?[0-9_]+)?)"},{"name":"constant.numeric.float.gdscript","match":"[-]?([0-9][0-9_]*e[\\-\\+]?\\[0-9_])"},{"name":"constant.numeric.integer.gdscript","match":"[-]?[0-9][0-9_]*"}]},"operators":{"patterns":[{"include":"#wordlike_operator"},{"include":"#boolean_operator"},{"include":"#arithmetic_operator"},{"include":"#bitwise_operator"},{"include":"#compare_operator"}]},"parameters":{"name":"meta.function.parameters.gdscript","begin":"(\\()","end":"(\\))","patterns":[{"include":"#annotated_parameter"},{"match":"(?x)\n ([a-zA-Z_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n","captures":{"1":{"name":"variable.parameter.function.language.gdscript"},"2":{"name":"punctuation.separator.parameters.gdscript"}}},{"include":"#comment"},{"include":"#loose_default"}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.gdscript"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.gdscript"}}},"pascal_case_class":{"name":"entity.name.type.class.gdscript","match":"\\b([A-Z]+[a-z_0-9]*([A-Z]?[a-z_0-9]+)*[A-Z]?)\\b"},"round_braces":{"begin":"\\(","end":"\\)","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.parenthesis.end.gdscript"}}},"self":{"name":"variable.language.gdscript","match":"\\bself\\b"},"signal_declaration":{"name":"meta.signal.gdscript","begin":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*) \\s*\n (?=\\()","end":"((?=[#'\"\\n]))","patterns":[{"include":"#parameters"},{"include":"#line_continuation"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"signal_declaration_bare":{"name":"meta.signal.gdscript","match":"(?x) \\s*\n (signal) \\s+\n ([a-zA-Z_]\\w*)(?=[\\n\\s])","captures":{"1":{"name":"keyword.language.gdscript storage.type.function.gdscript"},"2":{"name":"entity.name.function.gdscript"}}},"square_braces":{"begin":"\\[","end":"\\]","patterns":[{"include":"#base_expression"},{"include":"#any_variable"}],"beginCaptures":{"0":{"name":"punctuation.definition.list.begin.gdscript"}},"endCaptures":{"0":{"name":"punctuation.definition.list.end.gdscript"}}},"statement":{"patterns":[{"include":"#extends_statement"}]},"statement_keyword":{"patterns":[{"name":"keyword.control.flow.gdscript","match":"(?x)\n \\b(?\u003c!\\.)(\n continue | assert | break | elif | else | if | pass | return | while )\\b\n"},{"name":"storage.type.class.gdscript","match":"\\b(?\u003c!\\.)(class)\\b"},{"match":"(?x)\n ^\\s*(\n case | match\n )(?=\\s*([-+\\w\\d(\\[{'\":#]|$))\\b\n","captures":{"1":{"name":"keyword.control.flow.gdscript"}}}]},"string_bracket_placeholders":{"patterns":[{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {{ | }}\n | (?:\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n ( : \\w? [\u003c\u003e=^]? [-+ ]? \\#?\n \\d* ,? (\\.\\d+)? [bcdeEfFgGnosxX%]? )?\n })\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}},{"name":"meta.format.brace.gdscript","match":"(?x)\n (\n {\n \\w* (\\.[[:alpha:]_]\\w* | \\[[^\\]'\"]+\\])*\n (![rsa])?\n (:)\n [^'\"{}\\n]* (?:\n \\{ [^'\"}\\n]*? \\} [^'\"{}\\n]*\n )*\n }\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"},"3":{"name":"storage.type.format.gdscript"},"4":{"name":"storage.type.format.gdscript"}}}]},"string_percent_placeholders":{"name":"meta.format.percent.gdscript","match":"(?x)\n (\n % (\\([\\w\\s]*\\))?\n [-+#0 ]*\n (\\d+|\\*)? (\\.(\\d+|\\*))?\n ([hlL])?\n [diouxXeEfFgGcrsab%]\n )\n","captures":{"1":{"name":"constant.character.format.placeholder.other.gdscript"}}},"strings":{"name":"string.quoted.gdscript","begin":"(r)?(\"\"\"|'''|\"|')","end":"\\2","patterns":[{"name":"constant.character.escape.gdscript","match":"\\\\."},{"include":"#string_percent_placeholders"},{"include":"#string_bracket_placeholders"}],"beginCaptures":{"1":{"name":"constant.character.escape.gdscript"}}},"variable_declaration":{"name":"meta.variable.declaration.gdscript","begin":"\\b(?:(var)|(const))\\b","end":"$|;","patterns":[{"match":"(:)?\\s*(set|get)\\s+=\\s+([a-zA-Z_]\\w*)","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"name":"keyword.operator.assignment.gdscript","match":":=|=(?!=)"},{"match":"(:)\\s*([a-zA-Z_]\\w*)?","captures":{"1":{"name":"punctuation.separator.annotation.gdscript"},"2":{"name":"entity.name.type.class.gdscript"}}},{"match":"(setget)\\s+([a-zA-Z_]\\w*)(?:[,]\\s*([a-zA-Z_]\\w*))?","captures":{"1":{"name":"keyword.language.gdscript storage.type.const.gdscript"},"2":{"name":"entity.name.function.gdscript"},"3":{"name":"entity.name.function.gdscript"}}},{"include":"#expression"},{"include":"#letter"},{"include":"#any_variable"},{"include":"#any_property"},{"include":"#keywords"}],"beginCaptures":{"1":{"name":"keyword.language.gdscript storage.type.var.gdscript"},"2":{"name":"keyword.language.gdscript storage.type.const.gdscript"}}},"wordlike_operator":{"name":"keyword.operator.wordlike.gdscript","match":"\\b(and|or|not)\\b"}}}
@@ -1 +1 @@
1
- {"name":".gitconfig","scopeName":"source.gitconfig","patterns":[{"include":"#main"}],"repository":{"alias":{"name":"meta.alias.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*([A-Za-z][-A-Za-z]*)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"include":"#aliasInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"aliasInnards":{"patterns":[{"name":"meta.quoted.shell.command.gitconfig","begin":"\\G\\s*(?:(\")(!)|(!)(\"))\\s*+","end":"(?\u003c!\\\\)(?:(\")|(?=$))","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"},"3":{"name":"keyword.operator.shell-script.gitconfig"},"4":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"meta.unquoted.shell.command.gitconfig","begin":"\\G\\s*(!)","end":"(?\u003c!\\\\)(?=$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.shell-script.gitconfig"}}},{"name":"meta.git.subcommands.gitconfig","contentName":"string.unquoted.source.gitconfig","begin":"\\G\\s*([^\\s\"#;!]+)","end":"(?\u003c!\\\\)(?=$|#|;)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.unquoted.source.gitconfig"}}}]},"aliasSection":{"name":"meta.aliases.section.gitconfig","begin":"(?i)(?:^|\\G)\\s*(\\[)\\s*(alias)\\s*(\\])","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#alias"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"comments":{"patterns":[{"name":"comment.line.number-sign.gitconfig","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}},{"name":"comment.line.semicolon.gitconfig","begin":";","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}}]},"dot":{"name":"punctuation.delimiter.separator.meta.dot.period.gitconfig","match":"\\."},"escapedNewline":{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)$\\s*","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},"escapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.quote.gitconfig","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.tab.gitconfig","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.backspace.gitconfig","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"include":"#escapedNewline"},{"name":"invalid.illegal.syntax.escape.gitconfig","match":"\\\\."}]},"includeInnards":{"patterns":[{"name":"keyword.operator.tilde.gitconfig","match":"(?:^|\\G)~(?=/)"},{"name":"keyword.operator.config-path.gitconfig","match":"(?:^|\\G)\\.(?=/)"},{"name":"keyword.operator.glob.wildcard.globstar.gitconfig","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitconfig","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitconfig","match":"/"},{"include":"#escapes"}]},"includePath":{"name":"meta.included-file.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(path)\\s*(=)[ \\t]*","end":"(?=\\s*(?:(?\u003c!\\\\)$|#|;))","patterns":[{"name":"string.quoted.double.pathspec.gitconfig","contentName":"string.other.link.pathspec.gitconfig","begin":"\\G\\s*\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#includeInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"match":"([^\"\\s;#][^;#]*?)(?\u003c=\\S)(?=\\s*(?:$|;|#))","captures":{"1":{"name":"string.other.link.pathspec.gitconfig","patterns":[{"include":"#includeInnards"}]}}},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"includeSection":{"name":"meta.include.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(include(?:If)?) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#includePath"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"keyword.control.directive.${2:/downcase}.gitconfig"},"3":{"name":"punctuation.definition.condition.begin.gitconfig"},"4":{"patterns":[{"name":"meta.condition.match-directory.gitconfig","contentName":"string.other.link.gitconfig","begin":"(gitdir)((/)i)?(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"storage.modifier.ignore-case.gitconfig"},"3":{"name":"punctuation.separator.modifier.slash.gitconfig"},"4":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-worktree.gitconfig","contentName":"string.other.file.name.gitconfig","begin":"(onbranch)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-config.gitconfig","contentName":"string.unquoted.argument.gitconfig","begin":"(hasconfig)(:)([^\":]+)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.parameter.gitconfig"},"3":{"name":"variable.parameter.comparison.gitconfig","patterns":[{"include":"#dot"},{"include":"#sectionEscapes"},{"include":"#includeInnards"}]},"4":{"name":"punctuation.separator.key-value.gitconfig"}}}]},"5":{"name":"punctuation.definition.condition.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#includeSection"},{"include":"#aliasSection"},{"include":"#urlSection"},{"include":"#section"}]},"section":{"name":"meta.section.gitconfig","begin":"(?x)\n(?:^|\\G) \\s*\n(?:\n\t(\\[)\\s*(\\]) #1, #2\n\t|\n\t(\\[) #3\n\t\\s*\n\t(?:\n\t\t([-.A-Za-z0-9]+?) #4\n\t\t(?:\n\t\t\t(\\.) #5\n\t\t\t([-A-Za-z0-9]+) #6\n\t\t)?\n\t)\n\t(?:\n\t\t\\s*\n\t\t(\") #7\n\t\t( #8\n\t\t\t(?: [^\\\\\"]\n\t\t\t| \\\\.\n\t\t\t)*+\n\t\t)\n\t\t(\") #9\n\t)?+\n\t\\s* (\\]) #10\n)","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"10":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"2":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"4":{"name":"entity.section.name.gitconfig"},"5":{"patterns":[{"include":"#dot"}]},"6":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"7":{"name":"punctuation.definition.subsection.begin.gitconfig"},"8":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"9":{"name":"punctuation.definition.subsection.end.gitconfig"}}},"sectionEscapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.unknown.gitconfig","match":"\\\\(?=[^\\\\\"])","captures":{"0":{"name":"punctuation.definition.escape.backslash.ignored.gitconfig"}}}]},"urlInnards":{"patterns":[{"name":"string.other.link.gitconfig","begin":"\"","end":"\"|(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.quoted.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"string.quoted.string.end.gitconfig"}}},{"name":"string.other.link.gitconfig","match":"(?:[^\\s\";#\\\\]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"urlSection":{"name":"meta.url.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(url|https?|core.(?:git)?proxy) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"string.other.link.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"variableInnards":{"patterns":[{"match":"\\G\\s*(=)","captures":{"1":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"constant.logical.boolean.$1.gitconfig","match":"(?i)\\b(true|false|on|off|1|0|yes|no)\\b"},{"name":"constant.numeric.decimal.integer.int.gitconfig","match":"[-+]?[0-9]+(?=$|[\\s#;])"},{"name":"constant.numeric.decimal.float.gitconfig","match":"[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"},{"name":"string.quoted.double.argument.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*?)(?\u003c!\\\\)(?=\\s*$)","captures":{"0":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"},"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"patterns":[{"include":"#escapes"}]}}},{"name":"string.quoted.double.argument.gitconfig","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.unquoted.argument.gitconfig","match":"(?:[^\\\\\\s\";#]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}},{"include":"#escapedNewline"}]},"variables":{"patterns":[{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(signingkey)(?=\\s|$)","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"constant.other.signing-key.hex.gitconfig","match":"\\w+"},{"include":"#variableInnards"}],"captures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(email|url)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#urlInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(textconv)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#aliasInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"[0-9A-Za-z][-0-9A-Za-z]*","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#variableInnards"}],"beginCaptures":{"0":{"name":"variable.parameter.assignment.gitconfig"}}}]}}}
1
+ {"name":".gitconfig","scopeName":"source.gitconfig","patterns":[{"include":"#main"}],"repository":{"alias":{"name":"meta.alias.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*([A-Za-z][-A-Za-z]*)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#aliasInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"aliasInnards":{"patterns":[{"name":"meta.shell.command.gitconfig","begin":"\\G\\s*(?=(?:\"\\s*)?!)","end":"(?\u003c!\\\\)$","patterns":[{"name":"string.quoted.double.gitconfig","match":"\\G(\")\\s*(!)((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"},"3":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"4":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\\G(\")\\s*(!)","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"keyword.operator.shell-script.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"name":"keyword.operator.shell-script.gitconfig","match":"\\G!"},{"include":"#cmdInnards"}]},{"name":"meta.unquoted.shell.command.gitconfig","begin":"\\G\\s*(!)","end":"(?\u003c!\\\\)(?=$)","patterns":[{"include":"#escapedNewline"},{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.shell-script.gitconfig"}}},{"name":"meta.git.subcommands.gitconfig","contentName":"string.unquoted.source.gitconfig","begin":"\\G\\s*([^\\s\"#;!]+)","end":"(?\u003c!\\\\)(?=$|#|;)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.unquoted.source.gitconfig"}}}]},"aliasSection":{"name":"meta.aliases.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (alias) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)?\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#alias"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"cmd":{"name":"meta.command.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(textconv|command|driver)\\s*(=)","end":"(?\u003c!\\\\)$|(?=#|;)","patterns":[{"begin":"\\G\\s*(?=\\\\$)","end":"(?=\\s*(?!\\\\$)(?=\\S))","patterns":[{"include":"#escapedNewline"}]},{"contentName":"source.embedded.shell","begin":"\\s*(?!\\\\$)(?=\\S)","end":"(?!\\G)","patterns":[{"include":"#cmdInnards"}]}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"cmdInnards":{"patterns":[{"name":"string.quoted.double.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*+)(\")","captures":{"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"name":"source.embedded.shell","patterns":[{"include":"#escapes"},{"include":"source.shell"}]},"3":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.quoted.double.gitconfig","contentName":"source.embedded.shell","begin":"\"","end":"(\")|((?:[^\\\\\"]|\\\\.)*+)$","patterns":[{"include":"#escapes"},{"include":"source.shell"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.gitconfig"},"2":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"}}},{"include":"#escapedNewline"},{"include":"source.shell"}]},"comments":{"patterns":[{"name":"comment.line.number-sign.gitconfig","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}},{"name":"comment.line.semicolon.gitconfig","begin":";","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.gitconfig"}}}]},"diffSection":{"name":"meta.diff.section.gitconfig","begin":"(?xi)\n(?:^|\\G)\n\\s* (\\[) #1\n\\s* (diff) #2\n(?:\n\t\\s+ (\") ((?:[^\\\\\"\\r\\n]|\\\\.)*+) (\") #3-5\n\t|\n\t(\\.) ([-A-Za-z0-9]+) #6-7\n)\n\\s* (\\]) #8","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#cmd"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"8":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"dot":{"name":"punctuation.delimiter.separator.meta.dot.period.gitconfig","match":"\\."},"escapedNewline":{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)$\\s*","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},"escapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)\\\\","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.quote.gitconfig","match":"(\\\\)\"","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.newline.gitconfig","match":"(\\\\)n","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.tab.gitconfig","match":"(\\\\)t","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.backspace.gitconfig","match":"(\\\\)b","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"include":"#escapedNewline"},{"name":"invalid.illegal.syntax.escape.gitconfig","match":"\\\\."}]},"includeInnards":{"patterns":[{"name":"keyword.operator.tilde.gitconfig","match":"(?:^|\\G)~(?=/)"},{"name":"keyword.operator.config-path.gitconfig","match":"(?:^|\\G)\\.(?=/)"},{"name":"keyword.operator.glob.wildcard.globstar.gitconfig","match":"\\*\\*"},{"name":"keyword.operator.glob.wildcard.gitconfig","match":"[*?]"},{"name":"punctuation.directory.separator.meta.gitconfig","match":"/"},{"include":"#escapes"}]},"includePath":{"name":"meta.included-file.gitconfig","begin":"(?:^|(?\u003c=\\])\\G)\\s*(path)\\s*(=)[ \\t]*","end":"(?=\\s*(?:(?\u003c!\\\\)$|#|;))","patterns":[{"name":"string.quoted.double.pathspec.gitconfig","contentName":"string.other.link.pathspec.gitconfig","begin":"\\G\\s*\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#includeInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"match":"([^\"\\s;#][^;#]*?)(?\u003c=\\S)(?=\\s*(?:$|;|#))","captures":{"1":{"name":"string.other.link.pathspec.gitconfig","patterns":[{"include":"#includeInnards"}]}}},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},"includeSection":{"name":"meta.include.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(include(?:If)?) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#includePath"},{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"keyword.control.directive.${2:/downcase}.gitconfig"},"3":{"name":"punctuation.definition.condition.begin.gitconfig"},"4":{"patterns":[{"name":"meta.condition.match-directory.gitconfig","contentName":"string.other.link.gitconfig","begin":"(gitdir)((/)i)?(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"storage.modifier.ignore-case.gitconfig"},"3":{"name":"punctuation.separator.modifier.slash.gitconfig"},"4":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-worktree.gitconfig","contentName":"string.other.file.name.gitconfig","begin":"(onbranch)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.key-value.gitconfig"}}},{"name":"meta.condition.match-config.gitconfig","contentName":"string.unquoted.argument.gitconfig","begin":"(hasconfig)(:)([^\":]+)(:)","end":"(?=\\s*(?:$|\"))","patterns":[{"include":"#sectionEscapes"},{"include":"#includeInnards"}],"beginCaptures":{"1":{"name":"entity.name.condition-type.gitconfig"},"2":{"name":"punctuation.separator.parameter.gitconfig"},"3":{"name":"variable.parameter.comparison.gitconfig","patterns":[{"include":"#dot"},{"include":"#sectionEscapes"},{"include":"#includeInnards"}]},"4":{"name":"punctuation.separator.key-value.gitconfig"}}}]},"5":{"name":"punctuation.definition.condition.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#includeSection"},{"include":"#aliasSection"},{"include":"#diffSection"},{"include":"#urlSection"},{"include":"#section"}]},"section":{"name":"meta.section.gitconfig","begin":"(?x)\n(?:^|\\G) \\s*\n(?:\n\t(\\[)\\s*(\\]) #1, #2\n\t|\n\t(\\[) #3\n\t\\s*\n\t(?:\n\t\t([-.A-Za-z0-9]+?) #4\n\t\t(?:\n\t\t\t(\\.) #5\n\t\t\t([-A-Za-z0-9]+) #6\n\t\t)?\n\t)\n\t(?:\n\t\t\\s*\n\t\t(\") #7\n\t\t( #8\n\t\t\t(?: [^\\\\\"]\n\t\t\t| \\\\.\n\t\t\t)*+\n\t\t)\n\t\t(\") #9\n\t)?+\n\t\\s* (\\]) #10\n)","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"10":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"2":{"name":"punctuation.definition.bracket.square.end.gitconfig"},"3":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"4":{"name":"entity.section.name.gitconfig"},"5":{"patterns":[{"include":"#dot"}]},"6":{"name":"entity.subsection.name.deprecated-syntax.gitconfig"},"7":{"name":"punctuation.definition.subsection.begin.gitconfig"},"8":{"name":"entity.subsection.name.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"9":{"name":"punctuation.definition.subsection.end.gitconfig"}}},"sectionEscapes":{"patterns":[{"name":"constant.character.escape.backslash.gitconfig","match":"(\\\\)[\\\\\"]","captures":{"1":{"name":"punctuation.definition.escape.backslash.gitconfig"}}},{"name":"constant.character.escape.unknown.gitconfig","match":"\\\\(?=[^\\\\\"])","captures":{"0":{"name":"punctuation.definition.escape.backslash.ignored.gitconfig"}}}]},"urlInnards":{"patterns":[{"name":"string.other.link.gitconfig","begin":"\"","end":"\"|(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"string.quoted.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"string.quoted.string.end.gitconfig"}}},{"name":"string.other.link.gitconfig","match":"(?:[^\\s\";#\\\\]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}}]},"urlSection":{"name":"meta.url.section.gitconfig","begin":"(?ix)\n(?:^|\\G) \\s*\n(\\[) #1\n\\s*\n(url|https?|core.(?:git)?proxy) #2\n(?:\n\t\\s*\n\t(\") #3\n\t( #4\n\t\t(?: [^\\\\\"]\n\t\t| \\\\.\n\t\t)*+\n\t)\n\t(\") #5\n)?+\n\\s* (\\]) #6","end":"(?!\\G)(?=^\\s*\\[)","patterns":[{"include":"#comments"},{"include":"#variables"}],"beginCaptures":{"0":{"name":"meta.section.header.gitconfig"},"1":{"name":"punctuation.definition.bracket.square.begin.gitconfig"},"2":{"name":"entity.section.name.gitconfig"},"3":{"name":"punctuation.definition.subsection.begin.gitconfig"},"4":{"name":"string.other.link.gitconfig","patterns":[{"include":"#sectionEscapes"}]},"5":{"name":"punctuation.definition.subsection.end.gitconfig"},"6":{"name":"punctuation.definition.bracket.square.end.gitconfig"}}},"variableInnards":{"patterns":[{"name":"constant.logical.boolean.$1.gitconfig","match":"(?i)\\b(true|false|on|off|1|0|yes|no)\\b"},{"name":"constant.numeric.decimal.integer.int.gitconfig","match":"[-+]?[0-9]+(?=$|[\\s#;])"},{"name":"constant.numeric.decimal.float.gitconfig","match":"[-+]?(?:[0-9]+\\.[0-9]*|\\.[0-9]+)(?=$|\\s#;)"},{"name":"string.quoted.double.argument.gitconfig","match":"(\")((?:[^\\\\\"]|\\\\.)*?)(?\u003c!\\\\)(?=\\s*$)","captures":{"0":{"name":"invalid.illegal.syntax.unclosed-string.gitconfig"},"1":{"name":"punctuation.definition.string.begin.gitconfig"},"2":{"patterns":[{"include":"#escapes"}]}}},{"name":"string.quoted.double.argument.gitconfig","begin":"\"","end":"\"|(?\u003c!\\\\)(?=\\s*$)","patterns":[{"include":"#escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.gitconfig"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.gitconfig"}}},{"name":"string.unquoted.argument.gitconfig","match":"(?:[^\\\\\\s\";#]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escapes"}]}}},{"include":"#escapedNewline"}]},"variables":{"patterns":[{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(signingkey)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"name":"constant.other.signing-key.hex.gitconfig","match":"\\w+"},{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"(?i)\\b(email|url)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#urlInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}},{"name":"meta.variable-field.gitconfig","begin":"([0-9A-Za-z][-0-9A-Za-z]*)\\s*(=)","end":"(?=\\s*(?:$|#|;))","patterns":[{"include":"#variableInnards"}],"beginCaptures":{"1":{"name":"variable.parameter.assignment.gitconfig"},"2":{"name":"keyword.operator.assignment.key-value.gitconfig"}}}]}},"injections":{"L:meta.alias.gitconfig source.embedded.shell, L:meta.command.gitconfig - string.quoted":{"patterns":[{"include":"#escapedNewline"}]},"L:string.quoted.double.gitconfig source.embedded.shell - string.quoted.*.shell":{"patterns":[{"name":"comment.line.number-sign.shell","begin":"\\s*(?\u003c![^\\s;\\\\|\\(\u0026])(#)","end":"(?=\")","beginCaptures":{"1":{"name":"punctuation.definition.comment.shell"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0[bB](_?[01])+\\b"},"boolean":{"name":"constant.language.boolean.gleam","match":"\\b(True|False)\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:word:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b[[:digit:]]+(_?[[:digit:]])*(\\.[[:digit:]]*)?(e-?[[:digit:]]*)?\\b"},"discards":{"name":"comment.unused.gleam","match":"\\b_(?:[[:word:]]+)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)([[:space:]]*)?\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0[xX](_?[[:xdigit:]])+\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|==\\.|!=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|==|!=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.|%\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0[oO](_?[0-7])+\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
1
+ {"name":"Gleam","scopeName":"source.gleam","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"},{"include":"#constant"},{"include":"#entity"},{"include":"#discards"}],"repository":{"binary_number":{"name":"constant.numeric.binary.gleam","match":"\\b0[bB]0*1[01_]*\\b"},"comments":{"patterns":[{"name":"comment.line.gleam","match":"//.*"}]},"constant":{"patterns":[{"include":"#binary_number"},{"include":"#octal_number"},{"include":"#hexadecimal_number"},{"include":"#decimal_number"},{"include":"#boolean"},{"name":"entity.name.type.gleam","match":"[[:upper:]][[:alnum:]]*"}]},"decimal_number":{"name":"constant.numeric.decimal.gleam","match":"\\b(0*[1-9][0-9_]*|0)(\\.(0*[1-9][0-9_]*|0)?(e-?0*[1-9][0-9]*)?)?\\b"},"discards":{"name":"comment.unused.gleam","match":"\\b_(?:[[:word:]]+)?\\b"},"entity":{"patterns":[{"begin":"\\b([[:lower:]][[:word:]]*)\\b[[:space:]]*\\(","end":"\\)","patterns":[{"include":"$self"}],"captures":{"1":{"name":"entity.name.function.gleam"}}},{"name":"variable.parameter.gleam","match":"\\b([[:lower:]][[:word:]]*):\\s"},{"name":"entity.name.namespace.gleam","match":"\\b([[:lower:]][[:word:]]*):"}]},"hexadecimal_number":{"name":"constant.numeric.hexadecimal.gleam","match":"\\b0[xX]0*[1-9a-zA-Z][0-9a-zA-Z]*\\b"},"keywords":{"patterns":[{"name":"keyword.control.gleam","match":"\\b(as|use|case|if|fn|import|let|assert|pub|type|opaque|const|todo|panic|else|try)\\b"},{"name":"keyword.operator.arrow.gleam","match":"(\u003c\\-|\\-\u003e)"},{"name":"keyword.operator.pipe.gleam","match":"\\|\u003e"},{"name":"keyword.operator.splat.gleam","match":"\\.\\."},{"name":"keyword.operator.comparison.gleam","match":"(==|!=)"},{"name":"keyword.operator.comparison.float.gleam","match":"(\u003c=\\.|\u003e=\\.|\u003c\\.|\u003e\\.)"},{"name":"keyword.operator.comparison.int.gleam","match":"(\u003c=|\u003e=|\u003c|\u003e)"},{"name":"keyword.operator.logical.gleam","match":"(\u0026\u0026|\\|\\|)"},{"name":"keyword.operator.string.gleam","match":"\u003c\u003e"},{"name":"keyword.operator.other.gleam","match":"\\|"},{"name":"keyword.operator.arithmetic.float.gleam","match":"(\\+\\.|\\-\\.|/\\.|\\*\\.)"},{"name":"keyword.operator.arithmetic.int.gleam","match":"(\\+|\\-|/|\\*|%)"},{"name":"keyword.operator.assignment.gleam","match":"="}]},"octal_number":{"name":"constant.numeric.octal.gleam","match":"\\b0[oO]0*[1-7][0-7]*\\b"},"strings":{"name":"string.quoted.double.gleam","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.gleam","match":"\\\\."}]}}}
@@ -1 +1 @@
1
- {"name":".hgignore","scopeName":"source.hgignore","patterns":[{"include":"#main"}],"repository":{"main":{"patterns":[{"include":"source.regexp"},{"name":"keyword.operator.logical.not.negation.hgignore","match":"^!"},{"match":"[^\\s$^]+","captures":{"0":{"patterns":[{"include":"source.gitignore#patternInnards"}]}}}]}}}
1
+ {"name":".hgignore","scopeName":"source.hgignore","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.number-sign.hgignore","begin":"(?\u003c=\\s|^)(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.hgignore"}}},"common":{"patterns":[{"include":"#comment"},{"include":"#typed"},{"include":"#import"}]},"import":{"patterns":[{"name":"meta.import.pattern-list.hgignore","begin":"^\\s*(?:(!)\\s*)?((listfile0?)(:))","end":"(?=\\s*(?:$|#))","patterns":[{"include":"source.gitignore#patternInnards"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]},"2":{"name":"keyword.control.import.$3.hgignore"},"4":{"patterns":[{"include":"etc#colon"}]}}},{"name":"meta.import.hgignore-file.hgignore","begin":"^\\s*(?:(!)\\s*)?((include|subinclude)(:))","end":"(?=\\s*(?:$|#))","patterns":[{"include":"source.gitignore#patternInnards"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]},"2":{"name":"keyword.control.import.$3.hgignore"},"4":{"patterns":[{"include":"etc#colon"}]}}}]},"main":{"patterns":[{"include":"#syntaxRegexp"},{"include":"#syntax"},{"include":"#common"}]},"negate":{"name":"keyword.operator.logical.not.negation.hgignore","match":"!"},"regex":{"contentName":"string.regexp.hgignore","begin":"(?:\\G|^)\\s*(?=[^\\s#])","end":"(?=\\s*(?:$|#))","patterns":[{"include":"source.regexp"}]},"syntax":{"begin":"^\\s*(syntax(:))\\s*(regexp|glob|rootglob)(?=\\s*$)","end":"(?=^\\s*syntax:)","patterns":[{"include":"#syntaxRegexp"},{"include":"#syntaxGlob"}],"beginCaptures":{"1":{"name":"keyword.control.syntax.hgignore"},"2":{"name":"keyword.operator.assignment.hgignore"},"3":{"name":"constant.language.pattern-syntax.hgignore"}}},"syntaxGlob":{"name":"meta.scope.glob-syntax.hgignore","begin":"(?\u003c=glob)\\G","end":"(?=^\\s*syntax:)","patterns":[{"include":"#common"},{"match":"^\\s*(!)","captures":{"1":{"patterns":[{"include":"#negate"}]}}},{"include":"source.gitignore#patternInnards"}]},"syntaxRegexp":{"name":"meta.scope.regexp-syntax.hgignore","begin":"(?\u003c=regexp)\\G|\\A(?!\\s*syntax:)","end":"(?=^\\s*syntax:)","patterns":[{"include":"#common"},{"begin":"^\\s*(?:(!)\\s*)?(?=[^\\s#])","end":"(?=\\s*(?:$|#))","patterns":[{"include":"#regex"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]}}}]},"typed":{"patterns":[{"name":"meta.pattern.pathname.hgignore","begin":"^\\s*(?:(!)\\s*)?((path|filepath|rootfilesin)(:))","end":"(?=\\s*(?:$|#))","patterns":[{"include":"source.gitignore#patternInnards"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]},"2":{"name":"storage.type.class.syntax.$3.hgignore"},"4":{"patterns":[{"include":"etc#colon"}]}}},{"name":"meta.pattern.glob.hgignore","begin":"^\\s*(?:(!)\\s*)?((glob|rootglob)(:))","end":"(?=\\s*(?:$|#))","patterns":[{"include":"source.gitignore#patternInnards"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]},"2":{"name":"storage.type.class.syntax.$3.hgignore"},"4":{"patterns":[{"include":"etc#colon"}]}}},{"name":"meta.pattern.regexp.hgignore","begin":"^\\s*(?:(!)\\s*)?((re)(:))","end":"(?=\\s*(?:$|#))","patterns":[{"include":"#regex"}],"beginCaptures":{"1":{"patterns":[{"include":"#negate"}]},"2":{"name":"storage.type.class.syntax.$3.hgignore"},"4":{"patterns":[{"include":"etc#colon"}]}}}]}}}
@@ -1 +1 @@
1
- {"name":"Hosts file","scopeName":"source.hosts","patterns":[{"include":"#main"}],"repository":{"host":{"name":"entity.name.host.domain.hosts","match":"(?\u003c=\\s|^)[^:\\s#][^\\s#]*","captures":{"0":{"patterns":[{"include":"etc#dot"}]}}},"loopback":{"name":"constant.numeric.other.ip-address","match":"(?\u003c=\\s|^)(::)1(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.ip-address.loopback"}}},"main":{"patterns":[{"include":"etc#comment"},{"include":"etc#ip"},{"include":"#loopback"},{"include":"#host"}]}}}
1
+ {"name":"Hosts file","scopeName":"source.hosts","patterns":[{"include":"#main"}],"repository":{"host":{"name":"entity.name.host.domain.hosts","match":"(?\u003c=\\s|^|,)[^:\\s#,][^\\s#,]*","captures":{"0":{"patterns":[{"include":"etc#dot"}]}}},"legacy":{"patterns":[{"include":"etc#commentSemi"},{"include":"#legacy-dod"},{"include":"#legacy-nic"}]},"legacy-dod":{"name":"meta.definition.${1:/downcase}.hosts.legacy","match":"(?x) ^ \\s*\n(NET|GATEWAY|HOST|DOMAIN) \\s* # Record type\n(:) \\s* ([^\\s:][^:\\r\\n]*) \\s* # IP address list\n(?:(:) \\s* ([^\\s:][^:\\r\\n]*) \\s*)? # Name\n(?:(:) \\s* ([^\\s:][^:\\r\\n]*|(?=:)) \\s*)? # CPU type\n(?:(:) \\s* ([^\\s:][^:\\r\\n]*|(?=:)) \\s*)? # Operating systems\n(?:(:) \\s* ([^\\s:][^:\\r\\n]*|(?=:)) \\s*)? # Protocols\n(:)(?=\\s*(?:$|;))","captures":{"1":{"name":"storage.type.class.hosts"},"10":{"patterns":[{"include":"etc#colon"}]},"11":{"name":"meta.list.protocols.hosts","patterns":[{"name":"constant.other.protocol.hosts","match":"[^\\s,:]+","captures":{"0":{"patterns":[{"include":"#legacy-sym"}]}}},{"include":"etc#comma"}]},"12":{"patterns":[{"include":"etc#colon"}]},"2":{"patterns":[{"include":"etc#colon"}]},"3":{"name":"meta.list.addresses.hosts","patterns":[{"include":"etc#ipv4"},{"include":"etc#comma"},{"include":"#legacy-host"}]},"4":{"patterns":[{"include":"etc#colon"}]},"5":{"patterns":[{"include":"etc#comma"},{"include":"#host"}]},"6":{"patterns":[{"include":"etc#colon"}]},"7":{"name":"meta.list.cpus.hosts","patterns":[{"name":"constant.language.cpu-type.hosts","match":"[^\\s,:]+"},{"include":"etc#comma"}]},"8":{"patterns":[{"include":"etc#colon"}]},"9":{"name":"meta.list.systems.hosts","patterns":[{"name":"constant.language.operating-system.hosts","match":"[^\\s,:]+"},{"include":"etc#comma"}]}}},"legacy-host":{"patterns":[{"name":"meta.host-number.unprefixed.arpa.hosts.legacy","begin":"\\s*(?=\\d)","end":"(?!\\G)","patterns":[{"include":"#legacy-host-innards"}]},{"name":"meta.host-number.prefixed.${1:/downcase}.hosts.legacy","begin":"\\b(ARPA|RCC|CHAOS|LCS|SU)(?=$|\\s|;)","end":"(?!\\G)","patterns":[{"include":"#legacy-host-innards"}],"beginCaptures":{"1":{"name":"entity.name.tag.network.hosts.legacy"}}},{"include":"#legacy-host-innards"}]},"legacy-host-innards":{"patterns":[{"match":"(?\u003c=CHAOS)\\G\\s+([0-7]+)\\b","captures":{"1":{"name":"constant.numeric.integer.int.octal.oct.hosts.legacy"}}},{"begin":"(?x) \\G (?=\n\t(?: (?\u003c=LCS) \\s+ [0-7]+ (?:/[0-7]+)? # LCS \u003cS\u003e/\u003cH\u003e\n\t| (?\u003c=SU) \\s+ [0-7]+ (?:\\#[0-7]+)? # SU \u003cS\u003e#\u003cH\u003e\n\t) \\b(?!/|\\#)\n) \\s*","end":"(?!\\G)","patterns":[{"name":"constant.numeric.integer.int.octal.oct.subnet-number.hosts.legacy","match":"\\G\\d+"},{"name":"constant.numeric.integer.int.octal.oct.host-number.hosts.legacy","match":"(?!\\G)\\d+"},{"include":"#legacy-sym"}],"applyEndPatternLast":true},{"match":"(?:^|\\G|(?\u003c!\\s),)(?:(?\u003c=ARPA|RCC)\\s+|\\s*)\\b(\\d+)(?:(/)(\\d+))?\\b(?!/|#)","captures":{"1":{"name":"constant.numeric.integer.int.decimal.dec.host-number.hosts.legacy"},"2":{"patterns":[{"include":"#legacy-sym"}]},"3":{"name":"constant.numeric.integer.int.decimal.dec.imp-number.hosts.legacy"}}},{"include":"etc#comma"}]},"legacy-nic":{"patterns":[{"name":"meta.definition.network.hosts.legacy","match":"^\\s*(NET)\\s+([^\\s;,:]+)\\s*(,)\\s*(\\d+)(?=\\s*(?:$|;))","captures":{"1":{"name":"storage.type.class.hosts"},"2":{"name":"entity.name.network.hosts"},"3":{"patterns":[{"include":"etc#comma"}]},"4":{"patterns":[{"include":"etc#intNoExp"}]}}},{"name":"meta.definition.host.hosts.legacy","match":"(?x) ^\n\\s* (HOST) \\s+ ([^\\s,:]+) \\s* (,) \\s* # Name\n(?: ((?:[A-Z]+ \\s+)? \\d[^\\s,:\\[\\]]*) # Host ID (single)\n| ((\\[) ([^\\[\\]]+) (\\])) # Host IDs (list)\n)\n(?:(,) ([A-Z]*))? # Status\n(?:(,) ([^,\\s]*))? # System\n(?:(,) ([^,\\s]*))? # Machine\n(?:(,) ((\\[)([^\\[\\]]*)(\\])))? # Nicknames\n(?=\\s*(?:$|;))","captures":{"1":{"name":"storage.type.class.hosts"},"10":{"name":"constant.language.status.hosts"},"11":{"patterns":[{"include":"etc#comma"}]},"12":{"name":"constant.language.operating-system.hosts"},"13":{"patterns":[{"include":"etc#comma"}]},"14":{"name":"constant.language.machine.hosts"},"15":{"patterns":[{"include":"etc#comma"}]},"16":{"name":"meta.array.list.nicknames.hosts"},"17":{"patterns":[{"include":"#legacy-sym"}]},"18":{"patterns":[{"include":"etc#comma"},{"include":"#host"}]},"19":{"patterns":[{"include":"#legacy-sym"}]},"2":{"name":"entity.name.host.hosts"},"3":{"patterns":[{"include":"etc#comma"}]},"4":{"patterns":[{"include":"#legacy-host"}]},"5":{"name":"meta.array.list.hosts"},"6":{"patterns":[{"include":"#legacy-sym"}]},"7":{"patterns":[{"include":"#legacy-host"}]},"8":{"patterns":[{"include":"#legacy-sym"}]},"9":{"patterns":[{"include":"etc#comma"}]}}}]},"legacy-sym":{"patterns":[{"name":"meta.separator.hosts.legacy","match":"(/)|(#)","captures":{"1":{"name":"punctuation.separator.slash.hosts.legacy"},"2":{"name":"punctuation.separator.number-sign.hosts.legacy"}}},{"name":"punctuation.section.square.bracket.begin.hosts.legacy","match":"\\[","captures":{"0":{"name":"brackethighlighter.square"}}},{"name":"punctuation.section.square.bracket.end.hosts.legacy","match":"\\]","captures":{"0":{"name":"brackethighlighter.square"}}}]},"loopback":{"name":"constant.numeric.other.ip-address","match":"(?\u003c=\\s|^)(::)1(?=$|\\s)","captures":{"1":{"name":"punctuation.definition.ip-address.loopback"}}},"main":{"patterns":[{"include":"#legacy"},{"include":"#modern"}]},"modern":{"patterns":[{"include":"etc#comment"},{"include":"etc#ip"},{"include":"#loopback"},{"include":"#host"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"iCalendar","scopeName":"source.iCalendar","patterns":[{"name":"keyword.command.icalObject","match":"^(BEGIN|END)"},{"name":"constant.language.icalObjectType","match":":(VCALENDAR|VEVENT|VTODO|VJOURNAL|VFREEBUSY|VTIMEZONE|VALARM)$"},{"name":"constant.language.icalObjectType","match":":(DAYLIGHT|STANDARD)$"},{"name":"keyword.other.icalProperty","match":"^(DTSTART|PRODID|VERSION|CALSCALE|METHOD)"},{"name":"keyword.other.icalProperty","match":"^(DTEND|DTSTAMP|ORGANIZER|UID|CLASS|CREATED)"},{"name":"keyword.other.icalProperty","match":"^(LOCATION|SEQUENCE|STATUS|SUMMARY|COMMENT)"},{"name":"keyword.other.icalProperty","match":"^(TRANSP|ATTENDEE|ATTACH|FREEBUSY|METHOD|CONTACT)"},{"name":"keyword.other.icalProperty","match":"^(DURATION|RRULE|EXDATE|EXRULE|URL|DESCRIPTION|ACTION)"},{"name":"keyword.other.icalProperty","match":"^(LAST-MODIFIED|RECURRENCE-ID|TRIGGER|RELATED-TO|RDATE)"},{"name":"keyword.other.icalProperty","match":"^(TZID|TZOFFSETFROM|TZOFFSETTO|TZNAME|TZURL)"},{"name":"keyword.other.icalProperty","match":"^(PRIORITY|DUE|COMPLETED|PERCENT-COMPLETE|CATEGORIES)"},{"name":"keyword.other.icalProperty","match":"^(RESOURCES|REPEAT|REQUEST-STATUS)"},{"name":"keyword.other.icalCustom","match":"^X-[A-Z-]+"},{"name":"string.interpolated.icalDate","match":"[0-9]{8}T[0-9]{6}Z?"},{"name":"variable.parameter.icalParameter","match":"[A-Z0-9-]+=[^;:]+"},{"name":"constant.other.icalSetValue","match":"(CONFIRMED|TENTATIVE|CANCELLED|DELEGATED|OPAQUE)"},{"name":"constant.other.icalSetValue","match":"(NEEDS-ACTION|ACCEPTED|DECLINED|IN-PROGRESS)"},{"name":"constant.other.icalSetValue","match":"(PRIVATE|PUBLIC|PUBLISH|GREGORIAN|DISPLAY)"},{"name":"constant.other.icalSetValue","match":":COMPLETED$"}]}