github-linguist 7.28.0 → 7.30.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/bin/git-linguist +7 -3
  3. data/bin/github-linguist +6 -3
  4. data/grammars/etc.json +1 -1
  5. data/grammars/inline.graphql.json +1 -1
  6. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  7. data/grammars/inline.hbs.json +1 -1
  8. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  9. data/grammars/markdown.gleam.codeblock.json +1 -0
  10. data/grammars/markdown.glimmer.codeblock.json +1 -0
  11. data/grammars/markdown.move.codeblock.json +1 -1
  12. data/grammars/markdown.rego.codeblock.json +1 -0
  13. data/grammars/source.8xp.json +1 -0
  14. data/grammars/source.Caddyfile-test.json +1 -0
  15. data/grammars/source.Caddyfile.json +1 -0
  16. data/grammars/source.abl.json +1 -1
  17. data/grammars/source.amxxpawn.json +1 -0
  18. data/grammars/source.astro.json +1 -1
  19. data/grammars/source.bb.json +1 -0
  20. data/grammars/source.bh.json +1 -0
  21. data/grammars/source.bicep.json +1 -1
  22. data/grammars/source.bms.json +1 -1
  23. data/grammars/source.bqn.json +1 -0
  24. data/grammars/source.brs.json +1 -1
  25. data/grammars/source.clarion.json +1 -1
  26. data/grammars/source.cobol.json +1 -1
  27. data/grammars/source.commonlisp.json +1 -0
  28. data/grammars/source.cs.json +1 -1
  29. data/grammars/source.csound.json +1 -1
  30. data/grammars/source.d2.json +1 -1
  31. data/grammars/source.dart.json +1 -1
  32. data/grammars/source.did.json +1 -1
  33. data/grammars/source.elvish-transcript.json +1 -1
  34. data/grammars/source.firrtl.json +1 -0
  35. data/grammars/source.fsharp.json +1 -1
  36. data/grammars/source.gdscript.json +1 -1
  37. data/grammars/source.generic-db.json +1 -1
  38. data/grammars/source.gjs.json +1 -1
  39. data/grammars/source.gleam.json +1 -1
  40. data/grammars/source.gts.json +1 -1
  41. data/grammars/source.hcl.json +1 -1
  42. data/grammars/source.hcl.terraform.json +1 -1
  43. data/grammars/source.hx.json +1 -1
  44. data/grammars/source.ice.json +1 -1
  45. data/grammars/source.julia.json +1 -1
  46. data/grammars/source.kotlin.json +1 -1
  47. data/grammars/source.lean4.json +1 -1
  48. data/grammars/source.lua.json +1 -1
  49. data/grammars/source.luau.json +1 -0
  50. data/grammars/source.m2.json +1 -1
  51. data/grammars/source.markdown.caddy.codeblock.json +1 -0
  52. data/grammars/source.matlab.json +1 -1
  53. data/grammars/source.mdx.json +1 -1
  54. data/grammars/source.mojo.json +1 -0
  55. data/grammars/source.move.json +1 -1
  56. data/grammars/source.nasal.json +1 -1
  57. data/grammars/source.nim.json +1 -1
  58. data/grammars/source.nushell.json +1 -1
  59. data/grammars/source.odin.json +1 -1
  60. data/grammars/source.p4.json +1 -1
  61. data/grammars/source.pip-requirements.json +1 -0
  62. data/grammars/source.pkl.json +1 -0
  63. data/grammars/source.praat.json +1 -1
  64. data/grammars/source.rego.json +1 -1
  65. data/grammars/source.rescript.json +1 -1
  66. data/grammars/source.roc.json +1 -0
  67. data/grammars/source.ron.json +1 -0
  68. data/grammars/source.rust.json +1 -1
  69. data/grammars/source.scala.json +1 -1
  70. data/grammars/source.slice.json +1 -1
  71. data/grammars/source.slint.json +1 -0
  72. data/grammars/source.solidity.json +1 -1
  73. data/grammars/source.sourcepawn.json +1 -1
  74. data/grammars/source.sqf.json +1 -1
  75. data/grammars/source.swift.json +1 -1
  76. data/grammars/source.templ.json +1 -0
  77. data/grammars/source.toit.json +1 -1
  78. data/grammars/source.ts.json +1 -1
  79. data/grammars/source.tsx.json +1 -1
  80. data/grammars/source.vba.json +1 -1
  81. data/grammars/source.wsd.json +1 -1
  82. data/grammars/sp-jsdoc.injection.json +1 -0
  83. data/grammars/text.adblock.json +1 -1
  84. data/grammars/text.crontab.json +1 -0
  85. data/grammars/text.html.edge.json +1 -0
  86. data/grammars/text.html.ember-handlebars.json +1 -1
  87. data/grammars/text.html.statamic.json +1 -1
  88. data/grammars/text.md.json +1 -1
  89. data/grammars/text.srt.json +1 -1
  90. data/grammars/text.valve-cfg.json +1 -0
  91. data/grammars/text.valve-kv.json +1 -0
  92. data/grammars/version +1 -1
  93. data/lib/linguist/VERSION +1 -1
  94. data/lib/linguist/generated.rb +39 -1
  95. data/lib/linguist/heuristics.yml +26 -2
  96. data/lib/linguist/languages.json +1 -1
  97. data/lib/linguist/languages.yml +195 -9
  98. data/lib/linguist/repository.rb +8 -6
  99. data/lib/linguist/samples.json +1 -1
  100. metadata +31 -5
  101. data/grammars/markdown.graphql.codeblock.json +0 -1
  102. data/grammars/source.terraform.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"templ","scopeName":"source.templ","patterns":[{"include":"#script-template"},{"include":"#css-template"},{"include":"#html-template"},{"include":"source.go"}],"repository":{"block-element":{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|section|article|aside|header|footer|nav|menu|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|pre)(?=\\s|\\\\|\u003e))","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.block.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"call-expression":{"name":"call-expression.templ","begin":"({\\!)\\s+","end":"(})","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.call-expression.templ"},"1":{"name":"punctuation.brace.open"}},"endCaptures":{"0":{"name":"end.call-expression.templ"},"1":{"name":"punctuation.brace.close"}}},"case-expression":{"begin":"^\\s*case .+?:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"case.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"close-element":{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:\\-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.other.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"css-template":{"name":"css-template.templ","begin":"^(css) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.css-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.css-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"name":"property.css-template.templ","begin":"\\s*((?:-(?:webkit|moz|o|ms|khtml)-)?(?:zoom|z-index|y|x|writing-mode|wrap|wrap-through|wrap-inside|wrap-flow|wrap-before|wrap-after|word-wrap|word-spacing|word-break|word|will-change|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|vector-effect|variant|user-zoom|user-select|up|unicode-(bidi|range)|trim|translate|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform-box|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-underline-position|text-transform|text-spacing|text-space-trim|text-space-collapse|text-size-adjust|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-orientation|text-justify|text-indent|text-height|text-emphasis-style|text-emphasis-skip|text-emphasis-position|text-emphasis-color|text-emphasis|text-decoration-style|text-decoration-stroke|text-decoration-skip|text-decoration-line|text-decoration-fill|text-decoration-color|text-decoration|text-combine-upright|text-anchor|text-align-last|text-align-all|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|system|symbols|suffix|style-type|style-position|style-image|style|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|string-set|stretch|stress|stop-opacity|stop-color|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak-as|speak|span|spacing|space-collapse|space|solid-opacity|solid-color|sizing|size-adjust|size|shape-rendering|shape-padding|shape-outside|shape-margin|shape-inside|shape-image-threshold|shadow|scroll-snap-type|scroll-snap-points-y|scroll-snap-points-x|scroll-snap-destination|scroll-snap-coordinate|scroll-behavior|scale|ry|rx|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-merge|ruby-align|ruby|rows|rotation-point|rotation|rotate|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resolution|resize|reset|replace|repeat|rendering-intent|region-fragment|rate|range|radius|r|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|prefix|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|perspective-origin|perspective|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-inline-start|padding-inline-end|padding-bottom|padding-block-start|padding-block-end|padding|pad|pack|overhang|overflow-y|overflow-x|overflow-wrap|overflow-style|overflow-inline|overflow-block|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset-start|offset-inline-start|offset-inline-end|offset-end|offset-block-start|offset-block-end|offset-before|offset-after|offset|object-position|object-fit|numeral|new|negative|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|motion-rotation|motion-path|motion-offset|motion|model|mix-blend-mode|min-zoom|min-width|min-inline-size|min-height|min-block-size|min|max-zoom|max-width|max-lines|max-inline-size|max-height|max-block-size|max|mask-type|mask-size|mask-repeat|mask-position|mask-origin|mask-mode|mask-image|mask-composite|mask-clip|mask-border-width|mask-border-source|mask-border-slice|mask-border-repeat|mask-border-outset|mask-border-mode|mask-border|mask|marquee-style|marquee-speed|marquee-play-count|marquee-loop|marquee-direction|marquee|marks|marker-start|marker-side|marker-mid|marker-end|marker|margin-top|margin-right|margin-left|margin-inline-start|margin-inline-end|margin-bottom|margin-block-start|margin-block-end|margin|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-snap|line-height|line-grid|line-break|line|lighting-color|level|letter-spacing|length|left-width|left-style|left-color|left|label|kerning|justify-self|justify-items|justify-content|justify|iteration-count|isolation|inline-size|inline-box-align|initial-value|initial-size|initial-letter-wrap|initial-letter-align|initial-letter|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-rendering|image-resolution|image-orientation|image|icon|hyphens|hyphenate-limit-zone|hyphenate-limit-lines|hyphenate-limit-last|hyphenate-limit-chars|hyphenate-character|hyphenate|height|header|hanging-punctuation|grid-template-rows|grid-template-columns|grid-template-areas|grid-template|grid-row-start|grid-row-gap|grid-row-end|grid-row|grid-rows|grid-gap|grid-column-start|grid-column-gap|grid-column-end|grid-column|grid-columns|grid-auto-rows|grid-auto-flow|grid-auto-columns|grid-area|grid|glyph-orientation-vertical|glyph-orientation-horizontal|gap|font-weight|font-variant-position|font-variant-numeric|font-variant-ligatures|font-variant-east-asian|font-variant-caps|font-variant-alternates|font-variant|font-synthesis|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|flow-into|flow-from|flow|flood-opacity|flood-color|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|filter|fill-rule|fill-opacity|fill|family|fallback|enable-background|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cy|cx|cursor|cue-before|cue-after|cue|crop|counter-set|counter-reset|counter-increment|counter|count|corner-shape|corners|continue|content|contain|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-rendering|color-profile|color-interpolation-filters|color-interpolation|color-adjust|color|collapse|clip-rule|clip-path|clip|clear|character|caret-shape|caret-color|caret|caption-side|buffered-rendering|break-inside|break-before|break-after|break|box-suppress|box-snap|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-limit|border-length|border-left-width|border-left-style|border-left-color|border-left|border-inline-start-width|border-inline-start-style|border-inline-start-color|border-inline-start|border-inline-end-width|border-inline-end-style|border-inline-end-color|border-inline-end|border-image-width|border-image-transform|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-clip-top|border-clip-right|border-clip-left|border-clip-bottom|border-clip|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border-block-start-width|border-block-start-style|border-block-start-color|border-block-start|border-block-end-width|border-block-end-style|border-block-end-color|border-block-end|border|bookmark-target|bookmark-level|bookmark-label|bookmark|block-size|binding|bidi|before|baseline-shift|baseline|balance|background-size|background-repeat|background-position-y|background-position-x|background-position-inline|background-position-block|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|backface-visibility|backdrop-filter|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|alt|all|alignment-baseline|alignment-adjust|alignment|align-last|align-self|align-items|align-content|align|after|adjust|additive-symbols)):\\s+","end":"(?\u003c=;$)","patterns":[{"name":"expression.property.css-template.templ","begin":"({)","end":"(})(;)$","patterns":[{"include":"source.go"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"name":"punctuation.terminator.rule.css"}}},{"name":"constant.property.css-template.templ","match":"(.*)(;)$","captures":{"1":{"name":"support.type.property-value.css"},"2":{"name":"punctuation.terminator.rule.css"}}}],"beginCaptures":{"1":{"name":"support.type.property-name.css"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"default-expression":{"begin":"^\\s*default:$","end":"(^\\s*case .+?:$)|(^\\s*default:$)|(\\s*$)","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"default.switch.html-template.templ","patterns":[{"include":"source.go"}]}}},"element":{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:\\-]++)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},"else-expression":{"name":"else.html-template.templ","begin":"\\s+(else)\\s+({)\\s*$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}},"else-if-expression":{"name":"else-if.html-template.templ","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.else-if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#[xX][0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"for-expression":{"name":"for.html-template.templ","begin":"^\\s*for .+{","end":"\\s*}\\s*\n","patterns":[{"include":"#template-node"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"go-comment-block":{"name":"comment.block.go","begin":"(\\/\\*)","end":"(\\*\\/)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}},"endCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"go-comment-double-slash":{"name":"comment.line.double-slash.go","begin":"(\\/\\/)","end":"(?:\\n|$)","beginCaptures":{"1":{"name":"punctuation.definition.comment.go"}}},"html-comment":{"name":"comment.block.html","begin":"\u003c!--","end":"--\u003e","beginCaptures":{"0":{"name":"punctuation.definition.comment.html"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.html"}}},"html-template":{"name":"html-template.templ","begin":"^(templ) ((?:\\([A-z_][A-z_0-9]* \\*?[A-z_][A-z_0-9]*\\) )?[A-z_][A-z_0-9]*(\\(|\\[))","end":"(?\u003c=^}$)","patterns":[{"name":"params.html-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"type-params.html-template.templ","begin":"(?\u003c=\\[)","end":"(\\])","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.square.go"}}},{"name":"block.html-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"if-expression":{"name":"if.html-template.templ","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.html-template.templ","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}}},{"name":"block.if.html-template.templ","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#template-node"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"import-expression":{"patterns":[{"name":"import-expression.templ","begin":"(@)((?:[A-z_][A-z_0-9]*\\.)?[A-z_][A-z_0-9]*(?:\\(|{|$))","end":"(?\u003c=\\))$|(?\u003c=})$|(?\u003c=$)","patterns":[{"name":"struct-method.import-expression.templ","begin":"(?\u003c=[A-z_0-9]{)","end":"\\s*(})(\\.[A-z_][A-z_0-9]*\\()","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"},"2":{"patterns":[{"include":"source.go"}]}}},{"name":"params.import-expression.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"children.import-expression.templ","begin":"(?\u003c=\\))\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#template-node"}],"beginCaptures":{"1":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}}]},"inline-element":{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?=\\s|\\\\|\u003e))","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.inline.any.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}}},"script-element":{"name":"meta.tag.script.html","begin":"(\u003c)(script)([^\u003e]*)(\u003e)","end":"\u003c/script\u003e","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"script-template":{"name":"script-template.templ","begin":"^(script) ([A-z_][A-z_0-9]*\\()","end":"(?\u003c=^}$)","patterns":[{"name":"params.script-template.templ","begin":"(?\u003c=\\()","end":"(\\))","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.round.go"}}},{"name":"block.script-template.templ","begin":"(?\u003c=\\)) ({)$","end":"^(})$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.definition.begin.bracket.curly.go"}},"endCaptures":{"1":{"name":"punctuation.definition.end.bracket.curly.go"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"patterns":[{"include":"source.go"}]}}},"sgml":{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(?i:DOCTYPE)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},"string-double-quoted":{"name":"string.quoted.double.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-expression":{"name":"expression.html-template.templ","begin":"{\\s+","end":"}","patterns":[{"include":"source.go"}],"beginCaptures":{"0":{"name":"start.string-expression.templ"}},"endCaptures":{"0":{"name":"end.string-expression.templ"}}},"style-element":{"name":"meta.tag.style.html","begin":"(\u003c)(style)([^\u003e]*)(\u003e)","end":"\u003c/style\u003e","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"},"3":{"patterns":[{"include":"#tag-stuff"}]},"4":{"name":"punctuation.definition.tag.html"}},"endCaptures":{"0":{"patterns":[{"include":"#close-element"}]}}},"switch-expression":{"name":"switch.html-template.templ","begin":"^\\s*switch .+?{$","end":"^\\s*}$","patterns":[{"include":"#template-node"},{"include":"#case-expression"},{"include":"#default-expression"}],"captures":{"0":{"name":"meta.embedded.block.go","patterns":[{"include":"source.go"}]}}},"tag-else-attribute":{"name":"else.attribute.html","begin":"\\s(else)\\s({)$","end":"^\\s*(})$","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"keyword.control.go"},"2":{"name":"punctuation.brace.open"}},"endCaptures":{"1":{"name":"punctuation.brace.close"}}},"tag-else-if-attribute":{"name":"else-if.attribute.html","begin":"\\s(else if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.else-if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.else-if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-generic-attribute":{"name":"entity.other.attribute-name.html","match":"(?\u003c=[^=])\\b([a-zA-Z0-9:-]+)"},"tag-id-attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?!\\G)(?\u003c='|\"|[^\\s\u003c\u003e/])","patterns":[{"name":"string.quoted.double.html","contentName":"meta.toc-list.id.html","begin":"\"","end":"\"","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.quoted.single.html","contentName":"meta.toc-list.id.html","begin":"'","end":"'","patterns":[{"include":"#entities"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},{"name":"string.unquoted.html","match":"(?\u003c==)(?:[^\\s{}\u003c\u003e/'\"]|/(?!\u003e))+","captures":{"0":{"name":"meta.toc-list.id.html"}}}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag-if-attribute":{"name":"if.attribute.html","begin":"^\\s*(if)\\s","end":"(?\u003c=})","patterns":[{"name":"expression.if.attribute.html","begin":"(?\u003c=if\\s)","end":"({)$","patterns":[{"include":"source.go"}],"endCaptures":{"1":{"name":"punctuation.brace.open"}}},{"name":"block.if.attribute.html","begin":"(?\u003c={)$","end":"^\\s*(})","patterns":[{"include":"#tag-stuff"}],"endCaptures":{"1":{"name":"punctuation.brace.close"}}}],"beginCaptures":{"1":{"name":"keyword.control.go"}}},"tag-stuff":{"patterns":[{"include":"#tag-id-attribute"},{"include":"#tag-generic-attribute"},{"include":"#string-double-quoted"},{"include":"#string-expression"},{"include":"#tag-if-attribute"},{"include":"#tag-else-if-attribute"},{"include":"#tag-else-attribute"}]},"template-node":{"patterns":[{"include":"#string-expression"},{"include":"#call-expression"},{"include":"#import-expression"},{"include":"#script-element"},{"include":"#style-element"},{"include":"#element"},{"include":"#html-comment"},{"include":"#go-comment-block"},{"include":"#go-comment-double-slash"},{"include":"#sgml"},{"include":"#block-element"},{"include":"#inline-element"},{"include":"#close-element"},{"include":"#else-if-expression"},{"include":"#if-expression"},{"include":"#else-expression"},{"include":"#for-expression"},{"include":"#switch-expression"}]}}}
@@ -1 +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"}}}]}}}
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][A-Z_-]*[a-z][\\w-]*(?\u003c!-)\\b[?]?"},{"name":"entity.name.type.toit","match":"\\b(?\u003c!-)_?[A-Z][0-9]*_?(?\u003c!-)\\b[?]?"},{"name":"entity.name.type.shorts.toit","match":"\\b(?\u003c!-)(int|bool|float|string)(?\u003c!-)\\b[?]?"},{"name":"entity.name.type.any_none.toit","match":"\\b(?\u003c!-)(any|none)(?\u003c!-)\\b"}]},"variable":{"patterns":[{"name":"entity.name.function.call.toit","match":"\\b(?\u003c!-)[\\p{L}_][\\w-]*(?\u003c!-)\\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"}}}]}}}