@shikijs/langs 3.2.0 → 3.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/actionscript-3.mjs +1 -1
  3. package/dist/ada.mjs +1 -1
  4. package/dist/angular-expression.mjs +1 -1
  5. package/dist/angular-let-declaration.mjs +1 -1
  6. package/dist/angular-template-blocks.mjs +1 -1
  7. package/dist/angular-ts.mjs +1 -1
  8. package/dist/apex.mjs +1 -1
  9. package/dist/apl.mjs +1 -1
  10. package/dist/applescript.mjs +1 -1
  11. package/dist/ara.mjs +1 -1
  12. package/dist/asciidoc.mjs +1 -1
  13. package/dist/asm.mjs +1 -1
  14. package/dist/astro.mjs +1 -1
  15. package/dist/awk.mjs +1 -1
  16. package/dist/ballerina.mjs +1 -1
  17. package/dist/bat.mjs +1 -1
  18. package/dist/beancount.mjs +1 -1
  19. package/dist/berry.mjs +1 -1
  20. package/dist/bibtex.mjs +1 -1
  21. package/dist/bicep.mjs +1 -1
  22. package/dist/blade.mjs +1 -1
  23. package/dist/c.mjs +1 -1
  24. package/dist/cadence.mjs +1 -1
  25. package/dist/cairo.mjs +1 -1
  26. package/dist/clarity.mjs +1 -1
  27. package/dist/clojure.mjs +1 -1
  28. package/dist/cmake.mjs +1 -1
  29. package/dist/cobol.mjs +1 -1
  30. package/dist/coffee.mjs +1 -1
  31. package/dist/common-lisp.mjs +1 -1
  32. package/dist/coq.mjs +1 -1
  33. package/dist/cpp-macro.mjs +1 -1
  34. package/dist/cpp.mjs +1 -1
  35. package/dist/crystal.mjs +1 -1
  36. package/dist/csharp.mjs +1 -1
  37. package/dist/css.mjs +1 -1
  38. package/dist/cue.mjs +1 -1
  39. package/dist/cypher.mjs +1 -1
  40. package/dist/d.mjs +1 -1
  41. package/dist/dart.mjs +1 -1
  42. package/dist/dax.mjs +1 -1
  43. package/dist/desktop.mjs +1 -1
  44. package/dist/dream-maker.mjs +1 -1
  45. package/dist/elixir.mjs +1 -1
  46. package/dist/elm.mjs +1 -1
  47. package/dist/emacs-lisp.mjs +1 -1
  48. package/dist/erb.mjs +1 -1
  49. package/dist/erlang.mjs +1 -1
  50. package/dist/fennel.mjs +1 -1
  51. package/dist/fish.mjs +1 -1
  52. package/dist/fluent.mjs +1 -1
  53. package/dist/fortran-free-form.mjs +1 -1
  54. package/dist/fsharp.mjs +1 -1
  55. package/dist/gdresource.mjs +1 -1
  56. package/dist/gdscript.mjs +1 -1
  57. package/dist/gdshader.mjs +1 -1
  58. package/dist/genie.mjs +1 -1
  59. package/dist/gherkin.mjs +1 -1
  60. package/dist/gleam.mjs +1 -1
  61. package/dist/glimmer-js.mjs +1 -1
  62. package/dist/glimmer-ts.mjs +1 -1
  63. package/dist/gnuplot.mjs +1 -1
  64. package/dist/go.mjs +1 -1
  65. package/dist/graphql.mjs +1 -1
  66. package/dist/groovy.mjs +1 -1
  67. package/dist/hack.mjs +1 -1
  68. package/dist/haml.mjs +1 -1
  69. package/dist/handlebars.mjs +1 -1
  70. package/dist/haskell.mjs +1 -1
  71. package/dist/haxe.mjs +1 -1
  72. package/dist/hcl.mjs +1 -1
  73. package/dist/hjson.mjs +1 -1
  74. package/dist/html-derivative.mjs +1 -1
  75. package/dist/html.mjs +1 -1
  76. package/dist/http.mjs +1 -1
  77. package/dist/hy.mjs +1 -1
  78. package/dist/imba.mjs +1 -1
  79. package/dist/ini.mjs +1 -1
  80. package/dist/java.mjs +1 -1
  81. package/dist/javascript.mjs +1 -1
  82. package/dist/jinja.mjs +1 -1
  83. package/dist/jison.mjs +1 -1
  84. package/dist/json.mjs +1 -1
  85. package/dist/json5.mjs +1 -1
  86. package/dist/jsonc.mjs +1 -1
  87. package/dist/jsonl.mjs +1 -1
  88. package/dist/jsonnet.mjs +1 -1
  89. package/dist/jsx.mjs +1 -1
  90. package/dist/julia.mjs +1 -1
  91. package/dist/kotlin.mjs +1 -1
  92. package/dist/kusto.mjs +1 -1
  93. package/dist/latex.mjs +1 -1
  94. package/dist/lean.mjs +1 -1
  95. package/dist/less.mjs +1 -1
  96. package/dist/liquid.mjs +1 -1
  97. package/dist/llvm.mjs +1 -1
  98. package/dist/log.mjs +1 -1
  99. package/dist/logo.mjs +1 -1
  100. package/dist/lua.mjs +1 -1
  101. package/dist/luau.mjs +1 -1
  102. package/dist/make.mjs +1 -1
  103. package/dist/markdown.mjs +1 -1
  104. package/dist/marko.mjs +1 -1
  105. package/dist/matlab.mjs +1 -1
  106. package/dist/mdc.mjs +1 -1
  107. package/dist/mdx.mjs +1 -1
  108. package/dist/mermaid.mjs +1 -1
  109. package/dist/mojo.mjs +1 -1
  110. package/dist/move.mjs +1 -1
  111. package/dist/narrat.mjs +1 -1
  112. package/dist/nim.mjs +1 -1
  113. package/dist/nix.mjs +1 -1
  114. package/dist/nushell.mjs +1 -1
  115. package/dist/objective-c.mjs +1 -1
  116. package/dist/objective-cpp.mjs +1 -1
  117. package/dist/ocaml.mjs +1 -1
  118. package/dist/pascal.mjs +1 -1
  119. package/dist/perl.mjs +1 -1
  120. package/dist/php.mjs +1 -1
  121. package/dist/plsql.mjs +1 -1
  122. package/dist/polar.mjs +1 -1
  123. package/dist/postcss.mjs +1 -1
  124. package/dist/powerquery.mjs +1 -1
  125. package/dist/powershell.mjs +1 -1
  126. package/dist/prisma.mjs +1 -1
  127. package/dist/prolog.mjs +1 -1
  128. package/dist/proto.mjs +1 -1
  129. package/dist/pug.mjs +1 -1
  130. package/dist/puppet.mjs +1 -1
  131. package/dist/purescript.mjs +1 -1
  132. package/dist/python.mjs +1 -1
  133. package/dist/qss.mjs +1 -1
  134. package/dist/r.mjs +1 -1
  135. package/dist/racket.mjs +1 -1
  136. package/dist/raku.mjs +1 -1
  137. package/dist/rel.mjs +1 -1
  138. package/dist/rst.mjs +1 -1
  139. package/dist/ruby.mjs +1 -1
  140. package/dist/rust.mjs +1 -1
  141. package/dist/sas.mjs +1 -1
  142. package/dist/sass.mjs +1 -1
  143. package/dist/scala.mjs +1 -1
  144. package/dist/scheme.mjs +1 -1
  145. package/dist/scss.mjs +1 -1
  146. package/dist/shellscript.mjs +1 -1
  147. package/dist/solidity.mjs +1 -1
  148. package/dist/sparql.mjs +1 -1
  149. package/dist/sql.mjs +1 -1
  150. package/dist/stata.mjs +1 -1
  151. package/dist/stylus.mjs +1 -1
  152. package/dist/svelte.mjs +1 -1
  153. package/dist/swift.mjs +1 -1
  154. package/dist/system-verilog.mjs +1 -1
  155. package/dist/systemd.mjs +1 -1
  156. package/dist/talonscript.mjs +1 -1
  157. package/dist/tcl.mjs +1 -1
  158. package/dist/templ.mjs +1 -1
  159. package/dist/terraform.mjs +1 -1
  160. package/dist/tex.mjs +1 -1
  161. package/dist/toml.mjs +1 -1
  162. package/dist/tsx.mjs +1 -1
  163. package/dist/turtle.mjs +1 -1
  164. package/dist/twig.mjs +1 -1
  165. package/dist/typescript.mjs +1 -1
  166. package/dist/typespec.mjs +1 -1
  167. package/dist/typst.mjs +1 -1
  168. package/dist/v.mjs +1 -1
  169. package/dist/vala.mjs +1 -1
  170. package/dist/vb.mjs +1 -1
  171. package/dist/vhdl.mjs +1 -1
  172. package/dist/vue-html.mjs +1 -1
  173. package/dist/vue.mjs +1 -1
  174. package/dist/vyper.mjs +1 -1
  175. package/dist/wasm.mjs +1 -1
  176. package/dist/wgsl.mjs +1 -1
  177. package/dist/wikitext.mjs +1 -1
  178. package/dist/wit.mjs +1 -1
  179. package/dist/wolfram.mjs +1 -1
  180. package/dist/xml.mjs +1 -1
  181. package/dist/xsl.mjs +1 -1
  182. package/dist/yaml.mjs +1 -1
  183. package/dist/zenscript.mjs +1 -1
  184. package/dist/zig.mjs +1 -1
  185. package/package.json +3 -3
package/dist/erb.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import html from './html.mjs'
2
2
  import ruby from './ruby.mjs'
3
3
 
4
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"ERB\",\"fileTypes\":[\"erb\",\"rhtml\",\"html.erb\"],\"injections\":{\"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | comment)\":{\"patterns\":[{\"begin\":\"(^\\\\s*)(?=<%+#(?![^%]*%>))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.comment.leading.erb\"}},\"end\":\"(?!\\\\G)(\\\\s*$\\\\n)?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.comment.trailing.erb\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(^\\\\s*)(?=<%(?![^%]*%>))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.embedded.leading.erb\"}},\"end\":\"(?!\\\\G)(\\\\s*$\\\\n)?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.embedded.trailing.erb\"}},\"patterns\":[{\"include\":\"#tags\"}]},{\"include\":\"#comment\"},{\"include\":\"#tags\"}]}},\"name\":\"erb\",\"patterns\":[{\"include\":\"text.html.basic\"}],\"repository\":{\"comment\":{\"patterns\":[{\"begin\":\"<%+#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.erb\"}},\"end\":\"%>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.erb\"}},\"name\":\"comment.block.erb\"}]},\"tags\":{\"patterns\":[{\"begin\":\"<%+(?!>)[\\\\-=]?(?![^%]*%>)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.erb\"}},\"contentName\":\"source.ruby\",\"end\":\"(-?%)>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.erb\"},\"1\":{\"name\":\"source.ruby\"}},\"name\":\"meta.embedded.block.erb\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.erb\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.erb\"},{\"include\":\"source.ruby\"}]},{\"begin\":\"<%+(?!>)[\\\\-=]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.erb\"}},\"contentName\":\"source.ruby\",\"end\":\"(-?%)>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.erb\"},\"1\":{\"name\":\"source.ruby\"}},\"name\":\"meta.embedded.line.erb\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.erb\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.erb\"},{\"include\":\"source.ruby\"}]}]}},\"scopeName\":\"text.html.erb\",\"embeddedLangs\":[\"html\",\"ruby\"]}"))
4
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"ERB\",\"fileTypes\":[\"erb\",\"rhtml\",\"html.erb\"],\"injections\":{\"text.html.erb - (meta.embedded.block.erb | meta.embedded.line.erb | comment)\":{\"patterns\":[{\"begin\":\"(^\\\\s*)(?=<%+#(?![^%]*%>))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.comment.leading.erb\"}},\"end\":\"(?!\\\\G)(\\\\s*$\\\\n)?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.comment.trailing.erb\"}},\"patterns\":[{\"include\":\"#comment\"}]},{\"begin\":\"(^\\\\s*)(?=<%(?![^%]*%>))\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.embedded.leading.erb\"}},\"end\":\"(?!\\\\G)(\\\\s*$\\\\n)?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.whitespace.embedded.trailing.erb\"}},\"patterns\":[{\"include\":\"#tags\"}]},{\"include\":\"#comment\"},{\"include\":\"#tags\"}]}},\"name\":\"erb\",\"patterns\":[{\"include\":\"text.html.basic\"}],\"repository\":{\"comment\":{\"patterns\":[{\"begin\":\"<%+#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.erb\"}},\"end\":\"%>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.erb\"}},\"name\":\"comment.block.erb\"}]},\"tags\":{\"patterns\":[{\"begin\":\"<%+(?!>)[-=]?(?![^%]*%>)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.erb\"}},\"contentName\":\"source.ruby\",\"end\":\"(-?%)>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.erb\"},\"1\":{\"name\":\"source.ruby\"}},\"name\":\"meta.embedded.block.erb\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.erb\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.erb\"},{\"include\":\"source.ruby\"}]},{\"begin\":\"<%+(?!>)[-=]?\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.erb\"}},\"contentName\":\"source.ruby\",\"end\":\"(-?%)>\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.erb\"},\"1\":{\"name\":\"source.ruby\"}},\"name\":\"meta.embedded.line.erb\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.erb\"}},\"match\":\"(#).*?(?=-?%>)\",\"name\":\"comment.line.number-sign.erb\"},{\"include\":\"source.ruby\"}]}]}},\"scopeName\":\"text.html.erb\",\"embeddedLangs\":[\"html\",\"ruby\"]}"))
5
5
 
6
6
  export default [
7
7
  ...html,
package/dist/erlang.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Erlang\",\"fileTypes\":[\"erl\",\"escript\",\"hrl\",\"xrl\",\"yrl\"],\"name\":\"erlang\",\"patterns\":[{\"include\":\"#module-directive\"},{\"include\":\"#import-export-directive\"},{\"include\":\"#behaviour-directive\"},{\"include\":\"#record-directive\"},{\"include\":\"#define-directive\"},{\"include\":\"#macro-directive\"},{\"include\":\"#directive\"},{\"include\":\"#function\"},{\"include\":\"#everything-else\"}],\"repository\":{\"atom\":{\"patterns\":[{\"begin\":\"(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.begin.erlang\"}},\"end\":\"(')\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.end.erlang\"}},\"name\":\"constant.other.symbol.quoted.single.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})\",\"name\":\"constant.other.symbol.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.atom.erlang\"}]},{\"match\":\"[a-z][a-zA-Z\\\\d@_]*+\",\"name\":\"constant.other.symbol.unquoted.erlang\"}]},\"behaviour-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.behaviour.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.behaviour.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.behaviour.erlang\"},\"binary\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.begin.erlang\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.end.erlang\"}},\"name\":\"meta.structure.binary.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.binary.erlang\"},\"2\":{\"name\":\"punctuation.separator.value-size.erlang\"}},\"match\":\"(,)|(:)\"},{\"include\":\"#internal-type-specifiers\"},{\"include\":\"#everything-else\"}]},\"character\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"},\"2\":{\"name\":\"constant.character.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"},\"5\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\$)((\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2}))\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.character.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"}},\"match\":\"(\\\\$)[ \\\\S]\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$.?\",\"name\":\"invalid.illegal.character.erlang\"}]},\"comment\":{\"begin\":\"(^[ \\\\t]+)?(?=%)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.erlang\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"%\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.erlang\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.percentage.erlang\"}]},\"define-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[a-zA-Z\\\\d@_]++\\\\s*+\\\\()\",\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*(,)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"\\\\|\\\\||[|:;,.]|->\",\"name\":\"punctuation.separator.define.erlang\"},{\"include\":\"#everything-else\"}]}]},\"directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\)?)\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\.)\",\"name\":\"meta.directive.erlang\"}]},\"docstring\":{\"begin\":\"(?<!\\\")((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"3\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\2))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.triple.erlang\"},\"everything-else\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#record-usage\"},{\"include\":\"#macro-usage\"},{\"include\":\"#expression\"},{\"include\":\"#keyword\"},{\"include\":\"#textual-operator\"},{\"include\":\"#language-constant\"},{\"include\":\"#function-call\"},{\"include\":\"#tuple\"},{\"include\":\"#list\"},{\"include\":\"#binary\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#character\"},{\"include\":\"#number\"},{\"include\":\"#atom\"},{\"include\":\"#sigil-docstring\"},{\"include\":\"#sigil-string\"},{\"include\":\"#docstring\"},{\"include\":\"#string\"},{\"include\":\"#symbolic-operator\"},{\"include\":\"#variable\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\b(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.if.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.if.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.case.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(receive)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.receive.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.receive.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"variable.other.erlang\"},\"6\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"8\":{\"name\":\"entity.name.function.erlang\"},\"9\":{\"name\":\"variable.other.erlang\"},\"10\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"match\":\"\\\\b(fun)\\\\s+((([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*(/)\",\"name\":\"meta.expression.fun.implicit.erlang\"},{\"begin\":\"\\\\b(fun)\\\\s+(([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s+(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.fun.erlang\",\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\bend\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.try.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(begin)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.begin.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.begin.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(maybe)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.maybe.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.maybe.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]}]},\"function\":{\"begin\":\"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.definition.erlang\"}},\"end\":\"(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.function.erlang\"}},\"name\":\"meta.function.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.erlang\"}},\"match\":\"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()\"},{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#parenthesized-expression\"},{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},\"function-call\":{\"begin\":\"(?=([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+\\\\())\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"name\":\"meta.function-call.erlang\",\"patterns\":[{\"begin\":\"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.type.class.module.erlang\"},\"3\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"4\":{\"name\":\"entity.name.function.guard.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"((([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(\\\\()\",\"beginCaptures\":{\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"7\":{\"name\":\"entity.name.function.erlang\"},\"8\":{\"name\":\"variable.other.erlang\"},\"9\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]}]},\"import-export-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.import.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]},{\"begin\":\"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.export.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.export.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]}]},\"internal-expression-punctuation\":{\"captures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"},\"2\":{\"name\":\"punctuation.separator.clauses.erlang\"},\"3\":{\"name\":\"punctuation.separator.expressions.erlang\"}},\"match\":\"(->)|(;)|(,)\"},\"internal-function-list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.function.erlang\",\"patterns\":[{\"begin\":\"([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(/)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"end\":\"(,)|(?=])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.list.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-function-parts\":{\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(->)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"}},\"patterns\":[{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.guards.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.expressions.erlang\"},{\"include\":\"#everything-else\"}]},\"internal-record-body\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.end.erlang\"}},\"name\":\"meta.structure.record.erlang\",\"patterns\":[{\"begin\":\"(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_))\",\"beginCaptures\":{\"2\":{\"name\":\"variable.other.field.erlang\"},\"3\":{\"name\":\"variable.language.omitted.field.erlang\"}},\"end\":\"(,)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.class.record.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-string-body\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})\",\"name\":\"constant.character.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.string.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"},\"6\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"},\"10\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"}},\"match\":\"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx+ni]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"}},\"match\":\"(~)(\\\\*)?(\\\\d++)?(t)?[~du\\\\-#fsacl]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"match\":\"~[^\\\"]?\",\"name\":\"invalid.illegal.string.erlang\"}]},\"internal-type-specifiers\":{\"begin\":\"(/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.value-type.erlang\"}},\"end\":\"(?=[,:]|>>)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.erlang\"},\"2\":{\"name\":\"storage.modifier.signedness.erlang\"},\"3\":{\"name\":\"storage.modifier.endianness.erlang\"},\"4\":{\"name\":\"storage.modifier.unit.erlang\"},\"5\":{\"name\":\"punctuation.separator.unit-specifiers.erlang\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.erlang\"},\"7\":{\"name\":\"punctuation.separator.type-specifiers.erlang\"}},\"match\":\"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\\\d++)|(-)\"}]},\"keyword\":{\"match\":\"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b\",\"name\":\"keyword.control.erlang\"},\"language-constant\":{\"match\":\"\\\\b(false|true|undefined)\\\\b\",\"name\":\"constant.language\"},\"list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.erlang\",\"patterns\":[{\"match\":\"\\\\||\\\\|\\\\||,\",\"name\":\"punctuation.separator.list.erlang\"},{\"include\":\"#everything-else\"}]},\"macro-directive\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifdef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifdef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifndef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifndef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.undef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.undef.erlang\"}]},\"macro-usage\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.macro.erlang\"},\"2\":{\"name\":\"entity.name.function.macro.erlang\"}},\"match\":\"(\\\\?\\\\??)\\\\s*+([a-zA-Z\\\\d@_]++)\",\"name\":\"meta.macro-usage.erlang\"},\"module-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.module.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.module.erlang\"},\"number\":{\"begin\":\"(?=\\\\d)\",\"end\":\"(?!\\\\d)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.integer-float.erlang\"},\"2\":{\"name\":\"punctuation.separator.float-exponent.erlang\"}},\"match\":\"\\\\d++(\\\\.)\\\\d++([eE][+\\\\-]?\\\\d++)?\",\"name\":\"constant.numeric.float.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"2(#)([0-1]++_)*[0-1]++\",\"name\":\"constant.numeric.integer.binary.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"3(#)([0-2]++_)*[0-2]++\",\"name\":\"constant.numeric.integer.base-3.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"4(#)([0-3]++_)*[0-3]++\",\"name\":\"constant.numeric.integer.base-4.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"5(#)([0-4]++_)*[0-4]++\",\"name\":\"constant.numeric.integer.base-5.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"6(#)([0-5]++_)*[0-5]++\",\"name\":\"constant.numeric.integer.base-6.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"7(#)([0-6]++_)*[0-6]++\",\"name\":\"constant.numeric.integer.base-7.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"8(#)([0-7]++_)*[0-7]++\",\"name\":\"constant.numeric.integer.octal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"9(#)([0-8]++_)*[0-8]++\",\"name\":\"constant.numeric.integer.base-9.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"10(#)(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"11(#)([\\\\daA]++_)*[\\\\daA]++\",\"name\":\"constant.numeric.integer.base-11.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"12(#)([\\\\da-bA-B]++_)*[\\\\da-bA-B]++\",\"name\":\"constant.numeric.integer.base-12.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"13(#)([\\\\da-cA-C]++_)*[\\\\da-cA-C]++\",\"name\":\"constant.numeric.integer.base-13.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"14(#)([\\\\da-dA-D]++_)*[\\\\da-dA-D]++\",\"name\":\"constant.numeric.integer.base-14.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"15(#)([\\\\da-eA-E]++_)*[\\\\da-eA-E]++\",\"name\":\"constant.numeric.integer.base-15.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"16(#)([\\\\da-fA-F]++_)*[\\\\da-fA-F]++\",\"name\":\"constant.numeric.integer.hexadecimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"17(#)([\\\\da-gA-G]++_)*[\\\\da-gA-G]++\",\"name\":\"constant.numeric.integer.base-17.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"18(#)([\\\\da-hA-H]++_)*[\\\\da-hA-H]++\",\"name\":\"constant.numeric.integer.base-18.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"19(#)([\\\\da-iA-I]++_)*[\\\\da-iA-I]++\",\"name\":\"constant.numeric.integer.base-19.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"20(#)([\\\\da-jA-J]++_)*[\\\\da-jA-J]++\",\"name\":\"constant.numeric.integer.base-20.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"21(#)([\\\\da-kA-K]++_)*[\\\\da-kA-K]++\",\"name\":\"constant.numeric.integer.base-21.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"22(#)([\\\\da-lA-L]++_)*[\\\\da-lA-L]++\",\"name\":\"constant.numeric.integer.base-22.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"23(#)([\\\\da-mA-M]++_)*[\\\\da-mA-M]++\",\"name\":\"constant.numeric.integer.base-23.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"24(#)([\\\\da-nA-N]++_)*[\\\\da-nA-N]++\",\"name\":\"constant.numeric.integer.base-24.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"25(#)([\\\\da-oA-O]++_)*[\\\\da-oA-O]++\",\"name\":\"constant.numeric.integer.base-25.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"26(#)([\\\\da-pA-P]++_)*[\\\\da-pA-P]++\",\"name\":\"constant.numeric.integer.base-26.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"27(#)([\\\\da-qA-Q]++_)*[\\\\da-qA-Q]++\",\"name\":\"constant.numeric.integer.base-27.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"28(#)([\\\\da-rA-R]++_)*[\\\\da-rA-R]++\",\"name\":\"constant.numeric.integer.base-28.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"29(#)([\\\\da-sA-S]++_)*[\\\\da-sA-S]++\",\"name\":\"constant.numeric.integer.base-29.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"30(#)([\\\\da-tA-T]++_)*[\\\\da-tA-T]++\",\"name\":\"constant.numeric.integer.base-30.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"31(#)([\\\\da-uA-U]++_)*[\\\\da-uA-U]++\",\"name\":\"constant.numeric.integer.base-31.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"32(#)([\\\\da-vA-V]++_)*[\\\\da-vA-V]++\",\"name\":\"constant.numeric.integer.base-32.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"33(#)([\\\\da-wA-W]++_)*[\\\\da-wA-W]++\",\"name\":\"constant.numeric.integer.base-33.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"34(#)([\\\\da-xA-X]++_)*[\\\\da-xA-X]++\",\"name\":\"constant.numeric.integer.base-34.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"35(#)([\\\\da-yA-Y]++_)*[\\\\da-yA-Y]++\",\"name\":\"constant.numeric.integer.base-35.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"36(#)([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++\",\"name\":\"constant.numeric.integer.base-36.erlang\"},{\"match\":\"\\\\d++#([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++\",\"name\":\"invalid.illegal.integer.erlang\"},{\"match\":\"(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"}]},\"parenthesized-expression\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.erlang\"}},\"name\":\"meta.expression.parenthesized\",\"patterns\":[{\"include\":\"#everything-else\"}]},\"record-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.record.definition.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.record.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"},{\"include\":\"#comment\"}]},\"record-usage\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"},\"3\":{\"name\":\"punctuation.separator.record-field.erlang\"},\"4\":{\"name\":\"variable.other.field.erlang\"}},\"match\":\"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\",\"name\":\"meta.record-usage.erlang\"},{\"begin\":\"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"}},\"end\":\"(?<=})\",\"name\":\"meta.record-usage.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"}]}]},\"sigil-docstring\":{\"begin\":\"(~[bBsS]?)((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\"},\"sigil-string\":{\"patterns\":[{\"include\":\"#sigil-string-parenthesis\"},{\"include\":\"#sigil-string-parenthesis-verbatim\"},{\"include\":\"#sigil-string-curly-brackets\"},{\"include\":\"#sigil-string-curly-brackets-verbatim\"},{\"include\":\"#sigil-string-square-brackets\"},{\"include\":\"#sigil-string-square-brackets-verbatim\"},{\"include\":\"#sigil-string-less-greater\"},{\"include\":\"#sigil-string-less-greater-verbatim\"},{\"include\":\"#sigil-string-single-character\"},{\"include\":\"#sigil-string-single-character-verbatim\"},{\"include\":\"#sigil-string-single-quote\"},{\"include\":\"#sigil-string-single-quote-verbatim\"},{\"include\":\"#sigil-string-double-quote\"},{\"include\":\"#sigil-string-double-quote-verbatim\"}]},\"sigil-string-curly-brackets\":{\"begin\":\"(~[bs]?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-curly-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\"},\"sigil-string-double-quote\":{\"begin\":\"(~[bs]?)(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-double-quote-verbatim\":{\"begin\":\"(~[BS])(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\"},\"sigil-string-less-greater\":{\"begin\":\"(~[bs]?)(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-less-greater-verbatim\":{\"begin\":\"(~[BS])(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\"},\"sigil-string-parenthesis\":{\"begin\":\"(~[bs]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-parenthesis-verbatim\":{\"begin\":\"(~[BS])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\"},\"sigil-string-single-character\":{\"begin\":\"(~[bs]?)([/|`#])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-character-verbatim\":{\"begin\":\"(~[BS])([/|`#])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\"},\"sigil-string-single-quote\":{\"begin\":\"(~[bs]?)(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-quote-verbatim\":{\"begin\":\"(~[BS])(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\"},\"sigil-string-square-brackets\":{\"begin\":\"(~[bs]?)(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-square-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\"},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"symbolic-operator\":{\"match\":\"\\\\+\\\\+|\\\\+|--|[\\\\-*]|/=|/|=/=|=:=|==|=<|=|<-|<|>=|[>!]|::|\\\\?=\",\"name\":\"keyword.operator.symbolic.erlang\"},\"textual-operator\":{\"match\":\"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b\",\"name\":\"keyword.operator.textual.erlang\"},\"tuple\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.end.erlang\"}},\"name\":\"meta.structure.tuple.erlang\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.tuple.erlang\"},{\"include\":\"#everything-else\"}]},\"variable\":{\"captures\":{\"1\":{\"name\":\"variable.other.erlang\"},\"2\":{\"name\":\"variable.language.omitted.erlang\"}},\"match\":\"(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)|(_)\"}},\"scopeName\":\"source.erlang\",\"aliases\":[\"erl\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Erlang\",\"fileTypes\":[\"erl\",\"escript\",\"hrl\",\"xrl\",\"yrl\"],\"name\":\"erlang\",\"patterns\":[{\"include\":\"#module-directive\"},{\"include\":\"#import-export-directive\"},{\"include\":\"#behaviour-directive\"},{\"include\":\"#record-directive\"},{\"include\":\"#define-directive\"},{\"include\":\"#macro-directive\"},{\"include\":\"#directive\"},{\"include\":\"#function\"},{\"include\":\"#everything-else\"}],\"repository\":{\"atom\":{\"patterns\":[{\"begin\":\"(')\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.begin.erlang\"}},\"end\":\"(')\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.symbol.end.erlang\"}},\"name\":\"constant.other.symbol.quoted.single.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})\",\"name\":\"constant.other.symbol.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.atom.erlang\"}]},{\"match\":\"[a-z][a-zA-Z\\\\d@_]*+\",\"name\":\"constant.other.symbol.unquoted.erlang\"}]},\"behaviour-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.behaviour.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.behaviour.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(behaviour)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.behaviour.erlang\"},\"binary\":{\"begin\":\"(<<)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.begin.erlang\"}},\"end\":\"(>>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.binary.end.erlang\"}},\"name\":\"meta.structure.binary.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.binary.erlang\"},\"2\":{\"name\":\"punctuation.separator.value-size.erlang\"}},\"match\":\"(,)|(:)\"},{\"include\":\"#internal-type-specifiers\"},{\"include\":\"#everything-else\"}]},\"character\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"},\"2\":{\"name\":\"constant.character.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"},\"5\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\$)((\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2}))\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.character.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.character.erlang\"}},\"match\":\"(\\\\$)[ \\\\S]\",\"name\":\"constant.character.erlang\"},{\"match\":\"\\\\$.?\",\"name\":\"invalid.illegal.character.erlang\"}]},\"comment\":{\"begin\":\"(^[ \\\\t]+)?(?=%)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.erlang\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"%\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.erlang\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.percentage.erlang\"}]},\"define-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"(?=^\\\\s*+-\\\\s*+define\\\\s*+\\\\(\\\\s*+[a-zA-Z\\\\d@_]++\\\\s*+\\\\()\",\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.define.erlang\",\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(define)\\\\s*+(\\\\()\\\\s*+([a-zA-Z\\\\d@_]++)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.define.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*(,)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"\\\\|\\\\||[|:;,.]|->\",\"name\":\"punctuation.separator.define.erlang\"},{\"include\":\"#everything-else\"}]}]},\"directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(?)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\)?)\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.erlang\"},\"3\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\.)\",\"name\":\"meta.directive.erlang\"}]},\"docstring\":{\"begin\":\"(?<!\\\")((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"3\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\2))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.triple.erlang\"},\"everything-else\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#record-usage\"},{\"include\":\"#macro-usage\"},{\"include\":\"#expression\"},{\"include\":\"#keyword\"},{\"include\":\"#textual-operator\"},{\"include\":\"#language-constant\"},{\"include\":\"#function-call\"},{\"include\":\"#tuple\"},{\"include\":\"#list\"},{\"include\":\"#binary\"},{\"include\":\"#parenthesized-expression\"},{\"include\":\"#character\"},{\"include\":\"#number\"},{\"include\":\"#atom\"},{\"include\":\"#sigil-docstring\"},{\"include\":\"#sigil-string\"},{\"include\":\"#docstring\"},{\"include\":\"#string\"},{\"include\":\"#symbolic-operator\"},{\"include\":\"#variable\"}]},\"expression\":{\"patterns\":[{\"begin\":\"\\\\b(if)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.if.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.if.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(case)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.case.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.case.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(receive)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.receive.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.receive.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"variable.other.erlang\"},\"6\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"8\":{\"name\":\"entity.name.function.erlang\"},\"9\":{\"name\":\"variable.other.erlang\"},\"10\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"match\":\"\\\\b(fun)\\\\s+((([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*(/)\",\"name\":\"meta.expression.fun.implicit.erlang\"},{\"begin\":\"\\\\b(fun)\\\\s+(([a-z][a-zA-Z\\\\d@_]*+)|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"},\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s+(?!\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"(/)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"name\":\"meta.expression.fun.implicit.erlang\",\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\s*+(\\\\()(?=(\\\\s*+\\\\()|(\\\\)))\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(fun)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.fun.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.fun.erlang\",\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\bend\\\\b)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(try)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.try.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.try.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(begin)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.begin.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.begin.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"\\\\b(maybe)\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.maybe.erlang\"}},\"end\":\"\\\\b(end)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.end.erlang\"}},\"name\":\"meta.expression.maybe.erlang\",\"patterns\":[{\"include\":\"#internal-expression-punctuation\"},{\"include\":\"#everything-else\"}]}]},\"function\":{\"begin\":\"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.definition.erlang\"}},\"end\":\"(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.terminator.function.erlang\"}},\"name\":\"meta.function.erlang\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"entity.name.function.erlang\"}},\"match\":\"^\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(?=\\\\()\"},{\"begin\":\"(?=\\\\()\",\"end\":\"(;)|(?=\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clauses.erlang\"}},\"patterns\":[{\"include\":\"#parenthesized-expression\"},{\"include\":\"#internal-function-parts\"}]},{\"include\":\"#everything-else\"}]},\"function-call\":{\"begin\":\"(?=([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\(|:\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+'|_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)\\\\s*+\\\\())\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"name\":\"meta.function-call.erlang\",\"patterns\":[{\"begin\":\"((erlang)\\\\s*+(:)\\\\s*+)?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)\\\\s*+(\\\\()\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.type.class.module.erlang\"},\"3\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"4\":{\"name\":\"entity.name.function.guard.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"begin\":\"((([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(:)\\\\s*+)?(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+))\\\\s*+(\\\\()\",\"beginCaptures\":{\"3\":{\"name\":\"entity.name.type.class.module.erlang\"},\"4\":{\"name\":\"variable.other.erlang\"},\"5\":{\"name\":\"punctuation.separator.module-function.erlang\"},\"7\":{\"name\":\"entity.name.function.erlang\"},\"8\":{\"name\":\"variable.other.erlang\"},\"9\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(?=\\\\))\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]}]},\"import-export-directive\":{\"patterns\":[{\"begin\":\"^\\\\s*+(-)\\\\s*+(import)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.import.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]},{\"begin\":\"^\\\\s*+(-)\\\\s*+(export)\\\\s*+(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.export.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.export.erlang\",\"patterns\":[{\"include\":\"#internal-function-list\"}]}]},\"internal-expression-punctuation\":{\"captures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"},\"2\":{\"name\":\"punctuation.separator.clauses.erlang\"},\"3\":{\"name\":\"punctuation.separator.expressions.erlang\"}},\"match\":\"(->)|(;)|(,)\"},\"internal-function-list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.function.erlang\",\"patterns\":[{\"begin\":\"([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(/)\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.erlang\"},\"2\":{\"name\":\"punctuation.separator.function-arity.erlang\"}},\"end\":\"(,)|(?=])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.list.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-function-parts\":{\"patterns\":[{\"begin\":\"(?=\\\\()\",\"end\":\"(->)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.clause-head-body.erlang\"}},\"patterns\":[{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"}},\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.parameters.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\"[,;]\",\"name\":\"punctuation.separator.guards.erlang\"},{\"include\":\"#everything-else\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.expressions.erlang\"},{\"include\":\"#everything-else\"}]},\"internal-record-body\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.class.record.end.erlang\"}},\"name\":\"meta.structure.record.erlang\",\"patterns\":[{\"begin\":\"(([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')|(_))\",\"beginCaptures\":{\"2\":{\"name\":\"variable.other.field.erlang\"},\"3\":{\"name\":\"variable.language.omitted.field.erlang\"}},\"end\":\"(,)|(?=})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.separator.class.record.erlang\"}},\"patterns\":[{\"include\":\"#everything-else\"}]},{\"include\":\"#everything-else\"}]},\"internal-string-body\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.escape.erlang\"},\"3\":{\"name\":\"punctuation.definition.escape.erlang\"}},\"match\":\"(\\\\\\\\)([bdefnrstv\\\\\\\\'\\\"]|(\\\\^)[@-_a-z]|[0-7]{1,3}|x[\\\\da-fA-F]{2})\",\"name\":\"constant.character.escape.erlang\"},{\"match\":\"\\\\\\\\\\\\^?.?\",\"name\":\"invalid.illegal.string.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"},\"6\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"},\"10\":{\"name\":\"punctuation.separator.placeholder-parts.erlang\"}},\"match\":\"(~)((-)?\\\\d++|(\\\\*))?((\\\\.)(\\\\d++|(\\\\*))?((\\\\.)((\\\\*)|.))?)?[tlkK]*[~cfegswpWPBX#bx+ni]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.placeholder.erlang\"}},\"match\":\"(~)(\\\\*)?(\\\\d++)?(t)?[~du\\\\-#fsacl]\",\"name\":\"constant.character.format.placeholder.other.erlang\"},{\"match\":\"~[^\\\"]?\",\"name\":\"invalid.illegal.string.erlang\"}]},\"internal-type-specifiers\":{\"begin\":\"(/)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.separator.value-type.erlang\"}},\"end\":\"(?=[,:]|>>)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.erlang\"},\"2\":{\"name\":\"storage.modifier.signedness.erlang\"},\"3\":{\"name\":\"storage.modifier.endianness.erlang\"},\"4\":{\"name\":\"storage.modifier.unit.erlang\"},\"5\":{\"name\":\"punctuation.separator.unit-specifiers.erlang\"},\"6\":{\"name\":\"constant.numeric.integer.decimal.erlang\"},\"7\":{\"name\":\"punctuation.separator.type-specifiers.erlang\"}},\"match\":\"(integer|float|binary|bytes|bitstring|bits|utf8|utf16|utf32)|(signed|unsigned)|(big|little|native)|(unit)(:)(\\\\d++)|(-)\"}]},\"keyword\":{\"match\":\"\\\\b(after|begin|case|catch|cond|end|fun|if|let|of|try|receive|when|maybe|else)\\\\b\",\"name\":\"keyword.control.erlang\"},\"language-constant\":{\"match\":\"\\\\b(false|true|undefined)\\\\b\",\"name\":\"constant.language\"},\"list\":{\"begin\":\"(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.list.end.erlang\"}},\"name\":\"meta.structure.list.erlang\",\"patterns\":[{\"match\":\"\\\\||\\\\|\\\\||,\",\"name\":\"punctuation.separator.list.erlang\"},{\"include\":\"#everything-else\"}]},\"macro-directive\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifdef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifdef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifdef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.ifndef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(ifndef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.ifndef.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.undef.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.function.macro.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(undef)\\\\s*+(\\\\()\\\\s*+([a-zA-z\\\\d@_]++)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.undef.erlang\"}]},\"macro-usage\":{\"captures\":{\"1\":{\"name\":\"keyword.operator.macro.erlang\"},\"2\":{\"name\":\"entity.name.function.macro.erlang\"}},\"match\":\"(\\\\?\\\\??)\\\\s*+([a-zA-Z\\\\d@_]++)\",\"name\":\"meta.macro-usage.erlang\"},\"module-directive\":{\"captures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.module.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.module.definition.erlang\"},\"5\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"6\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"match\":\"^\\\\s*+(-)\\\\s*+(module)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+)\\\\s*+(\\\\))\\\\s*+(\\\\.)\",\"name\":\"meta.directive.module.erlang\"},\"number\":{\"begin\":\"(?=\\\\d)\",\"end\":\"(?!\\\\d)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.separator.integer-float.erlang\"},\"2\":{\"name\":\"punctuation.separator.float-exponent.erlang\"}},\"match\":\"\\\\d++(\\\\.)\\\\d++([eE][+-]?\\\\d++)?\",\"name\":\"constant.numeric.float.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"2(#)([0-1]++_)*[0-1]++\",\"name\":\"constant.numeric.integer.binary.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"3(#)([0-2]++_)*[0-2]++\",\"name\":\"constant.numeric.integer.base-3.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"4(#)([0-3]++_)*[0-3]++\",\"name\":\"constant.numeric.integer.base-4.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"5(#)([0-4]++_)*[0-4]++\",\"name\":\"constant.numeric.integer.base-5.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"6(#)([0-5]++_)*[0-5]++\",\"name\":\"constant.numeric.integer.base-6.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"7(#)([0-6]++_)*[0-6]++\",\"name\":\"constant.numeric.integer.base-7.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"8(#)([0-7]++_)*[0-7]++\",\"name\":\"constant.numeric.integer.octal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"9(#)([0-8]++_)*[0-8]++\",\"name\":\"constant.numeric.integer.base-9.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"10(#)(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"11(#)([\\\\daA]++_)*[\\\\daA]++\",\"name\":\"constant.numeric.integer.base-11.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"12(#)([\\\\da-bA-B]++_)*[\\\\da-bA-B]++\",\"name\":\"constant.numeric.integer.base-12.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"13(#)([\\\\da-cA-C]++_)*[\\\\da-cA-C]++\",\"name\":\"constant.numeric.integer.base-13.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"14(#)([\\\\da-dA-D]++_)*[\\\\da-dA-D]++\",\"name\":\"constant.numeric.integer.base-14.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"15(#)([\\\\da-eA-E]++_)*[\\\\da-eA-E]++\",\"name\":\"constant.numeric.integer.base-15.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"16(#)([\\\\da-fA-F]++_)*[\\\\da-fA-F]++\",\"name\":\"constant.numeric.integer.hexadecimal.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"17(#)([\\\\da-gA-G]++_)*[\\\\da-gA-G]++\",\"name\":\"constant.numeric.integer.base-17.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"18(#)([\\\\da-hA-H]++_)*[\\\\da-hA-H]++\",\"name\":\"constant.numeric.integer.base-18.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"19(#)([\\\\da-iA-I]++_)*[\\\\da-iA-I]++\",\"name\":\"constant.numeric.integer.base-19.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"20(#)([\\\\da-jA-J]++_)*[\\\\da-jA-J]++\",\"name\":\"constant.numeric.integer.base-20.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"21(#)([\\\\da-kA-K]++_)*[\\\\da-kA-K]++\",\"name\":\"constant.numeric.integer.base-21.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"22(#)([\\\\da-lA-L]++_)*[\\\\da-lA-L]++\",\"name\":\"constant.numeric.integer.base-22.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"23(#)([\\\\da-mA-M]++_)*[\\\\da-mA-M]++\",\"name\":\"constant.numeric.integer.base-23.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"24(#)([\\\\da-nA-N]++_)*[\\\\da-nA-N]++\",\"name\":\"constant.numeric.integer.base-24.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"25(#)([\\\\da-oA-O]++_)*[\\\\da-oA-O]++\",\"name\":\"constant.numeric.integer.base-25.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"26(#)([\\\\da-pA-P]++_)*[\\\\da-pA-P]++\",\"name\":\"constant.numeric.integer.base-26.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"27(#)([\\\\da-qA-Q]++_)*[\\\\da-qA-Q]++\",\"name\":\"constant.numeric.integer.base-27.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"28(#)([\\\\da-rA-R]++_)*[\\\\da-rA-R]++\",\"name\":\"constant.numeric.integer.base-28.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"29(#)([\\\\da-sA-S]++_)*[\\\\da-sA-S]++\",\"name\":\"constant.numeric.integer.base-29.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"30(#)([\\\\da-tA-T]++_)*[\\\\da-tA-T]++\",\"name\":\"constant.numeric.integer.base-30.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"31(#)([\\\\da-uA-U]++_)*[\\\\da-uA-U]++\",\"name\":\"constant.numeric.integer.base-31.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"32(#)([\\\\da-vA-V]++_)*[\\\\da-vA-V]++\",\"name\":\"constant.numeric.integer.base-32.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"33(#)([\\\\da-wA-W]++_)*[\\\\da-wA-W]++\",\"name\":\"constant.numeric.integer.base-33.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"34(#)([\\\\da-xA-X]++_)*[\\\\da-xA-X]++\",\"name\":\"constant.numeric.integer.base-34.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"35(#)([\\\\da-yA-Y]++_)*[\\\\da-yA-Y]++\",\"name\":\"constant.numeric.integer.base-35.erlang\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.base-integer.erlang\"}},\"match\":\"36(#)([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++\",\"name\":\"constant.numeric.integer.base-36.erlang\"},{\"match\":\"\\\\d++#([\\\\da-zA-Z]++_)*[\\\\da-zA-Z]++\",\"name\":\"invalid.illegal.integer.erlang\"},{\"match\":\"(\\\\d++_)*\\\\d++\",\"name\":\"constant.numeric.integer.decimal.erlang\"}]},\"parenthesized-expression\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.erlang\"}},\"name\":\"meta.expression.parenthesized\",\"patterns\":[{\"include\":\"#everything-else\"}]},\"record-directive\":{\"begin\":\"^\\\\s*+(-)\\\\s*+(record)\\\\s*+(\\\\()\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(,)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.directive.begin.erlang\"},\"2\":{\"name\":\"keyword.control.directive.import.erlang\"},\"3\":{\"name\":\"punctuation.definition.parameters.begin.erlang\"},\"4\":{\"name\":\"entity.name.type.class.record.definition.erlang\"},\"5\":{\"name\":\"punctuation.separator.parameters.erlang\"}},\"end\":\"(\\\\))\\\\s*+(\\\\.)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.parameters.end.erlang\"},\"2\":{\"name\":\"punctuation.section.directive.end.erlang\"}},\"name\":\"meta.directive.record.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"},{\"include\":\"#comment\"}]},\"record-usage\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"},\"3\":{\"name\":\"punctuation.separator.record-field.erlang\"},\"4\":{\"name\":\"variable.other.field.erlang\"}},\"match\":\"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\\\\s*+(\\\\.)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\",\"name\":\"meta.record-usage.erlang\"},{\"begin\":\"(#)\\\\s*+([a-z][a-zA-Z\\\\d@_]*+|'[^']*+')\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.operator.record.erlang\"},\"2\":{\"name\":\"entity.name.type.class.record.erlang\"}},\"end\":\"(?<=})\",\"name\":\"meta.record-usage.erlang\",\"patterns\":[{\"include\":\"#internal-record-body\"}]}]},\"sigil-docstring\":{\"begin\":\"(~[bBsS]?)((\\\"{3,})\\\\s*)(\\\\S.*)?$\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"meta.string.quoted.triple.begin.erlang\"},\"3\":{\"name\":\"punctuation.definition.string.begin.erlang\"},\"4\":{\"name\":\"invalid.illegal.string.erlang\"}},\"end\":\"^(\\\\s*(\\\\3))(?!\\\")\",\"endCaptures\":{\"1\":{\"name\":\"meta.string.quoted.triple.end.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.tripple.sigil.erlang\"},\"sigil-string\":{\"patterns\":[{\"include\":\"#sigil-string-parenthesis\"},{\"include\":\"#sigil-string-parenthesis-verbatim\"},{\"include\":\"#sigil-string-curly-brackets\"},{\"include\":\"#sigil-string-curly-brackets-verbatim\"},{\"include\":\"#sigil-string-square-brackets\"},{\"include\":\"#sigil-string-square-brackets-verbatim\"},{\"include\":\"#sigil-string-less-greater\"},{\"include\":\"#sigil-string-less-greater-verbatim\"},{\"include\":\"#sigil-string-single-character\"},{\"include\":\"#sigil-string-single-character-verbatim\"},{\"include\":\"#sigil-string-single-quote\"},{\"include\":\"#sigil-string-single-quote-verbatim\"},{\"include\":\"#sigil-string-double-quote\"},{\"include\":\"#sigil-string-double-quote-verbatim\"}]},\"sigil-string-curly-brackets\":{\"begin\":\"(~[bs]?)(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-curly-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.curly-brackets.sigil.erlang\"},\"sigil-string-double-quote\":{\"begin\":\"(~[bs]?)(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-double-quote-verbatim\":{\"begin\":\"(~[BS])(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.sigil.erlang\"},\"sigil-string-less-greater\":{\"begin\":\"(~[bs]?)(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-less-greater-verbatim\":{\"begin\":\"(~[BS])(<)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(>)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.less-greater.sigil.erlang\"},\"sigil-string-parenthesis\":{\"begin\":\"(~[bs]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-parenthesis-verbatim\":{\"begin\":\"(~[BS])(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.parenthesis.sigil.erlang\"},\"sigil-string-single-character\":{\"begin\":\"(~[bs]?)([/|`#])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-character-verbatim\":{\"begin\":\"(~[BS])([/|`#])\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.other.sigil.erlang\"},\"sigil-string-single-quote\":{\"begin\":\"(~[bs]?)(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-single-quote-verbatim\":{\"begin\":\"(~[BS])(')\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\\2)\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.single.sigil.erlang\"},\"sigil-string-square-brackets\":{\"begin\":\"(~[bs]?)(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"sigil-string-square-brackets-verbatim\":{\"begin\":\"(~[BS])(\\\\[)\",\"beginCaptures\":{\"1\":{\"name\":\"storage.type.string.erlang\"},\"2\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(])\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.square-brackets.sigil.erlang\"},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.erlang\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.erlang\"}},\"name\":\"string.quoted.double.erlang\",\"patterns\":[{\"include\":\"#internal-string-body\"}]},\"symbolic-operator\":{\"match\":\"\\\\+\\\\+|\\\\+|--|[-*]|/=|/|=/=|=:=|==|=<|=|<-|<|>=|[>!]|::|\\\\?=\",\"name\":\"keyword.operator.symbolic.erlang\"},\"textual-operator\":{\"match\":\"\\\\b(andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\\\b\",\"name\":\"keyword.operator.textual.erlang\"},\"tuple\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.begin.erlang\"}},\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.tuple.end.erlang\"}},\"name\":\"meta.structure.tuple.erlang\",\"patterns\":[{\"match\":\",\",\"name\":\"punctuation.separator.tuple.erlang\"},{\"include\":\"#everything-else\"}]},\"variable\":{\"captures\":{\"1\":{\"name\":\"variable.other.erlang\"},\"2\":{\"name\":\"variable.language.omitted.erlang\"}},\"match\":\"(_[a-zA-Z\\\\d@_]++|[A-Z][a-zA-Z\\\\d@_]*+)|(_)\"}},\"scopeName\":\"source.erlang\",\"aliases\":[\"erl\"]}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/fennel.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fennel\",\"name\":\"fennel\",\"patterns\":[{\"include\":\"#expression\"}],\"repository\":{\"comment\":{\"patterns\":[{\"begin\":\";\",\"end\":\"$\",\"name\":\"comment.line.semicolon.fennel\"}]},\"constants\":{\"patterns\":[{\"match\":\"nil\",\"name\":\"constant.language.nil.fennel\"},{\"match\":\"false|true\",\"name\":\"constant.language.boolean.fennel\"},{\"match\":\"(-?\\\\d+\\\\.\\\\d+([eE][+\\\\-]?\\\\d+)?)\",\"name\":\"constant.numeric.double.fennel\"},{\"match\":\"(-?\\\\d+)\",\"name\":\"constant.numeric.integer.fennel\"}]},\"expression\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constants\"},{\"include\":\"#sexp\"},{\"include\":\"#table\"},{\"include\":\"#vector\"},{\"include\":\"#keywords\"},{\"include\":\"#special\"},{\"include\":\"#lua\"},{\"include\":\"#strings\"},{\"include\":\"#methods\"},{\"include\":\"#symbols\"}]},\"keywords\":{\"match\":\":[^ ]+\",\"name\":\"constant.keyword.fennel\"},\"lua\":{\"patterns\":[{\"match\":\"\\\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\\\b\",\"name\":\"support.function.fennel\"},{\"match\":\"\\\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\\\b\",\"name\":\"support.function.library.fennel\"},{\"match\":\"\\\\b(_(?:G|VERSION))\\\\b\",\"name\":\"constant.language.fennel\"}]},\"methods\":{\"patterns\":[{\"match\":\"\\\\w+:\\\\w+\",\"name\":\"entity.name.function.method.fennel\"}]},\"sexp\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.paren.open.fennel\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.paren.close.fennel\"}},\"name\":\"sexp.fennel\",\"patterns\":[{\"include\":\"#expression\"}]},\"special\":{\"patterns\":[{\"match\":\"[#%+*]|\\\\?\\\\.|(\\\\.)?\\\\.|(/)?/|:|<=?|=|>=?|\\\\^\",\"name\":\"keyword.special.fennel\"},{\"match\":\"(->(>)?)\",\"name\":\"keyword.special.fennel\"},{\"match\":\"-\\\\?>(>)?\",\"name\":\"keyword.special.fennel\"},{\"match\":\"-\",\"name\":\"keyword.special.fennel\"},{\"match\":\"not=\",\"name\":\"keyword.special.fennel\"},{\"match\":\"set-forcibly!\",\"name\":\"keyword.special.fennel\"},{\"match\":\"\\\\b(and|band|bnot|bor|bxor|collect|comment|do|doc|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\b\",\"name\":\"keyword.special.fennel\"},{\"match\":\"\\\\b(fn)\\\\b\",\"name\":\"keyword.control.fennel\"},{\"match\":\"~=\",\"name\":\"keyword.special.fennel\"},{\"match\":\"λ\",\"name\":\"keyword.special.fennel\"}]},\"strings\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.fennel\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.fennel\"}]},\"symbols\":{\"patterns\":[{\"match\":\"\\\\w+(?:\\\\.\\\\w+)+\",\"name\":\"entity.name.function.symbol.fennel\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.fennel\"}]},\"table\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.table.bracket.open.fennel\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.table.bracket.close.fennel\"}},\"name\":\"table.fennel\",\"patterns\":[{\"include\":\"#expression\"}]},\"vector\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.vector.bracket.open.fennel\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.vector.bracket.close.fennel\"}},\"name\":\"meta.vector.fennel\",\"patterns\":[{\"include\":\"#expression\"}]}},\"scopeName\":\"source.fnl\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fennel\",\"name\":\"fennel\",\"patterns\":[{\"include\":\"#expression\"}],\"repository\":{\"comment\":{\"patterns\":[{\"begin\":\";\",\"end\":\"$\",\"name\":\"comment.line.semicolon.fennel\"}]},\"constants\":{\"patterns\":[{\"match\":\"nil\",\"name\":\"constant.language.nil.fennel\"},{\"match\":\"false|true\",\"name\":\"constant.language.boolean.fennel\"},{\"match\":\"(-?\\\\d+\\\\.\\\\d+([eE][+-]?\\\\d+)?)\",\"name\":\"constant.numeric.double.fennel\"},{\"match\":\"(-?\\\\d+)\",\"name\":\"constant.numeric.integer.fennel\"}]},\"expression\":{\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#constants\"},{\"include\":\"#sexp\"},{\"include\":\"#table\"},{\"include\":\"#vector\"},{\"include\":\"#keywords\"},{\"include\":\"#special\"},{\"include\":\"#lua\"},{\"include\":\"#strings\"},{\"include\":\"#methods\"},{\"include\":\"#symbols\"}]},\"keywords\":{\"match\":\":[^ ]+\",\"name\":\"constant.keyword.fennel\"},\"lua\":{\"patterns\":[{\"match\":\"\\\\b(assert|collectgarbage|dofile|error|getmetatable|ipairs|load|loadfile|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setmetatable|tonumber|tostring|type|xpcall)\\\\b\",\"name\":\"support.function.fennel\"},{\"match\":\"\\\\b(coroutine|coroutine.create|coroutine.isyieldable|coroutine.resume|coroutine.running|coroutine.status|coroutine.wrap|coroutine.yield|debug|debug.debug|debug.gethook|debug.getinfo|debug.getlocal|debug.getmetatable|debug.getregistry|debug.getupvalue|debug.getuservalue|debug.sethook|debug.setlocal|debug.setmetatable|debug.setupvalue|debug.setuservalue|debug.traceback|debug.upvalueid|debug.upvaluejoin|io|io.close|io.flush|io.input|io.lines|io.open|io.output|io.popen|io.read|io.stderr|io.stdin|io.stdout|io.tmpfile|io.type|io.write|math|math.abs|math.acos|math.asin|math.atan|math.ceil|math.cos|math.deg|math.exp|math.floor|math.fmod|math.huge|math.log|math.max|math.maxinteger|math.min|math.mininteger|math.modf|math.pi|math.rad|math.random|math.randomseed|math.sin|math.sqrt|math.tan|math.tointeger|math.type|math.ult|os|os.clock|os.date|os.difftime|os.execute|os.exit|os.getenv|os.remove|os.rename|os.setlocale|os.time|os.tmpname|package|package.config|package.cpath|package.loaded|package.loadlib|package.path|package.preload|package.searchers|package.searchpath|string|string.byte|string.char|string.dump|string.find|string.format|string.gmatch|string.gsub|string.len|string.lower|string.match|string.pack|string.packsize|string.rep|string.reverse|string.sub|string.unpack|string.upper|table|table.concat|table.insert|table.move|table.pack|table.remove|table.sort|table.unpack|utf8|utf8.char|utf8.charpattern|utf8.codepoint|utf8.codes|utf8.len|utf8.offset)\\\\b\",\"name\":\"support.function.library.fennel\"},{\"match\":\"\\\\b(_(?:G|VERSION))\\\\b\",\"name\":\"constant.language.fennel\"}]},\"methods\":{\"patterns\":[{\"match\":\"\\\\w+:\\\\w+\",\"name\":\"entity.name.function.method.fennel\"}]},\"sexp\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.paren.open.fennel\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.paren.close.fennel\"}},\"name\":\"sexp.fennel\",\"patterns\":[{\"include\":\"#expression\"}]},\"special\":{\"patterns\":[{\"match\":\"[#%+*]|\\\\?\\\\.|(\\\\.)?\\\\.|(/)?/|:|<=?|=|>=?|\\\\^\",\"name\":\"keyword.special.fennel\"},{\"match\":\"(->(>)?)\",\"name\":\"keyword.special.fennel\"},{\"match\":\"-\\\\?>(>)?\",\"name\":\"keyword.special.fennel\"},{\"match\":\"-\",\"name\":\"keyword.special.fennel\"},{\"match\":\"not=\",\"name\":\"keyword.special.fennel\"},{\"match\":\"set-forcibly!\",\"name\":\"keyword.special.fennel\"},{\"match\":\"\\\\b(and|band|bnot|bor|bxor|collect|comment|do|doc|doto|each|eval-compiler|for|global|hashfn|icollect|if|import-macros|include|lambda|length|let|local|lshift|lua|macro|macrodebug|macros|match|not=?|or|partial|pick-args|pick-values|quote|require-macros|rshift|set|tset|values|var|when|while|with-open)\\\\b\",\"name\":\"keyword.special.fennel\"},{\"match\":\"\\\\b(fn)\\\\b\",\"name\":\"keyword.control.fennel\"},{\"match\":\"~=\",\"name\":\"keyword.special.fennel\"},{\"match\":\"λ\",\"name\":\"keyword.special.fennel\"}]},\"strings\":{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.fennel\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.fennel\"}]},\"symbols\":{\"patterns\":[{\"match\":\"\\\\w+(?:\\\\.\\\\w+)+\",\"name\":\"entity.name.function.symbol.fennel\"},{\"match\":\"\\\\w+\",\"name\":\"variable.other.fennel\"}]},\"table\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.table.bracket.open.fennel\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.table.bracket.close.fennel\"}},\"name\":\"table.fennel\",\"patterns\":[{\"include\":\"#expression\"}]},\"vector\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.vector.bracket.open.fennel\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.vector.bracket.close.fennel\"}},\"name\":\"meta.vector.fennel\",\"patterns\":[{\"include\":\"#expression\"}]}},\"scopeName\":\"source.fnl\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/fish.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fish\",\"fileTypes\":[\"fish\"],\"firstLineMatch\":\"^#!.*\\\\bfish\\\\b\",\"foldingStartMarker\":\"^\\\\s*(function|while|if|switch|for|begin)\\\\s.*$\",\"foldingStopMarker\":\"^\\\\s*end\\\\s*$\",\"name\":\"fish\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.fish\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.fish\"}},\"name\":\"string.quoted.double.fish\",\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"\\\\\\\\([\\\"$]|$|\\\\\\\\)\",\"name\":\"constant.character.escape.fish\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.fish\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.fish\"}},\"name\":\"string.quoted.single.fish\",\"patterns\":[{\"match\":\"\\\\\\\\(['`\\\\\\\\])\",\"name\":\"constant.character.escape.fish\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.fish\"}},\"match\":\"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?\",\"name\":\"comment.line.number-sign.fish\"},{\"captures\":{\"2\":{\"name\":\"keyword.control.fish\"},\"4\":{\"name\":\"support.function.command.fish\"}},\"match\":\"(^\\\\s*|&&\\\\s*|\\\\|\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!]))([a-zA-Z_\\\\-0-9\\\\[\\\\].]+)\"},{\"match\":\"(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!])\",\"name\":\"keyword.control.fish\"},{\"match\":\"(?<!\\\\.)\\\\bfunction\\\\b(?![?!])\",\"name\":\"storage.type.fish\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.pipe.fish\"},{\"match\":\"(?:<|([>\\\\^]|>>|\\\\^\\\\^)(&[012\\\\-])?|[012]([<>]|>>)(&[012\\\\-])?)\",\"name\":\"keyword.operator.redirect.fish\"},{\"match\":\"&\",\"name\":\"keyword.operator.background.fish\"},{\"match\":\"\\\\*\\\\*|[*?]\",\"name\":\"keyword.operator.glob.fish\"},{\"captures\":{\"1\":{\"name\":\"source.option.fish\"}},\"match\":\"\\\\s(-{1,2}[a-zA-Z_\\\\-0-9]+|-\\\\w)\\\\b\"},{\"include\":\"#variable\"},{\"include\":\"#escape\"}],\"repository\":{\"escape\":{\"patterns\":[{\"match\":\"\\\\\\\\[abefnrtv $*?~#(){}\\\\[\\\\]<>\\\\^\\\\&|;\\\"']\",\"name\":\"constant.character.escape.single.fish\"},{\"match\":\"\\\\\\\\x\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-ascii.fish\"},{\"match\":\"\\\\\\\\X\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-byte.fish\"},{\"match\":\"\\\\\\\\[0-7]{1,3}\",\"name\":\"constant.character.escape.octal.fish\"},{\"match\":\"\\\\\\\\u\\\\h{1,4}\",\"name\":\"constant.character.escape.unicode-16-bit.fish\"},{\"match\":\"\\\\\\\\U\\\\h{1,8}\",\"name\":\"constant.character.escape.unicode-32-bit.fish\"},{\"match\":\"\\\\\\\\c[a-zA-Z]\",\"name\":\"constant.character.escape.control.fish\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.fish\"}},\"match\":\"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b\",\"name\":\"variable.language.fish\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.fish\"}},\"match\":\"(\\\\$)[a-zA-Z_][a-zA-Z0-9_]*\",\"name\":\"variable.other.normal.fish\"}]}},\"scopeName\":\"source.fish\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fish\",\"fileTypes\":[\"fish\"],\"firstLineMatch\":\"^#!.*\\\\bfish\\\\b\",\"foldingStartMarker\":\"^\\\\s*(function|while|if|switch|for|begin)\\\\s.*$\",\"foldingStopMarker\":\"^\\\\s*end\\\\s*$\",\"name\":\"fish\",\"patterns\":[{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.fish\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.fish\"}},\"name\":\"string.quoted.double.fish\",\"patterns\":[{\"include\":\"#variable\"},{\"match\":\"\\\\\\\\([\\\"$]|$|\\\\\\\\)\",\"name\":\"constant.character.escape.fish\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.fish\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.fish\"}},\"name\":\"string.quoted.single.fish\",\"patterns\":[{\"match\":\"\\\\\\\\(['`\\\\\\\\])\",\"name\":\"constant.character.escape.fish\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.comment.fish\"}},\"match\":\"(?<!\\\\$)(#)(?!\\\\{).*$\\\\n?\",\"name\":\"comment.line.number-sign.fish\"},{\"captures\":{\"2\":{\"name\":\"keyword.control.fish\"},\"4\":{\"name\":\"support.function.command.fish\"}},\"match\":\"(^\\\\s*|&&\\\\s*|\\\\|\\\\s*|\\\\(\\\\s*|;\\\\s*|\\\\b(if|while)\\\\b\\\\s+)(?!(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!]))([a-zA-Z_\\\\-0-9\\\\[\\\\].]+)\"},{\"match\":\"(?<!\\\\.)\\\\b(function|while|if|else|switch|case|for|in|begin|end|continue|break|return|source|exit|wait|and|or|not)\\\\b(?![?!])\",\"name\":\"keyword.control.fish\"},{\"match\":\"(?<!\\\\.)\\\\bfunction\\\\b(?![?!])\",\"name\":\"storage.type.fish\"},{\"match\":\"\\\\|\",\"name\":\"keyword.operator.pipe.fish\"},{\"match\":\"(?:<|([>^]|>>|\\\\^\\\\^)(&[012-])?|[012]([<>]|>>)(&[012-])?)\",\"name\":\"keyword.operator.redirect.fish\"},{\"match\":\"&\",\"name\":\"keyword.operator.background.fish\"},{\"match\":\"\\\\*\\\\*|[*?]\",\"name\":\"keyword.operator.glob.fish\"},{\"captures\":{\"1\":{\"name\":\"source.option.fish\"}},\"match\":\"\\\\s(-{1,2}[a-zA-Z_\\\\-0-9]+|-\\\\w)\\\\b\"},{\"include\":\"#variable\"},{\"include\":\"#escape\"}],\"repository\":{\"escape\":{\"patterns\":[{\"match\":\"\\\\\\\\[abefnrtv $*?~#(){}\\\\[\\\\]<>^\\\\&|;\\\"']\",\"name\":\"constant.character.escape.single.fish\"},{\"match\":\"\\\\\\\\x\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-ascii.fish\"},{\"match\":\"\\\\\\\\X\\\\h{1,2}\",\"name\":\"constant.character.escape.hex-byte.fish\"},{\"match\":\"\\\\\\\\[0-7]{1,3}\",\"name\":\"constant.character.escape.octal.fish\"},{\"match\":\"\\\\\\\\u\\\\h{1,4}\",\"name\":\"constant.character.escape.unicode-16-bit.fish\"},{\"match\":\"\\\\\\\\U\\\\h{1,8}\",\"name\":\"constant.character.escape.unicode-32-bit.fish\"},{\"match\":\"\\\\\\\\c[a-zA-Z]\",\"name\":\"constant.character.escape.control.fish\"}]},\"variable\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.fish\"}},\"match\":\"(\\\\$)(argv|CMD_DURATION|COLUMNS|fish_bind_mode|fish_color_autosuggestion|fish_color_cancel|fish_color_command|fish_color_comment|fish_color_cwd|fish_color_cwd_root|fish_color_end|fish_color_error|fish_color_escape|fish_color_hg_added|fish_color_hg_clean|fish_color_hg_copied|fish_color_hg_deleted|fish_color_hg_dirty|fish_color_hg_modified|fish_color_hg_renamed|fish_color_hg_unmerged|fish_color_hg_untracked|fish_color_history_current|fish_color_host|fish_color_host_remote|fish_color_match|fish_color_normal|fish_color_operator|fish_color_param|fish_color_quote|fish_color_redirection|fish_color_search_match|fish_color_selection|fish_color_status|fish_color_user|fish_color_valid_path|fish_complete_path|fish_function_path|fish_greeting|fish_key_bindings|fish_pager_color_completion|fish_pager_color_description|fish_pager_color_prefix|fish_pager_color_progress|fish_pid|fish_prompt_hg_status_added|fish_prompt_hg_status_copied|fish_prompt_hg_status_deleted|fish_prompt_hg_status_modified|fish_prompt_hg_status_order|fish_prompt_hg_status_unmerged|fish_prompt_hg_status_untracked|FISH_VERSION|history|hostname|IFS|LINES|pipestatus|status|umask|version)\\\\b\",\"name\":\"variable.language.fish\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.fish\"}},\"match\":\"(\\\\$)[a-zA-Z_][a-zA-Z0-9_]*\",\"name\":\"variable.other.normal.fish\"}]}},\"scopeName\":\"source.fish\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/fluent.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fluent\",\"name\":\"fluent\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#message\"},{\"include\":\"#wrong-line\"}],\"repository\":{\"attributes\":{\"begin\":\"\\\\s*(\\\\.[a-zA-Z][a-zA-Z0-9_\\\\-]*\\\\s*=\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.attribute-begin.fluent\"}},\"end\":\"^(?=\\\\s*[^.])\",\"patterns\":[{\"include\":\"#placeable\"}]},\"comment\":{\"match\":\"^##?#?\\\\s.*$\",\"name\":\"comment.fluent\"},\"function-comma\":{\"match\":\",\",\"name\":\"support.function.function-comma.fluent\"},\"function-named-argument\":{\"begin\":\"([a-zA-Z0-9]+:)\\\\s*([\\\"a-zA-Z0-9]+)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.named-argument.name.fluent\"},\"2\":{\"name\":\"variable.other.named-argument.value.fluent\"}},\"end\":\"(?=[),\\\\s])\",\"name\":\"variable.other.named-argument.fluent\"},\"function-positional-argument\":{\"match\":\"\\\\$[a-zA-Z0-9_\\\\-]+\",\"name\":\"variable.other.function.positional-argument.fluent\"},\"invalid-placeable-string-missing-end-quote\":{\"match\":\"\\\"[^\\\"]+$\",\"name\":\"invalid.illegal.wrong-placeable-missing-end-quote.fluent\"},\"invalid-placeable-wrong-placeable-missing-end\":{\"match\":\"([^}A-Z]*$|[^\\\\-][^>]$)\\\\b\",\"name\":\"invalid.illegal.wrong-placeable-missing-end.fluent\"},\"message\":{\"begin\":\"^(-?[a-zA-Z][a-zA-Z0-9_\\\\-]*\\\\s*=\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.message-identifier.fluent\"}},\"contentName\":\"string.fluent\",\"end\":\"^(?=\\\\S)\",\"patterns\":[{\"include\":\"#attributes\"},{\"include\":\"#placeable\"}]},\"placeable\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.placeable.begin.fluent\"}},\"contentName\":\"variable.other.placeable.content.fluent\",\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"keyword.placeable.end.fluent\"}},\"patterns\":[{\"include\":\"#placeable-string\"},{\"include\":\"#placeable-function\"},{\"include\":\"#placeable-reference-or-number\"},{\"include\":\"#selector\"},{\"include\":\"#invalid-placeable-wrong-placeable-missing-end\"},{\"include\":\"#invalid-placeable-string-missing-end-quote\"},{\"include\":\"#invalid-placeable-wrong-function-name\"}]},\"placeable-function\":{\"begin\":\"([A-Z][A-Z0-9_\\\\-]*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.placeable-function.call.begin.fluent\"}},\"contentName\":\"string.placeable-function.fluent\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"support.function.placeable-function.call.end.fluent\"}},\"patterns\":[{\"include\":\"#function-comma\"},{\"include\":\"#function-positional-argument\"},{\"include\":\"#function-named-argument\"}]},\"placeable-reference-or-number\":{\"match\":\"(([\\\\-$])[a-zA-Z0-9_\\\\-]+|[a-zA-Z][a-zA-Z0-9_\\\\-]*|[0-9]+)\",\"name\":\"variable.other.placeable.reference-or-number.fluent\"},\"placeable-string\":{\"begin\":\"(\\\")(?=[^\\\\n]*\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.placeable-string-begin.fluent\"}},\"contentName\":\"string.placeable-string-content.fluent\",\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.placeable-string-end.fluent\"}}},\"selector\":{\"begin\":\"(->)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.selector.begin.fluent\"}},\"contentName\":\"string.selector.content.fluent\",\"end\":\"^(?=\\\\s*})\",\"patterns\":[{\"include\":\"#selector-item\"}]},\"selector-item\":{\"begin\":\"(\\\\s*\\\\*?\\\\[)([a-zA-Z0-9_\\\\-]+)(]\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.selector-item.begin.fluent\"},\"2\":{\"name\":\"variable.other.selector-item.begin.fluent\"},\"3\":{\"name\":\"support.function.selector-item.begin.fluent\"}},\"contentName\":\"string.selector-item.content.fluent\",\"end\":\"^(?=(\\\\s*})|(\\\\s*\\\\[)|(\\\\s*\\\\*))\",\"patterns\":[{\"include\":\"#placeable\"}]},\"wrong-line\":{\"match\":\".*\",\"name\":\"invalid.illegal.wrong-line.fluent\"}},\"scopeName\":\"source.ftl\",\"aliases\":[\"ftl\"]}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Fluent\",\"name\":\"fluent\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#message\"},{\"include\":\"#wrong-line\"}],\"repository\":{\"attributes\":{\"begin\":\"\\\\s*(\\\\.[a-zA-Z][a-zA-Z0-9_-]*\\\\s*=\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.attribute-begin.fluent\"}},\"end\":\"^(?=\\\\s*[^.])\",\"patterns\":[{\"include\":\"#placeable\"}]},\"comment\":{\"match\":\"^##?#?\\\\s.*$\",\"name\":\"comment.fluent\"},\"function-comma\":{\"match\":\",\",\"name\":\"support.function.function-comma.fluent\"},\"function-named-argument\":{\"begin\":\"([a-zA-Z0-9]+:)\\\\s*([\\\"a-zA-Z0-9]+)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.named-argument.name.fluent\"},\"2\":{\"name\":\"variable.other.named-argument.value.fluent\"}},\"end\":\"(?=[),\\\\s])\",\"name\":\"variable.other.named-argument.fluent\"},\"function-positional-argument\":{\"match\":\"\\\\$[a-zA-Z0-9_-]+\",\"name\":\"variable.other.function.positional-argument.fluent\"},\"invalid-placeable-string-missing-end-quote\":{\"match\":\"\\\"[^\\\"]+$\",\"name\":\"invalid.illegal.wrong-placeable-missing-end-quote.fluent\"},\"invalid-placeable-wrong-placeable-missing-end\":{\"match\":\"([^}A-Z]*$|[^-][^>]$)\\\\b\",\"name\":\"invalid.illegal.wrong-placeable-missing-end.fluent\"},\"message\":{\"begin\":\"^(-?[a-zA-Z][a-zA-Z0-9_-]*\\\\s*=\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.class.message-identifier.fluent\"}},\"contentName\":\"string.fluent\",\"end\":\"^(?=\\\\S)\",\"patterns\":[{\"include\":\"#attributes\"},{\"include\":\"#placeable\"}]},\"placeable\":{\"begin\":\"(\\\\{)\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.placeable.begin.fluent\"}},\"contentName\":\"variable.other.placeable.content.fluent\",\"end\":\"(})\",\"endCaptures\":{\"1\":{\"name\":\"keyword.placeable.end.fluent\"}},\"patterns\":[{\"include\":\"#placeable-string\"},{\"include\":\"#placeable-function\"},{\"include\":\"#placeable-reference-or-number\"},{\"include\":\"#selector\"},{\"include\":\"#invalid-placeable-wrong-placeable-missing-end\"},{\"include\":\"#invalid-placeable-string-missing-end-quote\"},{\"include\":\"#invalid-placeable-wrong-function-name\"}]},\"placeable-function\":{\"begin\":\"([A-Z][A-Z0-9_-]*\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.placeable-function.call.begin.fluent\"}},\"contentName\":\"string.placeable-function.fluent\",\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"support.function.placeable-function.call.end.fluent\"}},\"patterns\":[{\"include\":\"#function-comma\"},{\"include\":\"#function-positional-argument\"},{\"include\":\"#function-named-argument\"}]},\"placeable-reference-or-number\":{\"match\":\"(([-$])[a-zA-Z0-9_-]+|[a-zA-Z][a-zA-Z0-9_-]*|[0-9]+)\",\"name\":\"variable.other.placeable.reference-or-number.fluent\"},\"placeable-string\":{\"begin\":\"(\\\")(?=[^\\\\n]*\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.placeable-string-begin.fluent\"}},\"contentName\":\"string.placeable-string-content.fluent\",\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"variable.other.placeable-string-end.fluent\"}}},\"selector\":{\"begin\":\"(->)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.selector.begin.fluent\"}},\"contentName\":\"string.selector.content.fluent\",\"end\":\"^(?=\\\\s*})\",\"patterns\":[{\"include\":\"#selector-item\"}]},\"selector-item\":{\"begin\":\"(\\\\s*\\\\*?\\\\[)([a-zA-Z0-9_-]+)(]\\\\s*)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.selector-item.begin.fluent\"},\"2\":{\"name\":\"variable.other.selector-item.begin.fluent\"},\"3\":{\"name\":\"support.function.selector-item.begin.fluent\"}},\"contentName\":\"string.selector-item.content.fluent\",\"end\":\"^(?=(\\\\s*})|(\\\\s*\\\\[)|(\\\\s*\\\\*))\",\"patterns\":[{\"include\":\"#placeable\"}]},\"wrong-line\":{\"match\":\".*\",\"name\":\"invalid.illegal.wrong-line.fluent\"}},\"scopeName\":\"source.ftl\",\"aliases\":[\"ftl\"]}"))
2
2
 
3
3
  export default [
4
4
  lang