github-linguist 7.26.0 → 7.27.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/markdown.d2.codeblock.json +1 -0
  3. data/grammars/source.abap.json +1 -1
  4. data/grammars/source.aidl.json +1 -1
  5. data/grammars/source.ballerina.json +1 -1
  6. data/grammars/source.bicep.json +1 -1
  7. data/grammars/source.cs.json +1 -1
  8. data/grammars/source.d2.json +1 -1
  9. data/grammars/source.dart.json +1 -1
  10. data/grammars/source.denizenscript.json +1 -1
  11. data/grammars/source.directivesmf.json +1 -0
  12. data/grammars/source.earthfile.json +1 -1
  13. data/grammars/source.emacs.lisp.json +1 -1
  14. data/grammars/source.gleam.json +1 -1
  15. data/grammars/source.igor.json +1 -1
  16. data/grammars/source.julia.json +1 -1
  17. data/grammars/source.matlab.json +1 -1
  18. data/grammars/source.mdx.json +1 -1
  19. data/grammars/source.mo.json +1 -1
  20. data/grammars/source.nim.json +1 -1
  21. data/grammars/source.nushell.json +1 -1
  22. data/grammars/source.pic.json +1 -1
  23. data/grammars/source.prisma.json +1 -1
  24. data/grammars/source.ql.json +1 -1
  25. data/grammars/source.raku.json +1 -1
  26. data/grammars/source.rascal.json +1 -1
  27. data/grammars/source.rbs.json +1 -1
  28. data/grammars/source.rescript.json +1 -1
  29. data/grammars/source.rez.json +1 -0
  30. data/grammars/source.scala.json +1 -1
  31. data/grammars/source.scenic.json +1 -1
  32. data/grammars/source.solidity.json +1 -1
  33. data/grammars/source.stan.json +1 -1
  34. data/grammars/source.talon.json +1 -1
  35. data/grammars/source.ts.json +1 -1
  36. data/grammars/source.tsx.json +1 -1
  37. data/grammars/source.typst.json +1 -0
  38. data/grammars/source.vba.json +1 -1
  39. data/grammars/source.vyper.json +1 -1
  40. data/grammars/source.wit.json +1 -1
  41. data/grammars/source.yul.json +1 -1
  42. data/grammars/text.hash-commented.json +1 -1
  43. data/grammars/text.md.json +1 -1
  44. data/grammars/text.tex.latex.sweave.json +1 -0
  45. data/grammars/text.xml.svg.json +1 -1
  46. data/grammars/version +1 -1
  47. data/lib/linguist/VERSION +1 -1
  48. data/lib/linguist/generated.rb +10 -0
  49. data/lib/linguist/heuristics.rb +2 -0
  50. data/lib/linguist/heuristics.yml +20 -11
  51. data/lib/linguist/languages.json +1 -1
  52. data/lib/linguist/languages.yml +66 -3
  53. data/lib/linguist/samples.json +1 -1
  54. metadata +14 -10
  55. data/grammars/source.nimcfg.json +0 -1
@@ -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","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","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 +1 @@
1
- {"name":"rbs","scopeName":"source.rbs","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"name":"comment.line.number-sign","begin":"#","end":"\n"},"keywords":{"patterns":[{"name":"keyword.control.class.rbs","match":"\\b(class)\\s+([A-Z]\\w*)","captures":{"1":{"name":"keyword.control.class.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.type.rbs","match":"\\b(type)\\b"},{"name":"keyword.control.def.rbs","match":"\\b(def)\\b([^:]+)","captures":{"1":{"name":"keyword.control.def.rbs"},"2":{"name":"entity.name.function.rbs"}}},{"name":"keyword.control.self.rbs","match":"\\b(self)\\b"},{"name":"keyword.control.void.rbs","match":"\\b(void)\\b"},{"name":"keyword.control.untyped.rbs","match":"\\b(untyped)\\b"},{"name":"keyword.control.top.rbs","match":"\\b(top)\\b"},{"name":"keyword.control.bot.rbs","match":"\\b(bot)\\b"},{"name":"keyword.control.instance.rbs","match":"\\b(instance)\\b"},{"name":"keyword.control.bool.rbs","match":"\\b(bool)\\b"},{"name":"keyword.control.nil.rbs","match":"\\b(nil)\\b"},{"name":"keyword.control.singleton.rbs","match":"\\b(singleton)\\b"},{"name":"keyword.control.interface.rbs","match":"\\b(interface)\\s+(_[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.interface.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.end.rbs","match":"\\b(end)\\b"},{"name":"keyword.control.include.rbs","match":"\\b(include)\\s+(_?[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.include.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.extend.rbs","match":"\\b(extend)\\s+(_?[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.extend.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.prepend.rbs","match":"\\b(prepend)\\s+([A-Z]\\w*)","captures":{"1":{"name":"keyword.control.prepend.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.module.rbs","match":"\\b(module)\\s+([A-Z]\\w*)","captures":{"1":{"name":"keyword.control.module.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.attr_reader.rbs","match":"\\b(attr_reader)\\b"},{"name":"keyword.control.attr_writer.rbs","match":"\\b(attr_writer)\\b"},{"name":"keyword.control.attr_accessor.rbs","match":"\\b(attr_accessor)\\b"},{"name":"keyword.control.public.rbs","match":"\\b(public)\\b"},{"name":"keyword.control.private.rbs","match":"\\b(private)\\b"},{"name":"keyword.control.alias.rbs","match":"\\b(alias)\\b"},{"name":"keyword.control.unchecked.rbs","match":"\\b(unchecked)\\b"},{"name":"keyword.control.out.rbs","match":"\\b(out)\\b"},{"name":"keyword.control.in.rbs","match":"\\b(in)\\b"},{"name":"keyword.other.use.rbs","match":"\\b(use)\\b"},{"name":"keyword.other.as.rbs","match":"\\b(as)\\b"}]},"strings":{"name":"string.quoted.double.rbs","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rbs","match":"\\\\."}]}}}
1
+ {"name":"rbs","scopeName":"source.rbs","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#strings"}],"repository":{"comments":{"name":"comment.line.number-sign","begin":"#","end":"\n"},"keywords":{"patterns":[{"name":"keyword.control.class.rbs","match":"\\b(class)\\s+((::)?([A-Z]\\w*(::))*[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.class.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.type.rbs","match":"\\b(type)\\b"},{"name":"keyword.control.def.rbs","match":"\\b(def)\\b([^:]+)","captures":{"1":{"name":"keyword.control.def.rbs"},"2":{"name":"entity.name.function.rbs"}}},{"name":"keyword.control.self.rbs","match":"\\b(self)\\b"},{"name":"keyword.control.void.rbs","match":"\\b(void)\\b"},{"name":"keyword.control.untyped.rbs","match":"\\b(untyped)\\b"},{"name":"keyword.control.top.rbs","match":"\\b(top)\\b"},{"name":"keyword.control.bot.rbs","match":"\\b(bot)\\b"},{"name":"keyword.control.instance.rbs","match":"\\b(instance)\\b"},{"name":"keyword.control.bool.rbs","match":"\\b(bool)\\b"},{"name":"keyword.control.nil.rbs","match":"\\b(nil)\\b"},{"name":"keyword.control.singleton.rbs","match":"\\b(singleton)\\b"},{"name":"keyword.control.interface.rbs","match":"\\b(interface)\\s+((::)?([A-Z]\\w*(::))*_[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.interface.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.end.rbs","match":"\\b(end)\\b"},{"name":"keyword.control.include.rbs","match":"\\b(include)\\s+((::)?([A-Z]\\w*(::))*_?[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.include.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.extend.rbs","match":"\\b(extend)\\s+((::)?([A-Z]\\w*(::))*_?[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.extend.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.prepend.rbs","match":"\\b(prepend)\\s+((::)?([A-Z]\\w*(::))*[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.prepend.rbs"},"2":{"name":"variable.other.constant.rbs"}}},{"name":"keyword.control.module.rbs","match":"\\b(module)\\s+((::)?([A-Z]\\w*(::))*[A-Z]\\w*)","captures":{"1":{"name":"keyword.control.module.rbs"},"2":{"name":"entity.name.class"}}},{"name":"keyword.control.attr_reader.rbs","match":"\\b(attr_reader)\\b"},{"name":"keyword.control.attr_writer.rbs","match":"\\b(attr_writer)\\b"},{"name":"keyword.control.attr_accessor.rbs","match":"\\b(attr_accessor)\\b"},{"name":"keyword.control.public.rbs","match":"\\b(public)\\b"},{"name":"keyword.control.private.rbs","match":"\\b(private)\\b"},{"name":"keyword.control.alias.rbs","match":"\\b(alias)\\b"},{"name":"keyword.control.unchecked.rbs","match":"\\b(unchecked)\\b"},{"name":"keyword.control.out.rbs","match":"\\b(out)\\b"},{"name":"keyword.control.in.rbs","match":"\\b(in)\\b"},{"name":"keyword.other.use.rbs","match":"\\b(use)\\b"},{"name":"keyword.other.as.rbs","match":"\\b(as)\\b"}]},"strings":{"name":"string.quoted.double.rbs","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.rbs","match":"\\\\."}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"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"}}},"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":"#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_]*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"Rez","scopeName":"source.rez","patterns":[{"name":"comment.block.rez","begin":"/\\*","end":"\\*/","captures":{"0":{"name":"punctuation.definition.comment.rez"}}},{"begin":"(^[ \\t]+)?(?=//)","end":"(?!\\G)","patterns":[{"name":"comment.line.double-slash.rez","begin":"//","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.rez"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.rez"}}},{"name":"keyword.control.rez","match":"\\b(?i:(change|data|delete|include|read|resource))\\b"},{"name":"storage.type.rez","match":"\\b(?i:(align|array|binary|bit|bitstring|boolean|byte|case|char|cstring|decimal|enum|fill|hex|integer|key|literal|long|longint|nibble|octal|optional|point|pstring|rect|reversebytes|string|switch|unsigned|wide|word|wstring))\\b"},{"name":"keyword.other.attributes.rez","match":"\\b(?i:(appheap|locked|nonpurgeable|purgeable|sysheap|unlocked))\\b"},{"name":"support.function.built-in.rez","match":"(\\$\\$)(?i:(ArrayIndex|Attributes|BitField|Byte|CountOf|Date|Day|Format|Hour|ID|Long|Minute|Month|Name|OptionalCount|PackedSize|Read|Resource|ResourceSize|Second|Shell|Time|Type|Version|Weekday|Word|Year))","captures":{"1":{"name":"punctuation.definition.function.rez"}}},{"name":"constant.numeric.rez","match":"\\b(((0(x|X|B))[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)\\b"},{"name":"constant.numeric.hex.rez","match":"\\$[0-9a-fA-F]+?\\b"},{"name":"string.quoted.double.rez","begin":"\"","end":"\"","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rez"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rez"}}},{"name":"string.quoted.single.rez","begin":"'","end":"'","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rez"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rez"}}},{"name":"string.quoted.other.hex.rez","begin":"\\$\"","end":"\"","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.rez"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.rez"}}},{"name":"meta.preprocessor.rez","match":"^\\s*(#)\\s*(?i:(defined|else|elif|endif|if|ifdef|ifndef|include|line|printf|undef))\\b","captures":{"1":{"name":"punctuation.definition.preprocessor.rez"},"2":{"name":"keyword.control.import.rez"}}},{"name":"meta.preprocessor.define.rez","match":"^\\s*(#)\\s*(?i:(define))\\s+([_A-Za-z][_A-Za-z0-9]+)","captures":{"1":{"name":"punctuation.definition.preprocessor.rez"},"2":{"name":"keyword.control.import.rez"},"3":{"name":"entity.name.function.define.rez"}}},{"name":"meta.type.rez","match":"\\b(?i:(type|resource))\\s+([_A-Za-z][_A-Za-z0-9]+|(0x|\\$)[A-Fa-f0-9]+|[0-9]+|'[^']{1,4}')","captures":{"1":{"name":"keyword.control.rez"},"2":{"name":"entity.name.function.rez"}}}],"repository":{"escaped_char":{"name":"constant.character.escape.rez","match":"\\\\."}}}
@@ -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]+","end":"\\n","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":"\\."},{"include":"#strings"},{"include":"#constants"}],"beginCaptures":{"1":{"name":"punctuation.definition.comment.scala"},"2":{"name":"keyword.other.import.scala"}}},"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":{"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"}}}}}