github-linguist 7.26.0 → 7.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/markdown.d2.codeblock.json +1 -0
  3. data/grammars/source.abap.json +1 -1
  4. data/grammars/source.aidl.json +1 -1
  5. data/grammars/source.ballerina.json +1 -1
  6. data/grammars/source.bicep.json +1 -1
  7. data/grammars/source.cs.json +1 -1
  8. data/grammars/source.d2.json +1 -1
  9. data/grammars/source.dart.json +1 -1
  10. data/grammars/source.denizenscript.json +1 -1
  11. data/grammars/source.directivesmf.json +1 -0
  12. data/grammars/source.earthfile.json +1 -1
  13. data/grammars/source.emacs.lisp.json +1 -1
  14. data/grammars/source.gleam.json +1 -1
  15. data/grammars/source.igor.json +1 -1
  16. data/grammars/source.julia.json +1 -1
  17. data/grammars/source.matlab.json +1 -1
  18. data/grammars/source.mdx.json +1 -1
  19. data/grammars/source.mo.json +1 -1
  20. data/grammars/source.nim.json +1 -1
  21. data/grammars/source.nushell.json +1 -1
  22. data/grammars/source.pic.json +1 -1
  23. data/grammars/source.prisma.json +1 -1
  24. data/grammars/source.ql.json +1 -1
  25. data/grammars/source.raku.json +1 -1
  26. data/grammars/source.rascal.json +1 -1
  27. data/grammars/source.rbs.json +1 -1
  28. data/grammars/source.rescript.json +1 -1
  29. data/grammars/source.rez.json +1 -0
  30. data/grammars/source.scala.json +1 -1
  31. data/grammars/source.scenic.json +1 -1
  32. data/grammars/source.solidity.json +1 -1
  33. data/grammars/source.stan.json +1 -1
  34. data/grammars/source.talon.json +1 -1
  35. data/grammars/source.ts.json +1 -1
  36. data/grammars/source.tsx.json +1 -1
  37. data/grammars/source.typst.json +1 -0
  38. data/grammars/source.vba.json +1 -1
  39. data/grammars/source.vyper.json +1 -1
  40. data/grammars/source.wit.json +1 -1
  41. data/grammars/source.yul.json +1 -1
  42. data/grammars/text.hash-commented.json +1 -1
  43. data/grammars/text.md.json +1 -1
  44. data/grammars/text.tex.latex.sweave.json +1 -0
  45. data/grammars/text.xml.svg.json +1 -1
  46. data/grammars/version +1 -1
  47. data/lib/linguist/VERSION +1 -1
  48. data/lib/linguist/generated.rb +10 -0
  49. data/lib/linguist/heuristics.rb +2 -0
  50. data/lib/linguist/heuristics.yml +20 -11
  51. data/lib/linguist/languages.json +1 -1
  52. data/lib/linguist/languages.yml +66 -3
  53. data/lib/linguist/samples.json +1 -1
  54. metadata +14 -10
  55. data/grammars/source.nimcfg.json +0 -1
@@ -0,0 +1 @@
1
+ {"name":"typst","scopeName":"source.typst","patterns":[{"include":"#markup"}],"repository":{"arguments":{"patterns":[{"name":"variable.parameter.typst","match":"\\b[[:alpha:]_][[:alnum:]_-]*(?=:)"},{"include":"#code"}]},"code":{"patterns":[{"include":"#common"},{"name":"meta.block.code.typst","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"punctuation.definition.block.code.typst"}}},{"name":"meta.block.content.typst","begin":"\\[","end":"\\]","patterns":[{"include":"#markup"}],"captures":{"0":{"name":"punctuation.definition.block.content.typst"}}},{"name":"comment.line.double-slash.typst","begin":"//","end":"\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.typst"}}},{"name":"punctuation.separator.colon.typst","match":":"},{"name":"punctuation.separator.comma.typst","match":","},{"name":"keyword.operator.typst","match":"=\u003e|\\.\\."},{"name":"keyword.operator.relational.typst","match":"==|!=|\u003c=|\u003c|\u003e=|\u003e"},{"name":"keyword.operator.assignment.typst","match":"\\+=|-=|\\*=|/=|="},{"name":"keyword.operator.arithmetic.typst","match":"\\+|\\|/|(?\u003c![[:alpha:]])(?\u003c!\\w)(?\u003c!\\d)-(?![[:alnum:]-][[:alpha:]_])"},{"name":"keyword.operator.word.typst","match":"\\b(and|or|not)\\b"},{"name":"keyword.other.typst","match":"\\b(let|as|in|set|show)\\b"},{"name":"keyword.control.conditional.typst","match":"\\b(if|else)\\b"},{"name":"keyword.control.loop.typst","match":"\\b(for|while|break|continue)\\b"},{"name":"keyword.control.import.typst","match":"\\b(import|include|export)\\b"},{"name":"keyword.control.flow.typst","match":"\\b(return)\\b"},{"include":"#constants"},{"name":"entity.name.function.typst","match":"\\b[[:alpha:]_][[:alnum:]_-]*!?(?=\\[|\\()"},{"name":"entity.name.function.typst","match":"(?:\\bshow\\s*\\b([[:alpha:]][[:alnum:]-])(?=\\s[:.]))"},{"begin":"(?:\\b([[:alpha:]][[:alnum:]-]*!?)\\()","end":"\\)","patterns":[{"include":"#arguments"}],"captures":{"0":{"name":"punctuation.definition.group.typst"}}},{"name":"variable.other.typst","match":"\\b[[:alpha:]_][[:alnum:]_-]*\\b"},{"name":"meta.group.typst","begin":"\\(","end":"\\)|(?=;)","patterns":[{"include":"#code"}],"captures":{"0":{"name":"punctuation.definition.group.typst"}}}]},"comments":{"patterns":[{"name":"comment.block.typst","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"captures":{"0":{"name":"punctuation.definition.comment.typst"}}},{"name":"comment.line.double-slash.typst","begin":"(?\u003c!:)//","end":"\n","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.typst"}}}]},"common":{"patterns":[{"include":"#comments"}]},"constants":{"patterns":[{"name":"constant.language.none.typst","match":"\\bnone\\b"},{"name":"constant.language.auto.typst","match":"\\bauto\\b"},{"name":"constant.language.boolean.typst","match":"\\b(true|false)\\b"},{"name":"constant.numeric.length.typst","match":"\\b(\\d*)?\\.?\\d+([eE][+-]?\\d+)?(mm|pt|cm|in|em)\\b"},{"name":"constant.numeric.angle.typst","match":"\\b(\\d*)?\\.?\\d+([eE][+-]?\\d+)?(rad|deg)\\b"},{"name":"constant.numeric.percentage.typst","match":"\\b(\\d*)?\\.?\\d+([eE][+-]?\\d+)?%"},{"name":"constant.numeric.fr.typst","match":"\\b(\\d*)?\\.?\\d+([eE][+-]?\\d+)?fr"},{"name":"constant.numeric.integer.typst","match":"\\b\\d+\\b"},{"name":"constant.numeric.float.typst","match":"\\b(\\d*)?\\.?\\d+([eE][+-]?\\d+)?\\b"},{"name":"string.quoted.double.typst","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.string.typst","match":"\\\\([\\\\\"nrt]|u\\{?[0-9a-zA-Z]*\\}?)"}],"captures":{"0":{"name":"punctuation.definition.string.typst"}}},{"name":"string.other.math.typst","begin":"\\$","end":"\\$","captures":{"0":{"name":"punctuation.definition.string.math.typst"}}}]},"markup":{"patterns":[{"include":"#common"},{"name":"constant.character.escape.content.typst","match":"\\\\([\\\\/\\[\\]{}#*_=~`$-.]|u\\{[0-9a-zA-Z]*\\}?)"},{"name":"punctuation.definition.linebreak.typst","match":"\\\\"},{"name":"punctuation.definition.nonbreaking-space.typst","match":"~"},{"name":"punctuation.definition.shy.typst","match":"-\\?"},{"name":"punctuation.definition.em-dash.typst","match":"---"},{"name":"punctuation.definition.en-dash.typst","match":"--"},{"name":"punctuation.definition.ellipsis.typst","match":"\\.\\.\\."},{"name":"constant.symbol.typst","match":":([a-zA-Z0-9]+:)+"},{"name":"markup.bold.typst","begin":"(^\\*|\\*$|((?\u003c=\\W|_)\\*)|(\\*(?=\\W|_)))","end":"(^\\*|\\*$|((?\u003c=\\W|_)\\*)|(\\*(?=\\W|_)))|\n|(?=\\])","patterns":[{"include":"#markup"}],"captures":{"0":{"name":"punctuation.definition.bold.typst"}}},{"name":"markup.italic.typst","begin":"(^_|_$|((?\u003c=\\W|_)_)|(_(?=\\W|_)))","end":"(^_|_$|((?\u003c=\\W|_)_)|(_(?=\\W|_)))|\n|(?=\\])","patterns":[{"include":"#markup"}],"captures":{"0":{"name":"punctuation.definition.italic.typst"}}},{"name":"markup.underline.link.typst","match":"https?://[0-9a-zA-Z~/%#\u0026=',;\\.\\+\\?]*"},{"name":"markup.raw.block.typst","begin":"`{3,}","end":"\\0","captures":{"0":{"name":"punctuation.definition.raw.typst"}}},{"name":"markup.raw.inline.typst","begin":"`","end":"`","captures":{"0":{"name":"punctuation.definition.raw.typst"}}},{"name":"string.other.math.typst","begin":"\\$","end":"\\$","captures":{"0":{"name":"punctuation.definition.string.math.typst"}}},{"name":"markup.heading.typst","contentName":"entity.name.section.typst","begin":"^\\s*=+\\s+","end":"\n|(?=\u003c)","patterns":[{"include":"#markup"}],"beginCaptures":{"0":{"name":"punctuation.definition.heading.typst"}}},{"name":"punctuation.definition.list.unnumbered.typst","match":"^\\s*-\\s+"},{"name":"punctuation.definition.list.numbered.typst","match":"^\\s*([0-9]*\\.|\\+)\\s+"},{"match":"^\\s*(/)\\s+([^:]*:)","captures":{"1":{"name":"punctuation.definition.list.description.typst"},"2":{"name":"markup.list.term.typst"}}},{"name":"entity.other.label.typst","match":"\u003c[[:alpha:]_][[:alnum:]_-]*\u003e","captures":{"1":{"name":"punctuation.definition.label.typst"}}},{"name":"entity.other.reference.typst","match":"(@)[[:alpha:]_][[:alnum:]_-]*","captures":{"1":{"name":"punctuation.definition.reference.typst"}}},{"begin":"(#)(let|set|show)\\b","end":"\n|(;)|(?=])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.other.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}}},{"name":"keyword.other.typst","match":"(#)(as|in)\\b","captures":{"1":{"name":"punctuation.definition.keyword.typst"}}},{"begin":"(?:(#)if|(?:}(?:\\s*)|](?:\\s*))else)\\b","end":"\n|(?=])|(?\u003c=}|])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.control.conditional.typst"},"2":{"name":"punctuation.definition.keyword.typst"}}},{"begin":"(#)(for|while)\\b","end":"\n|(?=])|(?\u003c=}|])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.control.loop.typst"},"1":{"name":"punctuation.definition.keyword.typst"}}},{"name":"keyword.control.loop.typst","match":"(#)(break|continue)\\b","captures":{"1":{"name":"punctuation.definition.keyword.typst"}}},{"begin":"(#)(import|include|export)\\b","end":"\n|(;)|(?=])","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"keyword.control.import.typst"},"1":{"name":"punctuation.definition.keyword.typst"}},"endCaptures":{"1":{"name":"punctuation.terminator.statement.typst"}}},{"name":"keyword.control.flow.typst","match":"(#)(return)\\b","captures":{"1":{"name":"punctuation.definition.keyword.typst"}}},{"name":"entity.name.function.typst","match":"((#)[[:alpha:]_][[:alnum:]_-]*!?)(?=\\[|\\()","captures":{"2":{"name":"punctuation.definition.function.typst"}}},{"begin":"(?:#)([[A-Za-z]_][[0-9]_-]*!?(?=\\())\\(","end":"\\)","patterns":[{"include":"#arguments"}],"captures":{"0":{"name":"punctuation.definition.group.typst"}}},{"name":"entity.other.interpolated.typst","match":"(#)[[:alpha:]_][.[:alnum:]_-]*","captures":{"1":{"name":"punctuation.definition.variable.typst"}}},{"name":"meta.block.content.typst","begin":"#","end":"\\s","patterns":[{"include":"#code"}]}]}}}
@@ -1 +1 @@
1
- {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"include":"#functions"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:|(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\n","patterns":[{"name":"comment.line.quote","match":"'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"name":"entity.name.function.vba","match":"(?i:\\b(?:(?\u003c=Call )|(?\u003c=Function )|(?\u003c=Sub ))[a-zA-Z][a-zA-Z0-9_]*\\b)(?=\\(\\)?)"},"keywords":{"patterns":[{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.conditional.vba","match":"(?i:\\b(Do(( While)|( Until))?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop(( While)|( Until))?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:(\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b)|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Static )?(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent)\\b)"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|/)[0-9]{1,2}((-|/)[0-9]{1,4})?#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase)\\b"}]},"strings":{"name":"string.quoted.double","begin":"\"","end":"\""},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z]+)","captures":{"1":{"name":"support.type"}}}]}}}
1
+ {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"include":"#functions"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:|(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\n","patterns":[{"name":"comment.line.quote","match":"'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"name":"entity.name.function.vba","match":"(?i:\\b(?:(?\u003c=Call )|(?\u003c=Function )|(?\u003c=Sub ))[a-zA-Z][a-zA-Z0-9_]*\\b)(?=\\(\\)?)"},"keywords":{"patterns":[{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.conditional.vba","match":"(?i:\\b(Do(( While)|( Until))?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop(( While)|( Until))?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:(\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b)|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent)\\b)"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|/)[0-9]{1,2}((-|/)[0-9]{1,4})?#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"name":"string.quoted.double","begin":"\"","end":"\""},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
@@ -1 +1 @@
1
- {"name":"Vyper","scopeName":"source.vyper","patterns":[{"name":"comment","match":"\\#.*"},{"name":"comment","begin":"(\\\"\\\"\\\")","end":"(\\\"\\\"\\\")"},{"name":"keyword.control","match":"\\b(event|indexed)\\b"},{"name":"keyword.control","match":"\\b(contract|interface|library|using|struct|constructor|modifier)(\\s+[A-Za-z_]\\w*)?(?:\\s+is\\s+((?:[A-Za-z_][\\,\\s]*)*))?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(def)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"constant.language","match":"\\b(True|False)\\b"},{"name":"markup.italic","match":"\\bself\\b"},{"name":"support.type","match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b"},{"name":"keyword.control","match":"\\b(import|constant|map|raise|payable|storage|memory|calldata|if|else|for|while|do|break|continue|return|private|public|immutable|pure|view|internal|external|this|suicide|selfdestruct|delegatecall|emit|new|is|throw|revert|assert|require|\\_)\\b"},{"name":"keyword","match":"\\b(not|and|or|pass|from|import|as)\\b"},{"name":"markup.italic","match":"(@[A-Za-z_]\\w*)\\b"},{"name":"keyword.operator","match":"(=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%|\\bhex\\b)"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"markup.italic"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\[(\\d*)\\])?(?:\\[(\\d*)\\])?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"name":"string.quoted","match":"([\\\"\\'].*?[\\\"\\'])"},{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"}]}
1
+ {"name":"Vyper","scopeName":"source.vyper","patterns":[{"name":"comment","match":"\\#.*"},{"name":"comment","begin":"(\\\"\\\"\\\")","end":"(\\\"\\\"\\\")"},{"name":"keyword.control","match":"\\b(event|indexed)\\b"},{"name":"keyword.control","match":"\\b(contract|interface|library|using|struct|constructor|modifier)(\\s+[A-Za-z_]\\w*)?(?:\\s+is\\s+((?:[A-Za-z_][\\,\\s]*)*))?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(def)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"name":"constant.language","match":"\\b(True|False)\\b"},{"name":"markup.italic","match":"\\bself\\b"},{"name":"support.type","match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b"},{"name":"keyword.control","match":"\\b(import|constant|map|raise|payable|storage|memory|calldata|if|else|for|while|do|break|continue|return|private|public|immutable|pure|view|internal|external|this|suicide|selfdestruct|delegatecall|emit|new|is|throw|revert|assert|require|\\_)\\b"},{"name":"keyword","match":"\\b(not|and|or|pass|from|import|as)\\b"},{"name":"markup.italic","match":"(@[A-Za-z_]\\w*)\\b"},{"name":"keyword.operator","match":"(=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%|\\bhex\\b)"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"markup.italic"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\[(\\d*)\\])?(?:\\[(\\d*)\\])?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"string.quoted","begin":"(?\u003c!\\\\)[\\\"\\']","end":"(?\u003c!\\\\)[\\\"\\']","patterns":[{"include":"#string"}]}],"repository":{"string":{"patterns":[{"name":"constant.character.escape","match":"\\\\\""},{"name":"constant.character.escape","match":"\\\\'"},{"name":"string.quoted","match":"."}]}}}
@@ -1 +1 @@
1
- {"name":"WIT","scopeName":"source.wit","patterns":[{"include":"#comment"},{"include":"#world"},{"include":"#interface"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block.empty.wit","match":"/\\*\\*/"},{"name":"comment.block.documentation.wit","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.wit","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"boolean":{"name":"entity.name.type.boolean.wit","match":"\\s*\\b(bool)\\b"},"comment":{"patterns":[{"include":"#block-comments"},{"include":"#doc-comment"},{"include":"#line-comment"}]},"container":{"name":"meta.container.ty.wit","patterns":[{"include":"#tuple"},{"include":"#list"},{"include":"#option"},{"include":"#result"},{"include":"#handle"}]},"doc-comment":{"name":"comment.line.documentation.wit","match":"^\\s*///.*"},"enum":{"name":"meta.enum-items.wit","begin":"\\s*\\b(enum)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#enum-cases"}],"beginCaptures":{"1":{"name":"keyword.other.enum.enum-items.wit"},"2":{"name":"entity.name.type.id.enum-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"enum-cases":{"name":"meta.enum-cases.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.enum-cases.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]},"extern":{"name":"meta.extern-type.wit","patterns":[{"name":"meta.interface-type.wit","patterns":[{"begin":"\\s*\\b(interface)\\b\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#interface-items"}],"beginCaptures":{"1":{"name":"keyword.other.interface.interface-type.wit"},"2":{"name":"ppunctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}}]},{"include":"#function-definition"},{"include":"#use-path"}]},"flags":{"name":"meta.flags-items.wit","begin":"\\s*\\b(flags)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#flags-fields"}],"beginCaptures":{"1":{"name":"keyword.other.flags.flags-items.wit"},"2":{"name":"entity.name.type.id.flags-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"flags-fields":{"name":"meta.flags-fields.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.flags-fields.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]},"function":{"name":"meta.func-item.wit","begin":"\\s*\\b(static\\s+)?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#function-definition"}],"beginCaptures":{"1":{"name":"storage.modifier.static.func-item.wit"},"2":{"name":"entity.name.function.id.func-item.wit"},"3":{"name":"meta.word.wit"},"5":{"name":"meta.word-separator.wit"},"6":{"name":"meta.word.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},"function-definition":{"name":"meta.func-type.wit","patterns":[{"name":"meta.function.wit","begin":"\\s*\\b(func)\\b\\s*(\\()\\s*","end":"\\s*(\\))\\s*((\\-\\\u003e)(.+))?\\s*","patterns":[{"include":"#comment"},{"name":"meta.named-type-list.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)\\s*","end":"\\s*(\\,)?\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.named-type-list.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.parameter.id.named-type.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"1":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"keyword.other.func.func-type.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"meta.result-list.wit"},"3":{"name":"keyword.operator.arrow.skinny.wit"},"4":{"name":"meta.types.result-list.wit","patterns":[{"include":"#comment"},{"include":"#types"}]}},"applyEndPatternLast":true}]},"handle":{"name":"meta.handle.ty.wit","match":"\\s*\\b(borrow)\\b(\\\u003c)\\s*((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\\u003e)\\s*","captures":{"1":{"name":"entity.name.type.borrow.handle.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"},"3":{"name":"entity.name.type.id.handle.wit"},"8":{"name":"punctuation.brackets.angle.end.wit"}}},"identifier":{"name":"entity.name.type.id.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},"interface":{"name":"meta.interface-item.wit","begin":"^\\b(default\\s+)?(interface)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#interface-items"}],"beginCaptures":{"1":{"name":"storage.modifier.default.interface-item.wit"},"2":{"name":"keyword.declaration.interface.interface-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.interface-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"interface-items":{"name":"meta.interface-items.wit","patterns":[{"include":"#typedef-item"},{"include":"#use"},{"include":"#function"}]},"line-comment":{"name":"comment.line.double-slash.wit","match":"\\s*//.*"},"list":{"name":"meta.list.ty.wit","begin":"\\s*\\b(list)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.list.wit","include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.list.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"numeric":{"name":"entity.name.type.numeric.wit","match":"\\s*\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\b"},"operator":{"patterns":[{"name":"punctuation.equal.wit","match":"\\="},{"name":"punctuation.comma.wit","match":"\\,"},{"name":"keyword.operator.key-value.wit","match":"\\:"},{"name":"punctuation.semicolon.wit","match":"\\;"},{"name":"punctuation.brackets.round.begin.wit","match":"\\("},{"name":"punctuation.brackets.round.end.wit","match":"\\)"},{"name":"punctuation.brackets.curly.begin.wit","match":"\\{"},{"name":"punctuation.brackets.curly.end.wit","match":"\\}"},{"name":"punctuation.brackets.angle.begin.wit","match":"\\\u003c"},{"name":"punctuation.brackets.angle.end.wit","match":"\\\u003e"},{"name":"keyword.operator.star.wit","match":"\\*"},{"name":"keyword.operator.arrow.skinny.wit","match":"\\-\\\u003e"}]},"option":{"name":"meta.option.ty.wit","begin":"\\s*\\b(option)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.option.wit","include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"name":"meta.record-item.wit","begin":"\\s*\\b(record)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#record-fields"}],"beginCaptures":{"1":{"name":"keyword.declaration.record.record-item.wit"},"2":{"name":"entity.name.type.id.record-item.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"record-fields":{"name":"meta.record-fields.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)\\s*","end":"\\s*(\\,)?\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.record-fields.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.declaration.id.record-fields.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"1":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"resource":{"name":"meta.resource.wit","begin":"\\s*\\b(resource)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#function"}],"beginCaptures":{"1":{"name":"keyword.other.resource.wit"},"2":{"name":"entity.name.type.id.resource.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"result":{"name":"meta.result.ty.wit","begin":"\\s*\\b(result)\\b(\\\u003c)?\\s*","end":"\\s*(\\\u003e)?\\s*","patterns":[{"include":"#comment"},{"name":"variable.other.inferred-type.result.wit","match":"\\s*(?\u003c!\\w)(\\_)(?!\\w)"},{"name":"meta.types.result.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"entity.name.type.result.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"string":{"name":"entity.name.type.string.wit","match":"\\s*\\b(string|char)\\b"},"tuple":{"name":"meta.tuple.ty.wit","begin":"\\s*\\b(tuple)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"patterns":[{"name":"meta.types.tuple.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]}],"beginCaptures":{"1":{"name":"entity.name.type.tuple.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"type-definition":{"name":"meta.type-item.wit","begin":"\\s*\\b(type)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\=)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"name":"meta.types.type-item.wit","include":"#types"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.type-item.wit storage.type.wit"},"2":{"name":"entity.name.type.id.type-item.wit"},"7":{"name":"punctuation.equal.wit"}},"applyEndPatternLast":true},"typedef-item":{"name":"meta.typedef-item.wit","patterns":[{"include":"#resource"},{"include":"#variant"},{"include":"#record"},{"include":"#union"},{"include":"#flags"},{"include":"#enum"},{"include":"#type-definition"}]},"types":{"name":"meta.ty.wit","patterns":[{"include":"#primitive"},{"include":"#container"},{"include":"#identifier"}]},"union":{"name":"meta.union-items.wit","begin":"\\s*\\b(union)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.union-cases.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"keyword.other.union.union-items.wit"},"2":{"name":"entity.name.type.declaration.id.union-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"use":{"name":"meta.use-item.wit","begin":"\\s*\\b(use)\\b\\s+([^\\s]+)(\\.)(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"entity.name.type.declaration.use-names-item.use-item.wit","match":"\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"keyword.other.use.use-item.wit"},"2":{"patterns":[{"include":"#use-path"}]},"3":{"name":"keyword.operator.namespace-separator.use-item.wit"},"4":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"use-path":{"name":"meta.use-path.wit","patterns":[{"name":"variable.language.self.use-path.wit","match":"(?\u003c!\\.)\\b(self|pkg)\\b"},{"name":"entity.name.namespace.id.use-path.wit","match":"\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"keyword.operator.namespace-separator.use-path.wit","match":"\\."}]},"variant":{"name":"meta.variant.wit","begin":"\\s*\\b(variant)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#variant-cases"},{"include":"#enum-cases"}],"beginCaptures":{"1":{"name":"keyword.other.variant.wit"},"2":{"name":"entity.name.type.id.variant.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"variant-cases":{"name":"meta.variant-cases.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\()\\s*","end":"\\s*(\\))\\s*(\\,)?\\s*","patterns":[{"name":"meta.types.variant-cases.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.other.enummember.id.variant-cases.wit"},"6":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"world":{"name":"meta.world-item.wit","begin":"^\\b(default\\s+)?(world)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"meta.export-item.wit","begin":"\\s*\\b(export)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#extern"}],"beginCaptures":{"1":{"name":"keyword.control.export.export-item.wit"},"2":{"name":"variable.other.constant.id.export-item.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},{"name":"meta.import-item.wit","begin":"\\s*\\b(import)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#extern"}],"beginCaptures":{"1":{"name":"keyword.control.import.import-item.wit"},"2":{"name":"variable.other.id.import-item.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},{"include":"#use"},{"include":"#typedef-item"}],"beginCaptures":{"1":{"name":"storage.modifier.default.world-item.wit"},"2":{"name":"keyword.declaration.world.world-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.world-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}}}}
1
+ {"name":"WIT","scopeName":"source.wit","patterns":[{"include":"#comment"},{"include":"#package"},{"include":"#toplevel-use"},{"include":"#world"},{"include":"#interface"},{"include":"#whitespace"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block.empty.wit","match":"/\\*\\*/"},{"name":"comment.block.documentation.wit","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#markdown"},{"include":"#whitespace"}],"applyEndPatternLast":true},{"name":"comment.block.wit","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"},{"include":"#whitespace"}],"applyEndPatternLast":true}]},"boolean":{"name":"entity.name.type.boolean.wit","match":"\\b(bool)\\b"},"comment":{"patterns":[{"include":"#block-comments"},{"include":"#doc-comment"},{"include":"#line-comment"}]},"container":{"name":"meta.container.ty.wit","patterns":[{"include":"#tuple"},{"include":"#list"},{"include":"#option"},{"include":"#result"},{"include":"#handle"}]},"doc-comment":{"name":"comment.line.documentation.wit","begin":"^\\s*///","end":"$","patterns":[{"include":"#markdown"}]},"enum":{"name":"meta.enum-items.wit","begin":"\\b(enum)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.enum.enum-items.wit"},"2":{"name":"entity.name.type.id.enum-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"enum-cases":{"name":"meta.enum-cases.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.enum-cases.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"extern":{"name":"meta.extern-type.wit","patterns":[{"name":"meta.interface-type.wit","patterns":[{"begin":"\\b(interface)\\b\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.interface.interface-type.wit"},"2":{"name":"ppunctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}]},{"include":"#function-definition"},{"include":"#use-path"}]},"flags":{"name":"meta.flags-items.wit","begin":"\\b(flags)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#flags-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.flags.flags-items.wit"},"2":{"name":"entity.name.type.id.flags-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"flags-fields":{"name":"meta.flags-fields.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.flags-fields.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}]},"function":{"name":"meta.func-item.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#function-definition"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.function.id.func-item.wit"},"2":{"name":"meta.word.wit"},"4":{"name":"meta.word-separator.wit"},"5":{"name":"meta.word.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},"function-definition":{"name":"meta.func-type.wit","patterns":[{"name":"meta.function.wit","begin":"\\b(static\\s+)?(func)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#result-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.static.func-item.wit"},"2":{"name":"keyword.other.func.func-type.wit"}},"applyEndPatternLast":true}]},"handle":{"name":"meta.handle.ty.wit","match":"\\b(borrow)\\b(\\\u003c)\\s*%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\\u003e)","captures":{"1":{"name":"entity.name.type.borrow.handle.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"},"3":{"name":"entity.name.type.id.handle.wit"},"8":{"name":"punctuation.brackets.angle.end.wit"}}},"identifier":{"name":"entity.name.type.id.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},"interface":{"name":"meta.interface-item.wit","begin":"^\\b(default\\s+)?(interface)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#interface-items"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.interface-item.wit"},"2":{"name":"keyword.declaration.interface.interface-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.interface-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"interface-items":{"name":"meta.interface-items.wit","patterns":[{"include":"#typedef-item"},{"include":"#use"},{"include":"#function"}]},"line-comment":{"name":"comment.line.double-slash.wit","match":"\\s*//.*"},"list":{"name":"meta.list.ty.wit","begin":"\\b(list)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.list.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.list.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"markdown":{"patterns":[{"match":"\\G\\s*(#+.*)$","captures":{"1":{"name":"markup.heading.markdown"}}},{"match":"\\G\\s*((\\\u003e)\\s+)+","captures":{"2":{"name":"punctuation.definition.quote.begin.markdown"}}},{"match":"\\G\\s*(\\-)\\s+","captures":{"1":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"\\G\\s*(([0-9]+\\.)\\s+)","captures":{"1":{"name":"markup.list.numbered.markdown"},"2":{"name":"punctuation.definition.list.begin.markdown"}}},{"match":"(`.*?`)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"\\b(__.*?__)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"\\b(_.*?_)","captures":{"1":{"name":"markup.italic.markdown"}}},{"match":"(\\*\\*.*?\\*\\*)","captures":{"1":{"name":"markup.bold.markdown"}}},{"match":"(\\*.*?\\*)","captures":{"1":{"name":"markup.italic.markdown"}}}]},"named-type-list":{"name":"meta.named-type-list.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\))|(?=\\n))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.parameter.id.named-type.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"numeric":{"name":"entity.name.type.numeric.wit","match":"\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\b"},"operator":{"patterns":[{"name":"punctuation.equal.wit","match":"\\="},{"name":"punctuation.comma.wit","match":"\\,"},{"name":"keyword.operator.key-value.wit","match":"\\:"},{"name":"punctuation.semicolon.wit","match":"\\;"},{"name":"punctuation.brackets.round.begin.wit","match":"\\("},{"name":"punctuation.brackets.round.end.wit","match":"\\)"},{"name":"punctuation.brackets.curly.begin.wit","match":"\\{"},{"name":"punctuation.brackets.curly.end.wit","match":"\\}"},{"name":"punctuation.brackets.angle.begin.wit","match":"\\\u003c"},{"name":"punctuation.brackets.angle.end.wit","match":"\\\u003e"},{"name":"keyword.operator.star.wit","match":"\\*"},{"name":"keyword.operator.arrow.skinny.wit","match":"\\-\\\u003e"}]},"option":{"name":"meta.option.ty.wit","begin":"\\b(option)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.option.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"package":{"name":"meta.package-decl.wit","match":"^(package)\\s+([^\\s]+)\\s*","captures":{"1":{"name":"storage.modifier.package-decl.wit"},"2":{"name":"meta.id.package-decl.wit","patterns":[{"name":"meta.package-identifier.wit","match":"([^\\:]+)(\\:)([^\\@]+)((\\@)([^\\s]+))?","captures":{"1":{"name":"entity.name.namespace.package-identifier.wit","patterns":[{"include":"#identifier"}]},"2":{"name":"keyword.operator.namespace.package-identifier.wit"},"3":{"name":"entity.name.type.package-identifier.wit","patterns":[{"include":"#identifier"}]},"5":{"name":"keyword.operator.versioning.package-identifier.wit"},"6":{"name":"constant.numeric.versioning.package-identifier.wit"}}}]}}},"parameter-list":{"name":"meta.param-list.wit","begin":"(\\()","end":"(\\))","patterns":[{"include":"#comment"},{"include":"#named-type-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"}},"applyEndPatternLast":true},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"name":"meta.record-item.wit","begin":"\\b(record)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#record-fields"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.record.record-item.wit"},"2":{"name":"entity.name.type.id.record-item.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"record-fields":{"name":"meta.record-fields.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)","end":"((\\,)|(?=\\})|(?=\\n))","patterns":[{"include":"#comment"},{"name":"meta.types.record-fields.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.declaration.id.record-fields.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"resource":{"name":"meta.resource-item.wit","begin":"\\b(resource)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#resource-methods"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.resource.wit"},"2":{"name":"entity.name.type.id.resource.wit"}},"applyEndPatternLast":true},"resource-methods":{"name":"meta.resource-methods.wit","begin":"(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"meta.constructor-type.wit","begin":"\\b(constructor)\\b","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.constructor.constructor-type.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"applyEndPatternLast":true},{"include":"#function"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"result":{"name":"meta.result.ty.wit","begin":"\\b(result)\\b","end":"((?\u003c=\\n)|(?=\\,)|(?=\\}))","patterns":[{"include":"#comment"},{"name":"meta.inner.result.wit","begin":"(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"variable.other.inferred-type.result.wit","match":"(?\u003c!\\w)(\\_)(?!\\w)"},{"name":"meta.types.result.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(?\u003c!result)\\s*(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.result.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"applyEndPatternLast":true},"result-list":{"name":"meta.result-list.wit","begin":"(\\-\\\u003e)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#comment"},{"include":"#types"},{"include":"#parameter-list"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.operator.arrow.skinny.wit"}},"applyEndPatternLast":true},"string":{"name":"entity.name.type.string.wit","match":"\\b(string|char)\\b"},"toplevel-use":{"name":"meta.toplevel-use-item.wit","match":"^(use)\\s+([^\\s]+)(\\s+(as)\\s+([^\\s]+))?\\s*","captures":{"1":{"name":"keyword.other.use.toplevel-use-item.wit"},"2":{"name":"meta.interface.toplevel-use-item.wit","patterns":[{"name":"entity.name.type.declaration.interface.toplevel-use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.interface.toplevel-use-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.interface.toplevel-use-item.wit"},"2":{"name":"constant.numeric.versioning.interface.toplevel-use-item.wit"}}}]},"4":{"name":"keyword.control.as.toplevel-use-item.wit"},"5":{"name":"entity.name.type.toplevel-use-item.wit"}}},"tuple":{"name":"meta.tuple.ty.wit","begin":"\\b(tuple)\\b(\\\u003c)","end":"(\\\u003e)","patterns":[{"include":"#comment"},{"name":"meta.types.tuple.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"entity.name.type.tuple.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"type-definition":{"name":"meta.type-item.wit","begin":"\\b(type)\\b\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\=)","end":"(?\u003c=\\n)","patterns":[{"name":"meta.types.type-item.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.type-item.wit storage.type.wit"},"2":{"name":"entity.name.type.id.type-item.wit"},"7":{"name":"punctuation.equal.wit"}},"applyEndPatternLast":true},"typedef-item":{"name":"meta.typedef-item.wit","patterns":[{"include":"#resource"},{"include":"#variant"},{"include":"#record"},{"include":"#flags"},{"include":"#enum"},{"include":"#type-definition"}]},"types":{"name":"meta.ty.wit","patterns":[{"include":"#primitive"},{"include":"#container"},{"include":"#identifier"}]},"use":{"name":"meta.use-item.wit","begin":"\\b(use)\\b\\s+([^\\s]+)(\\.)(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"entity.name.type.declaration.use-names-item.use-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.use.use-item.wit"},"2":{"patterns":[{"include":"#use-path"},{"include":"#whitespace"}]},"3":{"name":"keyword.operator.namespace-separator.use-item.wit"},"4":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"use-path":{"name":"meta.use-path.wit","patterns":[{"name":"entity.name.namespace.id.use-path.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.use-path.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.use-path.wit"},"2":{"name":"constant.numeric.versioning.id.use-path.wit"}}},{"name":"keyword.operator.namespace-separator.use-path.wit","match":"\\."}]},"variant":{"name":"meta.variant.wit","begin":"\\b(variant)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"include":"#variant-cases"},{"include":"#enum-cases"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.other.variant.wit"},"2":{"name":"entity.name.type.id.variant.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"variant-cases":{"name":"meta.variant-cases.wit","begin":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\()","end":"(\\))\\s*(\\,)?","patterns":[{"name":"meta.types.variant-cases.wit","include":"#types"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"variable.other.enummember.id.variant-cases.wit"},"6":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"whitespace":{"name":"meta.whitespace.wit","match":"\\s+"},"world":{"name":"meta.world-item.wit","begin":"^\\b(default\\s+)?(world)\\s+%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"meta.export-item.wit","begin":"\\b(export)\\b\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.export.export-item.wit"},"2":{"name":"meta.id.export-item.wit","patterns":[{"name":"variable.other.constant.id.export-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.export-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.export-item.wit"},"2":{"name":"constant.numeric.versioning.id.export-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.import-item.wit","begin":"\\b(import)\\s+([^\\s]+)","end":"((?\u003c=\\n)|(?=\\}))","patterns":[{"include":"#extern"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.import.import-item.wit"},"2":{"name":"meta.id.import-item.wit","patterns":[{"name":"variable.other.id.import-item.wit","match":"\\b%?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"meta.versioning.id.import-item.wit","match":"(\\@)((0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)","captures":{"1":{"name":"keyword.operator.versioning.id.import-item.wit"},"2":{"name":"constant.numeric.versioning.id.import-item.wit"}}}]}},"applyEndPatternLast":true},{"name":"meta.include-item.wit","begin":"\\b(include)\\s+([^\\s]+)\\s*","end":"(?\u003c=\\n)","patterns":[{"name":"meta.with.include-item.wit","begin":"\\b(with)\\b\\s+(\\{)","end":"(\\})","patterns":[{"include":"#comment"},{"name":"meta.include-names-item.wit","match":"([^\\s]+)\\s+(as)\\s+([^\\s\\,]+)","captures":{"1":{"name":"variable.other.id.include-names-item.wit"},"2":{"name":"keyword.control.as.include-names-item.wit"},"3":{"name":"entity.name.type.include-names-item.wit"}}},{"name":"punctuation.comma.wit","match":"(\\,)"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"keyword.control.with.include-item.wit"},"2":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"keyword.control.include.include-item.wit"},"2":{"name":"meta.use-path.include-item.wit","patterns":[{"include":"#use-path"}]}},"applyEndPatternLast":true},{"include":"#use"},{"include":"#typedef-item"},{"include":"#whitespace"}],"beginCaptures":{"1":{"name":"storage.modifier.default.world-item.wit"},"2":{"name":"keyword.declaration.world.world-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.world-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true}}}
@@ -1 +1 @@
1
- {"name":"Yul","scopeName":"source.yul","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"scope","begin":"\\b(object)\\s+(\\\"[A-Za-z_]\\w*\\\")(?:\\s+(is)\\s+)?","end":"\\{","patterns":[{"name":"string.quoted","match":"\\\"[A-Za-z_]\\w*\\\""},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"keyword"},"2":{"name":"string.quoted"},"3":{"name":"keyword"}}},{"name":"keyword","match":"\\b(constructor|error|using|struct|type|modifier|fallback)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(function)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"match":"\\.(selector)\\b","captures":{"1":{"name":"markup.italic"}}},{"name":"markup.italic","match":"\\bthis\\b"},{"name":"markup.italic","match":"\\bsuper\\b"},{"match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable|immutable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)\\n])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword"},"5":{"name":"variable.parameter"}}},{"match":"\\b(?:(indexed|memory|storage|calldata|payable|immutable)\\s*(\\b[A-Za-z_]\\w*)?\\s*)(?=[,\\)\\n])","captures":{"1":{"name":"keyword"},"2":{"name":"variable.parameter"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address(?:\\s*payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*((?:private\\s|public\\s|internal\\s|external\\s|constant\\s|immutable\\s|memory\\s|storage\\s)*)\\s*(?:[A-Za-z_]\\w*)\\s*(\\=))?","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"constant.numeric"},"5":{"name":"keyword"},"6":{"name":"keyword"}}},{"match":"\\b(payable)\\s*\\(","captures":{"1":{"name":"constant.language"}}},{"match":"\\b(from)\\s*(?=[\\'\\\"])","captures":{"1":{"name":"keyword"}}},{"match":"\\b(?:[A-Za-z_]\\w*)\\s+(as)\\s+(?:[A-Za-z_]\\w*)","captures":{"1":{"name":"keyword"}}},{"match":"\\b(global);","captures":{"1":{"name":"keyword"}}},{"name":"keyword","match":"\\b(var|solidity|constant|pragma\\s*(?:experimental|abicoder)?|code|data|hex|import|const|mstruct|mapping|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|immutable|external|virtual|override|abstract|suicide|emit|is|throw|revert|assert|require|receive|delete)\\b"},{"include":"#numbers"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"keyword.operator","match":"(=|:=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%)"},{"name":"markup.italic","match":"(\\bhex\\b|\\bunicode\\b)"},{"name":"keyword.operator","match":"\\s\\:\\s"},{"name":"support.type","match":"\\bnow\\b"},{"name":"keyword","match":"\\b_;"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"name":"support.type","match":"\\b(abi)\\.([A-Za-z_]\\w*)\\b"},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"support.type"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\s*\\[(\\d*)\\]\\s*)?(?:\\s*\\[(\\d*)\\]\\s*)?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"(?:\\.|(new\\s+))([A-Za-z_]\\w*)\\{","captures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"}}},{"match":"\\b(wei|gwei|ether|seconds|minutes|hours|days|weeks)\\b","captures":{"1":{"name":"support.type"}}},{"name":"keyword","match":"\\bnew\\b"},{"name":"keyword","match":"\\banonymous\\b"},{"name":"keyword","match":"\\bunchecked\\b"},{"name":"keyword","match":"\\b(assembly|switch|let|case|default)\\b"},{"name":"string.quoted","match":"([\\\"].*?[\\\"])"},{"name":"string.quoted","match":"([\\'].*?[\\'])"}],"repository":{"numbers":{"patterns":[{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"}]}}}
1
+ {"name":"Yul","scopeName":"source.yul","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"scope","begin":"\\b(object)\\s+(\\\"[A-Za-z_]\\w*\\\")(?:\\s+(is)\\s+)?","end":"\\{","patterns":[{"name":"string.quoted","match":"\\\"[A-Za-z_]\\w*\\\""},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"keyword"},"2":{"name":"string.quoted"},"3":{"name":"keyword"}}},{"name":"keyword","match":"\\b(constructor|error|using|struct|type|modifier|fallback)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(function)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"match":"\\.(selector)\\b","captures":{"1":{"name":"markup.italic"}}},{"name":"markup.italic","match":"\\bthis\\b"},{"name":"markup.italic","match":"\\bsuper\\b"},{"match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable|immutable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)\\n])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword"},"5":{"name":"variable.parameter"}}},{"match":"\\b(?:(indexed|memory|storage|calldata|payable|immutable)\\s*(\\b[A-Za-z_]\\w*)?\\s*)(?=[,\\)\\n])","captures":{"1":{"name":"keyword"},"2":{"name":"variable.parameter"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address(?:\\s*payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*((?:private\\s|public\\s|internal\\s|external\\s|constant\\s|immutable\\s|memory\\s|storage\\s)*)\\s*(?:[A-Za-z_]\\w*)\\s*(\\=))?","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"constant.numeric"},"5":{"name":"keyword"},"6":{"name":"keyword"}}},{"match":"\\b(payable)\\s*\\(","captures":{"1":{"name":"constant.language"}}},{"match":"\\b(from)\\s*(?=[\\'\\\"])","captures":{"1":{"name":"keyword"}}},{"match":"\\b(?:[A-Za-z_]\\w*)\\s+(as)\\s+(?:[A-Za-z_]\\w*)","captures":{"1":{"name":"keyword"}}},{"match":"\\b(global);","captures":{"1":{"name":"keyword"}}},{"name":"keyword","match":"\\b(var|solidity|constant|pragma\\s*(?:experimental|abicoder)?|code|data|hex|import|const|mstruct|mapping|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|immutable|external|virtual|override|abstract|suicide|emit|is|throw|revert|assert|require|receive|delete)\\b"},{"include":"#numbers"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"keyword.operator","match":"(=|:=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%)"},{"name":"markup.italic","match":"(\\bhex\\b|\\bunicode\\b)"},{"name":"keyword.operator","match":"\\s\\:\\s"},{"name":"support.type","match":"\\bnow\\b"},{"name":"keyword","match":"\\b_;"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"name":"support.type","match":"\\b(abi)\\.([A-Za-z_]\\w*)\\b"},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"support.type"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\s*\\[(\\d*)\\]\\s*)?(?:\\s*\\[(\\d*)\\]\\s*)?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"(?:\\.|(new\\s+))([A-Za-z_]\\w*)\\{","captures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"}}},{"match":"\\b(wei|gwei|ether|seconds|minutes|hours|days|weeks)\\b","captures":{"1":{"name":"support.type"}}},{"name":"keyword","match":"\\bnew\\b"},{"name":"keyword","match":"\\banonymous\\b"},{"name":"keyword","match":"\\bunchecked\\b"},{"name":"keyword","match":"\\b(assembly|switch|let|case|default)\\b"},{"name":"string.quoted","begin":"(?\u003c!\\\\)[\\\"\\']","end":"(?\u003c!\\\\)[\\\"\\']","patterns":[{"include":"#string"}]}],"repository":{"numbers":{"patterns":[{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"}]},"string":{"patterns":[{"name":"constant.character.escape","match":"\\\\\""},{"name":"constant.character.escape","match":"\\\\'"},{"name":"string.quoted","match":"."}]}}}
@@ -1 +1 @@
1
- {"name":"Generic Hash-Commented","scopeName":"text.hash-commented","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.hash-commented","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.hash-commented"}}},"content":{"name":"meta.content.hash-commented","match":"^.+$"},"main":{"patterns":[{"include":"#comment"},{"include":"#content"}]}}}
1
+ {"name":"Generic Hash-Commented","scopeName":"text.hash-commented","patterns":[{"include":"#main"}],"repository":{"comment":{"name":"comment.line.hash-commented","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.hash-commented"}}},"main":{"patterns":[{"include":"#comment"}]}}}