@shikijs/langs 3.3.0 → 3.4.0

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 (127) hide show
  1. package/dist/abap.mjs +1 -1
  2. package/dist/ada.mjs +1 -1
  3. package/dist/angular-expression.mjs +1 -1
  4. package/dist/angular-ts.mjs +1 -1
  5. package/dist/applescript.mjs +1 -1
  6. package/dist/ara.mjs +1 -1
  7. package/dist/asciidoc.mjs +1 -1
  8. package/dist/astro.mjs +1 -1
  9. package/dist/awk.mjs +1 -1
  10. package/dist/ballerina.mjs +1 -1
  11. package/dist/bat.mjs +1 -1
  12. package/dist/blade.mjs +1 -1
  13. package/dist/c.mjs +1 -1
  14. package/dist/cadence.mjs +1 -1
  15. package/dist/clarity.mjs +1 -1
  16. package/dist/cmake.mjs +1 -1
  17. package/dist/cobol.mjs +1 -1
  18. package/dist/codeql.mjs +1 -1
  19. package/dist/coffee.mjs +1 -1
  20. package/dist/common-lisp.mjs +1 -1
  21. package/dist/coq.mjs +1 -1
  22. package/dist/cpp-macro.mjs +1 -1
  23. package/dist/cpp.mjs +1 -1
  24. package/dist/crystal.mjs +1 -1
  25. package/dist/css.mjs +1 -1
  26. package/dist/cypher.mjs +1 -1
  27. package/dist/d.mjs +1 -1
  28. package/dist/dax.mjs +1 -1
  29. package/dist/dream-maker.mjs +1 -1
  30. package/dist/elixir.mjs +1 -1
  31. package/dist/elm.mjs +1 -1
  32. package/dist/emacs-lisp.mjs +1 -1
  33. package/dist/erlang.mjs +1 -1
  34. package/dist/fennel.mjs +1 -1
  35. package/dist/fortran-free-form.mjs +1 -1
  36. package/dist/fsharp.mjs +1 -1
  37. package/dist/gdresource.mjs +1 -1
  38. package/dist/gdscript.mjs +1 -1
  39. package/dist/gherkin.mjs +1 -1
  40. package/dist/gleam.mjs +1 -1
  41. package/dist/glimmer-js.mjs +1 -1
  42. package/dist/glimmer-ts.mjs +1 -1
  43. package/dist/glsl.mjs +1 -1
  44. package/dist/gnuplot.mjs +1 -1
  45. package/dist/go.mjs +1 -1
  46. package/dist/groovy.mjs +1 -1
  47. package/dist/hack.mjs +1 -1
  48. package/dist/handlebars.mjs +1 -1
  49. package/dist/haxe.mjs +1 -1
  50. package/dist/hlsl.mjs +1 -1
  51. package/dist/html.mjs +1 -1
  52. package/dist/imba.mjs +1 -1
  53. package/dist/java.mjs +1 -1
  54. package/dist/javascript.mjs +1 -1
  55. package/dist/jinja.mjs +1 -1
  56. package/dist/jsonnet.mjs +1 -1
  57. package/dist/jsx.mjs +1 -1
  58. package/dist/julia.mjs +1 -1
  59. package/dist/kusto.mjs +1 -1
  60. package/dist/latex.mjs +1 -1
  61. package/dist/lean.mjs +1 -1
  62. package/dist/less.mjs +1 -1
  63. package/dist/liquid.mjs +1 -1
  64. package/dist/llvm.mjs +1 -1
  65. package/dist/log.mjs +1 -1
  66. package/dist/logo.mjs +1 -1
  67. package/dist/luau.mjs +1 -1
  68. package/dist/make.mjs +1 -1
  69. package/dist/markdown.mjs +1 -1
  70. package/dist/marko.mjs +1 -1
  71. package/dist/matlab.mjs +1 -1
  72. package/dist/mdc.mjs +1 -1
  73. package/dist/mdx.mjs +1 -1
  74. package/dist/mermaid.mjs +1 -1
  75. package/dist/mipsasm.mjs +1 -1
  76. package/dist/mojo.mjs +1 -1
  77. package/dist/nginx.mjs +1 -1
  78. package/dist/nim.mjs +1 -1
  79. package/dist/nix.mjs +1 -1
  80. package/dist/nushell.mjs +1 -1
  81. package/dist/objective-c.mjs +1 -1
  82. package/dist/objective-cpp.mjs +1 -1
  83. package/dist/ocaml.mjs +1 -1
  84. package/dist/pascal.mjs +1 -1
  85. package/dist/perl.mjs +1 -1
  86. package/dist/php.mjs +1 -1
  87. package/dist/plsql.mjs +1 -1
  88. package/dist/powershell.mjs +1 -1
  89. package/dist/prolog.mjs +1 -1
  90. package/dist/python.mjs +1 -1
  91. package/dist/qss.mjs +1 -1
  92. package/dist/r.mjs +1 -1
  93. package/dist/racket.mjs +1 -1
  94. package/dist/raku.mjs +1 -1
  95. package/dist/riscv.mjs +1 -1
  96. package/dist/ruby.mjs +1 -1
  97. package/dist/sas.mjs +1 -1
  98. package/dist/scheme.mjs +1 -1
  99. package/dist/shaderlab.mjs +1 -1
  100. package/dist/shellscript.mjs +1 -1
  101. package/dist/smalltalk.mjs +1 -1
  102. package/dist/splunk.mjs +1 -1
  103. package/dist/sql.mjs +1 -1
  104. package/dist/stata.mjs +1 -1
  105. package/dist/stylus.mjs +1 -1
  106. package/dist/svelte.mjs +1 -1
  107. package/dist/system-verilog.mjs +1 -1
  108. package/dist/systemd.mjs +1 -1
  109. package/dist/talonscript.mjs +1 -1
  110. package/dist/templ.mjs +1 -1
  111. package/dist/terraform.mjs +1 -1
  112. package/dist/tex.mjs +1 -1
  113. package/dist/toml.mjs +1 -1
  114. package/dist/tsx.mjs +1 -1
  115. package/dist/typescript.mjs +1 -1
  116. package/dist/typst.mjs +1 -1
  117. package/dist/v.mjs +1 -1
  118. package/dist/vala.mjs +1 -1
  119. package/dist/vb.mjs +1 -1
  120. package/dist/vhdl.mjs +1 -1
  121. package/dist/viml.mjs +1 -1
  122. package/dist/vyper.mjs +1 -1
  123. package/dist/wasm.mjs +1 -1
  124. package/dist/wikitext.mjs +1 -1
  125. package/dist/wolfram.mjs +1 -1
  126. package/dist/zenscript.mjs +1 -1
  127. package/package.json +3 -3
package/dist/riscv.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"RISC-V\",\"fileTypes\":[\"S\",\"s\",\"riscv\",\"asm\"],\"name\":\"riscv\",\"patterns\":[{\"match\":\"\\\\b(la|lb|lh|lw|ld|nop|li|mv|not|neg|negw|sext\\\\.w|seqz|snez|sltz|sgtz|beqz|bnez|blez|bgez|bltz|bgtz|bgt|ble|bgtu|bleu|j|jal|jr|ret|call|tail|fence|csr[crsw|]|csr[csw|]i)\\\\b\",\"name\":\"support.function.pseudo.riscv\"},{\"match\":\"\\\\b(add|addw|auipc|lui|jalr|beq|bne|blt|bge|bltu|bgeu|lb|lh|lw|ld|lbu|lhu|sb|sh|sw|sd|addi|addiw|slti|sltiu|xori|ori|andi|slli|slliw|srli|srliw|srai|sraiw|sub|subw|sll|sllw|slt|sltu|xor|srl|srlw|sra|sraw|or|and|fence|fence\\\\.i|csrrw|csrrs|csrrc|csrrwi|csrrsi|csrrci)\\\\b\",\"name\":\"support.function.riscv\"},{\"match\":\"\\\\b(ecall|ebreak|sfence\\\\.vma|mret|sret|uret|wfi)\\\\b\",\"name\":\"support.function.riscv.privileged\"},{\"match\":\"\\\\b(mul|mulh|mulhsu|mulhu|div|divu|rem|remu|mulw|divw|divuw|remw|remuw)\\\\b\",\"name\":\"support.function.riscv.m\"},{\"match\":\"\\\\b(c\\\\.(?:addi4spn|fld|lq|lw|flw|ld|fsd|sq|sw|fsw|sd|nop|addi|jal|addiw|li|addi16sp|lui|srli|srli64|srai|srai64|andi|sub|xor|or|and|subw|addw|j|beqz|bnez))\\\\b\",\"name\":\"support.function.riscv.c\"},{\"match\":\"\\\\b(lr\\\\.[dw|]|sc\\\\.[dw|]|amoswap\\\\.[dw|]|amoadd\\\\.[dw|]|amoxor\\\\.[dw|]|amoand\\\\.[dw|]|amoor\\\\.[dw|]|amomin\\\\.[dw|]|amomax\\\\.[dw|]|amominu\\\\.[dw|]|amomaxu\\\\.[dw|])\\\\b\",\"name\":\"support.function.riscv.a\"},{\"match\":\"\\\\b(f(?:lw|sw|madd\\\\.s|msub\\\\.s|nmsub\\\\.s|nmadd\\\\.s|add\\\\.s|sub\\\\.s|mul\\\\.s|div\\\\.s|sqrt\\\\.s|sgnj\\\\.s|sgnjn\\\\.s|sgnjx\\\\.s|min\\\\.s|max\\\\.s|cvt\\\\.w\\\\.s|cvt\\\\.wu\\\\.s|mv\\\\.x\\\\.w|eq\\\\.s|lt\\\\.s|le\\\\.s|class\\\\.s|cvt\\\\.s\\\\.w|cvt\\\\.s\\\\.wu|mv\\\\.w\\\\.x|cvt\\\\.l\\\\.s|cvt\\\\.lu\\\\.s|cvt\\\\.s\\\\.l|cvt\\\\.s\\\\.lu))\\\\b\",\"name\":\"support.function.riscv.f\"},{\"match\":\"\\\\b(f(?:ld|sd|madd\\\\.d|msub\\\\.d|nmsub\\\\.d|nmadd\\\\.d|add\\\\.d|sub\\\\.d|mul\\\\.d|div\\\\.d|sqrt\\\\.d|sgnj\\\\.d|sgnjn\\\\.d|sgnjx\\\\.d|min\\\\.d|max\\\\.d|cvt\\\\.s\\\\.d|cvt\\\\.d\\\\.s|eq\\\\.d|lt\\\\.d|le\\\\.d|class\\\\.d|cvt\\\\.w\\\\.d|cvt\\\\.wu\\\\.d|cvt\\\\.d\\\\.w|cvt\\\\.d\\\\.wu|cvt\\\\.l\\\\.d|cvt\\\\.lu\\\\.d|mv\\\\.x\\\\.d|cvt\\\\.d\\\\.l|cvt\\\\.d\\\\.lu|mv\\\\.d\\\\.x))\\\\b\",\"name\":\"support.function.riscv.d\"},{\"match\":\"\\\\.(skip|ascii|asciiz|byte|[248|]byte|data|double|float|half|kdata|ktext|space|text|word|dword|dtprelword|dtpreldword|set\\\\s*(noat|at)|[su|]leb128|string|incbin|zero|rodata|comm|common)\\\\b\",\"name\":\"storage.type.riscv\"},{\"match\":\"\\\\.(balign|align|p2align|extern|globl|global|local|pushsection|section|bss|insn|option|type|equ|macro|endm|file|ident)\\\\b\",\"name\":\"storage.modifier.riscv\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.label.riscv\"}},\"match\":\"\\\\b([0-9A-Z_a-z]+):\",\"name\":\"meta.function.label.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(x([0-9]|1[0-9]|2[0-9]|3[01]))\\\\b\",\"name\":\"variable.other.register.usable.by-number.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(zero|ra|sp|gp|tp|t[0-6]|a[0-7]|s[0-9]|fp|s1[01])\\\\b\",\"name\":\"variable.other.register.usable.by-name.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(([hmsu]|vs)status|([hmsu]|vs)ie|([msu]|vs)tvec|([msu]|vs)scratch|([msu]|vs)epc|([msu]|vs)cause|([hmsu]|vs)tval|([hmsu]|vs)ip|fflags|frm|fcsr|m?cycleh?|timeh?|m?instreth?|m?hpmcounter([3-9]|[12][0-9]|3[01])h?|[hms][ei]deleg|[hms]counteren|v?satp|hgeie|hgeip|[hm]tinst|hvip|hgatp|htimedeltah?|mvendorid|marchid|mimpid|mhartid|misa|mstatush|mtval2|pmpcfg[0-3]|pmpaddr([0-9]|1[0-5])|mcountinhibit|mhpmevent([3-9]|[12][0-9]|3[01])|tselect|tdata[123]|dcsr|dpc|dscratch[01])\\\\b\",\"name\":\"variable.other.csr.names.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\bf([0-9]|1[0-9]|2[0-9]|3[01])\\\\b\",\"name\":\"variable.other.register.usable.floating-point.riscv\"},{\"match\":\"\\\\b\\\\d+\\\\.\\\\d+\\\\b\",\"name\":\"constant.numeric.float.riscv\"},{\"match\":\"\\\\b(\\\\d+|0([Xx])\\\\h+)\\\\b\",\"name\":\"constant.numeric.integer.riscv\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.double.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.single.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\"},{\"begin\":\"//\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash\"},{\"begin\":\"^\\\\s*#\\\\s*(define)\\\\s+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))(?:(\\\\()(\\\\s*\\\\g<id>\\\\s*((,)\\\\s*\\\\g<id>\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.define.c\"},\"2\":{\"name\":\"entity.name.function.preprocessor.c\"},\"4\":{\"name\":\"punctuation.definition.parameters.c\"},\"5\":{\"name\":\"variable.parameter.preprocessor.c\"},\"7\":{\"name\":\"punctuation.separator.parameters.c\"},\"8\":{\"name\":\"punctuation.definition.parameters.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.macro.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"include\":\"$base\"}]},{\"begin\":\"^\\\\s*#\\\\s*(error|warning)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.error.c\"}},\"end\":\"$\",\"name\":\"meta.preprocessor.diagnostic.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(i(?:nclude|mport))\\\\b\\\\s+\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.include.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c.include\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.double.include.c\"},{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.other.lt-gt.include.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(define|defined|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"(^[\\\\t ]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.riscv\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#|(//)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.riscv\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.riscv\"}]}],\"scopeName\":\"source.riscv\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"RISC-V\",\"fileTypes\":[\"S\",\"s\",\"riscv\",\"asm\"],\"name\":\"riscv\",\"patterns\":[{\"match\":\"\\\\b(la|lb|lh|lw|ld|nop|li|mv|not|negw??|sext\\\\.w|seqz|snez|sltz|sgtz|beqz|bnez|blez|bgez|bltz|bgtz?|ble|bgtu|bleu|j|jal|jr|ret|call|tail|fence|csr[crsw|]|csr[csw|]i)\\\\b\",\"name\":\"support.function.pseudo.riscv\"},{\"match\":\"\\\\b(addw??|auipc|lui|jalr|beq|bne|blt|bge|bltu|bgeu|lb|lh|lw|ld|lbu|lhu|sb|sh|sw|sd|addiw??|sltiu??|xori|ori|andi|slliw??|srliw??|sraiw??|subw??|sllw??|sltu??|xor|srlw??|sraw??|or|and|fence|fence\\\\.i|csrrw|csrrs|csrrc|csrrwi|csrrsi|csrrci)\\\\b\",\"name\":\"support.function.riscv\"},{\"match\":\"\\\\b(ecall|ebreak|sfence\\\\.vma|mret|sret|uret|wfi)\\\\b\",\"name\":\"support.function.riscv.privileged\"},{\"match\":\"\\\\b(mulh??|mulhsu|mulhu|divu??|remu??|mulw|divw|divuw|remw|remuw)\\\\b\",\"name\":\"support.function.riscv.m\"},{\"match\":\"\\\\b(c\\\\.(?:addi4spn|fld|lq|lw|flw|ld|fsd|sq|sw|fsw|sd|nop|addi|jal|addiw|li|addi16sp|lui|srli|srli64|srai|srai64|andi|sub|xor|or|and|subw|addw|j|beqz|bnez))\\\\b\",\"name\":\"support.function.riscv.c\"},{\"match\":\"\\\\b(lr\\\\.[dw|]|sc\\\\.[dw|]|amoswap\\\\.[dw|]|amoadd\\\\.[dw|]|amoxor\\\\.[dw|]|amoand\\\\.[dw|]|amoor\\\\.[dw|]|amomin\\\\.[dw|]|amomax\\\\.[dw|]|amominu\\\\.[dw|]|amomaxu\\\\.[dw|])\\\\b\",\"name\":\"support.function.riscv.a\"},{\"match\":\"\\\\b(f(?:lw|sw|madd\\\\.s|msub\\\\.s|nmsub\\\\.s|nmadd\\\\.s|add\\\\.s|sub\\\\.s|mul\\\\.s|div\\\\.s|sqrt\\\\.s|sgnj\\\\.s|sgnjn\\\\.s|sgnjx\\\\.s|min\\\\.s|max\\\\.s|cvt\\\\.w\\\\.s|cvt\\\\.wu\\\\.s|mv\\\\.x\\\\.w|eq\\\\.s|lt\\\\.s|le\\\\.s|class\\\\.s|cvt\\\\.s\\\\.wu??|mv\\\\.w\\\\.x|cvt\\\\.l\\\\.s|cvt\\\\.lu\\\\.s|cvt\\\\.s\\\\.lu??))\\\\b\",\"name\":\"support.function.riscv.f\"},{\"match\":\"\\\\b(f(?:ld|sd|madd\\\\.d|msub\\\\.d|nmsub\\\\.d|nmadd\\\\.d|add\\\\.d|sub\\\\.d|mul\\\\.d|div\\\\.d|sqrt\\\\.d|sgnj\\\\.d|sgnjn\\\\.d|sgnjx\\\\.d|min\\\\.d|max\\\\.d|cvt\\\\.s\\\\.d|cvt\\\\.d\\\\.s|eq\\\\.d|lt\\\\.d|le\\\\.d|class\\\\.d|cvt\\\\.w\\\\.d|cvt\\\\.wu\\\\.d|cvt\\\\.d\\\\.wu??|cvt\\\\.l\\\\.d|cvt\\\\.lu\\\\.d|mv\\\\.x\\\\.d|cvt\\\\.d\\\\.lu??|mv\\\\.d\\\\.x))\\\\b\",\"name\":\"support.function.riscv.d\"},{\"match\":\"\\\\.(skip|asciiz??|byte|[248|]byte|data|double|float|half|kdata|ktext|space|text|word|dword|dtprelword|dtpreldword|set\\\\s*(noat|at)|[su|]leb128|string|incbin|zero|rodata|comm|common)\\\\b\",\"name\":\"storage.type.riscv\"},{\"match\":\"\\\\.(balign|align|p2align|extern|globl|global|local|pushsection|section|bss|insn|option|type|equ|macro|endm|file|ident)\\\\b\",\"name\":\"storage.modifier.riscv\"},{\"captures\":{\"1\":{\"name\":\"entity.name.function.label.riscv\"}},\"match\":\"\\\\b([0-9A-Z_a-z]+):\",\"name\":\"meta.function.label.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(x([0-9]|1[0-9]|2[0-9]|3[01]))\\\\b\",\"name\":\"variable.other.register.usable.by-number.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(zero|ra|sp|gp|tp|t[0-6]|a[0-7]|s[0-9]|fp|s1[01])\\\\b\",\"name\":\"variable.other.register.usable.by-name.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\b(([hmsu]|vs)status|([hmsu]|vs)ie|([msu]|vs)tvec|([msu]|vs)scratch|([msu]|vs)epc|([msu]|vs)cause|([hmsu]|vs)tval|([hmsu]|vs)ip|fflags|frm|fcsr|m?cycleh?|timeh?|m?instreth?|m?hpmcounter([3-9]|[12][0-9]|3[01])h?|[hms][ei]deleg|[hms]counteren|v?satp|hgeie|hgeip|[hm]tinst|hvip|hgatp|htimedeltah?|mvendorid|marchid|mimpid|mhartid|misa|mstatush|mtval2|pmpcfg[0-3]|pmpaddr([0-9]|1[0-5])|mcountinhibit|mhpmevent([3-9]|[12][0-9]|3[01])|tselect|tdata[123]|dcsr|dpc|dscratch[01])\\\\b\",\"name\":\"variable.other.csr.names.riscv\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.riscv\"}},\"match\":\"\\\\bf([0-9]|1[0-9]|2[0-9]|3[01])\\\\b\",\"name\":\"variable.other.register.usable.floating-point.riscv\"},{\"match\":\"\\\\b\\\\d+\\\\.\\\\d+\\\\b\",\"name\":\"constant.numeric.float.riscv\"},{\"match\":\"\\\\b(\\\\d+|0([Xx])\\\\h+)\\\\b\",\"name\":\"constant.numeric.integer.riscv\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.double.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.riscv\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.riscv\"}},\"name\":\"string.quoted.single.riscv\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\"\\\\\\\\nrt]\",\"name\":\"constant.character.escape.riscv\"}]},{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block\"},{\"begin\":\"//\",\"end\":\"\\\\n\",\"name\":\"comment.line.double-slash\"},{\"begin\":\"^\\\\s*#\\\\s*(define)\\\\s+((?<id>[A-Z_a-z][0-9A-Z_a-z]*))(?:(\\\\()(\\\\s*\\\\g<id>\\\\s*((,)\\\\s*\\\\g<id>\\\\s*)*(?:\\\\.\\\\.\\\\.)?)(\\\\)))?\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.import.define.c\"},\"2\":{\"name\":\"entity.name.function.preprocessor.c\"},\"4\":{\"name\":\"punctuation.definition.parameters.c\"},\"5\":{\"name\":\"variable.parameter.preprocessor.c\"},\"7\":{\"name\":\"punctuation.separator.parameters.c\"},\"8\":{\"name\":\"punctuation.definition.parameters.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.macro.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"include\":\"$base\"}]},{\"begin\":\"^\\\\s*#\\\\s*(error|warning)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.error.c\"}},\"end\":\"$\",\"name\":\"meta.preprocessor.diagnostic.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(i(?:nclude|mport))\\\\b\\\\s+\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.include.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c.include\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.double.include.c\"},{\"begin\":\"<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.c\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.c\"}},\"name\":\"string.quoted.other.lt-gt.include.c\"}]},{\"begin\":\"^\\\\s*#\\\\s*(defined??|elif|else|if|ifdef|ifndef|line|pragma|undef|endif)\\\\b\",\"captures\":{\"1\":{\"name\":\"keyword.control.import.c\"}},\"end\":\"(?=/[*/])|$\",\"name\":\"meta.preprocessor.c\",\"patterns\":[{\"match\":\"(?>\\\\\\\\\\\\s*\\\\n)\",\"name\":\"punctuation.separator.continuation.c\"}]},{\"begin\":\"(^[\\\\t ]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.riscv\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#|(//)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.riscv\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.riscv\"}]}],\"scopeName\":\"source.riscv\"}"))
2
2
 
3
3
  export default [
4
4
  lang
package/dist/ruby.mjs CHANGED
@@ -11,7 +11,7 @@ import shellscript from './shellscript.mjs'
11
11
  import lua from './lua.mjs'
12
12
  import yaml from './yaml.mjs'
13
13
 
14
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ruby\",\"name\":\"ruby\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.class.ruby\"},\"2\":{\"name\":\"entity.name.type.class.ruby\"},\"5\":{\"name\":\"punctuation.separator.namespace.ruby\"},\"7\":{\"name\":\"punctuation.separator.inheritance.ruby\"},\"8\":{\"name\":\"entity.other.inherited-class.ruby\"},\"11\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?\",\"name\":\"meta.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.module.ruby\"},\"2\":{\"name\":\"entity.name.type.module.ruby\"},\"5\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\",\"name\":\"meta.module.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.class.ruby\"},\"2\":{\"name\":\"punctuation.separator.inheritance.ruby\"}},\"match\":\"\\\\b(class)\\\\s*(<<)\\\\s*\",\"name\":\"meta.class.ruby\"},{\"match\":\"(?<!\\\\.)\\\\belse(\\\\s)+if\\\\b\",\"name\":\"invalid.deprecated.ruby\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"},\"3\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"^\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*((&&|\\\\|\\\\|)=)\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"},\"5\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*((&&|\\\\|\\\\|)=)\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"},\"3\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"^\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*(([-%*+/]|\\\\*\\\\*|[\\\\&^|]|<<|>>)=)\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"},\"5\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*(([-%*+/]|\\\\*\\\\*|[\\\\&^|]|<<|>>)=)\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"}},\"match\":\"^\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*(?==[^=>])\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([a-z]([0-9A-Z_a-z])*)\\\\s*=[^=>]\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.hashkey.ruby\"}},\"match\":\"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)\",\"name\":\"constant.language.symbol.hashkey.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.ruby\"}},\"match\":\"(?<!:)(:)(?>[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)\",\"name\":\"constant.language.symbol.hashkey.ruby\"},{\"match\":\"(?<!\\\\.)\\\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\\\b(?![!?])\",\"name\":\"keyword.control.ruby\"},{\"match\":\"(?<!\\\\.)\\\\bdo\\\\b\",\"name\":\"keyword.control.start-block.ruby\"},{\"match\":\"(?<=\\\\{)(\\\\s+)\",\"name\":\"meta.syntax.ruby.start-block\"},{\"match\":\"(?<!\\\\.)\\\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\\\b(?![!?])|\\\\bdefined\\\\?|\\\\b(block_given|iterator)\\\\?\",\"name\":\"keyword.control.pseudo-method.ruby\"},{\"match\":\"\\\\bnil\\\\b(?![!?])\",\"name\":\"constant.language.nil.ruby\"},{\"match\":\"\\\\b(true|false)\\\\b(?![!?])\",\"name\":\"constant.language.boolean.ruby\"},{\"match\":\"\\\\b(__(FILE|LINE)__)\\\\b(?![!?])\",\"name\":\"variable.language.ruby\"},{\"match\":\"\\\\bself\\\\b(?![!?])\",\"name\":\"variable.language.self.ruby\"},{\"match\":\"\\\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\\\b(?![!?])\",\"name\":\"keyword.other.special-method.ruby\"},{\"begin\":\"\\\\b(?<!\\\\.|::)(require(?:|_relative))\\\\b(?![!?])\",\"captures\":{\"1\":{\"name\":\"keyword.other.special-method.ruby\"}},\"end\":\"$|(?=[#}])\",\"name\":\"meta.require.ruby\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.instance.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(@@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(\\\\$)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.global.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(\\\\$)([!\\\\&'+@`]|\\\\d+|[\\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])\",\"name\":\"variable.other.readwrite.global.pre-defined.ruby\"},{\"begin\":\"\\\\b(ENV)\\\\[\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.constant.ruby\"}},\"end\":\"]\",\"name\":\"meta.environment-variable.ruby\",\"patterns\":[{\"include\":\"$self\"}]},{\"match\":\"\\\\b[A-Z]\\\\w*(?=((\\\\.|::)[A-Za-z]|\\\\[))\",\"name\":\"support.class.ruby\"},{\"match\":\"\\\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|print|printf|proc|putc|puts|rand|readline|readlines|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\\\b(?![!?])|autoload\\\\?|exit!)\",\"name\":\"support.function.kernel.ruby\"},{\"match\":\"\\\\b[A-Z_]\\\\w*\\\\b\",\"name\":\"variable.other.constant.ruby\"},{\"begin\":\"(->)\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.kernel.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"begin\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"2\":{\"name\":\"entity.name.function.ruby\"},\"3\":{\"name\":\"punctuation.definition.parameters.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.ruby\"}},\"name\":\"meta.function.method.with-arguments.ruby\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"begin\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"2\":{\"name\":\"entity.name.function.ruby\"}},\"end\":\"(?=;)|(?<=[]!\\\"')?`}\\\\w])(?=\\\\s*#|\\\\s*$)\",\"name\":\"meta.function.method.with-arguments.ruby\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[,;]|\\\\s*#|\\\\s*$)\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"3\":{\"name\":\"entity.name.function.ruby\"}},\"match\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?\",\"name\":\"meta.function.method.without-arguments.ruby\"},{\"match\":\"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b\",\"name\":\"constant.numeric.ruby\"},{\"begin\":\":'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\['\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"}]},{\"begin\":\":\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.begin.ruby\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"match\":\"(?<!\\\\()/=\",\"name\":\"keyword.operator.assignment.augmented.ruby\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.single.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\['\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.double.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<!\\\\.)`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<![)\\\\w])((/))(?![*+?])(?=(?:\\\\\\\\/|[^/])*+/[eimnosux]*\\\\s*(?:[]#),.:?}]|\\\\|\\\\||&&|<=>|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)\",\"captures\":{\"1\":{\"name\":\"string.regexp.interpolated.ruby\"},\"2\":{\"name\":\"punctuation.section.regexp.ruby\"}},\"contentName\":\"string.regexp.interpolated.ruby\",\"end\":\"((/[eimnosux]*))\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%r\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"}[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},{\"begin\":\"%r\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"][eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},{\"begin\":\"%r\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"\\\\)[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},{\"begin\":\"%r<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\">[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},{\"begin\":\"%r(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"\\\\1[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%I\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%I\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%I<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%I\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%I(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%i\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%i\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%i<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%i\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%i(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%W\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%W\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%W<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%W\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%W(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%w\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%w\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%w<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%w\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%w(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%[Qx]?\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%[Qx]?\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%[Qx]?\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%[Qx]?<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%[Qx](\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%([^=\\\\w\\\\s])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%q\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%q<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%q\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%q\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%q(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%s\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%s<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%s\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%s\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%s(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.ruby\"}},\"match\":\"(?<!:)(:)(?>[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)\",\"name\":\"constant.language.symbol.ruby\"},{\"begin\":\"^=begin\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"^=end\",\"name\":\"comment.block.documentation.ruby\"},{\"include\":\"#yard\"},{\"begin\":\"(^[\\\\t ]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ruby\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.ruby\"}]},{\"match\":\"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|0[0-7]{0,2}(?![0-7])\\\\b|[^0CMx])|(\\\\\\\\[CM]-)+\\\\w|[^\\\\\\\\\\\\s])\",\"name\":\"constant.numeric.ruby\"},{\"begin\":\"^__END__\\\\n\",\"captures\":{\"0\":{\"name\":\"string.unquoted.program-block.ruby\"}},\"contentName\":\"text.plain\",\"end\":\"(?=not)impossible\",\"patterns\":[{\"begin\":\"(?=<?xml|<(?i:html\\\\b)|!DOCTYPE (?i:html\\\\b))\",\"end\":\"(?=not)impossible\",\"name\":\"text.html.embedded.ruby\",\"patterns\":[{\"include\":\"text.html.basic\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.html\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"text.html\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.html.basic\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.haml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"text.haml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.haml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.xml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"text.xml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.xml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.sql\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.sql\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.sql\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.graphql\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.graphql\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.graphql\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.css\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.css\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.css\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.cpp\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.cpp\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.cpp\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.c\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.c\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.c\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.js\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.js\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.js\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.js.jquery\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.js.jquery\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.js.jquery\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.shell\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.shell\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.shell\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.lua\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.lua\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.lua\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.ruby\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.ruby\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.ruby\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)Y(?:A|)ML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.yaml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)Y(?:A|)ML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"source.yaml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.yaml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.slim\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"contentName\":\"text.slim\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.slim\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?>=\\\\s*<<([\\\"'`]?)(\\\\w+)\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"^\\\\2$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>((<<[-~]([\\\"'`]?)(\\\\w+)\\\\3,\\\\s?)*<<[-~]([\\\"'`]?)(\\\\w+)\\\\5))(.*)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.ruby\"},\"7\":{\"patterns\":[{\"include\":\"source.ruby\"}]}},\"end\":\"^\\\\s*\\\\6$\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.unquoted.heredoc.ruby\",\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)\",\"captures\":{\"1\":{\"name\":\"punctuation.separator.variable.ruby\"}},\"end\":\"(?<!\\\\|)(\\\\|)(?!\\\\|)\",\"name\":\"meta.block.parameters.ruby\",\"patterns\":[{\"begin\":\"(?![(,|\\\\s])\",\"end\":\"(?=,|\\\\|\\\\s*)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.variable.ruby\"},\"2\":{\"name\":\"variable.other.block.ruby\"}},\"match\":\"\\\\G((?:&|\\\\*\\\\*?)?)([A-Z_a-z][_\\\\w]*)\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.variable.ruby\"}]},{\"match\":\"=>\",\"name\":\"punctuation.separator.key-value\"},{\"match\":\"->\",\"name\":\"support.function.kernel.ruby\"},{\"match\":\"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<\",\"name\":\"keyword.operator.assignment.augmented.ruby\"},{\"match\":\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===|==|=~|!=|!~|(?<=[\\\\t ])\\\\?\",\"name\":\"keyword.operator.comparison.ruby\"},{\"match\":\"(?<!\\\\.)\\\\b(and|not|or)\\\\b(?![!?])\",\"name\":\"keyword.operator.logical.ruby\"},{\"match\":\"(?<=^|[\\\\t !])!|&&|\\\\|\\\\||\\\\^\",\"name\":\"keyword.operator.logical.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ruby\"}},\"match\":\"(&\\\\.)\\\\s*(?![A-Z])\"},{\"match\":\"([%\\\\&]|\\\\*\\\\*|[-*+/])\",\"name\":\"keyword.operator.arithmetic.ruby\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ruby\"},{\"match\":\"[|~]|>>\",\"name\":\"keyword.operator.other.ruby\"},{\"match\":\";\",\"name\":\"punctuation.separator.statement.ruby\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"(::)\\\\s*(?=[A-Z])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.method.ruby\"}},\"match\":\"(\\\\.|::)\\\\s*(?![A-Z])\"},{\"match\":\":\",\"name\":\"punctuation.separator.other.ruby\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.section.scope.begin.ruby\"},{\"match\":\"}\",\"name\":\"punctuation.section.scope.end.ruby\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.section.array.begin.ruby\"},{\"match\":\"]\",\"name\":\"punctuation.section.array.end.ruby\"},{\"match\":\"[()]\",\"name\":\"punctuation.section.function.ruby\"},{\"begin\":\"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])\",\"end\":\"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])\",\"name\":\"meta.function-call.ruby\",\"patterns\":[{\"match\":\"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])\",\"name\":\"entity.name.function.ruby\"}]},{\"begin\":\"([A-Za-z]\\\\w*[!?]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.ruby\"},\"2\":{\"name\":\"punctuation.section.function.ruby\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.ruby\"}},\"name\":\"meta.function-call.ruby\",\"patterns\":[{\"include\":\"$self\"}]}],\"repository\":{\"escaped_char\":{\"match\":\"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)\",\"name\":\"constant.character.escape.ruby\"},\"heredoc\":{\"begin\":\"^<<[-~]?\\\\w+\",\"end\":\"$\",\"patterns\":[{\"include\":\"$self\"}]},\"interpolated_ruby\":{\"patterns\":[{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.ruby\"}},\"contentName\":\"source.ruby\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.ruby\"}},\"name\":\"meta.embedded.line.ruby\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"},{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.instance.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#@@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#\\\\$)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.global.ruby\"}]},\"method_parameters\":{\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"#params\"},{\"include\":\"$self\"}],\"repository\":{\"braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]},\"brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]},\"params\":{\"captures\":{\"1\":{\"name\":\"storage.type.variable.ruby\"},\"2\":{\"name\":\"constant.other.symbol.hashkey.parameter.function.ruby\"},\"3\":{\"name\":\"punctuation.definition.constant.ruby\"},\"4\":{\"name\":\"variable.parameter.function.ruby\"}},\"match\":\"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))\"},\"parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.function.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]}}},\"nest_brackets\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#nest_brackets\"}]},\"nest_brackets_i\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},\"nest_brackets_r\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},\"nest_curly\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest_curly\"}]},\"nest_curly_and_self\":{\"patterns\":[{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]},\"nest_curly_i\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},\"nest_curly_r\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},\"nest_ltgt\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#nest_ltgt\"}]},\"nest_ltgt_i\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},\"nest_ltgt_r\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},\"nest_parens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#nest_parens\"}]},\"nest_parens_i\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},\"nest_parens_r\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},\"regex_sub\":{\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arbitrary-repetition.ruby\"},\"3\":{\"name\":\"punctuation.definition.arbitrary-repetition.ruby\"}},\"match\":\"(\\\\{)\\\\d+(,\\\\d+)?(})\",\"name\":\"string.regexp.arbitrary-repetition.ruby\"},{\"begin\":\"\\\\[(?:\\\\^?])?\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.character-class.ruby\"}},\"end\":\"]\",\"name\":\"string.regexp.character-class.ruby\",\"patterns\":[{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\\(\\\\?#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.ruby\"}},\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.group.ruby\"}},\"end\":\"\\\\)\",\"name\":\"string.regexp.group.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"name\":\"comment.line.number-sign.ruby\"}]},\"yard\":{\"patterns\":[{\"include\":\"#yard_comment\"},{\"include\":\"#yard_param_types\"},{\"include\":\"#yard_option\"},{\"include\":\"#yard_tag\"},{\"include\":\"#yard_types\"},{\"include\":\"#yard_directive\"},{\"include\":\"#yard_see\"},{\"include\":\"#yard_macro_attribute\"}]},\"yard_comment\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_continuation\":{\"match\":\"^\\\\s*#\",\"name\":\"punctuation.definition.comment.ruby\"},\"yard_directive\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_macro_attribute\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"11\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_option\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"6\":{\"name\":\"comment.line.parameter.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"10\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"11\":{\"name\":\"comment.line.hashkey.yard.ruby\"},\"12\":{\"name\":\"comment.line.defaultvalue.yard.ruby\"},\"13\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"14\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_param_types\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"6\":{\"name\":\"comment.line.parameter.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"10\":{\"name\":\"comment.line.type.yard.ruby\"},\"11\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"12\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"13\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_see\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_tag\":{\"captures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"}},\"match\":\"^(\\\\s*)(#)(\\\\s*)(@)(private)$\",\"name\":\"comment.line.number-sign.ruby\"},\"yard_types\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]}},\"scopeName\":\"source.ruby\",\"embeddedLangs\":[\"html\",\"haml\",\"xml\",\"sql\",\"graphql\",\"css\",\"cpp\",\"c\",\"javascript\",\"shellscript\",\"lua\",\"yaml\"],\"aliases\":[\"rb\"]}"))
14
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Ruby\",\"name\":\"ruby\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"keyword.control.class.ruby\"},\"2\":{\"name\":\"entity.name.type.class.ruby\"},\"5\":{\"name\":\"punctuation.separator.namespace.ruby\"},\"7\":{\"name\":\"punctuation.separator.inheritance.ruby\"},\"8\":{\"name\":\"entity.other.inherited-class.ruby\"},\"11\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"\\\\b(class)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\\\\s*((<)\\\\s*(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*))?\",\"name\":\"meta.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.module.ruby\"},\"2\":{\"name\":\"entity.name.type.module.ruby\"},\"5\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"\\\\b(module)\\\\s+(([0-9A-Z_a-z]+)((::)[0-9A-Z_a-z]+)*)\",\"name\":\"meta.module.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.class.ruby\"},\"2\":{\"name\":\"punctuation.separator.inheritance.ruby\"}},\"match\":\"\\\\b(class)\\\\s*(<<)\\\\s*\",\"name\":\"meta.class.ruby\"},{\"match\":\"(?<!\\\\.)\\\\belse(\\\\s)+if\\\\b\",\"name\":\"invalid.deprecated.ruby\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"},\"2\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*((&&|\\\\|\\\\|)=)\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"},\"4\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*((&&|\\\\|\\\\|)=)\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"},\"2\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(([-%*+/]|\\\\*\\\\*|[\\\\&^|]|<<|>>)=)\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"},\"4\":{\"name\":\"keyword.operator.assignment.augmented.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(([-%*+/]|\\\\*\\\\*|[\\\\&^|]|<<|>>)=)\"},{\"captures\":{\"1\":{\"name\":\"variable.ruby\"}},\"match\":\"^\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*(?==[^=>])\"},{\"captures\":{\"1\":{\"name\":\"keyword.control.ruby\"},\"3\":{\"name\":\"variable.ruby\"}},\"match\":\"(?<!\\\\.)\\\\b(case|if|elsif|unless|until|while)\\\\b\\\\s*(\\\\()*?\\\\s*([_a-z][0-9A-Z_a-z]*)\\\\s*=[^=>]\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.hashkey.ruby\"}},\"match\":\"(?>[A-Z_a-z]\\\\w*[!?]?)(:)(?!:)\",\"name\":\"constant.language.symbol.hashkey.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.ruby\"}},\"match\":\"(?<!:)(:)(?>[A-Z_a-z]\\\\w*[!?]?)(?=\\\\s*=>)\",\"name\":\"constant.language.symbol.hashkey.ruby\"},{\"match\":\"(?<!\\\\.)\\\\b(BEGIN|begin|case|class|else|elsif|END|end|ensure|for|if|in|module|rescue|then|unless|until|when|while)\\\\b(?![!?])\",\"name\":\"keyword.control.ruby\"},{\"match\":\"(?<!\\\\.)\\\\bdo\\\\b\",\"name\":\"keyword.control.start-block.ruby\"},{\"match\":\"(?<=\\\\{)(\\\\s+)\",\"name\":\"meta.syntax.ruby.start-block\"},{\"match\":\"(?<!\\\\.)\\\\b(alias|alias_method|break|next|redo|retry|return|super|undef|yield)\\\\b(?![!?])|\\\\bdefined\\\\?|\\\\b(block_given|iterator)\\\\?\",\"name\":\"keyword.control.pseudo-method.ruby\"},{\"match\":\"\\\\bnil\\\\b(?![!?])\",\"name\":\"constant.language.nil.ruby\"},{\"match\":\"\\\\b(true|false)\\\\b(?![!?])\",\"name\":\"constant.language.boolean.ruby\"},{\"match\":\"\\\\b(__(FILE|LINE)__)\\\\b(?![!?])\",\"name\":\"variable.language.ruby\"},{\"match\":\"\\\\bself\\\\b(?![!?])\",\"name\":\"variable.language.self.ruby\"},{\"match\":\"\\\\b(initialize|new|loop|include|extend|prepend|raise|fail|attr_reader|attr_writer|attr_accessor|attr|catch|throw|private|private_class_method|module_function|public|public_class_method|protected|refine|using)\\\\b(?![!?])\",\"name\":\"keyword.other.special-method.ruby\"},{\"begin\":\"\\\\b(?<!\\\\.|::)(require(?:|_relative))\\\\b(?![!?])\",\"captures\":{\"1\":{\"name\":\"keyword.other.special-method.ruby\"}},\"end\":\"$|(?=[#}])\",\"name\":\"meta.require.ruby\",\"patterns\":[{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.instance.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(@@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(\\\\$)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.global.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(\\\\$)([!\\\\&'+@`]|\\\\d+|[\\\"$*,./:-?\\\\\\\\_~]|-[0FIadilpv])\",\"name\":\"variable.other.readwrite.global.pre-defined.ruby\"},{\"begin\":\"\\\\b(ENV)\\\\[\",\"beginCaptures\":{\"1\":{\"name\":\"variable.other.constant.ruby\"}},\"end\":\"]\",\"name\":\"meta.environment-variable.ruby\",\"patterns\":[{\"include\":\"$self\"}]},{\"match\":\"\\\\b[A-Z]\\\\w*(?=((\\\\.|::)[A-Za-z]|\\\\[))\",\"name\":\"support.class.ruby\"},{\"match\":\"\\\\b((abort|at_exit|autoload|binding|callcc|caller|caller_locations|chomp|chop|eval|exec|exit|fork|format|gets|global_variables|gsub|lambda|load|local_variables|open|p|printf??|proc|putc|puts|rand|readlines??|select|set_trace_func|sleep|spawn|sprintf|srand|sub|syscall|system|test|trace_var|trap|untrace_var|warn)\\\\b(?![!?])|autoload\\\\?|exit!)\",\"name\":\"support.function.kernel.ruby\"},{\"match\":\"\\\\b[A-Z_]\\\\w*\\\\b\",\"name\":\"variable.other.constant.ruby\"},{\"begin\":\"(->)\\\\(\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.kernel.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"begin\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))\\\\s*(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"2\":{\"name\":\"entity.name.function.ruby\"},\"3\":{\"name\":\"punctuation.definition.parameters.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.parameters.ruby\"}},\"name\":\"meta.function.method.with-arguments.ruby\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[),])\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"begin\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?))[\\\\t ](?=[\\\\t ]*[^#;\\\\s])\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"2\":{\"name\":\"entity.name.function.ruby\"}},\"end\":\"(?=;)|(?<=[]!\\\"')?`}\\\\w])(?=\\\\s*#|\\\\s*$)\",\"name\":\"meta.function.method.with-arguments.ruby\",\"patterns\":[{\"begin\":\"(?=[\\\\&*A-Z_a-z])\",\"end\":\"(?=[,;]|\\\\s*#|\\\\s*$)\",\"patterns\":[{\"include\":\"#method_parameters\"}]},{\"include\":\"#method_parameters\"}]},{\"captures\":{\"1\":{\"name\":\"keyword.control.def.ruby\"},\"3\":{\"name\":\"entity.name.function.ruby\"}},\"match\":\"(?=def\\\\b)(?<=^|\\\\s)(def)\\\\b(\\\\s+((?>[A-Z_a-z]\\\\w*(?>\\\\.|::))?(?>[A-Z_a-z]\\\\w*(?>[!?]|=(?!>))?|===?|!=|>[=>]?|<=>|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?)))?\",\"name\":\"meta.function.method.without-arguments.ruby\"},{\"match\":\"\\\\b(\\\\d(?>_?\\\\d)*(\\\\.(?![^\\\\s\\\\d])(?>_?\\\\d)*)?([Ee][-+]?\\\\d(?>_?\\\\d)*)?|0(?:[Xx]\\\\h(?>_?\\\\h)*|[Oo]?[0-7](?>_?[0-7])*|[Bb][01](?>_?[01])*|[Dd]\\\\d(?>_?\\\\d)*))\\\\b\",\"name\":\"constant.numeric.ruby\"},{\"begin\":\":'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\['\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"}]},{\"begin\":\":\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.begin.ruby\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"match\":\"(?<!\\\\()/=\",\"name\":\"keyword.operator.assignment.augmented.ruby\"},{\"begin\":\"'\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"'\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.single.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\['\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"}]},{\"begin\":\"\\\"\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\"\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.double.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<!\\\\.)`\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"`\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<![)\\\\w])((/))(?![*+?])(?=(?:\\\\\\\\/|[^/])*+/[eimnosux]*\\\\s*(?:[]#),.:?}]|\\\\|\\\\||&&|<=>|=>|==|=~|!~|!=|;|$|if|else|elsif|then|do|end|unless|while|until|or|and)|$)\",\"captures\":{\"1\":{\"name\":\"string.regexp.interpolated.ruby\"},\"2\":{\"name\":\"punctuation.section.regexp.ruby\"}},\"contentName\":\"string.regexp.interpolated.ruby\",\"end\":\"((/[eimnosux]*))\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%r\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"}[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},{\"begin\":\"%r\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"][eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},{\"begin\":\"%r\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"\\\\)[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},{\"begin\":\"%r<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\">[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},{\"begin\":\"%r(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.begin.ruby\"}},\"end\":\"\\\\1[eimnosux]*\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.regexp.end.ruby\"}},\"name\":\"string.regexp.interpolated.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"%I\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%I\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%I<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%I\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%I(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%i\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%i\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%i<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%i\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%i(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%W\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%W\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%W<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%W\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%W(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%w\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%w\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%w<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%w\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%w(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%[Qx]?\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},{\"begin\":\"%[Qx]?\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},{\"begin\":\"%[Qx]?\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},{\"begin\":\"%[Qx]?<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},{\"begin\":\"%[Qx](\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%([^=\\\\w\\\\s])\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.interpolated.ruby\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"%q\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%q<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%q\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%q\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%q(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.string.end.ruby\"}},\"name\":\"string.quoted.other.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"begin\":\"%s\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[)\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_parens\"}]},{\"begin\":\"%s<\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\">\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[>\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_ltgt\"}]},{\"begin\":\"%s\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[]\\\\\\\\]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_brackets\"}]},{\"begin\":\"%s\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\[\\\\\\\\}]\",\"name\":\"constant.character.escape.ruby\"},{\"include\":\"#nest_curly\"}]},{\"begin\":\"%s(\\\\W)\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.begin.ruby\"}},\"end\":\"\\\\1\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.symbol.end.ruby\"}},\"name\":\"constant.language.symbol.ruby\",\"patterns\":[{\"match\":\"\\\\\\\\.\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.constant.ruby\"}},\"match\":\"(?<!:)(:)(?>[$A-Z_a-z]\\\\w*(?>[!?]|=(?![=>]))?|===?|<=>|>[=>]?|<[<=]?|[%\\\\&/`|]|\\\\*\\\\*?|=?~|[-+]@?|\\\\[]=?|@@?[A-Z_a-z]\\\\w*)\",\"name\":\"constant.language.symbol.ruby\"},{\"begin\":\"^=begin\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"^=end\",\"name\":\"comment.block.documentation.ruby\"},{\"include\":\"#yard\"},{\"begin\":\"(^[\\\\t ]+)?(?=#)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.ruby\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\"#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.number-sign.ruby\"}]},{\"match\":\"(?<!\\\\w)\\\\?(\\\\\\\\(x\\\\h{1,2}(?!\\\\h)\\\\b|0[0-7]{0,2}(?![0-7])\\\\b|[^0CMx])|(\\\\\\\\[CM]-)+\\\\w|[^\\\\\\\\\\\\s])\",\"name\":\"constant.numeric.ruby\"},{\"begin\":\"^__END__\\\\n\",\"captures\":{\"0\":{\"name\":\"string.unquoted.program-block.ruby\"}},\"contentName\":\"text.plain\",\"end\":\"(?=not)impossible\",\"patterns\":[{\"begin\":\"(?=<?xml|<(?i:html\\\\b)|!DOCTYPE (?i:html\\\\b))\",\"end\":\"(?=not)impossible\",\"name\":\"text.html.embedded.ruby\",\"patterns\":[{\"include\":\"text.html.basic\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.html\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HTML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"text.html\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.html.basic\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.haml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)HAML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"text.haml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.haml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.xml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)XML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"text.xml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.xml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.sql\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SQL)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.sql\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.sql\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.graphql\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)G(?:RAPHQL|QL))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.graphql\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.graphql\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.css\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CSS)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.css\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.css\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.cpp\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)CPP)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.cpp\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.cpp\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.c\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)C)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.c\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.c\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.js\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)J(?:S|AVASCRIPT))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.js\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.js\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.js.jquery\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)JQUERY)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.js.jquery\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.js.jquery\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.shell\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SH(?:|ELL))\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.shell\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.shell\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.lua\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)LUA)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.lua\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.lua\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.ruby\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)RUBY)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.ruby\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.ruby\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.yaml\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)YA?ML)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"source.yaml\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"source.yaml\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?=(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1))\",\"end\":\"(?!\\\\G)\",\"name\":\"meta.embedded.block.slim\",\"patterns\":[{\"begin\":\"(?><<[-~]([\\\"'`]?)((?:[_\\\\w]+_|)SLIM)\\\\b\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"text.slim\",\"end\":\"^\\\\s*\\\\2$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"text.slim\"},{\"include\":\"#escaped_char\"}]}]},{\"begin\":\"(?>=\\\\s*<<([\\\"'`]?)(\\\\w+)\\\\1)\",\"beginCaptures\":{\"0\":{\"name\":\"string.definition.begin.ruby\"}},\"contentName\":\"string.unquoted.heredoc.ruby\",\"end\":\"^\\\\2$\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?>((<<[-~]([\\\"'`]?)(\\\\w+)\\\\3,\\\\s?)*<<[-~]([\\\"'`]?)(\\\\w+)\\\\5))(.*)\",\"beginCaptures\":{\"1\":{\"name\":\"string.definition.begin.ruby\"},\"7\":{\"patterns\":[{\"include\":\"source.ruby\"}]}},\"contentName\":\"string.unquoted.heredoc.ruby\",\"end\":\"^\\\\s*\\\\6$\",\"endCaptures\":{\"0\":{\"name\":\"string.definition.end.ruby\"}},\"patterns\":[{\"include\":\"#heredoc\"},{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"}]},{\"begin\":\"(?<=\\\\{|\\\\{\\\\s+|[^$0-:@-Z_a-z]do|^do|[^$0-:@-Z_a-z]do\\\\s+|^do\\\\s+)(\\\\|)\",\"captures\":{\"1\":{\"name\":\"punctuation.separator.variable.ruby\"}},\"end\":\"(?<!\\\\|)(\\\\|)(?!\\\\|)\",\"name\":\"meta.block.parameters.ruby\",\"patterns\":[{\"begin\":\"(?![(,|\\\\s])\",\"end\":\"(?=,|\\\\|\\\\s*)\",\"patterns\":[{\"captures\":{\"1\":{\"name\":\"storage.type.variable.ruby\"},\"2\":{\"name\":\"variable.other.block.ruby\"}},\"match\":\"\\\\G((?:&|\\\\*\\\\*?)?)([A-Z_a-z][_\\\\w]*)\"}]},{\"match\":\",\",\"name\":\"punctuation.separator.variable.ruby\"}]},{\"match\":\"=>\",\"name\":\"punctuation.separator.key-value\"},{\"match\":\"->\",\"name\":\"support.function.kernel.ruby\"},{\"match\":\"<<=|%=|&{1,2}=|\\\\*=|\\\\*\\\\*=|\\\\+=|-=|\\\\^=|\\\\|{1,2}=|<<\",\"name\":\"keyword.operator.assignment.augmented.ruby\"},{\"match\":\"<=>|<(?![<=])|>(?![<=>])|<=|>=|===?|=~|!=|!~|(?<=[\\\\t ])\\\\?\",\"name\":\"keyword.operator.comparison.ruby\"},{\"match\":\"(?<!\\\\.)\\\\b(and|not|or)\\\\b(?![!?])\",\"name\":\"keyword.operator.logical.ruby\"},{\"match\":\"(?<=^|[\\\\t !])!|&&|\\\\|\\\\||\\\\^\",\"name\":\"keyword.operator.logical.ruby\"},{\"captures\":{\"1\":{\"name\":\"keyword.operator.logical.ruby\"}},\"match\":\"(&\\\\.)\\\\s*(?![A-Z])\"},{\"match\":\"([%\\\\&]|\\\\*\\\\*|[-*+/])\",\"name\":\"keyword.operator.arithmetic.ruby\"},{\"match\":\"=\",\"name\":\"keyword.operator.assignment.ruby\"},{\"match\":\"[|~]|>>\",\"name\":\"keyword.operator.other.ruby\"},{\"match\":\";\",\"name\":\"punctuation.separator.statement.ruby\"},{\"match\":\",\",\"name\":\"punctuation.separator.object.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.namespace.ruby\"}},\"match\":\"(::)\\\\s*(?=[A-Z])\"},{\"captures\":{\"1\":{\"name\":\"punctuation.separator.method.ruby\"}},\"match\":\"(\\\\.|::)\\\\s*(?![A-Z])\"},{\"match\":\":\",\"name\":\"punctuation.separator.other.ruby\"},{\"match\":\"\\\\{\",\"name\":\"punctuation.section.scope.begin.ruby\"},{\"match\":\"}\",\"name\":\"punctuation.section.scope.end.ruby\"},{\"match\":\"\\\\[\",\"name\":\"punctuation.section.array.begin.ruby\"},{\"match\":\"]\",\"name\":\"punctuation.section.array.end.ruby\"},{\"match\":\"[()]\",\"name\":\"punctuation.section.function.ruby\"},{\"begin\":\"(?<=[^.]\\\\.|::)(?=[A-Za-z][!0-9?A-Z_a-z]*[^!0-9?A-Z_a-z])\",\"end\":\"(?<=[!0-9?A-Z_a-z])(?=[^!0-9?A-Z_a-z])\",\"name\":\"meta.function-call.ruby\",\"patterns\":[{\"match\":\"([A-Za-z][!0-9?A-Z_a-z]*)(?=[^!0-9?A-Z_a-z])\",\"name\":\"entity.name.function.ruby\"}]},{\"begin\":\"([A-Za-z]\\\\w*[!?]?)(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"entity.name.function.ruby\"},\"2\":{\"name\":\"punctuation.section.function.ruby\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.function.ruby\"}},\"name\":\"meta.function-call.ruby\",\"patterns\":[{\"include\":\"$self\"}]}],\"repository\":{\"escaped_char\":{\"match\":\"\\\\\\\\(?:[0-7]{1,3}|x[A-Fa-f\\\\d]{1,2}|.)\",\"name\":\"constant.character.escape.ruby\"},\"heredoc\":{\"begin\":\"^<<[-~]?\\\\w+\",\"end\":\"$\",\"patterns\":[{\"include\":\"$self\"}]},\"interpolated_ruby\":{\"patterns\":[{\"begin\":\"#\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.begin.ruby\"}},\"contentName\":\"source.ruby\",\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.embedded.end.ruby\"}},\"name\":\"meta.embedded.line.ruby\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"},{\"include\":\"$self\"}]},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.instance.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#@@)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.class.ruby\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.variable.ruby\"}},\"match\":\"(#\\\\$)[A-Z_a-z]\\\\w*\",\"name\":\"variable.other.readwrite.global.ruby\"}]},\"method_parameters\":{\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"#params\"},{\"include\":\"$self\"}],\"repository\":{\"braces\":{\"begin\":\"\\\\{\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.begin.ruby\"}},\"end\":\"}\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.scope.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]},\"brackets\":{\"begin\":\"\\\\[\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.array.begin.ruby\"}},\"end\":\"]\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.array.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]},\"params\":{\"captures\":{\"1\":{\"name\":\"storage.type.variable.ruby\"},\"2\":{\"name\":\"constant.other.symbol.hashkey.parameter.function.ruby\"},\"3\":{\"name\":\"punctuation.definition.constant.ruby\"},\"4\":{\"name\":\"variable.parameter.function.ruby\"}},\"match\":\"\\\\G(&|\\\\*\\\\*?)?(?:([A-Z_a-z]\\\\w*[!?]?(:))|([A-Z_a-z]\\\\w*))\"},\"parens\":{\"begin\":\"\\\\(\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.section.function.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.section.function.end.ruby\"}},\"patterns\":[{\"include\":\"#parens\"},{\"include\":\"#braces\"},{\"include\":\"#brackets\"},{\"include\":\"$self\"}]}}},\"nest_brackets\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#nest_brackets\"}]},\"nest_brackets_i\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_brackets_i\"}]},\"nest_brackets_r\":{\"begin\":\"\\\\[\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"]\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_brackets_r\"}]},\"nest_curly\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest_curly\"}]},\"nest_curly_and_self\":{\"patterns\":[{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#nest_curly_and_self\"}]},{\"include\":\"$self\"}]},\"nest_curly_i\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_curly_i\"}]},\"nest_curly_r\":{\"begin\":\"\\\\{\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"}\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_curly_r\"}]},\"nest_ltgt\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#nest_ltgt\"}]},\"nest_ltgt_i\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_ltgt_i\"}]},\"nest_ltgt_r\":{\"begin\":\"<\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\">\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_ltgt_r\"}]},\"nest_parens\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#nest_parens\"}]},\"nest_parens_i\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"include\":\"#nest_parens_i\"}]},\"nest_parens_r\":{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.section.scope.ruby\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#regex_sub\"},{\"include\":\"#nest_parens_r\"}]},\"regex_sub\":{\"patterns\":[{\"include\":\"#interpolated_ruby\"},{\"include\":\"#escaped_char\"},{\"captures\":{\"1\":{\"name\":\"punctuation.definition.arbitrary-repetition.ruby\"},\"3\":{\"name\":\"punctuation.definition.arbitrary-repetition.ruby\"}},\"match\":\"(\\\\{)\\\\d+(,\\\\d+)?(})\",\"name\":\"string.regexp.arbitrary-repetition.ruby\"},{\"begin\":\"\\\\[(?:\\\\^?])?\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.character-class.ruby\"}},\"end\":\"]\",\"name\":\"string.regexp.character-class.ruby\",\"patterns\":[{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\\(\\\\?#\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.begin.ruby\"}},\"end\":\"\\\\)\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.end.ruby\"}},\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#escaped_char\"}]},{\"begin\":\"\\\\(\",\"captures\":{\"0\":{\"name\":\"punctuation.definition.group.ruby\"}},\"end\":\"\\\\)\",\"name\":\"string.regexp.group.ruby\",\"patterns\":[{\"include\":\"#regex_sub\"}]},{\"begin\":\"(?<=^|\\\\s)(#)\\\\s(?=[-\\\\t !,.0-9?A-Za-z[^\\\\x00-\\\\x7F]]*$)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"end\":\"$\\\\n?\",\"endCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.ruby\"}},\"name\":\"comment.line.number-sign.ruby\"}]},\"yard\":{\"patterns\":[{\"include\":\"#yard_comment\"},{\"include\":\"#yard_param_types\"},{\"include\":\"#yard_option\"},{\"include\":\"#yard_tag\"},{\"include\":\"#yard_types\"},{\"include\":\"#yard_directive\"},{\"include\":\"#yard_see\"},{\"include\":\"#yard_macro_attribute\"}]},\"yard_comment\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(abstract|api|author|deprecated|example|macro|note|overload|since|todo|version)(?=\\\\s|$)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_continuation\":{\"match\":\"^\\\\s*#\",\"name\":\"punctuation.definition.comment.ruby\"},\"yard_directive\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@!)(endgroup|group|method|parse|scope|visibility)(\\\\s+((\\\\[).+(])))?(?=\\\\s)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_macro_attribute\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@!)(attribute|macro)(\\\\s+((\\\\[).+(])))?(?=\\\\s)(\\\\s+([_a-z]\\\\w*:?))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"11\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_option\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(option)(?=\\\\s)(?>\\\\s+([_a-z]\\\\w*:?))?(?>\\\\s+((\\\\[).+(])))?(?>\\\\s+((\\\\S*)))?(?>\\\\s+((\\\\().+(\\\\))))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"6\":{\"name\":\"comment.line.parameter.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"10\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"11\":{\"name\":\"comment.line.hashkey.yard.ruby\"},\"12\":{\"name\":\"comment.line.defaultvalue.yard.ruby\"},\"13\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"14\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_param_types\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(attr|attr_reader|attr_writer|yieldparam|param)(?=\\\\s)(?>\\\\s+(?>([_a-z]\\\\w*:?)|((\\\\[).+(]))))?(?>\\\\s+(?>((\\\\[).+(]))|([_a-z]\\\\w*:?)))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"6\":{\"name\":\"comment.line.parameter.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"10\":{\"name\":\"comment.line.type.yard.ruby\"},\"11\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"12\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"13\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_see\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(see)(?=\\\\s)(\\\\s+(.+?))?(?=\\\\s|$)\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.parameter.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]},\"yard_tag\":{\"captures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"}},\"match\":\"^(\\\\s*)(#)(\\\\s*)(@)(private)$\",\"name\":\"comment.line.number-sign.ruby\"},\"yard_types\":{\"begin\":\"^(\\\\s*)(#)(\\\\s*)(@)(raise|return|yield(?:return)?)(?=\\\\s)(\\\\s+((\\\\[).+(])))?\",\"beginCaptures\":{\"2\":{\"name\":\"punctuation.definition.comment.ruby\"},\"4\":{\"name\":\"comment.line.keyword.punctuation.yard.ruby\"},\"5\":{\"name\":\"comment.line.keyword.yard.ruby\"},\"7\":{\"name\":\"comment.line.type.yard.ruby\"},\"8\":{\"name\":\"comment.line.punctuation.yard.ruby\"},\"9\":{\"name\":\"comment.line.punctuation.yard.ruby\"}},\"contentName\":\"comment.line.string.yard.ruby\",\"end\":\"^(?!\\\\s*#\\\\3\\\\s{2,}|\\\\s*#\\\\s*$)\",\"name\":\"comment.line.number-sign.ruby\",\"patterns\":[{\"include\":\"#yard\"},{\"include\":\"#yard_continuation\"}]}},\"scopeName\":\"source.ruby\",\"embeddedLangs\":[\"html\",\"haml\",\"xml\",\"sql\",\"graphql\",\"css\",\"cpp\",\"c\",\"javascript\",\"shellscript\",\"lua\",\"yaml\"],\"aliases\":[\"rb\"]}"))
15
15
 
16
16
  export default [
17
17
  ...html,
package/dist/sas.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import sql from './sql.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"SAS\",\"fileTypes\":[\"sas\"],\"foldingStartMarker\":\"(?i:(proc|data|%macro).*;$)\",\"foldingStopMarker\":\"(?i:(run|quit|%mend)\\\\s?);\",\"name\":\"sas\",\"patterns\":[{\"include\":\"#starComment\"},{\"include\":\"#blockComment\"},{\"include\":\"#macro\"},{\"include\":\"#constant\"},{\"include\":\"#quote\"},{\"include\":\"#operator\"},{\"begin\":\"\\\\b(?i:(data))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.sas\"}},\"end\":\"(;)\",\"patterns\":[{\"include\":\"#blockComment\"},{\"include\":\"#dataSet\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.sas\"},\"2\":{\"name\":\"keyword.other.sas\"}},\"match\":\"(?i:(stack|pgm|view|source)\\\\s?=\\\\s?|(debug|nesting|nolist))\"}]},{\"begin\":\"\\\\b(?i:(set|update|modify|merge))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"entity.name.class.sas\"},\"3\":{\"name\":\"entity.name.class.sas\"}},\"end\":\"(;)\",\"patterns\":[{\"include\":\"#blockComment\"},{\"include\":\"#dataSet\"}]},{\"match\":\"(?i:\\\\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\\\\b)\",\"name\":\"keyword.control.sas\"},{\"captures\":{\"1\":{\"name\":\"support.class.sas\"},\"3\":{\"name\":\"entity.name.function.sas\"}},\"match\":\"(?i:(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window))\\\\b)\\\\s*(\\\\w*)\",\"name\":\"keyword.other.sas\"},{\"begin\":\"(?i:\\\\b(proc\\\\s*(sql))\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"support.class.sas\"}},\"end\":\"(?i:\\\\b(quit)\\\\s*;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.sas\"}},\"name\":\"meta.sql.sas\",\"patterns\":[{\"include\":\"#starComment\"},{\"include\":\"#blockComment\"},{\"include\":\"source.sql\"}]},{\"match\":\"(?i:\\\\b(by|label|format)\\\\b)\",\"name\":\"keyword.datastep.sas\"},{\"captures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"support.class.sas\"}},\"match\":\"(?i:\\\\b(proc (\\\\w+))\\\\b)\",\"name\":\"meta.function-call.sas\"},{\"match\":\"(?i:\\\\b(_(?:n_|error_))\\\\b)\",\"name\":\"variable.language.sas\"},{\"captures\":{\"1\":{\"name\":\"support.class.sas\"}},\"match\":\"\\\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards|cards4|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cos|cosh|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines|datalines4|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erf|erfc|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipname|fipnamel|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|index|indexc|indexw|infile|informat|initcmd|initstmt|inner|input|inputc|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mod|mode|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|new|news|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource|nosource2|nosplash|nosymbolgen|note|notes|notitle|notitles|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p([15]|10|25|50|75|90|95|99)|pad|pad2|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peek|peekc|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|put|putc|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s|s2|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sin|sinh|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stname|stnamel|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|table|tables|tan|tanh|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trim|trimn|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varray|varrayx|vartype|verify|vformat|vformatd|vformatdx|vformatn|vformatnx|vformatw|vformatwx|vformatx|vinarray|vinarrayx|vinformat|vinformatd|vinformatdx|vinformatn|vinformatnx|vinformatw|vinformatwx|vinformatx|vlabel|vlabelx|vlength|vlengthx|vname|vnamex|vnferr|vtype|vtypex|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsum|wsumx|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipname|zipnamel|zipstate))\\\\b\",\"name\":\"support.function.sas\"}],\"repository\":{\"blockComment\":{\"patterns\":[{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.slashstar.sas\"}]},\"constant\":{\"patterns\":[{\"match\":\"(?<![\\\\&}])\\\\b[0-9]*\\\\.?[0-9]+([DEde][-+]?[0-9]+)?\\\\b\",\"name\":\"constant.numeric.sas\"},{\"match\":\"(')([^']+)(')(dt|[dt])\",\"name\":\"constant.numeric.quote.single.sas\"},{\"match\":\"(\\\")([^\\\"]+)(\\\")(dt|[dt])\",\"name\":\"constant.numeric.quote.double.sas\"}]},\"dataSet\":{\"patterns\":[{\"begin\":\"((\\\\w+)\\\\.)?(\\\\w+)\\\\s?\\\\(\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.class.libref.sas\"},\"3\":{\"name\":\"entity.name.class.dsname.sas\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#dataSetOptions\"},{\"include\":\"#blockComment\"},{\"include\":\"#macro\"},{\"include\":\"#constant\"},{\"include\":\"#quote\"},{\"include\":\"#operator\"}]},{\"captures\":{\"2\":{\"name\":\"entity.name.class.libref.sas\"},\"3\":{\"name\":\"entity.name.class.dsname.sas\"}},\"match\":\"\\\\b((\\\\w+)\\\\.)?(\\\\w+)\\\\b\"}]},\"dataSetOptions\":{\"patterns\":[{\"match\":\"(?<=[()\\\\s])(?i:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\\\\s?=\",\"name\":\"keyword.other.sas\"}]},\"macro\":{\"patterns\":[{\"match\":\"(&+(?i:[_a-z]([0-9_a-z]+)?)(\\\\.+)?)\\\\b\",\"name\":\"variable.other.macro.sas\"}]},\"operator\":{\"patterns\":[{\"match\":\"([-*+/^])\",\"name\":\"keyword.operator.arithmetic.sas\"},{\"match\":\"\\\\b(?i:(eq|ne|gt|lt|ge|le|in|not|&|and|or|min|max))\\\\b\",\"name\":\"keyword.operator.comparison.sas\"},{\"match\":\"([<>^~¬]?=(:)?|[!<>|¦¬]|^|~|<>|><|\\\\|\\\\|)\",\"name\":\"keyword.operator.sas\"}]},\"quote\":{\"patterns\":[{\"begin\":\"(?<!%)(')\",\"end\":\"(')([bx])?\",\"name\":\"string.quoted.single.sas\"},{\"begin\":\"(\\\")\",\"end\":\"(\\\")([bx])?\",\"name\":\"string.quoted.double.sas\"}]},\"starComment\":{\"patterns\":[{\"include\":\"#blockcomment\"},{\"begin\":\"(?<=;)[%\\\\s]*\\\\*\",\"end\":\";\",\"name\":\"comment.line.inline.star.sas\"},{\"begin\":\"^[%\\\\s]*\\\\*\",\"end\":\";\",\"name\":\"comment.line.start.sas\"}]}},\"scopeName\":\"source.sas\",\"embeddedLangs\":[\"sql\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"SAS\",\"fileTypes\":[\"sas\"],\"foldingStartMarker\":\"(?i:(proc|data|%macro).*;$)\",\"foldingStopMarker\":\"(?i:(run|quit|%mend)\\\\s?);\",\"name\":\"sas\",\"patterns\":[{\"include\":\"#starComment\"},{\"include\":\"#blockComment\"},{\"include\":\"#macro\"},{\"include\":\"#constant\"},{\"include\":\"#quote\"},{\"include\":\"#operator\"},{\"begin\":\"\\\\b(?i:(data))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other.sas\"}},\"end\":\"(;)\",\"patterns\":[{\"include\":\"#blockComment\"},{\"include\":\"#dataSet\"},{\"captures\":{\"1\":{\"name\":\"keyword.other.sas\"},\"2\":{\"name\":\"keyword.other.sas\"}},\"match\":\"(?i:(stack|pgm|view|source)\\\\s?=\\\\s?|(debug|nesting|nolist))\"}]},{\"begin\":\"\\\\b(?i:(set|update|modify|merge))\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"entity.name.class.sas\"},\"3\":{\"name\":\"entity.name.class.sas\"}},\"end\":\"(;)\",\"patterns\":[{\"include\":\"#blockComment\"},{\"include\":\"#dataSet\"}]},{\"match\":\"(?i:\\\\b(if|while|until|for|do|end|then|else|run|quit|cancel|options)\\\\b)\",\"name\":\"keyword.control.sas\"},{\"captures\":{\"1\":{\"name\":\"support.class.sas\"},\"3\":{\"name\":\"entity.name.function.sas\"}},\"match\":\"(?i:(%(bquote|do|else|end|eval|global|goto|if|inc|include|index|input|length|let|list|local|lowcase|macro|mend|nrbquote|nrquote|nrstr|put|qscan|qsysfunc|quote|run|scan|str|substr|syscall|sysevalf|sysexec|sysfunc|sysrc|then|to|unquote|upcase|until|while|window))\\\\b)\\\\s*(\\\\w*)\",\"name\":\"keyword.other.sas\"},{\"begin\":\"(?i:\\\\b(proc\\\\s*(sql))\\\\b)\",\"beginCaptures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"support.class.sas\"}},\"end\":\"(?i:\\\\b(quit)\\\\s*;)\",\"endCaptures\":{\"1\":{\"name\":\"keyword.control.sas\"}},\"name\":\"meta.sql.sas\",\"patterns\":[{\"include\":\"#starComment\"},{\"include\":\"#blockComment\"},{\"include\":\"source.sql\"}]},{\"match\":\"(?i:\\\\b(by|label|format)\\\\b)\",\"name\":\"keyword.datastep.sas\"},{\"captures\":{\"1\":{\"name\":\"support.function.sas\"},\"2\":{\"name\":\"support.class.sas\"}},\"match\":\"(?i:\\\\b(proc (\\\\w+))\\\\b)\",\"name\":\"meta.function-call.sas\"},{\"match\":\"(?i:\\\\b(_(?:n_|error_))\\\\b)\",\"name\":\"variable.language.sas\"},{\"captures\":{\"1\":{\"name\":\"support.class.sas\"}},\"match\":\"\\\\b(?i:(_all_|_character_|_cmd_|_freq_|_i_|_infile_|_last_|_msg_|_null_|_numeric_|_temporary_|_type_|abort|abs|addr|adjrsq|airy|alpha|alter|altlog|altprint|and|arcos|array|arsin|as|atan|attrc|attrib|attrn|authserver|autoexec|awscontrol|awsdef|awsmenu|awsmenumerge|awstitle|backward|band|base|betainv|between|blocksize|blshift|bnot|bor|brshift|bufno|bufsize|bxor|by|byerr|byline|byte|calculated|call|cards4??|case|catcache|cbufno|cdf|ceil|center|cexist|change|chisq|cinv|class|cleanup|close|cnonct|cntllev|coalesce|codegen|col|collate|collin|column|comamid|comaux1|comaux2|comdef|compbl|compound|compress|config|continue|convert|cosh??|cpuid|create|cross|crosstab|css|curobs|cv|daccdb|daccdbsl|daccsl|daccsyd|dacctab|dairy|datalines4??|date|datejul|datepart|datetime|day|dbcslang|dbcstype|dclose|ddm|delete|delimiter|depdb|depdbsl|depsl|depsyd|deptab|dequote|descending|descript|design=|device|dflang|dhms|dif|digamma|dim|dinfo|display|distinct|dkricond|dkrocond|dlm|dnum|do|dopen|doptname|doptnum|dread|drop|dropnote|dsname|dsnferr|echo|else|emaildlg|emailid|emailpw|emailserver|emailsys|encrypt|end|endsas|engine|eof|eov|erfc??|error|errorcheck|errors|exist|exp|fappend|fclose|fcol|fdelete|feedback|fetch|fetchobs|fexist|fget|file|fileclose|fileexist|filefmt|filename|fileref|filevar|finfo|finv|fipnamel??|fipstate|first|firstobs|floor|fmterr|fmtsearch|fnonct|fnote|font|fontalias|footnote[1-9]?|fopen|foptname|foptnum|force|formatted|formchar|formdelim|formdlim|forward|fpoint|fpos|fput|fread|frewind|frlen|from|fsep|full|fullstimer|fuzz|fwrite|gaminv|gamma|getoption|getvarc|getvarn|go|goto|group|gwindow|hbar|hbound|helpenv|helploc|hms|honorappearance|hosthelp|hostprint|hour|hpct|html|hvar|ibessel|ibr|id|if|indexc??|indexw|infile|informat|initcmd|initstmt|inner|inputc??|inputn|inr|insert|int|intck|intnx|into|intrr|invaliddata|irr|is|jbessel|join|juldate|keep|kentb|kurtosis|label|lag|last|lbound|leave|left|length|levels|lgamma|lib|libname|library|libref|line|linesize|link|list|log|log10|log2|logpdf|logpmf|logsdf|lostcard|lowcase|lrecl|ls|macro|macrogen|maps|mautosource|max|maxdec|maxr|mdy|mean|measures|median|memtype|merge|merror|min|minute|missing|missover|mlogic|mode??|model|modify|month|mopen|mort|mprint|mrecall|msglevel|msymtabmax|mvarsize|myy|n|nest|netpv|news??|nmiss|no|nobatch|nobs|nocaps|nocardimage|nocenter|nocharcode|nocmdmac|nocol|nocum|nodate|nodbcs|nodetails|nodmr|nodms|nodmsbatch|nodup|nodupkey|noduplicates|noechoauto|noequals|noerrorabend|noexitwindows|nofullstimer|noicon|noimplmac|noint|nolist|noloadlist|nomiss|nomlogic|nomprint|nomrecall|nomsgcase|nomstored|nomultenvappl|nonotes|nonumber|noobs|noovp|nopad|nopercent|noprint|noprintinit|normal|norow|norsasuser|nosetinit|nosource2??|nosplash|nosymbolgen|notes??|notitles??|notsorted|noverbose|noxsync|noxwait|npv|null|number|numkeys|nummousekeys|nway|obs|ods|on|open|option|order|ordinal|otherwise|out|outer|outp=|output|over|ovp|p([15]|10|25|50|75|90|95|99)|pad2??|page|pageno|pagesize|paired|parm|parmcards|path|pathdll|pathname|pdf|peekc??|pfkey|pmf|point|poisson|poke|position|printer|probbeta|probbnml|probchi|probf|probgam|probhypr|probit|probnegb|probnorm|probsig|probt|procleave|project|prt|propcase|prxmatch|prxparse|prxchange|prxposn|ps|putc??|putn|pw|pwreq|qtr|quote|r|ranbin|rancau|ranexp|rangam|range|ranks|rannor|ranpoi|rantbl|rantri|ranuni|read|recfm|register|regr|remote|remove|rename|repeat|replace|resolve|retain|return|reuse|reverse|rewind|right|round|rsquare|rtf|rtrace|rtraceloc|s2??|samploc|sasautos|sascontrol|sasfrscr|sashelp|sasmsg|sasmstore|sasscript|sasuser|saving|scan|sdf|second|select|selection|separated|seq|serror|set|setcomm|setot|sign|simple|sinh??|siteinfo|skewness|skip|sle|sls|sortedby|sortpgm|sortseq|sortsize|soundex|source2|spedis|splashlocation|split|spool|sqrt|start|std|stderr|stdin|stfips|stimer|stnamel??|stop|stopover|strip|subgroup|subpopn|substr|sum|sumwgt|symbol|symbolgen|symget|symput|sysget|sysin|sysleave|sysmsg|sysparm|sysprint|sysprintfont|sysprod|sysrc|system|t|tables??|tanh??|tapeclose|tbufsize|terminal|test|then|time|timepart|tinv|title[1-9]?|tnonct|to|today|tol|tooldef|totper|transformout|translate|trantab|tranwrd|trigamma|trimn??|trunc|truncover|type|unformatted|uniform|union|until|upcase|update|user|usericon|uss|validate|value|var|varfmt|varinfmt|varlabel|varlen|varname|varnum|varrayx??|vartype|verify|vformatd??|vformatdx|vformatnx??|vformatwx??|vformatx|vinarrayx??|vinformatd??|vinformatdx|vinformatnx??|vinformatwx??|vinformatx|vlabelx??|vlengthx??|vnamex??|vnferr|vtypex??|weekday|weight|when|where|while|wincharset|window|work|workinit|workterm|write|wsumx??|x|xsync|xwait|year|yearcutoff|yes|yyq|zipfips|zipnamel??|zipstate))\\\\b\",\"name\":\"support.function.sas\"}],\"repository\":{\"blockComment\":{\"patterns\":[{\"begin\":\"/\\\\*\",\"end\":\"\\\\*/\",\"name\":\"comment.block.slashstar.sas\"}]},\"constant\":{\"patterns\":[{\"match\":\"(?<![\\\\&}])\\\\b[0-9]*\\\\.?[0-9]+([DEde][-+]?[0-9]+)?\\\\b\",\"name\":\"constant.numeric.sas\"},{\"match\":\"(')([^']+)(')(dt|[dt])\",\"name\":\"constant.numeric.quote.single.sas\"},{\"match\":\"(\\\")([^\\\"]+)(\\\")(dt|[dt])\",\"name\":\"constant.numeric.quote.double.sas\"}]},\"dataSet\":{\"patterns\":[{\"begin\":\"((\\\\w+)\\\\.)?(\\\\w+)\\\\s?\\\\(\",\"beginCaptures\":{\"2\":{\"name\":\"entity.name.class.libref.sas\"},\"3\":{\"name\":\"entity.name.class.dsname.sas\"}},\"end\":\"\\\\)\",\"patterns\":[{\"include\":\"#dataSetOptions\"},{\"include\":\"#blockComment\"},{\"include\":\"#macro\"},{\"include\":\"#constant\"},{\"include\":\"#quote\"},{\"include\":\"#operator\"}]},{\"captures\":{\"2\":{\"name\":\"entity.name.class.libref.sas\"},\"3\":{\"name\":\"entity.name.class.dsname.sas\"}},\"match\":\"\\\\b((\\\\w+)\\\\.)?(\\\\w+)\\\\b\"}]},\"dataSetOptions\":{\"patterns\":[{\"match\":\"(?<=[()\\\\s])(?i:ALTER|BUFNO|BUFSIZE|CNTLLEV|COMPRESS|DLDMGACTION|ENCRYPT|ENCRYPTKEY|EXTENDOBSCOUNTER|GENMAX|GENNUM|INDEX|LABEL|OBSBUF|OUTREP|PW|PWREQ|READ|REPEMPTY|REPLACE|REUSE|ROLE|SORTEDBY|SPILL|TOBSNO|TYPE|WRITE|FILECLOSE|FIRSTOBS|IN|OBS|POINTOBS|WHERE|WHEREUP|IDXNAME|IDXWHERE|DROP|KEEP|RENAME)\\\\s?=\",\"name\":\"keyword.other.sas\"}]},\"macro\":{\"patterns\":[{\"match\":\"(&+(?i:[_a-z]([0-9_a-z]+)?)(\\\\.+)?)\\\\b\",\"name\":\"variable.other.macro.sas\"}]},\"operator\":{\"patterns\":[{\"match\":\"([-*+/^])\",\"name\":\"keyword.operator.arithmetic.sas\"},{\"match\":\"\\\\b(?i:(eq|ne|gt|lt|ge|le|in|not|&|and|or|min|max))\\\\b\",\"name\":\"keyword.operator.comparison.sas\"},{\"match\":\"([<>^~¬]?=(:)?|[!<>|¦¬]|^|~|<>|><|\\\\|\\\\|)\",\"name\":\"keyword.operator.sas\"}]},\"quote\":{\"patterns\":[{\"begin\":\"(?<!%)(')\",\"end\":\"(')([bx])?\",\"name\":\"string.quoted.single.sas\"},{\"begin\":\"(\\\")\",\"end\":\"(\\\")([bx])?\",\"name\":\"string.quoted.double.sas\"}]},\"starComment\":{\"patterns\":[{\"include\":\"#blockcomment\"},{\"begin\":\"(?<=;)[%\\\\s]*\\\\*\",\"end\":\";\",\"name\":\"comment.line.inline.star.sas\"},{\"begin\":\"^[%\\\\s]*\\\\*\",\"end\":\";\",\"name\":\"comment.line.start.sas\"}]}},\"scopeName\":\"source.sas\",\"embeddedLangs\":[\"sql\"]}"))
4
4
 
5
5
  export default [
6
6
  ...sql,
package/dist/scheme.mjs CHANGED
@@ -1,4 +1,4 @@
1
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"Scheme\",\"fileTypes\":[\"scm\",\"ss\",\"sch\",\"rkt\"],\"name\":\"scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block-comment\"},{\"include\":\"#sexp\"},{\"include\":\"#string\"},{\"include\":\"#language-functions\"},{\"include\":\"#quote\"},{\"include\":\"#illegal\"}],\"repository\":{\"block-comment\":{\"begin\":\"#\\\\|\",\"contentName\":\"comment\",\"end\":\"\\\\|#\",\"name\":\"comment\",\"patterns\":[{\"include\":\"#block-comment\",\"name\":\"comment\"}]},\"comment\":{\"begin\":\"(^[\\\\t ]+)?(?=;)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.scheme\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\";\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scheme\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.semicolon.scheme\"}]},\"constants\":{\"patterns\":[{\"match\":\"#[ft|]\",\"name\":\"constant.language.boolean.scheme\"},{\"match\":\"(?<=[(\\\\s])((#[ei])?[0-9]+(\\\\.[0-9]+)?|(#x)\\\\h+|(#o)[0-7]+|(#b)[01]+)(?=[]\\\"'(),;\\\\[\\\\s])\",\"name\":\"constant.numeric.scheme\"}]},\"illegal\":{\"match\":\"[]()\\\\[]\",\"name\":\"invalid.illegal.parenthesis.scheme\"},\"language-functions\":{\"patterns\":[{\"match\":\"(?<=([(\\\\[\\\\s]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\\\\*|unquote-splicing|delay|letrec)(?=([(\\\\s]))\",\"name\":\"keyword.control.scheme\"},{\"match\":\"(?<=([(\\\\s]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\\\\?)(?=([(\\\\s]))\",\"name\":\"support.function.boolean-test.scheme\"},{\"match\":\"(?<=([(\\\\s]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([(\\\\s]))\",\"name\":\"support.function.convert-type.scheme\"},{\"match\":\"(?<=([(\\\\s]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([(\\\\s]))\",\"name\":\"support.function.with-side-effects.scheme\"},{\"match\":\"(?<=([(\\\\s]))(>=?|<=?|[-*+/=])(?=([(\\\\s]))\",\"name\":\"keyword.operator.arithmetic.scheme\"},{\"match\":\"(?<=([(\\\\s]))(append|apply|approximate|call-with-current-continuation|call/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|exp|expt|remainder|quotient|lcm|call-with-(?:in|out)put-file|c(?:lose|urrent)-(?:in|out)put-port|with-(?:in|out)put-from-file|open-(?:in|out)put-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector-(?:length|ref))(?=([(\\\\s]))\",\"name\":\"support.function.general.scheme\"}]},\"quote\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.quoted.symbol.scheme\"}},\"match\":\"(')\\\\s*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)\",\"name\":\"constant.other.symbol.scheme\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.quoted.empty-list.scheme\"},\"2\":{\"name\":\"meta.expression.scheme\"},\"3\":{\"name\":\"punctuation.section.expression.begin.scheme\"},\"4\":{\"name\":\"punctuation.section.expression.end.scheme\"}},\"match\":\"(')\\\\s*((\\\\()\\\\s*(\\\\)))\",\"name\":\"constant.other.empty-list.schem\"},{\"begin\":\"(')\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.quoted.scheme\"}},\"end\":\"(?=[()\\\\s])|(?<=\\\\n)\",\"name\":\"string.other.quoted-object.scheme\",\"patterns\":[{\"include\":\"#quoted\"}]}]},\"quote-sexp\":{\"begin\":\"(?<=\\\\()\\\\s*(quote)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.quote.scheme\"}},\"contentName\":\"string.other.quote.scheme\",\"end\":\"(?=[)\\\\s])|(?<=\\\\n)\",\"patterns\":[{\"include\":\"#quoted\"}]},\"quoted\":{\"patterns\":[{\"include\":\"#string\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.scheme\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.scheme\"}},\"name\":\"meta.expression.scheme\",\"patterns\":[{\"include\":\"#quoted\"}]},{\"include\":\"#quote\"},{\"include\":\"#illegal\"}]},\"sexp\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.scheme\"}},\"end\":\"(\\\\))(\\\\n)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.scheme\"},\"2\":{\"name\":\"meta.after-expression.scheme\"}},\"name\":\"meta.expression.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=\\\\()(define)\\\\s+(\\\\()(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)((\\\\s+(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._]))*)\\\\s*(\\\\))\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"punctuation.definition.function.scheme\"},\"3\":{\"name\":\"entity.name.function.scheme\"},\"4\":{\"name\":\"variable.parameter.function.scheme\"},\"7\":{\"name\":\"punctuation.definition.function.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.procedure.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"begin\":\"(?<=\\\\()(lambda)\\\\s+(\\\\()((?:(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])\\\\s+)*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])?)(\\\\))\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"punctuation.definition.variable.scheme\"},\"3\":{\"name\":\"variable.parameter.scheme\"},\"6\":{\"name\":\"punctuation.definition.variable.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.procedure.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"begin\":\"(?<=\\\\()(define)\\\\s(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)\\\\s*.*?\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"variable.other.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.variable.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"include\":\"#quote-sexp\"},{\"include\":\"#quote\"},{\"include\":\"#language-functions\"},{\"include\":\"#string\"},{\"include\":\"#constants\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\)(space|newline|tab)(?=[)\\\\s])\",\"name\":\"constant.character.named.scheme\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\)x[0-9A-F]{2,4}(?=[)\\\\s])\",\"name\":\"constant.character.hex-literal.scheme\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\).(?=[)\\\\s])\",\"name\":\"constant.character.escape.scheme\"},{\"match\":\"(?<=[ ()])\\\\.(?=[ ()])\",\"name\":\"punctuation.separator.cons.scheme\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scheme\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.scheme\"}},\"name\":\"string.quoted.double.scheme\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.scheme\"}]}},\"scopeName\":\"source.scheme\"}"))
1
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"Scheme\",\"fileTypes\":[\"scm\",\"ss\",\"sch\",\"rkt\"],\"name\":\"scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#block-comment\"},{\"include\":\"#sexp\"},{\"include\":\"#string\"},{\"include\":\"#language-functions\"},{\"include\":\"#quote\"},{\"include\":\"#illegal\"}],\"repository\":{\"block-comment\":{\"begin\":\"#\\\\|\",\"contentName\":\"comment\",\"end\":\"\\\\|#\",\"name\":\"comment\",\"patterns\":[{\"include\":\"#block-comment\",\"name\":\"comment\"}]},\"comment\":{\"begin\":\"(^[\\\\t ]+)?(?=;)\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.whitespace.comment.leading.scheme\"}},\"end\":\"(?!\\\\G)\",\"patterns\":[{\"begin\":\";\",\"beginCaptures\":{\"0\":{\"name\":\"punctuation.definition.comment.scheme\"}},\"end\":\"\\\\n\",\"name\":\"comment.line.semicolon.scheme\"}]},\"constants\":{\"patterns\":[{\"match\":\"#[ft|]\",\"name\":\"constant.language.boolean.scheme\"},{\"match\":\"(?<=[(\\\\s])((#[ei])?[0-9]+(\\\\.[0-9]+)?|(#x)\\\\h+|(#o)[0-7]+|(#b)[01]+)(?=[]\\\"'(),;\\\\[\\\\s])\",\"name\":\"constant.numeric.scheme\"}]},\"illegal\":{\"match\":\"[]()\\\\[]\",\"name\":\"invalid.illegal.parenthesis.scheme\"},\"language-functions\":{\"patterns\":[{\"match\":\"(?<=([(\\\\[\\\\s]))(do|or|and|else|quasiquote|begin|if|case|set!|cond|let|unquote|define|let\\\\*|unquote-splicing|delay|letrec)(?=([(\\\\s]))\",\"name\":\"keyword.control.scheme\"},{\"match\":\"(?<=([(\\\\s]))(char-alphabetic|char-lower-case|char-numeric|char-ready|char-upper-case|char-whitespace|(?:char|string)(?:-ci)?(?:=|<=?|>=?)|atom|boolean|bound-identifier=|char|complex|identifier|integer|symbol|free-identifier=|inexact|eof-object|exact|list|(?:in|out)put-port|pair|real|rational|zero|vector|negative|odd|null|string|eq|equal|eqv|even|number|positive|procedure)(\\\\?)(?=([(\\\\s]))\",\"name\":\"support.function.boolean-test.scheme\"},{\"match\":\"(?<=([(\\\\s]))(char->integer|exact->inexact|inexact->exact|integer->char|symbol->string|list->vector|list->string|identifier->symbol|vector->list|string->list|string->number|string->symbol|number->string)(?=([(\\\\s]))\",\"name\":\"support.function.convert-type.scheme\"},{\"match\":\"(?<=([(\\\\s]))(set-c[ad]r|(?:vector|string)-(?:fill|set))(!)(?=([(\\\\s]))\",\"name\":\"support.function.with-side-effects.scheme\"},{\"match\":\"(?<=([(\\\\s]))(>=?|<=?|[-*+/=])(?=([(\\\\s]))\",\"name\":\"keyword.operator.arithmetic.scheme\"},{\"match\":\"(?<=([(\\\\s]))(append|apply|approximate|call-with-current-continuation|call/cc|catch|construct-identifier|define-syntax|display|foo|for-each|force|format|cd|gen-counter|gen-loser|generate-identifier|last-pair|length|let-syntax|letrec-syntax|list|list-ref|list-tail|load|log|macro|magnitude|map|map-streams|max|member|memq|memv|min|newline|nil|not|peek-char|rationalize|read|read-char|return|reverse|sequence|substring|syntax|syntax-rules|transcript-off|transcript-on|truncate|unwrap-syntax|values-list|write|write-char|cons|c([ad]){1,4}r|abs|acos|angle|asin|assoc|assq|assv|atan|ceiling|cos|floor|round|sin|sqrt|tan|(?:real|imag)-part|numerator|denominatormodulo|expt??|remainder|quotient|lcm|call-with-(?:in|out)put-file|c(?:lose|urrent)-(?:in|out)put-port|with-(?:in|out)put-from-file|open-(?:in|out)put-file|char-(?:downcase|upcase|ready)|make-(?:polar|promise|rectangular|string|vector)string(?:-(?:append|copy|length|ref))?|vector-(?:length|ref))(?=([(\\\\s]))\",\"name\":\"support.function.general.scheme\"}]},\"quote\":{\"patterns\":[{\"captures\":{\"1\":{\"name\":\"punctuation.section.quoted.symbol.scheme\"}},\"match\":\"(')\\\\s*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)\",\"name\":\"constant.other.symbol.scheme\"},{\"captures\":{\"1\":{\"name\":\"punctuation.section.quoted.empty-list.scheme\"},\"2\":{\"name\":\"meta.expression.scheme\"},\"3\":{\"name\":\"punctuation.section.expression.begin.scheme\"},\"4\":{\"name\":\"punctuation.section.expression.end.scheme\"}},\"match\":\"(')\\\\s*((\\\\()\\\\s*(\\\\)))\",\"name\":\"constant.other.empty-list.schem\"},{\"begin\":\"(')\\\\s*\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.quoted.scheme\"}},\"end\":\"(?=[()\\\\s])|(?<=\\\\n)\",\"name\":\"string.other.quoted-object.scheme\",\"patterns\":[{\"include\":\"#quoted\"}]}]},\"quote-sexp\":{\"begin\":\"(?<=\\\\()\\\\s*(quote)\\\\s+\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.control.quote.scheme\"}},\"contentName\":\"string.other.quote.scheme\",\"end\":\"(?=[)\\\\s])|(?<=\\\\n)\",\"patterns\":[{\"include\":\"#quoted\"}]},\"quoted\":{\"patterns\":[{\"include\":\"#string\"},{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.scheme\"}},\"end\":\"(\\\\))\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.scheme\"}},\"name\":\"meta.expression.scheme\",\"patterns\":[{\"include\":\"#quoted\"}]},{\"include\":\"#quote\"},{\"include\":\"#illegal\"}]},\"sexp\":{\"begin\":\"(\\\\()\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.begin.scheme\"}},\"end\":\"(\\\\))(\\\\n)?\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.section.expression.end.scheme\"},\"2\":{\"name\":\"meta.after-expression.scheme\"}},\"name\":\"meta.expression.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"begin\":\"(?<=\\\\()(define)\\\\s+(\\\\()(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)((\\\\s+(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._]))*)\\\\s*(\\\\))\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"punctuation.definition.function.scheme\"},\"3\":{\"name\":\"entity.name.function.scheme\"},\"4\":{\"name\":\"variable.parameter.function.scheme\"},\"7\":{\"name\":\"punctuation.definition.function.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.procedure.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"begin\":\"(?<=\\\\()(lambda)\\\\s+(\\\\()((?:(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])\\\\s+)*(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*|[._])?)(\\\\))\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"punctuation.definition.variable.scheme\"},\"3\":{\"name\":\"variable.parameter.scheme\"},\"6\":{\"name\":\"punctuation.definition.variable.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.procedure.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"begin\":\"(?<=\\\\()(define)\\\\s(\\\\p{alnum}[!$%\\\\&*-/:<-@^_~[:alnum:]]*)\\\\s*.*?\",\"captures\":{\"1\":{\"name\":\"keyword.control.scheme\"},\"2\":{\"name\":\"variable.other.scheme\"}},\"end\":\"(?=\\\\))\",\"name\":\"meta.declaration.variable.scheme\",\"patterns\":[{\"include\":\"#comment\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},{\"include\":\"#quote-sexp\"},{\"include\":\"#quote\"},{\"include\":\"#language-functions\"},{\"include\":\"#string\"},{\"include\":\"#constants\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\)(space|newline|tab)(?=[)\\\\s])\",\"name\":\"constant.character.named.scheme\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\)x[0-9A-F]{2,4}(?=[)\\\\s])\",\"name\":\"constant.character.hex-literal.scheme\"},{\"match\":\"(?<=[(\\\\s])(#\\\\\\\\).(?=[)\\\\s])\",\"name\":\"constant.character.escape.scheme\"},{\"match\":\"(?<=[ ()])\\\\.(?=[ ()])\",\"name\":\"punctuation.separator.cons.scheme\"},{\"include\":\"#sexp\"},{\"include\":\"#illegal\"}]},\"string\":{\"begin\":\"(\\\")\",\"beginCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.begin.scheme\"}},\"end\":\"(\\\")\",\"endCaptures\":{\"1\":{\"name\":\"punctuation.definition.string.end.scheme\"}},\"name\":\"string.quoted.double.scheme\",\"patterns\":[{\"match\":\"\\\\\\\\.\",\"name\":\"constant.character.escape.scheme\"}]}},\"scopeName\":\"source.scheme\"}"))
2
2
 
3
3
  export default [
4
4
  lang
@@ -1,6 +1,6 @@
1
1
  import hlsl from './hlsl.mjs'
2
2
 
3
- const lang = Object.freeze(JSON.parse("{\"displayName\":\"ShaderLab\",\"name\":\"shaderlab\",\"patterns\":[{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.shaderlab\"},{\"match\":\"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b\",\"name\":\"support.type.basic.shaderlab\"},{\"include\":\"#numbers\"},{\"match\":\"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b\",\"name\":\"storage.type.structure.shaderlab\"},{\"match\":\"\\\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\\\b\",\"name\":\"support.type.propertyname.shaderlab\"},{\"match\":\"\\\\b(?i:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\\\\b\",\"name\":\"support.constant.property-value.shaderlab\"},{\"match\":\"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b\",\"name\":\"support.constant.property-value.comparisonfunction.shaderlab\"},{\"match\":\"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b\",\"name\":\"support.constant.property-value.stenciloperation.shaderlab\"},{\"match\":\"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b\",\"name\":\"support.constant.property-value.texturecombiners.shaderlab\"},{\"match\":\"\\\\b(?i:Global|Linear|Exp2|Exp)\\\\b\",\"name\":\"support.constant.property-value.fog.shaderlab\"},{\"match\":\"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b\",\"name\":\"support.constant.property-value.bindchannels.shaderlab\"},{\"match\":\"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b\",\"name\":\"support.constant.property-value.blendoperations.shaderlab\"},{\"match\":\"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b\",\"name\":\"support.constant.property-value.blendfactors.shaderlab\"},{\"match\":\"\\\\[([A-Z_a-z][0-9A-Z_a-z]*)](?!\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\s*\\\\(\\\")\",\"name\":\"support.variable.reference.shaderlab\"},{\"begin\":\"(\\\\[)\",\"end\":\"(])\",\"name\":\"meta.attribute.shaderlab\",\"patterns\":[{\"match\":\"\\\\G([A-Za-z]+)\\\\b\",\"name\":\"support.type.attributename.shaderlab\"},{\"include\":\"#numbers\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"name\":\"support.variable.declaration.shaderlab\"},{\"begin\":\"\\\\b(CG(?:PROGRAM|INCLUDE))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDCG)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.cgblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\\b(HLSL(?:PROGRAM|INCLUDE))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDHLSL)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.hlslblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.shaderlab\"}],\"repository\":{\"hlsl-embedded\":{\"patterns\":[{\"include\":\"source.hlsl\"},{\"match\":\"\\\\b(fixed([1-4](x[1-4])?)?)\\\\b\",\"name\":\"storage.type.basic.shaderlab\"},{\"match\":\"\\\\b(UNITY_MATRIX_MVP|UNITY_MATRIX_MV|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\\\\b\",\"name\":\"support.variable.transformations.shaderlab\"},{\"match\":\"\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\b\",\"name\":\"support.variable.camera.shaderlab\"},{\"match\":\"\\\\b((?:_|_Sin|_Cos|unity_Delta)Time)\\\\b\",\"name\":\"support.variable.time.shaderlab\"},{\"match\":\"\\\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\\\b\",\"name\":\"support.variable.lighting.shaderlab\"},{\"match\":\"\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\b\",\"name\":\"support.variable.fog.shaderlab\"},{\"match\":\"\\\\b(unity_LODFade)\\\\b\",\"name\":\"support.variable.various.shaderlab\"},{\"match\":\"\\\\b(SHADER_API_(?:D3D9|D3D11|GLCORE|OPENGL|GLES|GLES3|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|GLSL))\\\\b\",\"name\":\"support.variable.preprocessor.targetplatform.shaderlab\"},{\"match\":\"\\\\b(SHADER_TARGET)\\\\b\",\"name\":\"support.variable.preprocessor.targetmodel.shaderlab\"},{\"match\":\"\\\\b(UNITY_VERSION)\\\\b\",\"name\":\"support.variable.preprocessor.unityversion.shaderlab\"},{\"match\":\"\\\\b(UNITY_(?:BRANCH|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\\\\b\",\"name\":\"support.variable.preprocessor.platformdifference.shaderlab\"},{\"match\":\"\\\\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\\\\b\",\"name\":\"support.variable.preprocessor.texture2D.shaderlab\"},{\"match\":\"\\\\b(appdata_(?:base|tan|full|img))\\\\b\",\"name\":\"support.class.structures.shaderlab\"},{\"match\":\"\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\b\",\"name\":\"support.class.surface.shaderlab\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b([0-9]+\\\\.?[0-9]*)\\\\b\",\"name\":\"constant.numeric.shaderlab\"}]}},\"scopeName\":\"source.shaderlab\",\"embeddedLangs\":[\"hlsl\"],\"aliases\":[\"shader\"]}"))
3
+ const lang = Object.freeze(JSON.parse("{\"displayName\":\"ShaderLab\",\"name\":\"shaderlab\",\"patterns\":[{\"begin\":\"//\",\"end\":\"$\",\"name\":\"comment.line.double-slash.shaderlab\"},{\"match\":\"\\\\b(?i:Range|Float|Int|Color|Vector|2D|3D|Cube|Any)\\\\b\",\"name\":\"support.type.basic.shaderlab\"},{\"include\":\"#numbers\"},{\"match\":\"\\\\b(?i:Shader|Properties|SubShader|Pass|Category)\\\\b\",\"name\":\"storage.type.structure.shaderlab\"},{\"match\":\"\\\\b(?i:Name|Tags|Fallback|CustomEditor|Cull|ZWrite|ZTest|Offset|Blend|BlendOp|ColorMask|AlphaToMask|LOD|Lighting|Stencil|Ref|ReadMask|WriteMask|Comp|CompBack|CompFront|Fail|ZFail|UsePass|GrabPass|Dependency|Material|Diffuse|Ambient|Shininess|Specular|Emission|Fog|Mode|Density|SeparateSpecular|SetTexture|Combine|ConstantColor|Matrix|AlphaTest|ColorMaterial|BindChannels|Bind)\\\\b\",\"name\":\"support.type.propertyname.shaderlab\"},{\"match\":\"\\\\b(?i:Back|Front|On|Off|[ABGR]{1,3}|AmbientAndDiffuse|Emission)\\\\b\",\"name\":\"support.constant.property-value.shaderlab\"},{\"match\":\"\\\\b(?i:Less|Greater|LEqual|GEqual|Equal|NotEqual|Always|Never)\\\\b\",\"name\":\"support.constant.property-value.comparisonfunction.shaderlab\"},{\"match\":\"\\\\b(?i:Keep|Zero|Replace|IncrSat|DecrSat|Invert|IncrWrap|DecrWrap)\\\\b\",\"name\":\"support.constant.property-value.stenciloperation.shaderlab\"},{\"match\":\"\\\\b(?i:Previous|Primary|Texture|Constant|Lerp|Double|Quad|Alpha)\\\\b\",\"name\":\"support.constant.property-value.texturecombiners.shaderlab\"},{\"match\":\"\\\\b(?i:Global|Linear|Exp2?)\\\\b\",\"name\":\"support.constant.property-value.fog.shaderlab\"},{\"match\":\"\\\\b(?i:Vertex|Normal|Tangent|TexCoord0|TexCoord1)\\\\b\",\"name\":\"support.constant.property-value.bindchannels.shaderlab\"},{\"match\":\"\\\\b(?i:Add|Sub|RevSub|Min|Max|LogicalClear|LogicalSet|LogicalCopyInverted|LogicalCopy|LogicalNoop|LogicalInvert|LogicalAnd|LogicalNand|LogicalOr|LogicalNor|LogicalXor|LogicalEquiv|LogicalAndReverse|LogicalAndInverted|LogicalOrReverse|LogicalOrInverted)\\\\b\",\"name\":\"support.constant.property-value.blendoperations.shaderlab\"},{\"match\":\"\\\\b(?i:One|Zero|SrcColor|SrcAlpha|DstColor|DstAlpha|OneMinusSrcColor|OneMinusSrcAlpha|OneMinusDstColor|OneMinusDstAlpha)\\\\b\",\"name\":\"support.constant.property-value.blendfactors.shaderlab\"},{\"match\":\"\\\\[([A-Z_a-z][0-9A-Z_a-z]*)](?!\\\\s*[A-Z_a-z][0-9A-Z_a-z]*\\\\s*\\\\(\\\")\",\"name\":\"support.variable.reference.shaderlab\"},{\"begin\":\"(\\\\[)\",\"end\":\"(])\",\"name\":\"meta.attribute.shaderlab\",\"patterns\":[{\"match\":\"\\\\G([A-Za-z]+)\\\\b\",\"name\":\"support.type.attributename.shaderlab\"},{\"include\":\"#numbers\"}]},{\"match\":\"\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\s*\\\\(\",\"name\":\"support.variable.declaration.shaderlab\"},{\"begin\":\"\\\\b(CG(?:PROGRAM|INCLUDE))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDCG)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.cgblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\\b(HLSL(?:PROGRAM|INCLUDE))\\\\b\",\"beginCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"end\":\"\\\\b(ENDHLSL)\\\\b\",\"endCaptures\":{\"1\":{\"name\":\"keyword.other\"}},\"name\":\"meta.hlslblock\",\"patterns\":[{\"include\":\"#hlsl-embedded\"}]},{\"begin\":\"\\\"\",\"end\":\"\\\"\",\"name\":\"string.quoted.double.shaderlab\"}],\"repository\":{\"hlsl-embedded\":{\"patterns\":[{\"include\":\"source.hlsl\"},{\"match\":\"\\\\b(fixed([1-4](x[1-4])?)?)\\\\b\",\"name\":\"storage.type.basic.shaderlab\"},{\"match\":\"\\\\b(UNITY_MATRIX_MVP?|UNITY_MATRIX_M|UNITY_MATRIX_V|UNITY_MATRIX_P|UNITY_MATRIX_VP|UNITY_MATRIX_T_MV|UNITY_MATRIX_I_V|UNITY_MATRIX_IT_MV|_Object2World|_World2Object|unity_ObjectToWorld|unity_WorldToObject)\\\\b\",\"name\":\"support.variable.transformations.shaderlab\"},{\"match\":\"\\\\b(_WorldSpaceCameraPos|_ProjectionParams|_ScreenParams|_ZBufferParams|unity_OrthoParams|unity_CameraProjection|unity_CameraInvProjection|unity_CameraWorldClipPlanes)\\\\b\",\"name\":\"support.variable.camera.shaderlab\"},{\"match\":\"\\\\b((?:_|_Sin|_Cos|unity_Delta)Time)\\\\b\",\"name\":\"support.variable.time.shaderlab\"},{\"match\":\"\\\\b(_LightColor0|_WorldSpaceLightPos0|_LightMatrix0|unity_4LightPosX0|unity_4LightPosY0|unity_4LightPosZ0|unity_4LightAtten0|unity_LightColor|_LightColor|unity_LightPosition|unity_LightAtten|unity_SpotDirection)\\\\b\",\"name\":\"support.variable.lighting.shaderlab\"},{\"match\":\"\\\\b(unity_AmbientSky|unity_AmbientEquator|unity_AmbientGround|UNITY_LIGHTMODEL_AMBIENT|unity_FogColor|unity_FogParams)\\\\b\",\"name\":\"support.variable.fog.shaderlab\"},{\"match\":\"\\\\b(unity_LODFade)\\\\b\",\"name\":\"support.variable.various.shaderlab\"},{\"match\":\"\\\\b(SHADER_API_(?:D3D9|D3D11|GLCORE|OPENGL|GLES3??|METAL|D3D11_9X|PSSL|XBOXONE|PSP2|WIIU|MOBILE|GLSL))\\\\b\",\"name\":\"support.variable.preprocessor.targetplatform.shaderlab\"},{\"match\":\"\\\\b(SHADER_TARGET)\\\\b\",\"name\":\"support.variable.preprocessor.targetmodel.shaderlab\"},{\"match\":\"\\\\b(UNITY_VERSION)\\\\b\",\"name\":\"support.variable.preprocessor.unityversion.shaderlab\"},{\"match\":\"\\\\b(UNITY_(?:BRANCH|FLATTEN|NO_SCREENSPACE_SHADOWS|NO_LINEAR_COLORSPACE|NO_RGBM|NO_DXT5nm|FRAMEBUFFER_FETCH_AVAILABLE|USE_RGBA_FOR_POINT_SHADOWS|ATTEN_CHANNEL|HALF_TEXEL_OFFSET|UV_STARTS_AT_TOP|MIGHT_NOT_HAVE_DEPTH_Texture|NEAR_CLIP_VALUE|VPOS_TYPE|CAN_COMPILE_TESSELLATION|COMPILER_HLSL|COMPILER_HLSL2GLSL|COMPILER_CG|REVERSED_Z))\\\\b\",\"name\":\"support.variable.preprocessor.platformdifference.shaderlab\"},{\"match\":\"\\\\b(UNITY_PASS_(?:FORWARDBASE|FORWARDADD|DEFERRED|SHADOWCASTER|PREPASSBASE|PREPASSFINAL))\\\\b\",\"name\":\"support.variable.preprocessor.texture2D.shaderlab\"},{\"match\":\"\\\\b(appdata_(?:base|tan|full|img))\\\\b\",\"name\":\"support.class.structures.shaderlab\"},{\"match\":\"\\\\b(SurfaceOutputStandardSpecular|SurfaceOutputStandard|SurfaceOutput|Input)\\\\b\",\"name\":\"support.class.surface.shaderlab\"}]},\"numbers\":{\"patterns\":[{\"match\":\"\\\\b([0-9]+\\\\.?[0-9]*)\\\\b\",\"name\":\"constant.numeric.shaderlab\"}]}},\"scopeName\":\"source.shaderlab\",\"embeddedLangs\":[\"hlsl\"],\"aliases\":[\"shader\"]}"))
4
4
 
5
5
  export default [
6
6
  ...hlsl,