github-linguist 7.28.0 → 7.29.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/etc.json +1 -1
  3. data/grammars/inline.edgeql.json +1 -1
  4. data/grammars/inline.graphql.json +1 -1
  5. data/grammars/inline.graphql.markdown.codeblock.json +1 -0
  6. data/grammars/inline.graphql.rb.json +1 -0
  7. data/grammars/inline.hbs.json +1 -1
  8. data/grammars/markdown.commonlisp.codeblock.json +1 -0
  9. data/grammars/markdown.glimmer.codeblock.json +1 -0
  10. data/grammars/markdown.move.codeblock.json +1 -1
  11. data/grammars/source.8xp.json +1 -0
  12. data/grammars/source.abl.json +1 -1
  13. data/grammars/source.amxxpawn.json +1 -0
  14. data/grammars/source.astro.json +1 -1
  15. data/grammars/source.bb.json +1 -0
  16. data/grammars/source.bh.json +1 -0
  17. data/grammars/source.brs.json +1 -1
  18. data/grammars/source.cobol.json +1 -1
  19. data/grammars/source.commonlisp.json +1 -0
  20. data/grammars/source.cs.json +1 -1
  21. data/grammars/source.csound.json +1 -1
  22. data/grammars/source.dart.json +1 -1
  23. data/grammars/source.did.json +1 -1
  24. data/grammars/source.elvish-transcript.json +1 -1
  25. data/grammars/source.fsharp.json +1 -1
  26. data/grammars/source.gdscript.json +1 -1
  27. data/grammars/source.gjs.json +1 -1
  28. data/grammars/source.gts.json +1 -1
  29. data/grammars/source.hcl.json +1 -1
  30. data/grammars/source.hcl.terraform.json +1 -1
  31. data/grammars/source.ice.json +1 -1
  32. data/grammars/source.julia.json +1 -1
  33. data/grammars/source.lean4.json +1 -1
  34. data/grammars/source.lua.json +1 -1
  35. data/grammars/source.matlab.json +1 -1
  36. data/grammars/source.mdx.json +1 -1
  37. data/grammars/source.mojo.json +1 -0
  38. data/grammars/source.nasal.json +1 -1
  39. data/grammars/source.nushell.json +1 -1
  40. data/grammars/source.p4.json +1 -1
  41. data/grammars/source.pip-requirements.json +1 -0
  42. data/grammars/source.praat.json +1 -1
  43. data/grammars/source.rascal.json +1 -1
  44. data/grammars/source.rescript.json +1 -1
  45. data/grammars/source.roc.json +1 -0
  46. data/grammars/source.rust.json +1 -1
  47. data/grammars/source.scala.json +1 -1
  48. data/grammars/source.slice.json +1 -1
  49. data/grammars/source.slint.json +1 -0
  50. data/grammars/source.sourcepawn.json +1 -1
  51. data/grammars/source.swift.json +1 -1
  52. data/grammars/source.toit.json +1 -1
  53. data/grammars/source.ts.json +1 -1
  54. data/grammars/source.tsx.json +1 -1
  55. data/grammars/source.vba.json +1 -1
  56. data/grammars/sp-jsdoc.injection.json +1 -0
  57. data/grammars/text.html.edge.json +1 -0
  58. data/grammars/text.html.ember-handlebars.json +1 -1
  59. data/grammars/text.md.json +1 -1
  60. data/grammars/text.srt.json +1 -1
  61. data/grammars/text.valve-cfg.json +1 -0
  62. data/grammars/text.valve-kv.json +1 -0
  63. data/grammars/version +1 -1
  64. data/lib/linguist/VERSION +1 -1
  65. data/lib/linguist/generated.rb +23 -1
  66. data/lib/linguist/heuristics.yml +17 -2
  67. data/lib/linguist/languages.json +1 -1
  68. data/lib/linguist/languages.yml +90 -8
  69. data/lib/linguist/samples.json +1 -1
  70. metadata +20 -4
  71. data/grammars/markdown.graphql.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"Rascal","scopeName":"source.rascal","patterns":[{"include":"#top_level"}],"repository":{"annotation":{"patterns":[{"name":"comment.block.annotation.rascal","begin":"(@[^ {]+)({)","end":"(})","beginCaptures":{"1":{"name":"storage.type.annotation.block.rascal"},"2":{"name":"punctuation.annotation-argument.begin.rascal"}},"endCaptures":{"1":{"name":"punctuation.annotation-argument.end.rascal"}}},{"name":"meta.annotation.inline.rascal","match":"(@[A-Za-z_0-9]+)","captures":{"1":{"name":"storage.type.annotation.inline.rascal"}}}]},"char_set":{"patterns":[{"name":"punctuation.other.lexicalcharset.rascal","begin":"\\[","end":"\\]","patterns":[{"include":"#string_escape"}]}]},"comment":{"patterns":[{"name":"comment.line.double-slash.rascal","match":"//.*$\\n?"},{"name":"comment.block.rascal","begin":"/\\*","end":"\\*/"}]},"regex":{"patterns":[{"name":"string.regexp.rascal","begin":"/(?!/|\\*)","end":"/([dims]*)","patterns":[{"include":"#regex_escape"},{"include":"#string_interpolation"}],"endCaptures":{"1":{"name":"storage.modifier.regex.rascal"}}}]},"regex_escape":{"patterns":[{"name":"constant.character.escape.regex.rascal","match":"\\\\(/|\u003c|\u003e|\\\\)"}]},"string":{"patterns":[{"name":"string.quoted.single.rascal","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.double.rascal","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"},{"include":"#string_interpolation"}]},{"name":"string.interpolated.rascal","begin":"`","end":"`","patterns":[{"include":"#string_interpolation"},{"include":"#syntax_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.ordinary.rascal","match":"\\\\(\\\"|\\'|\u003c|\u003e|\\\\|[bnfrt])"},{"name":"constant.character.escape.unicode.rascal","match":"\\\\(u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |U(0[0-9 A-F a-f]|10)[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |a[0-7][0-9A-Fa-f] )"}]},"string_interpolation":{"patterns":[{"name":"support.interpolated-string.rascal","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#top_level"}],"beginCaptures":{"1":{"name":"punctuation.interpolation.begin.rascal"}},"endCaptures":{"2":{"name":"punctuation.interpolation.end.rascal"}}}]},"syntax_escape":{"patterns":[{"name":"constant.character.escape.syntax.rascal","match":"\\\\(\\\\|\u003c|\u003e|`)"}]},"top_level":{"patterns":[{"name":"punctuation.other.syntactic.rascal","begin":"(lexical|syntax)\\s+([a-zA-Z][A-Za-z_0-9]*)","end":";","patterns":[{"include":"#char_set"},{"include":"#string"},{"include":"#comment"},{"include":"#regex"},{"include":"#annotation"}],"captures":{"1":{"name":"keyword.control.rascal"},"2":{"name":"entity.name.type.rascal"}}},{"name":"constant.numeric.decimal.rascal","match":"(?\u003c![A-Za-z_])(0(?![0-9a-z_A-Z])|[1-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"constant.numeric.hex.rascal","match":"(?\u003c![A-Za-z_])0[Xx][0-9A-Fa-f]+(?![0-9a-z_A-Z])"},{"name":"constant.numeric.octal.rascal","match":"(?\u003c![A-Za-z_])0[0-7]+(?![0-9a-z_A-Z])"},{"name":"string.other.datetime.rascal","begin":"\\\\$","end":"\\\\$"},{"name":"constant.numeric.real.rascal","match":"(?\u003c![A-Za-z_]) ([0-9]+[dDfF] |[0-9]+[eE][+\\-]?[0-9]+[dDfF]? |[0-9]+\\.(?!\\.)[0-9]*[dDfF]? |[0-9]+\\.[0-9]*[eE][+\\-]?[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[eE][+\\-]?[0-9]+[dDfF]? )"},{"name":"constant.language.bool.rascal","match":"\\b(true|false)\\b"},{"name":"constant.numeric.rational.rascal","match":"(?\u003c![A-Za-z_])([0-9][0-9]*r|[1-9][0-9]*r[0-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"keyword.control.rascal","match":"\\b(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start)\\b"},{"name":"support.type.basic.rascal","match":"\\b(value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)\\b"},{"include":"#string"},{"include":"#regex"},{"include":"#annotation"},{"include":"#comment"},{"name":"variable.other.ordinary.rascal","match":"\\b[a-zA-Z][A-Za-z_0-9]*\\b"},{"name":"variable.other.escaped-keyword.rascal","match":"\\\\(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start|value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)"},{"name":"string.other.url.rascal","match":"\\|([0-9a-z_A-Z.\\-_~:/?#\\[\\]@!$\u0026'()*+,;=`])+\\|","captures":{"1":{"name":"markup.underline.link.rascal"}}}]}}}
1
+ {"name":"Rascal","scopeName":"source.rascal","patterns":[{"include":"#top_level"}],"repository":{"annotation":{"patterns":[{"name":"comment.block.annotation.rascal","begin":"(@[^ {]+)({)","end":"(})","beginCaptures":{"1":{"name":"storage.type.annotation.block.rascal"},"2":{"name":"punctuation.annotation-argument.begin.rascal"}},"endCaptures":{"1":{"name":"punctuation.annotation-argument.end.rascal"}}},{"name":"meta.annotation.inline.rascal","match":"(@[A-Za-z_0-9]+)","captures":{"1":{"name":"storage.type.annotation.inline.rascal"}}}]},"char_set":{"patterns":[{"name":"punctuation.other.lexicalcharset.rascal","begin":"\\[","end":"\\]","patterns":[{"include":"#string_escape"}]}]},"comment":{"patterns":[{"name":"comment.line.double-slash.rascal","match":"//.*$\\n?"},{"name":"comment.block.rascal","begin":"/\\*","end":"\\*/"}]},"regex":{"patterns":[{"name":"string.regexp.rascal","end":"/([dims]*)","patterns":[{"include":"#regex_escape"},{"include":"#string_interpolation"}],"endCaptures":{"1":{"name":"storage.modifier.regex.rascal"}}}]},"regex_escape":{"patterns":[{"name":"constant.character.escape.regex.rascal","match":"\\\\(/|\u003c|\u003e|\\\\)"}]},"string":{"patterns":[{"name":"string.quoted.single.rascal","begin":"'","end":"'","patterns":[{"include":"#string_escape"}]},{"name":"string.quoted.double.rascal","begin":"\"","end":"\"","patterns":[{"include":"#string_escape"},{"include":"#string_interpolation"}]},{"name":"string.interpolated.rascal","begin":"`","end":"`","patterns":[{"include":"#string_interpolation"},{"include":"#syntax_escape"}]}]},"string_escape":{"patterns":[{"name":"constant.character.escape.ordinary.rascal","match":"\\\\(\\\"|\\'|\u003c|\u003e|\\\\|[bnfrt])"},{"name":"constant.character.escape.unicode.rascal","match":"\\\\(u[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |U(0[0-9 A-F a-f]|10)[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f] |a[0-7][0-9A-Fa-f] )"}]},"string_interpolation":{"patterns":[{"name":"support.interpolated-string.rascal","begin":"(\u003c)","end":"(\u003e)","patterns":[{"include":"#top_level"}],"beginCaptures":{"1":{"name":"punctuation.interpolation.begin.rascal"}},"endCaptures":{"2":{"name":"punctuation.interpolation.end.rascal"}}}]},"syntax_escape":{"patterns":[{"name":"constant.character.escape.syntax.rascal","match":"\\\\(\\\\|\u003c|\u003e|`)"}]},"top_level":{"patterns":[{"name":"punctuation.other.syntactic.rascal","begin":"(lexical|syntax)\\s+([a-zA-Z][A-Za-z_0-9]*)","end":";","patterns":[{"include":"#char_set"},{"include":"#string"},{"include":"#comment"},{"include":"#regex"},{"include":"#annotation"}],"captures":{"1":{"name":"keyword.control.rascal"},"2":{"name":"entity.name.type.rascal"}}},{"name":"constant.numeric.decimal.rascal","match":"(?\u003c![A-Za-z_])(0(?![0-9a-z_A-Z])|[1-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"constant.numeric.hex.rascal","match":"(?\u003c![A-Za-z_])0[Xx][0-9A-Fa-f]+(?![0-9a-z_A-Z])"},{"name":"constant.numeric.octal.rascal","match":"(?\u003c![A-Za-z_])0[0-7]+(?![0-9a-z_A-Z])"},{"name":"string.other.datetime.rascal","begin":"\\\\$","end":"\\\\$"},{"name":"constant.numeric.real.rascal","match":"(?\u003c![A-Za-z_]) ([0-9]+[dDfF] |[0-9]+[eE][+\\-]?[0-9]+[dDfF]? |[0-9]+\\.(?!\\.)[0-9]*[dDfF]? |[0-9]+\\.[0-9]*[eE][+\\-]?[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[dDfF]? |\\.(?!\\.)[0-9]+[eE][+\\-]?[0-9]+[dDfF]? )"},{"name":"constant.language.bool.rascal","match":"\\b(true|false)\\b"},{"name":"constant.numeric.rational.rascal","match":"(?\u003c![A-Za-z_])([0-9][0-9]*r|[1-9][0-9]*r[0-9][0-9]*(?![0-9a-z_A-Z]))"},{"name":"keyword.control.rascal","match":"\\b(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start)\\b"},{"name":"support.type.basic.rascal","match":"\\b(value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)\\b"},{"include":"#string"},{"include":"#regex"},{"include":"#annotation"},{"include":"#comment"},{"name":"variable.other.ordinary.rascal","match":"\\b[a-zA-Z][A-Za-z_0-9]*\\b"},{"name":"variable.other.escaped-keyword.rascal","match":"\\\\(syntax|keyword|lexical|break|continue|finally|private|fail|filter|if|tag|extend|append|non-assoc|assoc|test|anno|layout|data|join|it|bracket|in|import|all|solve|try|catch|notin|else|insert|switch|return|case|while|throws|visit|for|assert|default|map|alias|any|module|mod|public|one|throw|start|value|loc|node|num|type|bag|int|rat|rel|lrel|real|tuple|str|bool|void|datetime|set|map|list)"},{"name":"string.other.url.rascal","match":"\\|([0-9a-z_A-Z.\\-_~:/?#\\[\\]@!$\u0026'()*+,;=`])+\\|","captures":{"1":{"name":"markup.underline.link.rascal"}}}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#bracketAccess"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuations"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"bracketAccess":{"patterns":[{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuations":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuations"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"variables.annotation"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
1
+ {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"include":"#ffi-single"},{"include":"#ffi"},{"include":"#constant"},{"include":"#commentLine"},{"include":"#commentBlock"},{"include":"#character"},{"include":"#typeParameter"},{"include":"#string"},{"include":"#attribute"},{"include":"#function"},{"include":"#list"},{"include":"#jsx"},{"include":"#operator"},{"include":"#number"},{"include":"#openOrIncludeModule"},{"include":"#moduleDeclaration"},{"include":"#moduleAccess"},{"include":"#constructor"},{"include":"#keyword"},{"include":"#punctuation"},{"include":"#defaultIdIsVariable"}],"repository":{"RE_CONSTANTS_BOOL":{"name":"constant.language.boolean","match":"\\b(false|true)\\b"},"RE_KEYWORD":{"name":"storage.type","match":"\\b(include|let|module|of|open|type)\\b"},"RE_KEYWORD_CONTROL":{"name":"keyword.control","match":"\\b(and|as|assert|async|await|catch|constraint|downto|else|exception|external|for|if|in|lazy|mutable|rec|switch|to|try|when|while|with)\\b"},"RE_TO_DOWNTO_AS_LABELS":{"patterns":[{"match":"(to|downto)\\s*(=)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.operator keyword"}}},{"match":"(to|downto)\\s*(as)","captures":{"1":{"name":"variable"},"2":{"name":"keyword.control"}}}]},"attribute":{"patterns":[{"match":"(%%?|@@?)([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"punctuation.decorator"},"2":{"patterns":[{"name":"invalid.deprecated","match":"bs\\.send\\.pipe"},{"name":"invalid.illegal","match":"splice"},{"match":"(bs\\.)?([A-Za-z_][A-Za-z0-9_\\.]*)","captures":{"1":{"name":"invalid.deprecated"},"2":{"name":"entity.name.function"}}},{"name":"entity.name.function","match":"[A-Za-z_][A-Za-z0-9_\\.]*"}]}}}]},"character":{"patterns":[{"name":"string.quoted.single","match":"'[\\x00-\\x7F]'"}]},"commentBlock":{"name":"comment.block","begin":"/\\*","end":"\\*/","patterns":[{"include":"#commentBlock"}]},"commentLine":{"name":"comment.line","match":"//.*"},"constant":{"patterns":[{"include":"#RE_CONSTANTS_BOOL"}]},"constructor":{"patterns":[{"name":"variable.other.enummember","match":"\\b[A-Z][0-9a-zA-Z_]*\\b"},{"match":"(#)\\s*([a-zA-Z][0-9a-zA-Z_]*)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)\\s*(\\.\\.\\.)\\b","captures":{"1":{"name":"variable.other.enummember"},"2":{"name":"variable.other.enummember"}}},{"match":"(#)","captures":{"1":{"name":"variable.other.enummember"}}}]},"defaultIdIsVariable":{"patterns":[{"name":"variable","match":"[A-Za-z_][A-Za-z0-9_]*"}]},"ffi":{"name":"source.embedded.javascript","contentName":"meta.embedded.block.javascript","begin":"(%|%%)(raw|ffi)(\\()(`)","end":"(`)(\\))","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"ffi-single":{"name":"source.embedded.javascript.single","match":"(%|%%)(raw|ffi)(\\()(`)(.*?)(`)(\\))","captures":{"1":{"name":"punctuation.decorator"},"2":{"name":"entity.name.function"},"4":{"name":"punctuation.definition.string.template.begin.embedded-js"},"5":{"patterns":[{"include":"source.js"}]},"6":{"name":"punctuation.definition.string.template.end.embedded-js"}}},"function":{"patterns":[{"name":"storage.type.function keyword.declaration.function","match":"=\u003e"}]},"jsx":{"patterns":[{"name":"punctuation.definition.tag","match":"\u003c\u003e|\u003c/\u003e|\u003c/|/\u003e"},{"match":"\u003c/([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}},{"match":"\u003c/([a-z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"variable"}}},{"match":"\u003c([A-Z_][0-9a-zA-Z_]*)","captures":{"0":{"name":"punctuation.definition.tag"},"1":{"name":"entity.name.class"}}}]},"keyword":{"patterns":[{"include":"#RE_TO_DOWNTO_AS_LABELS"},{"include":"#RE_KEYWORD_CONTROL"},{"include":"#RE_KEYWORD"}]},"list":{"patterns":[{"match":"\\b(list)(\\{)","captures":{"1":{"name":"keyword"},"2":{"name":"punctuation.section.braces.begin"}}},{"name":"punctuation.section.braces.end","match":"\\}"}]},"moduleAccess":{"patterns":[{"match":"\\b([A-Z_][0-9a-zA-Z_]*)(\\.)","captures":{"1":{"name":"entity.name.class"},"2":{"name":"punctuation.accessor"}}}]},"moduleAccessEndsWithModule":{"patterns":[{"name":"entity.name.class","match":"[A-Z_][0-9a-zA-Z_]*"},{"match":"(\\.)([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"punctuation.accessor"},"2":{"name":"entity.name.class"}}}]},"moduleDeclaration":{"patterns":[{"match":"\\b(module)\\s+(type\\s+)?(of\\s+)?([A-Z_][0-9a-zA-Z_]*)","patterns":[{"match":"\\s*:\\s*([A-Z_][0-9a-zA-Z_]*)","captures":{"1":{"name":"entity.name.class"}}}],"captures":{"1":{"name":"keyword"},"2":{"name":"keyword"},"3":{"name":"keyword"},"4":{"name":"entity.name.class"}}}]},"number":{"patterns":[{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]+)?([eE][-+]?[0-9_]+)?)?)\\b"}]},"openOrIncludeModule":{"patterns":[{"match":"\\b(open|include)\\s+([A-Z_][0-9a-zA-Z_]*((\\.)([A-Z_][0-9a-zA-Z_]*))*)","captures":{"1":{"name":"keyword"},"2":{"patterns":[{"include":"#moduleAccessEndsWithModule"}]}}},{"name":"keyword","match":"\\b(open|include)\\s+"}]},"operator":{"patterns":[{"name":"keyword.operator","match":"-\u003e|\\|\\||\u0026\u0026|\\+\\+|\\*\\*|\\+\\.|\\+|-\\.|-|\\*\\.|\\*|/\\.|/|\\.\\.\\.|\\.\\.|===|==|\\^|:=|!|\u003e=(?! *\\?)|\u003c=|="},{"name":"invalid.deprecated","match":"\\|\u003e"}]},"punctuation":{"patterns":[{"name":"punctuation.definition.keyword","match":"~"},{"name":"punctuation.terminator","match":";"},{"name":"punctuation.accessor","match":"\\."},{"name":"punctuation.separator","match":"\\,"},{"name":"punctuation.separator","match":"\\?|:"},{"name":"punctuation.separator","match":"\\|(?!\\|)"},{"name":"punctuation.section.braces.begin","match":"\\{"},{"name":"punctuation.section.braces.end","match":"\\}"},{"name":"punctuation.section.brackets.begin","match":"\\["},{"name":"punctuation.section.brackets.end","match":"\\]"},{"name":"punctuation.section.parens.begin","match":"\\("},{"name":"punctuation.section.parens.end","match":"\\)"}]},"string":{"patterns":[{"name":"string.quoted.double","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end"}}},{"name":"string.template","begin":"([a-z_][0-9a-zA-Z_]*)?(`)","end":"(?\u003c!\\\\)`","patterns":[{"include":"#string-character-escape"},{"name":"meta.template.expression","begin":"\\$\\{","end":"\\}","patterns":[{"match":"[a-z_][0-9a-zA-Z_]*"},{"include":"#operator"},{"include":"#punctuation"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end"}}}],"beginCaptures":{"1":{"name":"entity.name.function"},"2":{"name":"punctuation.definition.string.template.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.string.template.end"}}}]},"string-character-escape":{"name":"constant.character.escape","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u{[0-9A-Fa-f]+}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"},"typeParameter":{"patterns":[{"name":"support.type","match":"'[A-Za-z][A-Za-z0-9_]*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Roc","scopeName":"source.roc","patterns":[{"name":"keyword.unused.roc","match":"(\\b_[a-zA-Z0-9_]*\\b)"},{"name":"keyword.control.roc","match":"\\b(dbg|if|then|else|when|is|app|packages|imports?|provides|to|as|expect|exposes)\\s+"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#punctuation"},{"include":"#module-member-access"},{"include":"#language-components"},{"include":"#infix_op"},{"include":"#type-signature"}],"repository":{"arrow":{"name":"punctuation.separator.arrow.roc","match":"-\u003e"},"brackets":{"name":"punctuation.bracket.roc","match":"(\\}|\\{)"},"comma":{"name":"punctuation.separator.comma.roc","match":"(,)"},"comments":{"patterns":[{"name":"comment.line.number-sign.roc","begin":"#","end":"$","captures":{"1":{"name":"punctuation.definition.comment.roc"}}},{"name":"comment.block.documentation.roc","begin":"##","end":"$","captures":{"1":{"name":"punctuation.definition.comment.roc"}}}]},"constructor":{"name":"entity.name.type.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},"infix_op":{"name":"keyword.operator.roc","match":"(\u003c/\u003e|\u003c\\?\u003e|\u003c\\||\u003c=|\\|\\||\u0026\u0026|\u003e=|\\|\u003e|\\|=|\\|\\.|\\+\\+|::|/=|==|//|\u003e\u003e|\u003c\u003c|\u003c|\u003e|\\^|\\+|-|/|\\*)"},"language-components":{"patterns":[{"include":"#constructor"},{"include":"#unit"},{"include":"#top-level-value"},{"include":"#record-accessor"}]},"module-member-access":{"name":"meta.module.access.roc","begin":"([A-Z][a-zA-Z0-9_]*)(\\.)","end":"\\s","patterns":[{"include":"#module-member-access"},{"include":"#constructor"},{"name":"support.function.roc","match":"\\b[a-z][a-zA-Z0-9_']*\\b"}],"beginCaptures":{"1":{"name":"support.class.roc"},"2":{"name":"keyword.other.period.roc"}}},"numbers":{"patterns":[{"include":"#numbers_float"},{"include":"#numbers_int"}]},"numbers_float":{"name":"constant.numeric.float.roc","match":"\\b([0-9][0-9_]*\\.[0-9_]+(e-?[0-9_]+)?|[0-9][0-9_]*e-?[0-9][0-9_]*)\\b"},"numbers_int":{"name":"constant.numeric.roc","match":"\\b([0-9][0-9_]*)\\b"},"parens":{"name":"punctuation.parens.roc","match":"(\\(|\\))"},"period":{"name":"keyword.other.period.roc","match":"[.]"},"punctuation":{"patterns":[{"include":"#brackets"},{"include":"#sq_brackets"},{"include":"#parens"},{"include":"#comma"},{"include":"#arrow"}]},"record-accessor":{"name":"meta.record.accessor","match":"(\\.)([a-z][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.other.period.roc"},"2":{"name":"entity.name.function.record-field.roc"}}},"sq_brackets":{"name":"punctuation.bracket.roc","match":"(\\]|\\[)"},"strings":{"patterns":[{"name":"string.quoted.double.roc","begin":"\"","end":"\"","patterns":[{"name":"invalid.illegal","begin":"\\\\u\\(","end":"\\)","patterns":[{"name":"constant.numeric.roc","match":"[0-9a-fA-F]+"}],"beginCaptures":{"0":{"name":"constant.character.escape.roc"}},"endCaptures":{"0":{"name":"constant.character.escape.roc"}}},{"name":"constant.character.escape.roc","match":"\\\\[nrt\\\\\\\"\\\\]"},{"name":"source.roc","begin":"\\$\\(","end":"\\)","patterns":[{"name":"keyword.control.roc","match":"\\b(dbg|expect|if|then|else|when|is|as)\\s+"},{"include":"#comments"},{"include":"#strings"},{"include":"#numbers"},{"include":"#punctuation"},{"include":"#module-member-access"},{"include":"#language-components"},{"include":"#infix_op"},{"include":"#type-signature"}],"beginCaptures":{"0":{"name":"constant.character.escape.roc"}},"endCaptures":{"0":{"name":"constant.character.escape.roc"}}}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.roc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.roc"}}},{"name":"string.quoted.single.roc","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.roc","match":"\\\\[nrt\\\\'\\\\]"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.roc"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.roc"}}}]},"top-level-value":{"name":"entity.name.function.top_level.roc","match":"^[a-z][a-zA-Z0-9_']*\\b"},"type-record":{"name":"meta.function.type-record.roc","begin":"(\\{)","end":"(\\})","patterns":[{"name":"punctuation.spaces.roc","match":"\\s+"},{"name":"keyword.operator.arrow.roc","match":"-\u003e"},{"name":"meta.record.field.roc","match":"([a-z][a-zA-Z0-9_]*)\\s+(\\:)","captures":{"1":{"name":"entity.name.record.field.roc"},"2":{"name":"keyword.other.roc"}}},{"name":"punctuation.separator.comma.roc","match":"\\,"},{"name":"variable.type.roc","match":"\\b[a-z][a-zA-Z0-9_]*\\b"},{"name":"storage.type.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},{"include":"#comments"},{"include":"#type-record"}],"beginCaptures":{"1":{"name":"punctuation.section.braces.begin"}},"endCaptures":{"1":{"name":"punctuation.section.braces.end"}}},"type-signature":{"name":"meta.function.type-declaration.roc","begin":"^([a-z_][a-zA-Z0-9_']*)\\s+(\\:)","end":"((^(?=[a-z]))|^$)","patterns":[{"name":"punctuation.spaces.roc","match":"\\s+"},{"include":"#module-member-access"},{"name":"variable.type.roc","match":"\\b[a-z][a-zA-Z0-9_]*\\b"},{"name":"storage.type.class.roc","match":"\\b[A-Z][a-zA-Z0-9_]*\\b"},{"include":"#arrow"},{"include":"#unit"},{"include":"#comma"},{"include":"#parens"},{"include":"#comments"},{"include":"#type-record"}],"beginCaptures":{"1":{"name":"entity.name.function.roc"},"2":{"name":"keyword.other.colon.roc"}}},"unit":{"name":"constant.unit.roc","match":"\\(\\)"}}}
@@ -1 +1 @@
1
- {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"^\\s*///.*"},{"name":"comment.line.double-slash.rust","match":"\\s*//.*"}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{|;","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
1
+ {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"(\u003c)(\\[)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#gtypes"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.brackets.angle.rust"},"2":{"name":"punctuation.brackets.square.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"meta.macro.metavariable.type.rust","match":"(\\$)((crate)|([A-Z][A-Za-z0-9_]*))((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"3":{"name":"keyword.other.crate.rust"},"4":{"name":"entity.name.type.metavariable.rust"},"6":{"name":"keyword.operator.key-value.rust"},"7":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.metavariable.rust","match":"(\\$)([a-z][A-Za-z0-9_]*)((:)(block|expr|ident|item|lifetime|literal|meta|path?|stmt|tt|ty|vis))?","patterns":[{"include":"#keywords"}],"captures":{"1":{"name":"keyword.operator.macro.dollar.rust"},"2":{"name":"variable.other.metavariable.name.rust"},"4":{"name":"keyword.operator.key-value.rust"},"5":{"name":"variable.other.metavariable.specifier.rust"}}},{"name":"meta.macro.rules.rust","match":"\\b(macro_rules!)\\s+(([a-z0-9_]+)|([A-Z][a-z0-9_]*))\\s+(\\{)","captures":{"1":{"name":"entity.name.function.macro.rules.rust"},"3":{"name":"entity.name.function.macro.rust"},"4":{"name":"entity.name.type.macro.rust"},"5":{"name":"punctuation.brackets.curly.rust"}}},{"match":"(mod)\\s+((?:r#(?!crate|[Ss]elf|super))?[a-z][A-Za-z0-9_]*)","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.module.rust"}}},{"name":"meta.import.rust","begin":"\\b(extern)\\s+(crate)","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"keyword.other.crate.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"name":"meta.use.rust","begin":"\\b(use)\\s","end":";","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#types"},{"include":"#lvariables"}],"beginCaptures":{"1":{"name":"keyword.other.rust"}},"endCaptures":{"0":{"name":"punctuation.semi.rust"}}},{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"attributes":{"name":"meta.attribute.rust","begin":"(#)(\\!?)(\\[)","end":"\\]","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#gtypes"},{"include":"#types"}],"beginCaptures":{"1":{"name":"punctuation.definition.attribute.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.rust"}}},"block-comments":{"patterns":[{"name":"comment.block.rust","match":"/\\*\\*/"},{"name":"comment.block.documentation.rust","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.rust","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"comments":{"patterns":[{"name":"comment.line.documentation.rust","match":"(///).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}},{"name":"comment.line.double-slash.rust","match":"(//).*$","captures":{"1":{"name":"punctuation.definition.comment.rust"}}}]},"constants":{"patterns":[{"name":"constant.other.caps.rust","match":"\\b[A-Z]{2}[A-Z0-9_]*\\b"},{"match":"\\b(const)\\s+([A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"storage.type.rust"},"2":{"name":"constant.other.caps.rust"}}},{"name":"constant.numeric.decimal.rust","match":"\\b\\d[\\d_]*(\\.?)[\\d_]*(?:(E|e)([+-]?)([\\d_]+))?(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"punctuation.separator.dot.decimal.rust"},"2":{"name":"keyword.operator.exponent.rust"},"3":{"name":"keyword.operator.exponent.sign.rust"},"4":{"name":"constant.numeric.decimal.exponent.mantissa.rust"},"5":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.hex.rust","match":"\\b0x[\\da-fA-F_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.oct.rust","match":"\\b0o[0-7_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.numeric.bin.rust","match":"\\b0b[01_]+(i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)?\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"name":"constant.language.bool.rust","match":"\\b(true|false)\\b"}]},"escapes":{"name":"constant.character.escape.rust","match":"(\\\\)(?:(?:(x[0-7][\\da-fA-F])|(u(\\{)[\\da-fA-F]{4,6}(\\}))|.))","captures":{"1":{"name":"constant.character.escape.backslash.rust"},"2":{"name":"constant.character.escape.bit.rust"},"3":{"name":"constant.character.escape.unicode.rust"},"4":{"name":"constant.character.escape.unicode.punctuation.rust"},"5":{"name":"constant.character.escape.unicode.punctuation.rust"}}},"functions":{"patterns":[{"match":"\\b(pub)(\\()","captures":{"1":{"name":"keyword.other.rust"},"2":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.definition.rust","begin":"\\b(fn)\\s+((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{|;","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"},"4":{"name":"punctuation.brackets.round.rust"},"5":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"punctuation.brackets.round.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}},{"name":"meta.function.call.rust","begin":"((?:r#(?!crate|[Ss]elf|super))?[A-Za-z0-9_]+)(?=::\u003c.*\u003e\\()","end":"\\)","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#attributes"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.function.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.rust"}}}]},"gtypes":{"patterns":[{"name":"entity.name.type.option.rust","match":"\\b(Some|None)\\b"},{"name":"entity.name.type.result.rust","match":"\\b(Ok|Err)\\b"}]},"interpolations":{"name":"meta.interpolation.rust","match":"({)[^\"{}]*(})","captures":{"1":{"name":"punctuation.definition.interpolation.rust"},"2":{"name":"punctuation.definition.interpolation.rust"}}},"keywords":{"patterns":[{"name":"keyword.control.rust","match":"\\b(await|break|continue|do|else|for|if|loop|match|return|try|while|yield)\\b"},{"name":"keyword.other.rust storage.type.rust","match":"\\b(extern|let|macro|mod)\\b"},{"name":"storage.modifier.rust","match":"\\b(const)\\b"},{"name":"keyword.declaration.type.rust storage.type.rust","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.rust storage.type.rust","match":"\\b(enum)\\b"},{"name":"keyword.declaration.trait.rust storage.type.rust","match":"\\b(trait)\\b"},{"name":"keyword.declaration.struct.rust storage.type.rust","match":"\\b(struct)\\b"},{"name":"storage.modifier.rust","match":"\\b(abstract|static)\\b"},{"name":"keyword.other.rust","match":"\\b(as|async|become|box|dyn|move|final|gen|impl|in|override|priv|pub|ref|typeof|union|unsafe|unsized|use|virtual|where)\\b"},{"name":"keyword.other.fn.rust","match":"\\bfn\\b"},{"name":"keyword.other.crate.rust","match":"\\bcrate\\b"},{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},{"name":"keyword.operator.logical.rust","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.rust","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.rust","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.rust","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"match":"(?:\\b|(?:(\\))|(\\])|(\\})))[ \\t]+([\u003c\u003e])[ \\t]+(?:\\b|(?:(\\()|(\\[)|(\\{)))","captures":{"1":{"name":"punctuation.brackets.round.rust"},"2":{"name":"punctuation.brackets.square.rust"},"3":{"name":"punctuation.brackets.curly.rust"},"4":{"name":"keyword.operator.comparison.rust"},"5":{"name":"punctuation.brackets.round.rust"},"6":{"name":"punctuation.brackets.square.rust"},"7":{"name":"punctuation.brackets.curly.rust"}}},{"name":"keyword.operator.namespace.rust","match":"::"},{"match":"(\\*)(?=\\w+)","captures":{"1":{"name":"keyword.operator.dereference.rust"}}},{"name":"keyword.operator.subpattern.rust","match":"@"},{"name":"keyword.operator.access.dot.rust","match":"\\.(?!\\.)"},{"name":"keyword.operator.range.rust","match":"\\.{2}(=|\\.)?"},{"name":"keyword.operator.key-value.rust","match":":(?!:)"},{"name":"keyword.operator.arrow.skinny.rust","match":"-\u003e"},{"name":"keyword.operator.arrow.fat.rust","match":"=\u003e"},{"name":"keyword.operator.macro.dollar.rust","match":"\\$"},{"name":"keyword.operator.question.rust","match":"\\?"}]},"lifetimes":{"patterns":[{"match":"(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"punctuation.definition.lifetime.rust"},"2":{"name":"entity.name.type.lifetime.rust"}}},{"match":"(\\\u0026)(['])([a-zA-Z_][0-9a-zA-Z_]*)(?!['])\\b","captures":{"1":{"name":"keyword.operator.borrow.rust"},"2":{"name":"punctuation.definition.lifetime.rust"},"3":{"name":"entity.name.type.lifetime.rust"}}}]},"lvariables":{"patterns":[{"name":"variable.language.self.rust","match":"\\b[Ss]elf\\b"},{"name":"variable.language.super.rust","match":"\\bsuper\\b"}]},"macros":{"patterns":[{"name":"meta.macro.rust","match":"(([a-z_][A-Za-z0-9_]*!)|([A-Z_][A-Za-z0-9_]*!))","captures":{"2":{"name":"entity.name.function.macro.rust"},"3":{"name":"entity.name.type.macro.rust"}}}]},"namespaces":{"patterns":[{"match":"(?\u003c![A-Za-z0-9_])([A-Za-z0-9_]+)((?\u003c!super|self)::)","captures":{"1":{"name":"entity.name.namespace.rust"},"2":{"name":"keyword.operator.namespace.rust"}}}]},"punctuation":{"patterns":[{"name":"punctuation.comma.rust","match":","},{"name":"punctuation.brackets.curly.rust","match":"[{}]"},{"name":"punctuation.brackets.round.rust","match":"[()]"},{"name":"punctuation.semi.rust","match":";"},{"name":"punctuation.brackets.square.rust","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.rust","match":"(?\u003c!=)[\u003c\u003e]"}]},"strings":{"patterns":[{"name":"string.quoted.double.rust","begin":"(b?)(\")","end":"\"","patterns":[{"include":"#escapes"},{"include":"#interpolations"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.string.rust"}}},{"name":"string.quoted.double.rust","begin":"(b?r)(#*)(\")","end":"(\")(\\2)","beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.string.raw.rust"},"3":{"name":"punctuation.definition.string.rust"}},"endCaptures":{"1":{"name":"punctuation.definition.string.rust"},"2":{"name":"punctuation.definition.string.raw.rust"}}},{"name":"string.quoted.single.char.rust","begin":"(b)?(')","end":"'","patterns":[{"include":"#escapes"}],"beginCaptures":{"1":{"name":"string.quoted.byte.raw.rust"},"2":{"name":"punctuation.definition.char.rust"}},"endCaptures":{"0":{"name":"punctuation.definition.char.rust"}}}]},"types":{"patterns":[{"match":"(?\u003c![A-Za-z])(f32|f64|i128|i16|i32|i64|i8|isize|u128|u16|u32|u64|u8|usize)\\b","captures":{"1":{"name":"entity.name.type.numeric.rust"}}},{"begin":"\\b(_?[A-Z][A-Za-z0-9_]*)(\u003c)","end":"\u003e","patterns":[{"include":"#block-comments"},{"include":"#comments"},{"include":"#keywords"},{"include":"#lvariables"},{"include":"#lifetimes"},{"include":"#punctuation"},{"include":"#types"},{"include":"#variables"}],"beginCaptures":{"1":{"name":"entity.name.type.rust"},"2":{"name":"punctuation.brackets.angle.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.angle.rust"}}},{"name":"entity.name.type.primitive.rust","match":"\\b(bool|char|str)\\b"},{"match":"\\b(trait)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.trait.rust storage.type.rust"},"2":{"name":"entity.name.type.trait.rust"}}},{"match":"\\b(struct)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.struct.rust storage.type.rust"},"2":{"name":"entity.name.type.struct.rust"}}},{"match":"\\b(enum)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.enum.rust storage.type.rust"},"2":{"name":"entity.name.type.enum.rust"}}},{"match":"\\b(type)\\s+(_?[A-Z][A-Za-z0-9_]*)\\b","captures":{"1":{"name":"keyword.declaration.type.rust storage.type.rust"},"2":{"name":"entity.name.type.declaration.rust"}}},{"name":"entity.name.type.rust","match":"\\b_?[A-Z][A-Za-z0-9_]*\\b(?!!)"}]},"variables":{"patterns":[{"name":"variable.other.rust","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.scoping.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}
1
+ {"name":"Scala","scopeName":"source.scala","patterns":[{"include":"#code"}],"repository":{"backQuotedVariable":{"match":"`[^`]+`"},"block-comments":{"patterns":[{"name":"comment.block.empty.scala","match":"/\\*\\*/","captures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.documentation.scala","begin":"^\\s*(/\\*\\*)(?!/)","end":"\\*/","patterns":[{"match":"(@param)\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"variable.parameter.scala"}}},{"match":"(@(?:tparam|throws))\\s+(\\S+)","captures":{"1":{"name":"keyword.other.documentation.scaladoc.scala"},"2":{"name":"entity.name.class"}}},{"name":"keyword.other.documentation.scaladoc.scala","match":"@(return|see|note|example|constructor|usecase|author|version|since|todo|deprecated|migration|define|inheritdoc)\\b"},{"match":"(\\[\\[)([^\\]]+)(\\]\\])","captures":{"1":{"name":"punctuation.definition.documentation.link.scala"},"2":{"name":"string.other.link.title.markdown"},"3":{"name":"punctuation.definition.documentation.link.scala"}}},{"include":"#block-comments"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}},{"name":"comment.block.scala","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block-comments"}],"captures":{"0":{"name":"punctuation.definition.comment.scala"}}}]},"char-literal":{"patterns":[{"name":"string.quoted.other constant.character.literal.scala","match":"(')'(')","captures":{"1":{"name":"punctuation.definition.character.begin.scala"},"2":{"name":"punctuation.definition.character.end.scala"}}},{"name":"string.quoted.other constant.character.literal.scala","begin":"'","end":"'|$","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-character-escape.scala","match":"\\\\."},{"name":"invalid.illegal.character-literal-too-long","match":"[^']{2,}"},{"name":"invalid.illegal.character-literal-too-long","match":"(?\u003c!')[^']"}],"beginCaptures":{"0":{"name":"punctuation.definition.character.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.character.end.scala"}}}]},"code":{"patterns":[{"include":"#using-directive"},{"include":"#script-header"},{"include":"#storage-modifiers"},{"include":"#declarations"},{"include":"#inheritance"},{"include":"#extension"},{"include":"#imports"},{"include":"#exports"},{"include":"#comments"},{"include":"#strings"},{"include":"#initialization"},{"include":"#xml-literal"},{"include":"#keywords"},{"include":"#using"},{"include":"#constants"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted-or-symbol"},{"include":"#char-literal"},{"include":"#empty-parentheses"},{"include":"#parameter-list"},{"include":"#qualifiedClassName"},{"include":"#backQuotedVariable"},{"include":"#curly-braces"},{"include":"#meta-brackets"},{"include":"#meta-bounds"},{"include":"#meta-colons"}]},"comments":{"patterns":[{"include":"#block-comments"},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.scala","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.scala"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.scala"}}}]},"constants":{"patterns":[{"name":"constant.language.scala","match":"\\b(false|null|true)\\b"},{"name":"constant.numeric.scala","match":"\\b(0[xX][0-9a-fA-F_]*)\\b"},{"name":"constant.numeric.scala","match":"\\b(([0-9][0-9_]*(\\.[0-9][0-9_]*)?)([eE](\\+|-)?[0-9][0-9_]*)?|[0-9][0-9_]*)[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"(\\.[0-9][0-9_]*)([eE](\\+|-)?[0-9][0-9_]*)?[LlFfDd]?\\b"},{"name":"constant.numeric.scala","match":"\\b0[bB][01]([01_]*[01])?[Ll]?\\b"},{"name":"variable.language.scala","match":"\\b(this|super)\\b"}]},"curly-braces":{"begin":"\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.section.block.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.section.block.end.scala"}}},"declarations":{"patterns":[{"match":"\\b(def)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.function.declaration"}}},{"match":"\\b(trait)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class.declaration"}}},{"match":"\\b(?:(case)\\s+)?(class|object|enum)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"match":"(?\u003c!\\.)\\b(type)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.type.declaration"}}},{"match":"\\b(?:(val)|(var))\\b\\s*(?!//|/\\*)(?=(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)?\\()","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"match":"\\b(val)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"variable.stable.declaration.scala"}}},{"match":"\\b(var)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)(?:\\s*,\\s*(?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))*)?(?!\")","captures":{"1":{"name":"keyword.declaration.volatile.scala"},"2":{"name":"variable.volatile.declaration.scala"}}},{"match":"\\b(package)\\s+(object)\\b\\s*(?!//|/\\*)((?:(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`))?","captures":{"1":{"name":"keyword.other.package.scala"},"2":{"name":"keyword.declaration.scala"},"3":{"name":"entity.name.class.declaration"}}},{"name":"meta.package.scala","begin":"\\b(package)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"entity.name.package.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.package","match":"\\."}],"beginCaptures":{"1":{"name":"keyword.other.package.scala"}}},{"match":"\\b(given)\\b\\s*([_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`)?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.given.declaration"}}}]},"empty-parentheses":{"name":"meta.parentheses.scala","match":"(\\(\\))","captures":{"1":{"name":"meta.bracket.scala"}}},"exports":{"name":"meta.export.scala","begin":"\\b(export)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"name":"entity.name.class.export.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.export.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.export","match":"\\."},{"name":"meta.export.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.renamed-from.scala"},"3":{"name":"entity.name.export.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.export.renamed-to.scala"},"6":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"keyword.other.export.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.export.given.scala"},"2":{"name":"entity.name.class.export.scala"},"3":{"name":"entity.name.export.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"}}},"extension":{"patterns":[{"match":"^\\s*(extension)\\s+(?=[\\[\\(])","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"imports":{"name":"meta.import.scala","begin":"\\b(import)\\s+","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"name":"keyword.other.import.as.scala","match":"\\s(as)\\s"},{"name":"entity.name.class.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?"},{"name":"entity.name.import.scala","match":"(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"},{"name":"punctuation.definition.import","match":"\\."},{"name":"meta.import.selector.scala","begin":"{","end":"}","patterns":[{"match":"(?x)(given\\s)?\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*(=\u003e)\\s*(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))\\s*","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.renamed-from.scala"},"3":{"name":"entity.name.import.renamed-from.scala"},"4":{"name":"keyword.other.arrow.scala"},"5":{"name":"entity.name.class.import.renamed-to.scala"},"6":{"name":"entity.name.import.renamed-to.scala"}}},{"name":"keyword.other.import.given.scala","match":"\\b(given)\\b"},{"match":"(given\\s+)?(?:([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)|(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))","captures":{"1":{"name":"keyword.other.import.given.scala"},"2":{"name":"entity.name.class.import.scala"},"3":{"name":"entity.name.import.scala"}}}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.import.scala"}}},"inheritance":{"patterns":[{"match":"\\b(extends|with|derives)\\b\\s*([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?=\\([^\\)]+=\u003e)|(?=(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))|(?=\"))?","captures":{"1":{"name":"keyword.declaration.scala"},"2":{"name":"entity.name.class"}}}]},"initialization":{"match":"\\b(new)\\b","captures":{"1":{"name":"keyword.declaration.scala"}}},"inline":{"patterns":[{"name":"storage.modifier.other","match":"\\b(inline)(?=\\s+((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)|`[^`]+`)\\s*:)"},{"name":"keyword.control.flow.scala","match":"\\b(inline)\\b(?=(?:.(?!\\b(?:val|def|given)\\b))*\\b(if|match)\\b)"}]},"keywords":{"patterns":[{"name":"keyword.control.flow.jump.scala","match":"\\b(return|throw)\\b"},{"name":"support.function.type-of.scala","match":"\\b(classOf|isInstanceOf|asInstanceOf)\\b"},{"name":"keyword.control.flow.scala","match":"\\b(else|if|then|do|while|for|yield|match|case)\\b"},{"name":"keyword.control.flow.end.scala","match":"^\\s*(end)\\s+(if|while|for|match)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.stable.end.scala","match":"^\\s*(end)\\s+(val)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"name":"keyword.declaration.volatile.end.scala","match":"^\\s*(end)\\s+(var)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(?:(new|extension)|([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"keyword.declaration.end.scala"},"3":{"name":"entity.name.type.declaration"}}},{"name":"keyword.control.exception.scala","match":"\\b(catch|finally|try)\\b"},{"name":"keyword.control.exception.end.scala","match":"^\\s*(end)\\s+(try)(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"},{"match":"^\\s*(end)\\s+(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)","captures":{"1":{"name":"keyword.declaration.end.scala"},"2":{"name":"entity.name.declaration"}}},{"name":"keyword.operator.comparison.scala","match":"(==?|!=|\u003c=|\u003e=|\u003c\u003e|\u003c|\u003e)"},{"name":"keyword.operator.arithmetic.scala","match":"(\\-|\\+|\\*|/(?![/*])|%|~)"},{"name":"keyword.operator.logical.scala","match":"(?\u003c![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]|_)(!|\u0026\u0026|\\|\\|)(?![!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}])"},{"name":"keyword.operator.scala","match":"(\u003c-|←|-\u003e|→|=\u003e|⇒|\\?|\\:+|@|\\|)+"}]},"meta-bounds":{"name":"meta.bounds.scala","match":"\u003c%|=:=|\u003c:\u003c|\u003c%\u003c|\u003e:|\u003c:"},"meta-brackets":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"\\{"},{"name":"punctuation.section.block.end.scala","match":"\\}"},{"name":"meta.bracket.scala","match":"{|}|\\(|\\)|\\[|\\]"}]},"meta-colons":{"patterns":[{"name":"meta.colon.scala","match":"(?\u003c!:):(?!:)"}]},"parameter-list":{"patterns":[{"match":"(?\u003c=[^\\._$a-zA-Z0-9])(`[^`]+`|[_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\s*(:)\\s+","captures":{"1":{"name":"variable.parameter.scala"},"2":{"name":"meta.colon.scala"}}}]},"qualifiedClassName":{"match":"(\\b([A-Z][\\w]*)(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)","captures":{"1":{"name":"entity.name.class"}}},"scala-quoted-or-symbol":{"patterns":[{"match":"(')((?\u003e(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)))(?!')","captures":{"1":{"name":"keyword.control.flow.staging.scala constant.other.symbol.scala"},"2":{"name":"constant.other.symbol.scala"}}},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\{(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"'(?=\\s*\\[(?!'))"},{"name":"keyword.control.flow.staging.scala","match":"\\$(?=\\s*\\{)"}]},"script-header":{"name":"comment.block.shebang.scala","match":"^#!(.*)$","captures":{"1":{"name":"string.unquoted.shebang.scala"}}},"singleton-type":{"match":"\\.(type)(?![A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[0-9])","captures":{"1":{"name":"keyword.type.scala"}}},"storage-modifiers":{"patterns":[{"name":"storage.modifier.access","match":"\\b(private\\[\\S+\\]|protected\\[\\S+\\]|private|protected)\\b"},{"name":"storage.modifier.other","match":"\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|override|@transient|@native)\\b"},{"name":"storage.modifier.other","match":"(?\u003c=^|\\s)\\b(transparent|opaque|infix|open|inline)\\b(?=[a-z\\s]*\\b(def|val|var|given|type|class|trait|object|enum)\\b)"}]},"string-interpolation":{"patterns":[{"name":"constant.character.escape.interpolation.scala","match":"\\$\\$"},{"name":"meta.template.expression.scala","match":"(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]*)","captures":{"1":{"name":"punctuation.definition.template-expression.begin.scala"}}},{"name":"meta.template.expression.scala","contentName":"meta.embedded.line.scala","begin":"\\$\\{","end":"\\}","patterns":[{"include":"#code"}],"beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.scala"}}}]},"strings":{"patterns":[{"name":"string.quoted.triple.scala","begin":"\"\"\"","end":"\"\"\"(?!\")","patterns":[{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\"\"\")","end":"(\"\"\")(?!\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\\\\\|\\\\u[0-9A-Fa-f]{4}"},{"name":"string.quoted.triple.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.triple.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"name":"string.quoted.double.scala","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.scala"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.scala"}}},{"begin":"\\b(raw)(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}},{"begin":"\\b((?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?))(\")","end":"(\")|\\$\n|(\\$[^\\$\"_{A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}])","patterns":[{"name":"constant.character.escape.scala","match":"\\$[\\$\"]"},{"include":"#string-interpolation"},{"name":"constant.character.escape.scala","match":"\\\\(?:[btnfr\\\\\"']|[0-7]{1,3}|u[0-9A-Fa-f]{4})"},{"name":"invalid.illegal.unrecognized-string-escape.scala","match":"\\\\."},{"name":"string.quoted.double.interpolated.scala","match":"."}],"beginCaptures":{"1":{"name":"keyword.interpolation.scala"},"2":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.begin.scala"}},"endCaptures":{"1":{"name":"string.quoted.double.interpolated.scala punctuation.definition.string.end.scala"},"2":{"name":"invalid.illegal.unrecognized-string-escape.scala"}}}]},"using":{"patterns":[{"match":"(?\u003c=\\()\\s*(using)\\s","captures":{"1":{"name":"keyword.declaration.scala"}}}]},"using-directive":{"name":"comment.line.shebang.scala","begin":"^\\s*(//\u003e)\\s*(using)[^\\S\\n]+(?:(\\S+))?","end":"\\n","patterns":[{"include":"#constants"},{"include":"#strings"},{"name":"string.quoted.double.scala","match":"[^\\s,]+"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"},"3":{"patterns":[{"name":"entity.name.import.scala","match":"[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)"},{"name":"punctuation.definition.import","match":"\\."}]}}},"xml-doublequotedString":{"name":"string.quoted.double.xml","begin":"\"","end":"\"","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}},"xml-embedded-content":{"patterns":[{"name":"meta.source.embedded.scala","begin":"{","end":"}","patterns":[{"include":"#code"}],"captures":{"0":{"name":"meta.bracket.scala"}}},{"match":" (?:([-_a-zA-Z0-9]+)((:)))?([_a-zA-Z-]+)=","captures":{"1":{"name":"entity.other.attribute-name.namespace.xml"},"2":{"name":"entity.other.attribute-name.xml"},"3":{"name":"punctuation.separator.namespace.xml"},"4":{"name":"entity.other.attribute-name.localname.xml"}}},{"include":"#xml-doublequotedString"},{"include":"#xml-singlequotedString"}]},"xml-entity":{"name":"constant.character.entity.xml","match":"(\u0026)([:a-zA-Z_][:a-zA-Z0-9_.-]*|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.constant.xml"},"3":{"name":"punctuation.definition.constant.xml"}}},"xml-literal":{"patterns":[{"name":"meta.tag.no-content.xml","begin":"(\u003c)((?:([_a-zA-Z0-9][_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*))(?=(\\s[^\u003e]*)?\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c))/(?:([-_a-zA-Z0-9]+)((:)))?([-_a-zA-Z0-9:]*[_a-zA-Z0-9])(\u003e)","patterns":[{"include":"#xml-embedded-content"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"meta.scope.between-tag-pair.xml"},"3":{"name":"entity.name.tag.namespace.xml"},"4":{"name":"entity.name.tag.xml"},"5":{"name":"punctuation.separator.namespace.xml"},"6":{"name":"entity.name.tag.localname.xml"},"7":{"name":"punctuation.definition.tag.xml"}}},{"name":"meta.tag.xml","begin":"(\u003c/?)(?:([_a-zA-Z0-9][-_a-zA-Z0-9]*)((:)))?([_a-zA-Z0-9][-_a-zA-Z0-9:]*)(?=[^\u003e]*?\u003e)","end":"(/?\u003e)","patterns":[{"include":"#xml-embedded-content"}],"captures":{"1":{"name":"punctuation.definition.tag.xml"},"2":{"name":"entity.name.tag.namespace.xml"},"3":{"name":"entity.name.tag.xml"},"4":{"name":"punctuation.separator.namespace.xml"},"5":{"name":"entity.name.tag.localname.xml"}}},{"include":"#xml-entity"}]},"xml-singlequotedString":{"name":"string.quoted.single.xml","begin":"'","end":"'","patterns":[{"include":"#xml-entity"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.xml"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.xml"}}}}}