github-linguist 7.26.0 → 7.28.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +313 -294
  3. data/ext/linguist/lex.linguist_yy.h +5 -4
  4. data/ext/linguist/tokenizer.l +5 -2
  5. data/grammars/inline.edgeql.json +1 -0
  6. data/grammars/inline.hbs.json +1 -0
  7. data/grammars/inline.template.json +1 -0
  8. data/grammars/markdown.d2.codeblock.json +1 -0
  9. data/grammars/markdown.lean4.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -0
  11. data/grammars/mdx.LANGUAGE.codeblock.json +1 -0
  12. data/grammars/source.abap.json +1 -1
  13. data/grammars/source.aidl.json +1 -1
  14. data/grammars/source.al.json +1 -1
  15. data/grammars/source.ballerina.json +1 -1
  16. data/grammars/source.bicep.json +1 -1
  17. data/grammars/source.cds.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.cs.json +1 -1
  20. data/grammars/source.d2.json +1 -1
  21. data/grammars/source.dart.json +1 -1
  22. data/grammars/source.denizenscript.json +1 -1
  23. data/grammars/source.directivesmf.json +1 -0
  24. data/grammars/source.dm.json +1 -1
  25. data/grammars/source.earthfile.json +1 -1
  26. data/grammars/source.edgeql.json +1 -0
  27. data/grammars/source.emacs.lisp.json +1 -1
  28. data/grammars/source.fsharp.json +1 -1
  29. data/grammars/source.gdresource.json +1 -1
  30. data/grammars/source.gdscript.json +1 -1
  31. data/grammars/source.genero-4gl.json +1 -0
  32. data/grammars/source.genero-per.json +1 -0
  33. data/grammars/source.gjs.json +1 -0
  34. data/grammars/source.gleam.json +1 -1
  35. data/grammars/source.gsc.json +1 -1
  36. data/grammars/source.gts.json +1 -0
  37. data/grammars/source.hcl.json +1 -0
  38. data/grammars/source.hcl.terraform.json +1 -0
  39. data/grammars/source.ice.json +1 -0
  40. data/grammars/source.igor.json +1 -1
  41. data/grammars/source.julia.json +1 -1
  42. data/grammars/source.kotlin.json +1 -1
  43. data/grammars/source.lean4.json +1 -0
  44. data/grammars/source.lean4.markdown.json +1 -0
  45. data/grammars/source.matlab.json +1 -1
  46. data/grammars/source.mdx.json +1 -1
  47. data/grammars/source.meta-info.json +1 -1
  48. data/grammars/source.mo.json +1 -1
  49. data/grammars/source.nasal.json +1 -1
  50. data/grammars/source.nim.json +1 -1
  51. data/grammars/source.nushell.json +1 -1
  52. data/grammars/source.odin.json +1 -1
  53. data/grammars/source.pic.json +1 -1
  54. data/grammars/source.praat.json +1 -0
  55. data/grammars/source.prisma.json +1 -1
  56. data/grammars/source.ql.json +1 -1
  57. data/grammars/source.raku.json +1 -1
  58. data/grammars/source.rascal.json +1 -1
  59. data/grammars/source.rbs.json +1 -1
  60. data/grammars/source.rego.json +1 -1
  61. data/grammars/source.rescript.json +1 -1
  62. data/grammars/source.rez.json +1 -0
  63. data/grammars/source.rpgle.json +1 -1
  64. data/grammars/source.rust.json +1 -1
  65. data/grammars/source.scala.json +1 -1
  66. data/grammars/source.scenic.json +1 -1
  67. data/grammars/source.sentinel.json +1 -0
  68. data/grammars/source.slice.json +1 -1
  69. data/grammars/source.solidity.json +1 -1
  70. data/grammars/source.stan.json +1 -1
  71. data/grammars/source.swift.json +1 -1
  72. data/grammars/source.talon.json +1 -1
  73. data/grammars/source.textgrid.json +1 -0
  74. data/grammars/source.toit.json +1 -0
  75. data/grammars/source.ts.json +1 -1
  76. data/grammars/source.tsx.json +1 -1
  77. data/grammars/source.typst.json +1 -0
  78. data/grammars/source.vba.json +1 -1
  79. data/grammars/source.viml.json +1 -1
  80. data/grammars/source.vyper.json +1 -1
  81. data/grammars/source.wit.json +1 -1
  82. data/grammars/source.yul.json +1 -1
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.hash-commented.json +1 -1
  85. data/grammars/text.html.ember-handlebars.json +1 -0
  86. data/grammars/text.html.statamic.json +1 -1
  87. data/grammars/text.md.json +1 -1
  88. data/grammars/text.tex.json +1 -1
  89. data/grammars/text.tex.latex.sweave.json +1 -0
  90. data/grammars/text.xml.svg.json +1 -1
  91. data/grammars/version +1 -1
  92. data/lib/linguist/VERSION +1 -1
  93. data/lib/linguist/generated.rb +14 -4
  94. data/lib/linguist/heuristics.rb +2 -0
  95. data/lib/linguist/heuristics.yml +26 -11
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +129 -12
  98. data/lib/linguist/samples.json +1 -1
  99. metadata +35 -14
  100. data/grammars/govulncheck.json +0 -1
  101. data/grammars/source.dmf.json +0 -1
  102. data/grammars/source.genero-forms.json +0 -1
  103. data/grammars/source.genero.json +0 -1
  104. data/grammars/source.nimcfg.json +0 -1
@@ -1 +1 @@
1
- {"name":"TalonScript","scopeName":"source.talon","patterns":[{"include":"#body-header"},{"include":"#header"},{"include":"#body-noheader"},{"include":"#comment"},{"include":"#settings"}],"repository":{"action":{"name":"variable.parameter.talon","begin":"([a-zA-Z0-9._]+)(\\()","end":"(\\))","patterns":[{"include":"#action"},{"include":"#qstring-long"},{"include":"#qstring"},{"include":"#argsep"},{"include":"#number"},{"include":"#operator"},{"include":"#varname"}],"beginCaptures":{"1":{"name":"entity.name.function.talon","patterns":[{"name":"punctuation.separator.talon","match":"\\."}]},"2":{"name":"punctuation.definition.parameters.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.talon"}}},"action-gamepad":{"name":"entity.name.function.talon","match":"(deck|gamepad|action)(\\()(.*)(\\))","captures":{"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"variable.parameter.talon","patterns":[{"include":"#key-mods"}]},"4":{"name":"punctuation.definition.parameters.key.talon"}}},"action-key":{"name":"entity.name.function.talon","match":"key(\\()(.*)(\\))","captures":{"1":{"name":"punctuation.definition.parameters.begin.talon"},"2":{"name":"variable.parameter.talon","patterns":[{"include":"#key-prefixes"},{"include":"#key-mods"},{"include":"#keystring"}]},"3":{"name":"punctuation.definition.parameters.key.talon"}}},"argsep":{"name":"punctuation.separator.talon","match":","},"assignment":{"match":"(\\S*)(\\s?=\\s?)(.*)","captures":{"1":{"name":"variable.other.talon"},"2":{"name":"keyword.operator.talon"},"3":{"name":"variable.other.talon","patterns":[{"include":"#comment"},{"include":"#expression"}]}}},"body-header":{"begin":"^-$","end":"(?=not)possible","patterns":[{"include":"#body-noheader"}]},"body-noheader":{"patterns":[{"include":"#comment"},{"include":"#other-rule-definition"},{"include":"#speech-rule-definition"}]},"capture":{"name":"variable.parameter.talon","match":"(\\\u003c[a-zA-Z0-9._]+\\\u003e)"},"comment":{"name":"comment.line.number-sign.talon","match":"(\\s*#.*)$"},"context":{"match":"(.*): (.*)","captures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"keyword.operator.talon","match":"(and |or )"}]},"2":{"name":"entity.name.type.talon","patterns":[{"include":"#comment"},{"include":"#regexp"}]}}},"expression":{"patterns":[{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#qstring"},{"include":"#varname"}]},"fstring":{"name":"constant.character.format.placeholder.talon","match":"{(.+?)}","captures":{"1":{"patterns":[{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#varname"},{"include":"#qstring"}]}}},"header":{"begin":"(?=^app:|title:|os:|tag:)","end":"(?=^-$)","patterns":[{"include":"#comment"},{"include":"#context"}]},"key-mods":{"name":"keyword.operator.talon","match":"(:)(up|down|change|repeat|\\d+)","captures":{"1":{"name":"keyword.operator.talon"},"2":{"name":"keyword.control.talon"}}},"key-prefixes":{"match":"(ctrl|shift|cmd|alt|win|super)(-)","captures":{"1":{"name":"keyword.control.talon"},"2":{"name":"keyword.operator.talon"}}},"keystring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"},{"include":"#key-mods"},{"include":"#key-prefixes"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"list":{"name":"string.interpolated.talon","match":"({[a-zA-Z0-9._]+?})"},"number":{"name":"constant.numeric.talon","match":"(?\u003c=\\b)\\d+(\\.\\d+)?"},"operator":{"name":"keyword.operator.talon","match":"\\s(\\+|-|\\*|/|or)\\s"},"other-rule-definition":{"begin":"^([a-z]+\\(.*[^\\-]\\)|[a-z]+\\(.*--\\)|[a-z]+\\(-\\)|[a-z]+\\(\\)):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"include":"#action-key"},{"include":"#action-gamepad"},{"include":"#rule-specials"}]}}},"qstring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"qstring-long":{"name":"string.quoted.double.talon","begin":"(\"\"\"|''')","end":"(\\1)","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"regexp":{"name":"string.regexp.talon","begin":"(/)","end":"(/)","patterns":[{"name":"support.other.match.any.regexp","match":"\\."},{"name":"support.other.match.end.regexp","match":"\\$"},{"name":"support.other.match.begin.regexp","match":"\\^"},{"name":"constant.character.escape.talon","match":"\\\\\\.|\\\\\\*|\\\\\\^|\\\\\\$|\\\\\\+|\\\\\\?"},{"name":"constant.other.set.regexp","match":"\\[(\\\\\\]|[^\\]])*\\]"},{"name":"keyword.operator.quantifier.regexp","match":"\\*|\\+|\\?"}]},"rule-specials":{"match":"(settings|tag)(\\()(\\))","captures":{"1":{"name":"entity.name.function.talon"},"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"punctuation.definition.parameters.end.talon"}}},"speech-rule-definition":{"begin":"^(.*?):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"string.regexp.talon","match":"^\\^"},{"name":"string.regexp.talon","match":"\\$$"},{"name":"punctuation.definition.parameters.begin.talon","match":"\\("},{"name":"punctuation.definition.parameters.end.talon","match":"\\)"},{"name":"punctuation.separator.talon","match":"\\|"},{"include":"#capture"},{"include":"#list"}]}}},"statement":{"patterns":[{"include":"#comment"},{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#qstring"},{"include":"#assignment"}]},"string-body":{"patterns":[{"name":"string.quoted.double.talon","match":"{{|}}"},{"name":"constant.character.escape.python","match":"\\\\\\\\|\\\\n|\\\\t|\\\\r|\\\\\"|\\\\'"},{"include":"#fstring"}]},"varname":{"name":"variable.parameter.talon","match":"([a-zA-Z0-9._])(_(list|\\d+))?","captures":{"2":{"name":"constant.numeric.talon","patterns":[{"name":"keyword.operator.talon","match":"_"}]}}}}}
1
+ {"name":"TalonScript","scopeName":"source.talon","patterns":[{"include":"#body-header"},{"include":"#header"},{"include":"#body-noheader"},{"include":"#comment"},{"include":"#settings"}],"repository":{"action":{"name":"variable.parameter.talon","begin":"([a-zA-Z0-9._]+)(\\()","end":"(\\))","patterns":[{"include":"#action"},{"include":"#qstring-long"},{"include":"#qstring"},{"include":"#argsep"},{"include":"#number"},{"include":"#operator"},{"include":"#varname"}],"beginCaptures":{"1":{"name":"entity.name.function.talon","patterns":[{"name":"punctuation.separator.talon","match":"\\."}]},"2":{"name":"punctuation.definition.parameters.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.end.talon"}}},"action-gamepad":{"name":"entity.name.function.talon","match":"(deck|gamepad|action|face|parrot)(\\()(.*)(\\))","captures":{"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"variable.parameter.talon","patterns":[{"include":"#key-mods"}]},"4":{"name":"punctuation.definition.parameters.key.talon"}}},"action-key":{"name":"entity.name.function.talon","match":"key(\\()(.*)(\\))","captures":{"1":{"name":"punctuation.definition.parameters.begin.talon"},"2":{"name":"variable.parameter.talon","patterns":[{"include":"#key-prefixes"},{"include":"#key-mods"},{"include":"#keystring"}]},"3":{"name":"punctuation.definition.parameters.key.talon"}}},"argsep":{"name":"punctuation.separator.talon","match":","},"assignment":{"match":"(\\S*)(\\s?=\\s?)(.*)","captures":{"1":{"name":"variable.other.talon"},"2":{"name":"keyword.operator.talon"},"3":{"name":"variable.other.talon","patterns":[{"include":"#comment"},{"include":"#expression"}]}}},"body-header":{"begin":"^-$","end":"(?=not)possible","patterns":[{"include":"#body-noheader"}]},"body-noheader":{"patterns":[{"include":"#comment"},{"include":"#other-rule-definition"},{"include":"#speech-rule-definition"}]},"capture":{"name":"variable.parameter.talon","match":"(\\\u003c[a-zA-Z0-9._]+\\\u003e)"},"comment":{"name":"comment.line.number-sign.talon","match":"(\\s*#.*)$"},"context":{"match":"(.*): (.*)","captures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"keyword.operator.talon","match":"(and |or )"}]},"2":{"name":"entity.name.type.talon","patterns":[{"include":"#comment"},{"include":"#regexp"}]}}},"expression":{"patterns":[{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#qstring"},{"include":"#varname"}]},"fstring":{"name":"constant.character.format.placeholder.talon","match":"{(.+?)}","captures":{"1":{"patterns":[{"include":"#action"},{"include":"#operator"},{"include":"#number"},{"include":"#varname"},{"include":"#qstring"}]}}},"header":{"begin":"(?=^app:|title:|os:|tag:|list:|language:)","end":"(?=^-$)","patterns":[{"include":"#comment"},{"include":"#context"}]},"key-mods":{"name":"keyword.operator.talon","match":"(:)(up|down|change|repeat|start|stop|\\d+)","captures":{"1":{"name":"keyword.operator.talon"},"2":{"name":"keyword.control.talon"}}},"key-prefixes":{"match":"(ctrl|shift|cmd|alt|win|super)(-)","captures":{"1":{"name":"keyword.control.talon"},"2":{"name":"keyword.operator.talon"}}},"keystring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"},{"include":"#key-mods"},{"include":"#key-prefixes"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"list":{"name":"string.interpolated.talon","match":"({[a-zA-Z0-9._]+?})"},"number":{"name":"constant.numeric.talon","match":"(?\u003c=\\b)\\d+(\\.\\d+)?"},"operator":{"name":"keyword.operator.talon","match":"\\s(\\+|-|\\*|/|or)\\s"},"other-rule-definition":{"begin":"^([a-z]+\\(.*[^\\-]\\)|[a-z]+\\(.*--\\)|[a-z]+\\(-\\)|[a-z]+\\(\\)):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"include":"#action-key"},{"include":"#action-gamepad"},{"include":"#rule-specials"}]}}},"qstring":{"name":"string.quoted.double.talon","begin":"(\"|')","end":"(\\1)|$","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"qstring-long":{"name":"string.quoted.double.talon","begin":"(\"\"\"|''')","end":"(\\1)","patterns":[{"include":"#string-body"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.talon"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.talon"}}},"regexp":{"name":"string.regexp.talon","begin":"(/)","end":"(/)","patterns":[{"name":"support.other.match.any.regexp","match":"\\."},{"name":"support.other.match.end.regexp","match":"\\$"},{"name":"support.other.match.begin.regexp","match":"\\^"},{"name":"constant.character.escape.talon","match":"\\\\\\.|\\\\\\*|\\\\\\^|\\\\\\$|\\\\\\+|\\\\\\?"},{"name":"constant.other.set.regexp","match":"\\[(\\\\\\]|[^\\]])*\\]"},{"name":"keyword.operator.quantifier.regexp","match":"\\*|\\+|\\?"}]},"rule-specials":{"match":"(settings|tag)(\\()(\\))","captures":{"1":{"name":"entity.name.function.talon"},"2":{"name":"punctuation.definition.parameters.begin.talon"},"3":{"name":"punctuation.definition.parameters.end.talon"}}},"speech-rule-definition":{"begin":"^(.*?):","end":"(?=^[^\\s#])","patterns":[{"include":"#statement"}],"beginCaptures":{"1":{"name":"entity.name.tag.talon","patterns":[{"name":"string.regexp.talon","match":"^\\^"},{"name":"string.regexp.talon","match":"\\$$"},{"name":"punctuation.definition.parameters.begin.talon","match":"\\("},{"name":"punctuation.definition.parameters.end.talon","match":"\\)"},{"name":"punctuation.separator.talon","match":"\\|"},{"include":"#capture"},{"include":"#list"}]}}},"statement":{"patterns":[{"include":"#comment"},{"include":"#qstring-long"},{"include":"#action-key"},{"include":"#action"},{"include":"#qstring"},{"include":"#assignment"}]},"string-body":{"patterns":[{"name":"string.quoted.double.talon","match":"{{|}}"},{"name":"constant.character.escape.python","match":"\\\\\\\\|\\\\n|\\\\t|\\\\r|\\\\\"|\\\\'"},{"include":"#fstring"}]},"varname":{"name":"variable.parameter.talon","match":"([a-zA-Z0-9._])(_(list|\\d+))?","captures":{"2":{"name":"constant.numeric.talon","patterns":[{"name":"keyword.operator.talon","match":"_"}]}}}}}
@@ -0,0 +1 @@
1
+ {"name":"TextGRID","scopeName":"source.textgrid","patterns":[{"name":"constant.numeric.textgrid","match":"((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)"},{"name":"string.quoted.double.textgrid","contentName":"meta.string-contents.quoted.double.textgrid","begin":"\"","end":"\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.textgrid"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.textgrid"}}},{"name":"constant.language.textgrid","match":"(x(min|max)|class|name|text|size)"},{"name":"entity.name.type.module.textgrid","match":"(intervals|item)"},{"name":"keyword.control.language.textgrid","match":"(File type|Object class|\\\u003cexists\\\u003e)"},{"name":"keyword.operator.key.textgrid","match":"="},{"match":"tiers(\\?)","captures":{"0":{"name":"constant.language.textgrid"},"1":{"name":"entity.name.type.module.textgrid"}}}]}
@@ -0,0 +1 @@
1
+ {"name":"Toit","scopeName":"source.toit","patterns":[{"include":"#comment"},{"include":"#import-section"},{"include":"#export-section"},{"include":"#class-section"},{"include":"#toplevel-section"}],"repository":{"character":{"patterns":[{"name":"constant.numeric.character.toit","match":"\\'[^'\\\\]'|'\\\\[0abfnrtv$\\\\\\\"'nr]'|'\\\\x[a-fA-F0-9]{2}'|'\\\\u[a-fA-F0-9]{4}'"},{"name":"invalid.illegal.character.toit","match":"\\'\\\\?..+\\'"}]},"class-section":{"name":"meta.class.toit","begin":"^(?:(abstract)[ ]+)?(class|interface|mixin|monitor)(?!-)\\b","end":"^(?=[^\\s/]|/[^/*])","patterns":[{"include":"#comment"},{"name":"meta.class.members","begin":"^(?=\\s\\s[^\\s])","end":"^(?=[^\\s/]|/[^/*])","patterns":[{"include":"#comment"},{"include":"#member-section"}]},{"name":"meta.class.signature","begin":"(\\b(?\u003c!-)[\\w-]+(?!-)\\b)","end":":","patterns":[{"include":"#comment"},{"name":"meta.extends.clause.toit","match":"\\b(?\u003c!-)(extends)\\s+([\\p{L}_][\\w-]*)(?!-)\\b","captures":{"1":{"name":"keyword.control.extends.toit"},"2":{"name":"entity.other.inherited-class"}}},{"name":"keyword.control.extends.toit","match":"\\b(?\u003c!-)extends(?!-)\\b"},{"name":"keyword.control.implements.toit","match":"\\b(?\u003c!-)implements(?!-)\\b"},{"name":"keyword.control.with.toit","match":"\\bwith\\b"},{"include":"#type-name"}],"beginCaptures":{"1":{"name":"storage.type.class.toit"}}}],"beginCaptures":{"1":{"name":"keyword.control.toit"},"2":{"name":"keyword.control.toit"}}},"comment":{"patterns":[{"include":"#multi-line-comment"},{"include":"#single-line-comment"}]},"constant":{"patterns":[{"name":"constant.language.toit","match":"\\b(?\u003c!-)(null|true|false)(?!-)\\b"},{"name":"constant.numeric.capitalized_user_constants.toit","match":"\\b(?\u003c!-)_*[A-Z](-?[A-Z0-9_])+(?!-)\\b"}]},"control":{"patterns":[{"name":"keyword.control.toit","match":"(:|\\?|;)"}]},"delimited":{"patterns":[{"name":"meta.delimited.parenthesis","begin":"(\\()","end":"(\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.operator.toit"}},"endCaptures":{"1":{"name":"keyword.operator.toit"}}},{"name":"meta.delimited.brackets","begin":"(#?\\[)","end":"(\\])","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.operator.toit"}},"endCaptures":{"1":{"name":"keyword.operator.toit"}}},{"name":"meta.delimited.braces","begin":"(\\{)","end":"(\\})","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.operator.toit"}},"endCaptures":{"1":{"name":"keyword.operator.toit"}}}]},"empty-string":{"patterns":[{"name":"string.quoted.double.toit","match":"\"\"(?!\")"}]},"export-section":{"name":"meta.export.toit","begin":"^export(?!-)\\b","end":"^(?!\\s)","patterns":[{"include":"#comment"},{"name":"constant.language.import-export-all.export_all.toit","match":"\\*"}],"beginCaptures":{"0":{"name":"constant.language.import-export-all.export.toit"}}},"expressions":{"patterns":[{"include":"#variable-declaration"},{"include":"#named-arg"},{"include":"#delimited"},{"include":"#comment"},{"include":"#character"},{"include":"#number"},{"include":"#operator-assignment"},{"include":"#operator"},{"include":"#control"},{"include":"#keyword"},{"include":"#constant"},{"include":"#string"},{"include":"#primitive"},{"include":"#special-variable"},{"include":"#type-name"},{"include":"#variable"}]},"import-section":{"name":"meta.import.toit","begin":"^import(?!-)\\b","end":"^(?!\\s)","patterns":[{"include":"#comment"},{"name":"constant.language.import-export-all.show.toit","match":"\\b(?\u003c!-)show(?!-)\\b"},{"name":"constant.language.import-export-all.as.toit","match":"\\b(?\u003c!)as(?!-)\\b"},{"name":"constant.language.import-export-all.import_all.toit","match":"\\*"}],"beginCaptures":{"0":{"name":"constant.language.import-export-all.import.toit"}}},"interpolated":{"name":"meta.string.interpolated.delimited.toit","patterns":[{"name":"variable.other.interpolated.delimited.color_hack.toit","begin":"(\\$\\()","end":"(\\))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.string_interpolation.toit"}},"endCaptures":{"1":{"name":"keyword.control.string_interpolation.toit"}}},{"name":"variable.other.interpolated.color_hack.toit","match":"(\\$)([\\p{L}_][\\w-]*(?:\\.[\\p{L}_][\\w-]*|\\[([^]]*)\\])*)","captures":{"1":{"name":"keyword.control.string_interpolation.toit"},"2":{"name":"meta.interpolated.expression"},"3":{"name":"meta.interpolated.expression","patterns":[{"include":"#expressions"}]}}}]},"invalid_non_expression":{"patterns":[{"name":"invalid.illegal.non_expression.toit","match":"\\b(?\u003c!-)(assert|and|or|not|if|for|else|try|finally|call|while|break|continue|throw|static|abstract|return)(?!-)\\b"},{"name":"invalid.illegal.non_expression.toit","match":"\\b(?\u003c!-)(is|as)(?!-)\\b"},{"name":"invalid.illegal.non_expression.toit","match":"\\b(?\u003c!-)(super|this)(?!-)\\b"}]},"keyword":{"patterns":[{"name":"keyword.control.toit","match":"\\b(?\u003c!-)(assert|and|or|not|if|for|else|try|finally|call|while|break|continue|throw|static|abstract|return)(?!-)\\b"},{"name":"keyword.control.pseudo.toit","match":"\\b(?\u003c!-)unreachable(?!-)\\b"},{"name":"keyword.control.type_check.toit","match":"\\b(?\u003c!-)(is|as)(?!-)\\b"}]},"member-section":{"name":"meta.member.toit","patterns":[{"include":"#comment"},{"name":"keyword.control.toit","match":"\\b(?\u003c!-)(static|abstract|operator)(?!-)\\b"},{"name":"meta.member.signature","begin":"(?\u003c!-)\\b(constructor)(?!-)\\b(\\.[\\p{L}_][\\w-]*)?|([\\p{L}_][\\w-]*[=]?|==|\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e|\u003c=|\u003e=|\u003c|\u003e|\\+|-|\\*|/|%|\\^|\u0026|\\||\\[\\]\\=|\\[\\]|\\[\\.\\.\\])","end":"(?=\\:(?![\\p{L}_])|^\\s{0,4}(?:[^\\s/]|/[^/*]))","patterns":[{"include":"#signature-part2"}],"beginCaptures":{"1":{"name":"keyword.control.toit"},"2":{"name":"storage.type.function"},"3":{"name":"storage.type.function"}}},{"include":"#type-annotation"},{"name":"meta.member.body","begin":"(:=|::=)|(:)|^\\s{4}(?=[^\\s/])","end":"(?=^\\s{0,2}([^\\s/]|/[^/*]))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.toit"}}}]},"multi-line-comment":{"patterns":[{"name":"comment.block.toit","begin":"\\s*(/\\*)(?!\\*)","end":"(\\*/)","patterns":[{"include":"#multi-line-comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.toit"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.toit"}}},{"name":"comment.block.toit","match":"\\s*(/\\*\\*/)","captures":{"0":{"name":"punctuation.definition.comment.toit"}}},{"name":"comment.block.documentation.toit","begin":"\\s*(/\\*\\*)(?!/)","end":"(\\*/)","patterns":[{"include":"#multi-line-comment"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.toit"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.toit"}}}]},"multi-line-string":{"name":"string.quoted.double.toit","begin":"\"\"\"","end":"\"\"\"(?!\")|\"\"\"\"\"","patterns":[{"name":"constant.character.escape.toit","match":"\\\\."},{"include":"#interpolated"}]},"named-arg":{"patterns":[{"name":"variable.language.special.named.toit","match":"--no-[\\p{L}_][\\w-]*"},{"name":"variable.language.special.named.toit","match":"--[\\p{L}_][\\w-]*"}]},"number":{"name":"constant.numeric.toit","patterns":[{"include":"#number-double"},{"include":"#number-decimal"}]},"number-decimal":{"patterns":[{"name":"constant.numeric.dec.toit","match":"(?\u003c!\\w)-?([0-9](_(?=[0-9]))?)+(?!-)\\b"},{"name":"constant.numeric.dec.hex.toit","match":"(?\u003c!\\w)-?0[xX]([0-9a-fA-F](_(?=[0-9a-fA-F]))?)+(?!-)\\b"},{"name":"constant.numeric.dec.bin.toit","match":"(?\u003c!\\w)-?0[bB]([01](_(?=[01]))?)+(?!-)\\b"}]},"number-double":{"patterns":[{"name":"constant.numeric.float.toit","match":"(?\u003c!\\w)-?([0-9](_(?=[0-9]))?)+[eE][+-]?([0-9](_(?=[0-9]))?)+"},{"name":"constant.numeric.float.toit","match":"(?\u003c!\\w)-?([0-9](_(?=[0-9]))?)+\\.([0-9](_(?=[0-9]))?)+([eE][+-]?([0-9](_(?=[0-9]))?)+)?"},{"name":"constant.numeric.float.toit","match":"(?\u003c!\\w)-?\\.([0-9](_(?=[0-9]))?)+([eE][+-]?([0-9](_(?=[0-9]))?)+)?"},{"name":"constant.numeric.float.hex.toit","match":"(?\u003c!\\w)-?0[xX]([0-9a-fA-F](_(?=[0-9a-fA-F]))?)+[pP][+-]?([0-9](_(?=[0-9]))?)+"},{"name":"constant.numeric.float.hex.toit","match":"(?\u003c!\\w)-?0[xX]([0-9a-fA-F](_(?=[0-9a-fA-F]))?)+\\.([0-9a-fA-F](_(?=[0-9a-fA-F]))?)+[pP][+-]?([0-9](_(?=[0-9]))?)+"},{"name":"constant.numeric.float.hex.toit","match":"(?\u003c!\\w)-?0[xX]\\.([0-9a-fA-F](_(?=[0-9a-fA-F]))?)+[pP][+-]?([0-9](_(?=[0-9]))?)+"}]},"operator":{"patterns":[{"name":"keyword.control.toit","match":"(!=|==|\u003e=|\u003c=|\u003c|\u003e|\\*|\\+|-|%|//|/|\u003c\u003c|\u003e\u003e\u003e|\u003e\u003e|\u0026|\\||\\^|~|[.][.])"}]},"operator-assignment":{"patterns":[{"name":"keyword.control.toit","match":"(=|\u003c\u003c=|\u003e\u003e\u003e=|\u003e\u003e=|//=|\\+=|-=|/=|\\*=|%=|~=|\\^=|\u0026=)"}]},"primitive":{"patterns":[{"name":"support.function.builtin.toit","match":"\\#primitive(?!-)\\b"}]},"signature-part2":{"name":"meta.member.signature.part2.toit","patterns":[{"include":"#type-annotation"},{"include":"#comment"},{"name":"meta.parameter.setting.toit","match":"(--)?(this)?\\.([\\p{L}_][\\w-]*)","captures":{"1":{"name":"variable.parameter.named.setting.toit"},"2":{"patterns":[{"include":"#special-variable"}]},"3":{"name":"variable.parameter.named.setting.toit","patterns":[{"include":"#invalid_non_expression"}]}}},{"name":"variable.parameter.toit","match":"(--)?(:)?([\\p{L}_][\\w-]*)","captures":{"2":{"name":"keyword.control.block_marker.toit"},"3":{"patterns":[{"include":"#invalid_non_expression"}]}}},{"name":"meta.parameter.default_value.toit","begin":"(=)\\s*","end":"^|\\s|:","patterns":[{"include":"#comment"},{"include":"#character"},{"include":"#number"},{"include":"#constant"},{"include":"#string"},{"include":"#type-name"},{"include":"#delimited"},{"include":"#keyword"}],"beginCaptures":{"1":{"name":"keyword.control.toit"}}}]},"single-line-comment":{"patterns":[{"contentName":"comment.line.double-slash.toit","begin":"\\s*(//)","end":"(?=^)","beginCaptures":{"1":{"name":"comment.line.double-slash.toit"}}}]},"single-line-string":{"name":"string.quoted.double.toit","begin":"\"(?!\")","end":"\"","patterns":[{"name":"constant.character.escape.toit","match":"\\\\."},{"include":"#interpolated"}]},"special-variable":{"patterns":[{"name":"variable.language.special.toit","match":"\\b(?\u003c!-)(this|it|super)(?!-)\\b"}]},"string":{"patterns":[{"include":"#empty-string"},{"include":"#single-line-string"},{"include":"#multi-line-string"}]},"toplevel-section":{"name":"meta.toplevel.toit","patterns":[{"include":"#comment"},{"include":"#type-annotation"},{"name":"meta.toplevel.signature","begin":"([\\p{L}_][\\w-]*[=]?)","end":"(?=\\:(?![\\p{L}_])|^\\s{0,2}(?:[^\\s/]|/[^/*]))","patterns":[{"include":"#signature-part2"}],"beginCaptures":{"1":{"name":"storage.type.function"}}},{"name":"meta.toplevel.body","begin":"(:=|::=)|(:)|^\\s{2}(?=[^\\s/])","end":"(?=^([^\\s/]|/[^/*]))","patterns":[{"include":"#expressions"}],"beginCaptures":{"1":{"name":"keyword.control.toit"}}}]},"type-annotation":{"patterns":[{"name":"entity.name.type.annotation.toit","begin":"(/|-\u003e) *(?=[\\p{L}_])","end":"(?=[^\\w-.?])","beginCaptures":{"1":{"name":"keyword.control.return_type.toit"}}}]},"type-name":{"patterns":[{"name":"entity.name.type.toit","match":"\\b(?\u003c!-)_?[A-Z][0-9]*(?!-)\\b[?]?"},{"name":"entity.name.type.toit","match":"\\b(?\u003c!-)_?[A-Z][A-Z_-]*[a-z][\\w-]*(?!-)\\b[?]?"},{"name":"entity.name.type.shorts.toit","match":"\\b(?\u003c!-)(int|bool|float|string)(?!-)\\b[?]?"},{"name":"entity.name.type.any_none.toit","match":"\\b(?\u003c!-)(any|none)(?!-)\\b"}]},"variable":{"patterns":[{"name":"entity.name.function.call.toit","match":"\\b(?\u003c!-)[\\p{L}_][\\w-]*(?!-)\\b"}]},"variable-declaration":{"patterns":[{"name":"meta.variable.toit","match":"([\\p{L}_][\\w-]*)\\s*(\\:=|\\:\\:=)","captures":{"1":{"name":"variable.other.toit"},"2":{"name":"keyword.control.toit"}}},{"name":"meta.variable.toit","match":"([\\p{L}_][\\w-]*)\\s*(\\/)\\s*([_\\w.]+[?]?)\\s*(\\:=|\\:\\:=)","captures":{"1":{"name":"variable.other.toit"},"2":{"name":"keyword.control.toit"},"3":{"name":"meta.variable.type.toit","patterns":[{"include":"#type-name"}]},"4":{"name":"keyword.control.toit"}}}]}}}