github-linguist 7.24.1 → 7.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/govulncheck.json +1 -0
  3. data/grammars/liquid.injection.json +1 -1
  4. data/grammars/source.abap.json +1 -1
  5. data/grammars/source.abl.json +1 -1
  6. data/grammars/source.arr.json +1 -0
  7. data/grammars/source.astro.json +1 -1
  8. data/grammars/source.basic.json +1 -1
  9. data/grammars/source.brs.json +1 -1
  10. data/grammars/source.cds.json +1 -1
  11. data/grammars/source.chapel.json +1 -1
  12. data/grammars/source.circom.json +1 -0
  13. data/grammars/source.clar.json +1 -1
  14. data/grammars/source.cobol.json +1 -1
  15. data/grammars/source.curlrc.json +1 -1
  16. data/grammars/source.dart.json +1 -1
  17. data/grammars/source.denizenscript.json +1 -1
  18. data/grammars/source.editorconfig.json +1 -1
  19. data/grammars/source.gdscript.json +1 -1
  20. data/grammars/source.generic-config.json +1 -0
  21. data/grammars/source.gitconfig.json +1 -1
  22. data/grammars/source.gleam.json +1 -1
  23. data/grammars/source.graphql.json +1 -1
  24. data/grammars/source.hocon.json +1 -1
  25. data/grammars/source.hosts.json +1 -1
  26. data/grammars/source.j.json +1 -1
  27. data/grammars/source.jflex.json +1 -1
  28. data/grammars/source.kerboscript.json +1 -0
  29. data/grammars/source.kickstart.json +1 -0
  30. data/grammars/source.kotlin.json +1 -1
  31. data/grammars/source.m2.json +1 -1
  32. data/grammars/source.mermaid.flowchart.json +1 -1
  33. data/grammars/source.mermaid.json +1 -1
  34. data/grammars/source.mermaid.mindmap.json +1 -0
  35. data/grammars/source.mo.json +1 -1
  36. data/grammars/source.move.json +1 -1
  37. data/grammars/source.nim.json +1 -1
  38. data/grammars/source.nim_filter.json +1 -1
  39. data/grammars/source.nimcfg.json +1 -1
  40. data/grammars/source.pnlgrp.json +1 -1
  41. data/grammars/source.polar.json +1 -1
  42. data/grammars/source.postscript.json +1 -1
  43. data/grammars/source.prisma.json +1 -1
  44. data/grammars/source.rescript.json +1 -1
  45. data/grammars/source.rpgle.json +1 -1
  46. data/grammars/source.rust.json +1 -1
  47. data/grammars/source.scala.json +1 -1
  48. data/grammars/source.singularity.json +1 -1
  49. data/grammars/source.sqf.json +1 -1
  50. data/grammars/source.stan.json +1 -1
  51. data/grammars/source.svelte.json +1 -1
  52. data/grammars/source.sway.json +1 -0
  53. data/grammars/source.talon.json +1 -1
  54. data/grammars/source.ts.json +1 -1
  55. data/grammars/source.tsql.json +1 -1
  56. data/grammars/source.tsx.json +1 -1
  57. data/grammars/source.turtle.json +1 -1
  58. data/grammars/source.v.json +1 -1
  59. data/grammars/source.yara.json +1 -1
  60. data/grammars/text.adblock.json +1 -1
  61. data/grammars/text.checksums.json +1 -1
  62. data/grammars/text.html.liquid.json +1 -1
  63. data/grammars/text.restructuredtext.json +1 -1
  64. data/grammars/text.sfd.json +1 -1
  65. data/grammars/text.xml.svg.json +1 -1
  66. data/grammars/version +1 -1
  67. data/lib/linguist/VERSION +1 -1
  68. data/lib/linguist/generated.rb +8 -0
  69. data/lib/linguist/generic.yml +1 -0
  70. data/lib/linguist/heuristics.yml +38 -13
  71. data/lib/linguist/languages.json +1 -1
  72. data/lib/linguist/languages.yml +132 -16
  73. data/lib/linguist/samples.json +1 -1
  74. data/lib/linguist/vendor.yml +3 -0
  75. metadata +11 -4
  76. data/grammars/source.nim.comment.json +0 -1
@@ -1 +1 @@
1
- {"name":"Prisma","scopeName":"source.prisma","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#model_block_definition"},{"include":"#config_block_definition"},{"include":"#enum_block_definition"},{"include":"#type_definition"}],"repository":{"array":{"name":"source.prisma.array","begin":"\\[","end":"\\]","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"assignment":{"patterns":[{"begin":"^\\s*(\\w+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"},{"include":"#double_comment_inline"}],"beginCaptures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"keyword.operator.terraform"}}}]},"attribute":{"name":"source.prisma.attribute","match":"(@@?[\\w\\.]+)","captures":{"1":{"name":"entity.name.function.attribute.prisma"}}},"attribute_with_arguments":{"name":"source.prisma.attribute.with_arguments","begin":"(@@?[\\w\\.]+)(\\()","end":"\\)","patterns":[{"include":"#named_argument"},{"include":"#value"}],"beginCaptures":{"1":{"name":"entity.name.function.attribute.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"boolean":{"name":"constant.language.boolean.prisma","match":"\\b(true|false)\\b"},"config_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(generator|datasource)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#assignment"}],"beginCaptures":{"1":{"name":"storage.type.config.prisma"},"2":{"name":"entity.name.type.config.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"double_comment":{"name":"comment.prisma","begin":"//","end":"$\\n?"},"double_comment_inline":{"name":"comment.prisma","match":"//[^\\n]*"},"double_quoted_string":{"name":"unnamed","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"name":"string.quoted.double.prisma","match":"([\\w\\-\\/\\._\\\\%@:\\?=]+)"}],"beginCaptures":{"0":{"name":"string.quoted.double.start.prisma"}},"endCaptures":{"0":{"name":"string.quoted.double.end.prisma"}}},"enum_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(enum)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#enum_value_definition"}],"beginCaptures":{"1":{"name":"storage.type.enum.prisma"},"2":{"name":"entity.name.type.enum.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"enum_value_definition":{"patterns":[{"match":"^\\s*(\\w+)\\s*","captures":{"1":{"name":"variable.other.assignment.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"field_definition":{"name":"scalar.field","patterns":[{"match":"^\\s*(\\w+)(\\s*:)?\\s+((?!(?:Int|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\b)\\b\\w+)?(Int|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\[\\])?(\\?)?(\\!)?","captures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"invalid.illegal.colon.prisma"},"3":{"name":"variable.language.relations.prisma"},"4":{"name":"support.type.primitive.prisma"},"5":{"name":"keyword.operator.list_type.prisma"},"6":{"name":"keyword.operator.optional_type.prisma"},"7":{"name":"invalid.illegal.required_type.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"functional":{"name":"source.prisma.functional","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"support.function.functional.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"identifier":{"patterns":[{"name":"support.constant.constant.prisma","match":"\\b(\\w)+\\b"}]},"literal":{"name":"source.prisma.literal","patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#double_quoted_string"},{"include":"#identifier"}]},"map_key":{"name":"source.prisma.key","patterns":[{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.parameter.key.prisma"},"2":{"name":"punctuation.definition.separator.key-value.prisma"}}}]},"model_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(model|type)\\s+([A-Za-z][\\w]*)\\s*({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#field_definition"}],"beginCaptures":{"1":{"name":"storage.type.model.prisma"},"2":{"name":"entity.name.type.model.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"named_argument":{"name":"source.prisma.named_argument","patterns":[{"include":"#map_key"},{"include":"#value"}]},"number":{"name":"constant.numeric.prisma","match":"((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b"},"string_interpolation":{"patterns":[{"name":"source.tag.embedded.source.prisma","begin":"\\$\\{","end":"\\s*\\}","patterns":[{"include":"#value"}],"beginCaptures":{"0":{"name":"keyword.control.interpolation.start.prisma"}},"endCaptures":{"0":{"name":"keyword.control.interpolation.end.prisma"}}}]},"triple_comment":{"name":"comment.prisma","begin":"///","end":"$\\n?"},"type_definition":{"patterns":[{"match":"^\\s*(type)\\s+(\\w+)\\s*=\\s*(\\w+)","captures":{"1":{"name":"storage.type.type.prisma"},"2":{"name":"entity.name.type.type.prisma"},"3":{"name":"support.type.primitive.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"value":{"name":"source.prisma.value","patterns":[{"include":"#array"},{"include":"#functional"},{"include":"#literal"}]}}}
1
+ {"name":"Prisma","scopeName":"source.prisma","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#model_block_definition"},{"include":"#config_block_definition"},{"include":"#enum_block_definition"},{"include":"#type_definition"}],"repository":{"array":{"name":"source.prisma.array","begin":"\\[","end":"\\]","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"assignment":{"patterns":[{"begin":"^\\s*(\\w+)\\s*(=)\\s*","end":"\\n","patterns":[{"include":"#value"},{"include":"#double_comment_inline"}],"beginCaptures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"keyword.operator.terraform"}}}]},"attribute":{"name":"source.prisma.attribute","match":"(@@?[\\w\\.]+)","captures":{"1":{"name":"entity.name.function.attribute.prisma"}}},"attribute_with_arguments":{"name":"source.prisma.attribute.with_arguments","begin":"(@@?[\\w\\.]+)(\\()","end":"\\)","patterns":[{"include":"#named_argument"},{"include":"#value"}],"beginCaptures":{"1":{"name":"entity.name.function.attribute.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"boolean":{"name":"constant.language.boolean.prisma","match":"\\b(true|false)\\b"},"config_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(generator|datasource)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#assignment"}],"beginCaptures":{"1":{"name":"storage.type.config.prisma"},"2":{"name":"entity.name.type.config.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.prisma"}}},"double_comment":{"name":"comment.prisma","begin":"//","end":"$\\n?"},"double_comment_inline":{"name":"comment.prisma","match":"//[^\\n]*"},"double_quoted_string":{"name":"unnamed","begin":"\"","end":"\"","patterns":[{"include":"#string_interpolation"},{"name":"string.quoted.double.prisma","match":"([\\w\\-\\/\\._\\\\%@:\\?=]+)"}],"beginCaptures":{"0":{"name":"string.quoted.double.start.prisma"}},"endCaptures":{"0":{"name":"string.quoted.double.end.prisma"}}},"enum_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(enum)\\s+([A-Za-z][\\w]*)\\s+({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#enum_value_definition"}],"beginCaptures":{"1":{"name":"storage.type.enum.prisma"},"2":{"name":"entity.name.type.enum.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"enum_value_definition":{"patterns":[{"match":"^\\s*(\\w+)\\s*","captures":{"1":{"name":"variable.other.assignment.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"field_definition":{"name":"scalar.field","patterns":[{"match":"^\\s*(\\w+)(\\s*:)?\\s+((?!(?:Int|String|DateTime|Bytes|Decimal|Float|Json|Boolean)\\b)\\b\\w+)?(Int|String|DateTime|Bytes|Decimal|Float|Json|Boolean)?(\\[\\])?(\\?)?(\\!)?","captures":{"1":{"name":"variable.other.assignment.prisma"},"2":{"name":"invalid.illegal.colon.prisma"},"3":{"name":"variable.language.relations.prisma"},"4":{"name":"support.type.primitive.prisma"},"5":{"name":"keyword.operator.list_type.prisma"},"6":{"name":"keyword.operator.optional_type.prisma"},"7":{"name":"invalid.illegal.required_type.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"functional":{"name":"source.prisma.functional","begin":"(\\w+)(\\()","end":"\\)","patterns":[{"include":"#value"}],"beginCaptures":{"1":{"name":"support.function.functional.prisma"},"2":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"identifier":{"patterns":[{"name":"support.constant.constant.prisma","match":"\\b(\\w)+\\b"}]},"literal":{"name":"source.prisma.literal","patterns":[{"include":"#boolean"},{"include":"#number"},{"include":"#double_quoted_string"},{"include":"#identifier"}]},"map_key":{"name":"source.prisma.key","patterns":[{"match":"(\\w+)\\s*(:)\\s*","captures":{"1":{"name":"variable.parameter.key.prisma"},"2":{"name":"punctuation.definition.separator.key-value.prisma"}}}]},"model_block_definition":{"name":"source.prisma.embedded.source","begin":"^\\s*(model|type|view)\\s+([A-Za-z][\\w]*)\\s*({)","end":"\\s*\\}","patterns":[{"include":"#triple_comment"},{"include":"#double_comment"},{"include":"#field_definition"}],"beginCaptures":{"1":{"name":"storage.type.model.prisma"},"2":{"name":"entity.name.type.model.prisma"},"3":{"name":"punctuation.definition.tag.prisma"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.prisma"}}},"named_argument":{"name":"source.prisma.named_argument","patterns":[{"include":"#map_key"},{"include":"#value"}]},"number":{"name":"constant.numeric.prisma","match":"((0(x|X)[0-9a-fA-F]*)|(\\+|-)?\\b(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)([LlFfUuDdg]|UL|ul)?\\b"},"string_interpolation":{"patterns":[{"name":"source.tag.embedded.source.prisma","begin":"\\$\\{","end":"\\s*\\}","patterns":[{"include":"#value"}],"beginCaptures":{"0":{"name":"keyword.control.interpolation.start.prisma"}},"endCaptures":{"0":{"name":"keyword.control.interpolation.end.prisma"}}}]},"triple_comment":{"name":"comment.prisma","begin":"///","end":"$\\n?"},"type_definition":{"patterns":[{"match":"^\\s*(type)\\s+(\\w+)\\s*=\\s*(\\w+)","captures":{"1":{"name":"storage.type.type.prisma"},"2":{"name":"entity.name.type.type.prisma"},"3":{"name":"support.type.primitive.prisma"}}},{"include":"#attribute_with_arguments"},{"include":"#attribute"}]},"value":{"name":"source.prisma.value","patterns":[{"include":"#array"},{"include":"#functional"},{"include":"#literal"}]}}}
@@ -1 +1 @@
1
- {"name":"ReScript","scopeName":"source.rescript","patterns":[{"include":"#storage"},{"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|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_]*"}]},"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":"#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_]*"}]},"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 +1 @@
1
- {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"(\\*{2})"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).[a-zA-Z_][a-zA-Z0-9_]{1,71}[.]{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[@#a-zA-Z_][@#a-zA-Z0-9_]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(?=(;))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]},{"name":"comment.line.rpgle.sql","match":"(?\u003c=(;))\\s*.*"},{"name":"rpgle.free.sql.end","match":";"}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNTTYPES|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM|SUBF)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM|SUBF)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SQLSTATE|SQLCODE|SORTA|SND\\-MSG|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-EXCP|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)\\b"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"rpgle.free.definition.identifier","begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.other.rpgle","match":":|\\.|\\,|\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)|((\\b(?i)(TO|BY|DOWNTO|AND|IN|OR|NOT)\\b))"},{"name":"keyword.other.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|TARGET|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|REPLACE|REM|REALLOC|RANGE|PROC|PARSER|PARMNUM|PARMS|PADDR|OPEN|OCCUR|NULLIND|MSG|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|KDS|INTH|INT|HOURS|HANDLER|GRAPH|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CONCATARR|CONCAT|CHECKR|CHECK|CHARCOUNT|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|\\s)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.include","begin":"(?i)^(\\s)*([C|D])?(\\s)*[\\/](INCLUDE|COPY|EJECT)\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}]},{"name":"rpgle.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.other.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freedefkeywords"},{"include":"#freeformat"}]},{"name":"rpgle.precompiler.charcount","begin":"(?i)(?=(^[\\s]*\\/CHARCOUNT))","end":"\n","patterns":[{"name":"keyword.other.rpgle.precompiler.charcount","match":"(?i)^[\\s]*\\/CHARCOUNT"},{"name":"keyword.other.rpgle.precompiler.charcount.mode","match":"(?i)\\s*\\b(NATURAL|STDCHARSIZE)\\b"}]},{"name":"keyword.other.rpgle.fixed.precompiler.misc","match":"(?i)^[\\s]*[\\/](UNDEFINE|TITLE|SPACE|INCLUDE|FREE|EOF|ENDIF|END-FREE|ELSE|EJECT|DEFINE|COPY|CHARCOUNT)\\b","patterns":[{"name":"keyword.other.rpgle.precompiler","match":".*"}]}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_][a-zA-Z0-9_]*(\\.|\\/)[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_@#][a-zA-Z0-9_@#\\.]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'"}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.other.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.other.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}
1
+ {"name":"RPGLE","scopeName":"source.rpgle","patterns":[{"name":"rpgle.free.allfree","begin":"(?i)(?=(\\s*\\*\\*(FREE)))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"keyword.other.rpgle.free.precompiler.allfree","match":"(?i)^\\s*\\*\\*FREE"},{"include":"#freeSQL"},{"include":"#rpglecommon"},{"include":"#freeformat"}]},{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"include":"#tempfreeformat"},{"include":"#fixedSQL"},{"include":"#freeSQL"},{"include":"#precompiler"},{"include":"#ctarrays"},{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"include":"#fixedformat"},{"include":"#freeformat"}],"repository":{"comments":{"patterns":[{"name":"comment.line.rpgle.free","match":"(//).*"}]},"constants":{"patterns":[{"name":"constant.language.rpgle.indicator","match":"(?i)[*]\\b(IN)([0-9]{0,2})\\b"},{"name":"constant.language.rpgle","match":"[*][a-zA-Z][a-zA-Z0-9]*"},{"name":"constant.numeric.rpgle","match":"\\b\\d+\\.?\\d*?\\b"}]},"ctarrays":{"patterns":[{"begin":"(?=^(\\*{2})(?!free))","end":"(E-\\*-O-\\*-F)","patterns":[{"name":"string.other.rpgle.ctarray","begin":"(\\*{2})"}]}]},"fixedSQL":{"patterns":[{"begin":"(?i)(?=(^.{5}(C)(\\/EXEC)\\s+(SQL)\\b))","end":"(?i)(?=(^.{5}(C)(\\/END\\-EXEC)\\b))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(C)(\\/EXEC)\\s+(sql)\\b"},{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(C[\\+|\\/])"},{"include":"#sqlcommon"}]},{"name":"keyword.other.rpgle.sql","match":"(?i)(\\/END\\-EXEC)"}]},"fixedcomment":{"patterns":[{"name":"comment.line.rpgle.fixed","begin":"(?i)^.{5}.[*]","end":"\n"},{"name":"comment.gutter","match":"^.{5}"},{"name":"comment.block.line.rpgle.fixed","begin":"(?i)(?\u003c=((?\u003c=^.{5}((H|F|D|I|C|O|P))).{74}))","end":"\n"}]},"fixedformat":{"patterns":[{"include":"#fixedcomment"},{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"},{"name":"rpgle.fixed.h","begin":"(?i)(?\u003c=^.{5}H)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"entity.name.function.rpgle.fixed.h.keywords","match":"\\b(?i)(VALIDATE|USRPRF|TIMFMT|THREAD|TEXT|SRTSEQ|PRFDTA|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECEDIT|DEBUG|DATFMT|DATEDIT|CVTOPT|DCLOPT|CURSYM|COPYRIGHT|CCSIDCVT|CCSID|COPYNEST|BNDDIR|AUT|ALWNULL|ALTSEQ|ALLOC|ACTGRP)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.f","begin":"(?i)(?\u003c=^.{5}F)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.f.type","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{10})))(I|O|U|C)"},{"name":"constant.language.rpgle.fixed.f.designation","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{11})).{3})(P|S|R|T|F)"},{"name":"constant.language.rpgle.fixed.f.eof","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{12})).{2})E"},{"name":"constant.language.rpgle.fixed.f.addition","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{13})).{2})A"},{"name":"constant.language.rpgle.fixed.f.sequence","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{14})).{2})(A|D)"},{"name":"constant.language.rpgle.fixed.f.format","match":"(?i)(?=(?\u003c=((?\u003c=^.{5}F).{15})).{2})(E|F)"},{"name":"constant.language.rpgle.fixed.fi.recordlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F)([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.limitproc","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{5})L"},{"name":"constant.language.rpgle.fixed.fi.keyfieldlen","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F).{6})([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.f.addrtype","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{11})(A|D|F|G|K|P|T|Z)"},{"name":"constant.language.rpgle.fixed.fi.fileorg","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}F.{12})(?i)(I|T)"},{"name":"constant.language.rpgle.fixed.f.device","match":"(?i)(?\u003c=(?\u003c=(?\u003c=^.{5}F).{10}).{5}(F|E).{13})(PRINTER|DISK|WORKSTN|SPECIAL|SEQ)"},{"name":"entity.name.function.rpgle.fixed.f","match":"\\b(?i)(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.d","begin":"(?i)(?\u003c=^.{5}D)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"string.quoted.single.rpgle.fixed","begin":"'","end":"'","patterns":[{"name":"keyword.other.rpgle.fixed.specs","match":"(?i)(?\u003c=^.{5})[H|F|D|I|C|O|P]"}]},{"name":"variable.other.rpgle.fixed.d.extended.name","match":"(?i)(?\u003c=^.{5}D).[a-zA-Z_][a-zA-Z0-9_]{1,71}[.]{3}"},{"name":"constant.language.rpgle.fixed.d.external","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{15}))E"},{"name":"constant.language.rpgle.fixed.d.dstype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{16}))(S|U)"},{"name":"constant.language.rpgle.fixed.d.dectype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{17}))(DS|PI|PR|(S\\s)|(C\\s))"},{"name":"constant.language.rpgle.fixed.d.from","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{21}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.d.to","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{26}))((\\+|\\-|\\s)(([0-9]|\\s){6}))"},{"name":"constant.language.rpgle.fixed.d.datatype","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{33}))(A|B|D|F|G|I|N|P|S|T|U|Z|\\*)"},{"name":"constant.language.rpgle.fixed.d.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}D).{34}))([0-9]|\\s){2}"},{"name":"entity.name.function.rpgle.fixed.d.keywords","match":"\\b(?i)(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|RTNPARM|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PERRCD|PACKEVEN|PACKED|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.i","begin":"(?i)(?\u003c=^.{5}I)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.i.seq","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{10}))[A-Za-z0-9]{2}"},{"name":"constant.language.rpgle.fixed.i.number","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{12}))N"},{"name":"constant.language.rpgle.fixed.i.option","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{13}))O"},{"name":"constant.language.rpgle.fixed.i.recordid","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{14}))(([0-9]{2})|((H|L)([1-9]))|(RT)|((U)([1-8]))|(\\*\\*))"},{"name":"constant.language.rpgle.fixed.i.pos1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{16}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{21}))N"},{"name":"constant.language.rpgle.fixed.i.czd1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{22}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char1","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{23}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{24}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{29}))N"},{"name":"constant.language.rpgle.fixed.i.czd2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{30}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char2","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{31}))([A-Z0-9])"},{"name":"constant.language.rpgle.fixed.i.pos3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{32}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.i.not3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{37}))N"},{"name":"constant.language.rpgle.fixed.i.czd3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{38}))(C|Z|D)"},{"name":"constant.language.rpgle.fixed.i.char3","match":"(?i)(?\u003c=((?\u003c=^.{5}I).{39}))([A-Z0-9])"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.c","begin":"(?i)(?\u003c=^.{5}C)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.c.ctrl","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{0}))((L[0-9])|LR|SR|AN)"},{"name":"constant.language.rpgle.fixed.c.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{2}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|(U[1-8])|(O[A-G])|OV))"},{"name":"keyword.other.rpgle.fixed.c.extfactor2","begin":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))((\\s{10})|CALLP|WHEN\\s{2}|RETURN|ON-ERROR|IF\\s{2}|FOR|EVALR|EVAL|ELSEIF|DOW\\s{2}|DOU\\s{2})","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)(AND|COMP|CAB|CAS|DOU|DOW|FOR|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"variable.other","match":"((?i)[@#a-zA-Z_][@#a-zA-Z0-9_]*)|\\(|\\)|\\%"}]},{"include":"#rpglecommon"},{"name":"keyword.other.rpgle","match":"((?i)\\b(AND|COMP|CAB|CAS|DOU|DOW|IF|OR|WHEN)(GT|LT|EQ|NE|GE|LE|(\\s{2})))"},{"name":"keyword.other.rpgle.fixed.c.operation","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{19}))(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SORTA|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDFOR|ENDSR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)"},{"name":"constant.language.rpgle.fixed.c.len","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{57}))([0-9]|\\s){5}"},{"name":"constant.language.rpgle.fixed.c.decpos","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{62}))([0-9]|\\s){2}"},{"name":"constant.language.rpgle.fixed.c.hi","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{64}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.lo","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{66}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"},{"name":"constant.language.rpgle.fixed.c.eq","match":"(?i)(?\u003c=((?\u003c=^.{5}C).{68}))(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|(U[1-8])|(O[A-G])|OV)"}]},{"name":"rpgle.fixed.o","begin":"(?i)(?\u003c=^.{5}O)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.o.type","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{10}))(H|D|T|E)"},{"name":"constant.language.rpgle.fixed.o.fetch","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{11}))(F|R)"},{"name":"constant.language.rpgle.fixed.o.n01","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{14}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n02","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{17}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.n03","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{20}))((N|\\s)(([0-9]{2})|(K[A-N])|(K[P-Y])|((H|L)[1-9])|LR|MR|RT|1P|(U[1-8])|(O[A-G])|OV))"},{"name":"constant.language.rpgle.fixed.o.spacebefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{33}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.spaceafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{36}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipbefore","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{39}))([0-9]|\\s){3}"},{"name":"constant.language.rpgle.fixed.o.skipafter","match":"(?i)(?\u003c=((?\u003c=^.{5}O).{42}))([0-9]|\\s){3}"},{"include":"#rpglecommon"}]},{"name":"rpgle.fixed.p","begin":"(?i)(?\u003c=^.{5}P)","end":"(?\u003c=\\n)","patterns":[{"include":"#fixedcomment"},{"name":"constant.language.rpgle.fixed.p.beginend","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{17}))(B|E)"},{"name":"entity.name.function.rpgle.fixed.p.keywords","match":"(?i)(?\u003c=((?\u003c=^.{5}P).{37}))(SERIALIZE|REQPROTO|PGMINFO|EXPORT)"},{"include":"#rpglecommon"}]}]},"freeSQL":{"patterns":[{"begin":"(?i)(?=(^\\s*(EXEC)\\s+(SQL)\\b))","end":"(?=(;))","patterns":[{"name":"keyword.other.rpgle.sql","match":"(?i)(EXEC)\\s+(SQL)\\b"},{"include":"#sqlcommon"}]},{"name":"comment.line.rpgle.sql","match":"(?\u003c=(;))\\s*.*"},{"name":"rpgle.free.sql.end","match":";"}]},"freedefkeywords":{"patterns":[{"name":"entity.name.function.rpgle.free.definition.keywords","match":"(?i)\\b(ZONED|VARYING|VARUCS2|VARGRAPH|VARCHAR|VALUE|UNS|UCS2|TOFILE|TIMFMT|TIMESTAMP|TIME|TEMPLATE|STATIC|SQLTYPE|SAMEPOS|RTNPARM|REQPROTO|QUALIFIED|PSDS|PROCPTR|PREFIX|POS|POINTER|PGMINFO|PERRCD|PACKEVEN|PACKED|OVERLOAD|OVERLAY|OPTIONS|OPDESC|OCCURS|OBJECT|NULLIND|NOOPT|LIKEREC|LIKEFILE|LIKEDS|LIKE|LEN|INZ|IND|INT|IMPORT|GRAPH|FROMFILE|FLOAT|EXTPROC|EXTPGM|EXTNAME|EXTFMT|EXTFLD|EXT|EXPORT|DTAARA|DIM|DESCEND|DATFMT|DATE|CTDATA|CONST|CLASS|CHAR|CCSID|BINDEC|BASED|ASCEND|ALTSEQ|ALT|ALIGN|ALIAS)\\b"}]},"freeformat":{"patterns":[{"name":"rpgle.free.control","begin":"(?i)\\b(?=CTL\\-OPT)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.control","match":"(?i)\\b(CTL\\-OPT)\\b"},{"name":"entity.name.function.rpgle.free.control.keywords","match":"(?i)\\b(VALIDATE|USRPRF|TRUNCNBR|TIMFMT|THREAD|TEXT|STGMDL|SRTSEQ|REQPREXP|PRFDTA|PGMINFO|OPTION|OPTIMIZE|OPENOPT|NOMAIN|MAIN|LANGID|INTPREC|INDENT|GENLVL|FTRANS|FORMSALIGN|FLTDIV|FIXNBR|EXTBININT|EXPROPTS|ENBPFRCOL|DFTNAME|DFTACTGRP|DECPREC|DECEDIT|DEBUG|DATFMT|DATEDIT|DCLOPT|CVTOPT|CURSYM|COPYRIGHT|COPYNEST|CHARCOUNTTYPES|CHARCOUNT|CCSIDCVT|CCSID|BNDDIR|AUT|ALWNULL|ALTSEQ|ACTGRP|ALLOC)\\b"}]},{"name":"rpgle.free.file","begin":"(?i)\\b(?=DCL\\-F)\\b","end":";","patterns":[{"include":"#rpglecommon"},{"name":"storage.type.rpgle.free.file","match":"(?i)\\b(DCL\\-F)\\b"},{"name":"entity.name.function.rpgle.free.file.keywords","match":"(?i)\\b(WORKSTN|USROPN|USAGE|TIMFMT|TEMPLATE|STATIC|SPECIAL|SLN|SFILE|SEQ|SAVEIND|SAVEDS|RENAME|RECNO|RAFDATA|QUALIFIED|PRTCTL|PRINTER|PREFIX|PLIST|PGMNAME|PASS|OFLIND|MAXDEV|LIKEFILE|KEYLOC|KEYED|INFSR|INFDS|INDDS|INCLUDE|IGNORE|HANDLER|FORMOFL|FORMLEN|EXTMBR|EXTIND|EXTFILE|EXTDESC|DISK|DEVID|DATFMT|DATA|COMMIT|CHARCOUNT|BLOCK|ALIAS)\\b"}]},{"name":"storage.type.rpgle.free.definition.subr","match":"(?i)\\b(BEG|END)SR\\b"},{"name":"rpgle.free.definition.simple","begin":"(?i)(?=(\\b(DCL\\-)(S|C|PARM|SUBF)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.simple","match":"(?i)\\b(DCL\\-)(S|C|PARM|SUBF)\\b"},{"include":"#freeidentifiers"},{"name":"comment.line.rpgle.free","match":"(//).*"}]},{"name":"rpgle.free.definition.complex","begin":"(?i)(?=(\\b(DCL\\-)(DS|PROC|PR|PI)\\b))","end":"\n","patterns":[{"name":"storage.type.rpgle.free.definition.complex.dcl","match":"(?i)\\b(DCL\\-)(DS|PROC|PR|PI)\\b"},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]},{"name":"storage.type.rpgle.free.definition.complex.end","match":"(?i)\\b(END\\-)(DS|PROC|PR|PI)\\b"},{"name":"keyword.other.rpgle.free","match":"(?i)\\b(Z\\-SUB|Z\\-ADD|XML\\-SAX|XML\\-INTO|XLATE|XFOOT|WRITE|WHEN|UPDATE|UNLOCK|TIME|TESTZ|TESTN|TESTB|TEST|TAG|SUBST|SUBDUR|SUB|SQRT|SQLSTATE|SQLCODE|SORTA|SND\\-MSG|SHTDN|SETON|SETOFF|SETLL|SETGT|SELECT|SCAN|ROLBK|RETURN|RESET|REL|REALLOC|READPE|READP|READE|READC|READ|POST|PLIST|PARM|OUT|OTHER|OR|OPEN|ON\\-EXIT|ON\\-EXCP|ON\\-ERROR|OCCUR|NEXT|MVR|MULT|MOVEL|MOVEA|MOVE|MONITOR|MLLZO|MLHZO|MHLZO|MHHZO|LOOKUP|LEAVESR|LEAVE|KLIST|KFLD|ITER|IN|IF|GOTO|FORCE|FOR\\-EACH|FOR|FEOD|EXTRCT|EXSR|EXFMT|EXCEPT|EVAL-CORR|EVALR|EVAL|ENDSR|ENDMON|ENDFOR|ENDIF|ENDDO|ENDCS|ENDWH|ENDSL|END|ELSEIF|ELSE|DUMP|DSPLY|DOW|DOU|DO|DIV|DELETE|DEFINE|DEALLOC|DATA-INTO|COMP|COMMIT|CLOSE|CLEAR|CHECKR|CHECK|CHAIN|CAT|CAS|CALLP|CALLB|CALL|CAB|BITON|BITOFF|BEGSR|AND|ALLOC|ADDUR|ADD|ACQ)\\b"},{"include":"#freeidentifiers"},{"include":"#rpglecommon"}]},"freeidentifiers":{"patterns":[{"name":"rpgle.free.definition.identifier","begin":"[a-zA-Z_][a-zA-Z0-9_]*","end":"(?=\n)","patterns":[{"include":"#freedefkeywords"},{"include":"#rpglecommon"}]}]},"keywords":{"patterns":[{"name":"keyword.other.rpgle","match":":|\\.|\\,|\\*{1,2}(=)?|=|\u003c\u003e|((\u003c|\u003e|\\+|\\-|\\/)(=)?)|((\\b(?i)(TO|BY|DOWNTO|AND|IN|OR|NOT)\\b))"},{"name":"keyword.other.rpgle.bif","match":"[%](?i)(YEARS|XML|XLATE|XFOOT|UPPER|UNSH|UNS|UCS2|TRIMR|TRIML|TRIM|TLOOKUPLT|TLOOKUPLE|TLOOKUPGT|TLOOKUPGE|TLOOKUP|TIMESTAMP|TIME|THIS|TARGET|SUBST|SUBDT|SUBARR|STR|STATUS|SQRT|SPLIT|SIZE|SHTDN|SECONDS|SCANRPL|SCANR|SCAN|REPLACE|REM|REALLOC|RANGE|PROC|PARSER|PARMNUM|PARMS|PADDR|OPEN|OCCUR|NULLIND|MSG|MSECONDS|MONTHS|MINUTES|MINARR|MIN|MAXARR|MAX|LOWER|LOOKUPLT|LOOKUPLE|LOOKUPGT|LOOKUPGE|LOOKUP|LIST|LEN|KDS|INTH|INT|HOURS|HANDLER|GRAPH|FOUND|FLOAT|FIELDS|ERROR|EQUAL|EOF|ELEM|EDITW|EDITFLT|EDITC|DIV|DIFF|DECPOS|DECH|DEC|DAYS|DATE|DATA|CONCATARR|CONCAT|CHECKR|CHECK|CHARCOUNT|CHAR|BITXOR|BITOR|BITNOT|BITAND|ALLOC|ADDR|ABS)"}]},"precompiler":{"patterns":[{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)(?\u003c=^.{5})(H|\\s)[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.fixed.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.title","begin":"(?i)^(\\s)*(C)?(\\s)*[\\/](TITLE)","end":"\n","patterns":[{"name":"comment.line.rpgle.free.precompiler.title","match":".*"}]},{"name":"keyword.other.rpgle.fixed.precompiler.include","begin":"(?i)^(\\s)*([C|D])?(\\s)*[\\/](INCLUDE|COPY|EJECT)\\s","end":"\n","patterns":[{"name":"string.other.rpgle.precompiler.include","begin":"\\S","end":"\\s"},{"name":"comment.other.rpgle.precompiler.include","match":".*"}]},{"name":"rpgle.precompiler.conditional","begin":"(?i)(?=(^[\\s]*\\/IF))","end":"(?i)(?=(^[\\s]*\\/ENDIF))","patterns":[{"name":"keyword.other.rpgle.precompiler.if","match":"(?i)^[\\s]*\\/(ELSEIF|IF)"},{"name":"keyword.other.rpgle.precompiler.defcheck","match":"(?i)\\s*\\b(NOT|UNDEFINED|DEFINED)\\b"},{"include":"#freedefkeywords"},{"include":"#freeformat"}]},{"name":"rpgle.precompiler.charcount","begin":"(?i)(?=(^[\\s]*\\/CHARCOUNT))","end":"\n","patterns":[{"name":"keyword.other.rpgle.precompiler.charcount","match":"(?i)^[\\s]*\\/CHARCOUNT"},{"name":"keyword.other.rpgle.precompiler.charcount.mode","match":"(?i)\\s*\\b(NATURAL|STDCHARSIZE)\\b"}]},{"name":"keyword.other.rpgle.fixed.precompiler.misc","match":"(?i)^[\\s]*[\\/](UNDEFINE|TITLE|SPACE|INCLUDE|FREE|EOF|ENDIF|END-FREE|ELSE|EJECT|DEFINE|COPY|CHARCOUNT)\\b","patterns":[{"name":"keyword.other.rpgle.precompiler","match":".*"}]}]},"rpglecommon":{"patterns":[{"include":"#comments"},{"include":"#freedefkeywords"},{"include":"#constants"},{"include":"#precompiler"},{"include":"#keywords"},{"include":"#strings"}]},"sqlcommon":{"patterns":[{"name":"comment.line.rpgle.rpgle.sql","match":"//.*"},{"name":"constant.language.rpgle.sql.globals","match":"(?i)\\b(CLIENT_HOST|CLIENT_IPADDR|CLIENT_PORT|JOB_NAME|PACKAGE_NAME|PACKAGE_SCHEMA|PACKAGE_VERSION|PROCESS_ID|ROUTINE_SCHEMA|ROUTINE_SPECIFIC_NAME|ROUTINE_TYPE|SERVER_MODE_JOB_NAME|THREAD_ID)\\b"},{"name":"support.function.rpgle.sql","match":"[a-zA-Z_][a-zA-Z0-9_]*(?=\\()"},{"name":"constant.language.rpgle.sql.schema","match":"[a-zA-Z_][a-zA-Z0-9_]*(\\.|\\/)[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"variable.parameter.rpgle.sql","match":"[:][a-zA-Z_@#][a-zA-Z0-9_@#\\.]*"},{"name":"keyword.operator.rpgle.sql.reserved","match":"(?i)\\b(ZONE|YES|YEARS|YEAR|XSROBJECT|XSLTRANSFORM|XMLVALIDATE|XMLTEXT|XMLTABLE|XMLSERIALIZE|XMLROW|XMLPI|XMLPARSE|XMLNAMESPACES|XMLGROUP|XMLFOREST|XMLELEMENT|XMLDOCUMENT|XMLCONCAT|XMLCOMMENT|XMLCAST|XMLATTRIBUTES|XMLAGG|WRKSTNNAME|WRITE|WRAPPER|WRAPPED|WITHOUT|WITHIN|WITH|WHILE|WHERE|WHENEVER|WHEN|WAIT|VOLATILE|VIEW|VERSION|VCAT|VARIANT|VARIABLE|VALUES|VALUE|USING|USERID|USER|USE|USAGE|URI|UPDATING|UPDATE|UNTIL|UNNEST|UNIT|UNIQUE|UNION|UNDO|TYPE|TRUNCATE|TRIM_ARRAY|TRIM|TRIGGER|TRANSFER|TRANSACTION|TO|TIMESTAMP|TIME|THREADSAFE|THEN|TABLESPACES|TABLESPACE|TABLE|SYSTEM_USER|SYNONYM|SUMMARY|SUBSTRING|STOGROUP|STATIC|STATEMENT|STARTING|START|STACKED|SQLID|SQL|SPECIFIC|SOURCE|SOME|SNAN|SKIP|SIMPLE|SIGNAL|SET|SESSION_USER|SESSION|SEQUENCE|SENSITIVE|SELECT|SECURED|SECQTY|SECONDS|SECOND|SEARCH|SCROLL|SCRATCHPAD|SCHEMA|SBCS|SAVEPOINT|RUN|RRN|ROW_NUMBER|ROWS|ROWNUMBER|ROW|ROUTINE|ROLLUP|ROLLBACK|RIGHT|RID|REVOKE|RETURNS|RETURNING|RETURN|RESULT_SET_LOCATOR|RESULT|RESTART|RESIGNAL|RESET|REPEAT|RENAME|RELEASE|REGEXP_LIKE|REFRESH|REFERENCING|REFERENCES|RECOVERY|READS|READ|RCDFMT|RANK|RANGE|QUERY|PROGRAMID|PROGRAM|PROCEDURE|PRIVILEGES|PRIQTY|PRIOR|PRIMARY|PREVVAL|PREPARE|POSITION|PLAN|PIPE|PIECESIZE|PERMISSION|PCTFREE|PATH|PASSWORD|PASSING|PARTITIONS|PARTITIONING|PARTITIONED|PARTITION|PART|PARAMETER|PAGESIZE|PAGE|PADDED|PACKAGE|OVERRIDING|OVERLAY|OVER|OUTER|OUT|ORGANIZE|ORDINALITY|ORDER|OR|OPTION|OPTIMIZE|OPEN|ONLY|ON|OMIT|OLD_TABLE|OLD|OFFSET|OF|OBID|NVARCHAR|NULLS|NULL|NOT|NORMALIZED|NOORDER|NONE|NOMINVALUE|NOMAXVALUE|NODENUMBER|NODENAME|NOCYCLE|NOCACHE|NO|NEXTVAL|NEW_TABLE|NEW|NESTED|NCLOB|NCHAR|NATIONAL|NAN|NAMESPACE|MONTHS|MONTH|MODIFIES|MODE|MIXED|MINVALUE|MINUTES|MINUTE|MINPCTUSED|MICROSECONDS|MICROSECOND|MERGE|MAXVALUE|MATERIALIZED|MATCHED|MASK|MAINTAINED|LOOP|LONG|LOGGED|LOG|LOCKSIZE|LOCK|LOCATOR|LOCATION|LOCALTIMESTAMP|LOCALTIME|LOCALDATE|LOCAL|LISTAGG|LINKTYPE|LIMIT|LIKE|LEVEL2|LEFT|LEAVE|LATERAL|LANGUAGE|LABEL|KEY|KEEP|JSON_VALUE|JSON_TABLE|JSON_QUERY|JSON_OBJECTAGG|JSON_OBJECT|JSON_EXISTS|JSON_ARRAYAGG|JSON_ARRAY|JOIN|JAVA|ITERATE|ISOLATION|IS|INTO|INTERSECT|INTEGRITY|INSERTING|INSERT|INSENSITIVE|INOUT|INNER|INLINE|INHERIT|INFINITY|INF|INDICATOR|INDEXBP|INDEX|INCREMENT|INCLUSIVE|INCLUDING|INCLUDE|IMPLICITLY|IMMEDIATE|IGNORE|IF|IDENTITY|ID|HOURS|HOUR|HOLD|HINT|HAVING|HASHED_VALUE|HASH|HANDLER|GROUP|GRAPHIC|GRANT|GOTO|GO|GLOBAL|GET|GENERATED|GENERAL|GBPCACHE|FUNCTION|FULL|FROM|FREEPAGE|FREE|FORMAT|FOREIGN|FOR|FINAL|FILE|FIELDPROC|FETCH|FENCED|EXTRACT|EXTERNAL|EXTEND|EXIT|EXISTS|EXECUTE|EXCLUSIVE|EXCLUDING|EXCEPTION|EXCEPT|EVERY|ESCAPE|ERROR|ENFORCED|ENDING|END|ENCRYPTION|ENCODING|ENABLE|EMPTY|ELSEIF|ELSE|EACH|DYNAMIC|DROP|DOUBLE|DOCUMENT|DO|DISTINCT|DISCONNECT|DISALLOW|DISABLE|DIAGNOSTICS|DETERMINISTIC|DESCRIPTOR|DESCRIBE|DESC|DENSE_RANK|DENSERANK|DELETING|DELETE|DEFINITION|DEFINE|DEFER|DEFAULTS|DEFAULT|DECLARE|DEALLOCATE|DEACTIVATE|DBPARTITIONNUM|DBPARTITIONNAME|DBINFO|DB2SQL|DB2GENRL|DB2GENERAL|DAYS|DAY|DATE|DATAPARTITIONNUM|DATAPARTITIONNAME|DATABASE|DATA|CYCLE|CURSOR|CURRENT_USER|CURRENT_TIMEZONE|CURRENT_TIMESTAMP|CURRENT_TIME|CURRENT_SERVER|CURRENT_SCHEMA|CURRENT_PATH|CURRENT_DATE|CURRENT|CUBE|CROSS|CREATEIN|CREATE|COUNT_BIG|COUNT|COPY|CONTINUE|CONTENT|CONTAINS|CONSTRAINT|CONSTANT|CONNECT_BY_ROOT|CONNECTION|CONNECT|CONDITION|CONCURRENT|CONCAT|COMPRESS|COMPACT|COMMIT|COMMENT|COLUMN|COLLECTION|COLLECT|CLUSTER|CLOSE|CL|CHECK|CHARACTER|CHAR|CCSID|CAST|CASE|CARDINALITY|CALLED|CALL|CACHE|BY|BUFFERPOOL|BIT|BIND|BINARY|BETWEEN|BEGIN|BEFORE|AUTONOMOUS|AUTHORIZATION|ATTRIBUTES|ATOMIC|AT|ASSOCIATE|ASENSITIVE|ASC|AS|ARRAY_AGG|ARRAY|APPLNAME|APPEND|ANY|AND|ALTER|ALLOW|ALLOCATE|ALL|ALIAS|ADD|ACTIVATE|ACTION|ACCTNG|ACCORDING|ABSENT)\\b"},{"include":"source.sql"}]},"strings":{"patterns":[{"name":"string.other.rpgle.hex","begin":"(?i)x'","end":"'"},{"name":"string.quoted.single.rpgle","begin":"'","end":"'"}]},"tempfreeformat":{"patterns":[{"begin":"(?i)(?=((\\/FREE\\b)))","end":"(?i)(?=((\\/END-FREE\\b)))","patterns":[{"name":"keyword.other.rpgle.precompiler","match":"(?i)^.*(\\/FREE\\b)"},{"include":"#rpglecommon"},{"include":"#freeformat"},{"include":"#freeSQL"}]},{"name":"keyword.other.rpgle.precompiler","match":"^.*(\\/END-FREE\\b)"}]}}}
@@ -1 +1 @@
1
- {"name":"Rust","scopeName":"source.rust","patterns":[{"begin":"\\b(impl)\\b","end":"\\{","patterns":[{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#sigils"},{"include":"#mut"},{"include":"#dyn"},{"include":"#ref_lifetime"},{"include":"#core_types"},{"include":"#core_marker"},{"include":"#core_traits"},{"include":"#std_types"},{"include":"#std_traits"},{"include":"#type_params"},{"include":"#where"},{"name":"storage.type.rust","match":"\\bfor\\b"},{"include":"#type"}],"beginCaptures":{"1":{"name":"storage.type.rust"}}},{"include":"#block_doc_comment"},{"include":"#block_comment"},{"include":"#line_doc_comment"},{"include":"#line_comment"},{"name":"meta.attribute.rust","begin":"#\\!?\\[","end":"\\]","patterns":[{"include":"#string_literal"},{"include":"#block_doc_comment"},{"include":"#block_comment"},{"include":"#line_doc_comment"},{"include":"#line_comment"}]},{"name":"string.quoted.single.rust","match":"b?'([^'\\\\]|\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.))'"},{"include":"#string_literal"},{"include":"#raw_string_literal"},{"name":"constant.numeric.float.rust","match":"\\b[0-9][0-9_]*\\.[0-9][0-9_]*([eE][+-]?[0-9_]+)?(f32|f64)?\\b"},{"name":"constant.numeric.float.rust","match":"\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?[eE][+-]?[0-9_]+(f32|f64)?\\b"},{"name":"constant.numeric.float.rust","match":"\\b[0-9][0-9_]*(\\.[0-9][0-9_]*)?([eE][+-]?[0-9_]+)?(f32|f64)\\b"},{"name":"constant.numeric.integer.decimal.rust","match":"\\b[0-9][0-9_]*([ui](8|16|32|64|128|s|size))?\\b"},{"name":"constant.numeric.integer.hexadecimal.rust","match":"\\b0x[a-fA-F0-9_]+([ui](8|16|32|64|128|s|size))?\\b"},{"name":"constant.numeric.integer.octal.rust","match":"\\b0o[0-7_]+([ui](8|16|32|64|128|s|size))?\\b"},{"name":"constant.numeric.integer.binary.rust","match":"\\b0b[01_]+([ui](8|16|32|64|128|s|size))?\\b"},{"name":"storage.modifier.static.rust","match":"\\bstatic\\b"},{"name":"constant.language.boolean.rust","match":"\\b(true|false)\\b"},{"name":"keyword.control.rust","match":"\\b(async|await|break|continue|else|if|in|for|loop|match|return|try|while)\\b"},{"name":"keyword.other.rust","match":"\\b(crate|extern|mod|let|ref|use|super|move)\\b"},{"name":"invalid.deprecated.rust","match":"\\b(abstract|alignof|become|do|final|macro|offsetof|override|priv|proc|pure|sizeof|typeof|virtual|yield)\\b"},{"include":"#unsafe"},{"include":"#sigils"},{"include":"#self"},{"include":"#mut"},{"include":"#dyn"},{"include":"#impl"},{"include":"#box"},{"include":"#lifetime"},{"include":"#ref_lifetime"},{"include":"#const"},{"include":"#pub"},{"name":"keyword.operator.misc.rust","match":"(=\u003e|::|\\bas\\b)"},{"name":"keyword.operator.comparison.rust","match":"(\u0026\u0026|\\|\\||==|!=)"},{"name":"keyword.operator.assignment.rust","match":"(\\+=|-=|/=|\\*=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=|=)"},{"name":"keyword.operator.arithmetic.rust","match":"(!|\\+|-|/|\\*|%|\\^|\u0026|\\||\u003c\u003c|\u003e\u003e)"},{"name":"keyword.operator.comparison.rust","match":"(\u003c=|\u003e=|\u003c|\u003e)"},{"include":"#core_types"},{"include":"#core_vars"},{"include":"#core_marker"},{"include":"#core_traits"},{"include":"#std_types"},{"include":"#std_traits"},{"name":"support.function.builtin.rust","match":"\\b(macro_rules|compile_error|format_args|env|option_env|concat_idents|concat|line|column|file|stringify|include|include_str|include_bytes|module_path|cfg)!"},{"name":"support.function.core.rust","match":"\\b(panic|assert|assert_eq|assert_ne|debug_assert|debug_assert_eq|debug_assert_ne|try|write|writeln|unreachable|unimplemented)!"},{"name":"support.function.std.rust","match":"\\b(format|print|println|eprint|eprintln|select|vec)!"},{"name":"support.function.log.rust","match":"\\b(log|error|warn|info|debug|trace|log_enabled)!"},{"match":"\\b([a-zA-Z_][a-zA-Z0-9_]*\\!)\\s*[({\\[]","captures":{"1":{"name":"entity.name.function.macro.rust"}}},{"match":"\\b([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)\\s*\\(","captures":{"1":{"name":"entity.name.function.rust"}}},{"begin":"\\b([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)\\s*(::)(?=\\s*\u003c.*\u003e\\s*\\()","end":"\\(","patterns":[{"include":"#type_params"}],"captures":{"1":{"name":"entity.name.function.rust"},"2":{"name":"keyword.operator.misc.rust"}}},{"begin":"\\b(fn)\\s+([A-Za-z][A-Za-z0-9_]*|_[A-Za-z0-9_]+)","end":"[\\{;]","patterns":[{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#sigils"},{"include":"#self"},{"include":"#mut"},{"include":"#dyn"},{"include":"#impl"},{"include":"#ref_lifetime"},{"include":"#core_types"},{"include":"#core_marker"},{"include":"#core_traits"},{"include":"#std_types"},{"include":"#std_traits"},{"include":"#type_params"},{"include":"#const"},{"include":"#where"},{"include":"#unsafe"},{"name":"keyword.other.fn.rust","match":"\u0008fn\u0008"}],"beginCaptures":{"1":{"name":"keyword.other.fn.rust"},"2":{"name":"entity.name.function.rust"}}},{"begin":"\\b(enum|struct|trait|union)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","end":"[\\{\\(;]","patterns":[{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#core_traits"},{"include":"#std_traits"},{"include":"#type_params"},{"include":"#core_types"},{"include":"#pub"},{"include":"#where"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.type.rust"}}},{"begin":"\\b(type)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","end":";","patterns":[{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#sigils"},{"include":"#mut"},{"include":"#dyn"},{"include":"#impl"},{"include":"#lifetime"},{"include":"#ref_lifetime"},{"include":"#core_types"},{"include":"#core_marker"},{"include":"#core_traits"},{"include":"#std_types"},{"include":"#std_traits"},{"include":"#type_params"}],"beginCaptures":{"1":{"name":"storage.type.rust"},"2":{"name":"entity.name.type.rust"}}}],"repository":{"block_comment":{"name":"comment.block.rust","begin":"/\\*","end":"\\*/","patterns":[{"include":"#block_doc_comment"},{"include":"#block_comment"}]},"block_doc_comment":{"name":"comment.block.documentation.rust","begin":"/\\*[\\*!](?![\\*/])","end":"\\*/","patterns":[{"include":"#block_doc_comment"},{"include":"#block_comment"}]},"box":{"name":"storage.modifier.box.rust","match":"\\bbox\\b"},"const":{"name":"storage.modifier.const.rust","match":"\\bconst\\b"},"core_marker":{"name":"support.type.marker.rust","match":"\\b(Copy|Send|Sized|Sync)\\b"},"core_traits":{"name":"support.type.core.rust","match":"\\b(Drop|Fn|FnMut|FnOnce|Clone|PartialEq|PartialOrd|Eq|Ord|AsRef|AsMut|Into|From|Default|Iterator|Extend|IntoIterator|DoubleEndedIterator|ExactSizeIterator)\\b"},"core_types":{"name":"storage.type.core.rust","match":"\\b(bool|char|usize|isize|u8|u16|u32|u64|u128|i8|i16|i32|i64|i128|f32|f64|str|Self|Option|Result)\\b"},"core_vars":{"name":"support.constant.core.rust","match":"\\b(Some|None|Ok|Err)\\b"},"dyn":{"name":"storage.modifier.dyn.rust","match":"\\bdyn\\b"},"escaped_character":{"name":"constant.character.escape.rust","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},"impl":{"name":"storage.modifier.impl.rust","match":"\\bimpl\\b"},"lifetime":{"name":"storage.modifier.lifetime.rust","match":"'([a-zA-Z_][a-zA-Z0-9_]*)\\b","captures":{"1":{"name":"entity.name.lifetime.rust"}}},"line_comment":{"name":"comment.line.double-slash.rust","begin":"//","end":"$"},"line_doc_comment":{"name":"comment.line.documentation.rust","begin":"//[!/](?=[^/])","end":"$"},"mut":{"name":"storage.modifier.mut.rust","match":"\\bmut\\b"},"pub":{"name":"storage.modifier.visibility.rust","match":"\\bpub\\b"},"raw_string_literal":{"name":"string.quoted.double.raw.rust","begin":"b?r(#*)\"","end":"\"\\1"},"ref_lifetime":{"match":"\u0026('([a-zA-Z_][a-zA-Z0-9_]*))\\b","captures":{"1":{"name":"storage.modifier.lifetime.rust"},"2":{"name":"entity.name.lifetime.rust"}}},"self":{"name":"variable.language.rust","match":"\\bself\\b"},"sigils":{"name":"keyword.operator.sigil.rust","match":"[\u0026*](?=[a-zA-Z0-9_\\(\\[\\|\\\"]+)"},"std_traits":{"name":"support.type.std.rust","match":"\\b(ToOwned|ToString)\\b"},"std_types":{"name":"storage.class.std.rust","match":"\\b(Box|String|Vec|Path|PathBuf)\\b"},"string_literal":{"name":"string.quoted.double.rust","begin":"b?\"","end":"\"","patterns":[{"include":"#escaped_character"}]},"type":{"name":"entity.name.type.rust","match":"\\b([A-Za-z][_A-Za-z0-9]*|_[_A-Za-z0-9]+)\\b"},"type_params":{"name":"meta.type_params.rust","begin":"\u003c(?![=\u003c])","end":"(?\u003c![-])\u003e","patterns":[{"include":"#block_comment"},{"include":"#line_comment"},{"include":"#sigils"},{"include":"#mut"},{"include":"#dyn"},{"include":"#impl"},{"include":"#lifetime"},{"include":"#core_types"},{"include":"#core_marker"},{"include":"#core_traits"},{"include":"#std_types"},{"include":"#std_traits"},{"include":"#type_params"}]},"unsafe":{"name":"keyword.other.unsafe.rust","match":"\\bunsafe\\b"},"where":{"name":"keyword.other.where.rust","match":"\\bwhere\\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"}}},{"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"},"2":{"name":"keyword.operator.attribute.inner.rust"},"3":{"name":"punctuation.brackets.attribute.rust"}},"endCaptures":{"0":{"name":"punctuation.brackets.attribute.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":"#lvariables"},{"include":"#constants"},{"include":"#gtypes"},{"include":"#functions"},{"include":"#types"},{"include":"#keywords"},{"include":"#lifetimes"},{"include":"#macros"},{"include":"#namespaces"},{"include":"#punctuation"},{"include":"#strings"},{"include":"#variables"}],"repository":{"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)([+-])([\\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][0-7a-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":"#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":"#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-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":"#scala-symbol"},{"include":"#singleton-type"},{"include":"#inline"},{"include":"#scala-quoted"},{"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)|(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*,)","captures":{"1":{"name":"keyword.declaration.stable.scala"},"2":{"name":"keyword.declaration.volatile.scala"}}},{"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"},"3":{"name":"variable.other.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+(given\\s+)?","end":"(?\u003c=[\\n;])","patterns":[{"include":"#comments"},{"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)\\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*(=\u003e)\\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*","captures":{"1":{"name":"entity.name.export.renamed-from.scala"},"2":{"name":"keyword.other.arrow.scala"},"3":{"name":"entity.name.export.renamed-to.scala"}}},{"name":"entity.name.export.scala","match":"([^\\s.,}]+)"}],"beginCaptures":{"0":{"name":"meta.bracket.scala"}},"endCaptures":{"0":{"name":"meta.bracket.scala"}}}],"beginCaptures":{"1":{"name":"keyword.other.export.scala"},"2":{"name":"keyword.other.export.given.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":{"patterns":[{"name":"punctuation.section.block.begin.scala","match":"['$]\\{(?!')"},{"name":"meta.bracket.scala","match":"'\\[(?!')"}]},"scala-symbol":{"name":"constant.other.symbol.scala","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}]+))(?!')"},"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]+","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 +1 @@
1
- {"name":"Singularity","scopeName":"source.singularity","patterns":[{"include":"#interpolation"},{"include":"#keyword"},{"include":"#string"},{"include":"#variable"},{"match":"^\\s*\\b(?i:(bootstrap))\\b:.*?(.+?\\b(as)\\b.*)?","captures":{"1":{"name":"keyword.other.special-method.singularity"},"3":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*\\b(?i:(from))\\b:.*?(.+?\\b(as)\\b.*)?","captures":{"1":{"name":"keyword.other.special-method.singularity"},"3":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*\\b(?i:(stage|osversion|mirrorurl|include))\\b:","captures":{"1":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*(%)\\b(post|setup|environment|help|labels|test|runscript|files|startscript)\\b","captures":{"1":{"name":"keyword.control.singularity"},"2":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*(%)\\b(apprun|applabels|appinstall|appenv|apphelp|appfiles)\\b","captures":{"1":{"name":"keyword.control.singularity"},"2":{"name":"keyword.other.special-method.singularity"}}},{"name":"string.quoted.single.singularity","begin":"'","end":"'","patterns":[{"name":"constant.character.escaped.singularity","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.singularity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.singularity"}}},{"name":"string.quoted.double.singularity","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escaped.singularity","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.singularity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.singularity"}}},{"match":"^(\\s*)((#).*$\\n?)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.singularity"},"2":{"name":"comment.line.number-sign.singularity"},"3":{"name":"punctuation.definition.comment.singularity"}}}],"repository":{"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(if|then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}
1
+ {"name":"Singularity","scopeName":"source.singularity","patterns":[{"include":"#interpolation"},{"include":"#keyword"},{"include":"#string"},{"include":"#variable"},{"match":"^\\s*\\b(?i:(bootstrap))\\b:.*?(.+?\\b(as)\\b.*)?","captures":{"1":{"name":"keyword.other.special-method.singularity"},"3":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*\\b(?i:(from|registry|namespace))\\b:.*?(.+?\\b(as)\\b.*)?","captures":{"1":{"name":"keyword.other.special-method.singularity"},"3":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*\\b(?i:(stage|osversion|mirrorurl|include))\\b:","captures":{"1":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*(%)\\b(post|setup|environment|help|labels|test|runscript|files|startscript)\\b","captures":{"1":{"name":"keyword.control.singularity"},"2":{"name":"keyword.other.special-method.singularity"}}},{"match":"^\\s*(%)\\b(apprun|applabels|appinstall|appenv|apphelp|appfiles)\\b","captures":{"1":{"name":"keyword.control.singularity"},"2":{"name":"keyword.other.special-method.singularity"}}},{"name":"string.quoted.single.singularity","begin":"'","end":"'","patterns":[{"name":"constant.character.escaped.singularity","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.singularity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.singularity"}}},{"name":"string.quoted.double.singularity","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escaped.singularity","match":"\\\\."}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.singularity"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.singularity"}}},{"match":"^(\\s*)((#).*$\\n?)","captures":{"1":{"name":"punctuation.whitespace.comment.leading.singularity"},"2":{"name":"comment.line.number-sign.singularity"},"3":{"name":"punctuation.definition.comment.singularity"}}}],"repository":{"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(if|then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}