@akira-tl/forgerelay 1.1.2 → 1.2.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 (170) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +14 -0
  3. package/dist/activity/runtime/mcp-query-tools.js +15 -5
  4. package/dist/cli/config/inspect.js +331 -0
  5. package/dist/cli/config/migrate.js +351 -0
  6. package/dist/cli/init/setup-config.js +41 -0
  7. package/dist/cli/init.js +128 -130
  8. package/dist/cli/maintenance.js +15 -5
  9. package/dist/cli/mcp/external-mcp.js +14 -10
  10. package/dist/cli/mcp/status.js +11 -6
  11. package/dist/cli.js +40 -7
  12. package/dist/lsp/language-server-config.js +66 -144
  13. package/dist/lsp/runtime/manager.js +35 -4
  14. package/dist/mcp/hooks/config.js +141 -0
  15. package/dist/mcp/hooks/external-mcp-transform.js +22 -13
  16. package/dist/mcp/hooks/hook-cli.js +62 -52
  17. package/dist/mcp/hooks/hooks.js +111 -85
  18. package/dist/mcp/operations/external-mcp/external-mcp-runtime.js +8 -5
  19. package/dist/mcp/operations/external-mcp/external-mcp.js +9 -2
  20. package/dist/mcp/server/core/capability-support.js +7 -0
  21. package/dist/runtime/config/config.js +142 -64
  22. package/dist/runtime/config/definition/catalog.js +12 -0
  23. package/dist/runtime/config/definition/definition.js +115 -0
  24. package/dist/runtime/config/definition/external-mcp.js +58 -0
  25. package/dist/runtime/config/definition/general-config.js +258 -0
  26. package/dist/runtime/config/definition/language-servers.js +116 -0
  27. package/dist/runtime/config/definition/schema.js +113 -0
  28. package/dist/runtime/config/definition/types.js +2 -0
  29. package/dist/runtime/config/external-mcp-auth-store.js +105 -29
  30. package/dist/runtime/config/external-mcp-config.js +39 -0
  31. package/dist/runtime/config/external-mcp-registry.js +284 -106
  32. package/dist/runtime/config/inspection/live.js +77 -0
  33. package/dist/runtime/config/resolution/general.js +93 -0
  34. package/dist/runtime/config/resolution/hooks.js +315 -0
  35. package/dist/runtime/config/resolution/language-servers.js +237 -0
  36. package/dist/runtime/config/resolution/project-sources.js +159 -0
  37. package/dist/runtime/config/resolution/resolver.js +485 -0
  38. package/dist/runtime/config/resolution/types.js +1 -0
  39. package/dist/runtime/config/runtime/config-runtime.js +74 -0
  40. package/dist/runtime/config/runtime/source-refresh.js +263 -0
  41. package/dist/runtime/config/user-config.js +38 -31
  42. package/dist/runtime/security/project-execution-trust.js +34 -0
  43. package/dist/runtime/testing/server-fixture.js +9 -8
  44. package/dist/server.js +10 -6
  45. package/dist/subagents/profiles.js +336 -53
  46. package/dist/subagents/sessions/execution.js +6 -35
  47. package/dist/subagents/sessions/manager.js +14 -2
  48. package/dist/ui/.vite/manifest.json +275 -275
  49. package/dist/ui/activity-panel-app.html +1 -1
  50. package/dist/ui/assets/{activity-panel-app-Bw7ZFX2g.js → activity-panel-app-BeDiwd7D.js} +3 -3
  51. package/dist/ui/assets/{angular-html-DeUNP12X.js → angular-html-DuoCE7nn.js} +1 -1
  52. package/dist/ui/assets/{angular-ts-B3v8FKi_.js → angular-ts-D5tGk0hL.js} +1 -1
  53. package/dist/ui/assets/{apl-Bs3iQm4P.js → apl-lciOTPbw.js} +1 -1
  54. package/dist/ui/assets/{astro-D6GHecBY.js → astro-vJbqfNnJ.js} +1 -1
  55. package/dist/ui/assets/{blade-BMNbVOHv.js → blade-C7655Q4K.js} +1 -1
  56. package/dist/ui/assets/{c-BquuA6bv.js → c-DdHp1Jrw.js} +1 -1
  57. package/dist/ui/assets/{cobol-BuZ6kfps.js → cobol-DgvzQxZP.js} +1 -1
  58. package/dist/ui/assets/{coffee-DgC5uBzL.js → coffee-BIjVUOUd.js} +1 -1
  59. package/dist/ui/assets/{cpp-BdvWqCaB.js → cpp-CU8tGzvI.js} +1 -1
  60. package/dist/ui/assets/{crystal-0Q5qBvNI.js → crystal-CUQAwsg9.js} +1 -1
  61. package/dist/ui/assets/{css-Be_T8idh.js → css-DtMTqD3F.js} +1 -1
  62. package/dist/ui/assets/{edge-DaGLdgh_.js → edge-DoCX9RnL.js} +1 -1
  63. package/dist/ui/assets/{elixir-CMgiFIzB.js → elixir-DJxV9_U6.js} +1 -1
  64. package/dist/ui/assets/{elm-B-ufMlMC.js → elm-DIgWqK4r.js} +1 -1
  65. package/dist/ui/assets/{erb-CaGiOZM-.js → erb-BHxP0c_e.js} +1 -1
  66. package/dist/ui/assets/{git-rebase-CpwUWCzK.js → git-rebase-HbI_Vo8d.js} +1 -1
  67. package/dist/ui/assets/{glimmer-js-BRxccvnE.js → glimmer-js-CthY4Ty_.js} +1 -1
  68. package/dist/ui/assets/{glimmer-ts-CgQbPzlT.js → glimmer-ts-B2-_A1Xz.js} +1 -1
  69. package/dist/ui/assets/{glsl-D7JmHFr0.js → glsl-D9V9gq98.js} +1 -1
  70. package/dist/ui/assets/{graphql-C8n0eUBK.js → graphql-CddeAaS3.js} +1 -1
  71. package/dist/ui/assets/{hack-lVN7KVQv.js → hack-D_loGkOT.js} +1 -1
  72. package/dist/ui/assets/{haml-h18lG0pS.js → haml-BoWDczd0.js} +1 -1
  73. package/dist/ui/assets/{handlebars-lRFjRPfj.js → handlebars-ZoSOvw9y.js} +1 -1
  74. package/dist/ui/assets/{heavy-payload-Cqx9MOkH.js → heavy-payload-DO34LwoZ.js} +3 -3
  75. package/dist/ui/assets/{html-DtILqTE1.js → html-CE-obXVo.js} +1 -1
  76. package/dist/ui/assets/{html-derivative-CSTSmPup.js → html-derivative-Cd-smAbW.js} +1 -1
  77. package/dist/ui/assets/{http-DNI8fsbY.js → http-CZrkbrSl.js} +1 -1
  78. package/dist/ui/assets/{hurl-DgRi60JG.js → hurl-CxTuxBt1.js} +1 -1
  79. package/dist/ui/assets/{java-CW9pZ5bh.js → java-BshLjCat.js} +1 -1
  80. package/dist/ui/assets/{javascript-Cvg2UrWL.js → javascript-D2pxQTiX.js} +1 -1
  81. package/dist/ui/assets/{jinja-CZw_S1FB.js → jinja-kbfPP7-F.js} +1 -1
  82. package/dist/ui/assets/{jison-C56u_FZv.js → jison-C2mt9l1M.js} +1 -1
  83. package/dist/ui/assets/{json-DW2UTv1q.js → json-DU_rg_AU.js} +1 -1
  84. package/dist/ui/assets/{jsx-Zj5gobdD.js → jsx-D_8aQMlx.js} +1 -1
  85. package/dist/ui/assets/{julia-Cvcrre-L.js → julia-BmefTaVV.js} +1 -1
  86. package/dist/ui/assets/{just-8CZ2u6Tj.js → just-DXV8vk1S.js} +1 -1
  87. package/dist/ui/assets/{latex-D289AXWG.js → latex-Cjm2MvGW.js} +1 -1
  88. package/dist/ui/assets/{liquid-CFEX3SkZ.js → liquid-DyQDlo0u.js} +1 -1
  89. package/dist/ui/assets/{lua-BKpJ0ybO.js → lua-B2A1vzzy.js} +1 -1
  90. package/dist/ui/assets/{marko-D9maZ0a6.js → marko-B9vOkXOU.js} +1 -1
  91. package/dist/ui/assets/{mdc-rM9l0qWR.js → mdc-D42m6spU.js} +1 -1
  92. package/dist/ui/assets/{nginx-C9w6p2C9.js → nginx-TpfVxSUY.js} +1 -1
  93. package/dist/ui/assets/{nim-BRePHk0J.js → nim-CJr5T1FK.js} +1 -1
  94. package/dist/ui/assets/{perl-CskTmiPQ.js → perl-cJZcsdm9.js} +1 -1
  95. package/dist/ui/assets/{php-DCU_FvNI.js → php-CSZL5KRT.js} +1 -1
  96. package/dist/ui/assets/{pug-XLaVxTvv.js → pug-B1eMKzuA.js} +1 -1
  97. package/dist/ui/assets/{qml-CaONKSl-.js → qml-Dl2_7zc9.js} +1 -1
  98. package/dist/ui/assets/{r-BCVR0ZE3.js → r-F0aaO9gG.js} +1 -1
  99. package/dist/ui/assets/{razor-DDnGXxnU.js → razor-BPnkSMCw.js} +1 -1
  100. package/dist/ui/assets/{regexp-DWGTYYVx.js → regexp-BnGHMFbv.js} +1 -1
  101. package/dist/ui/assets/{rst-Dz3GWvQm.js → rst-B3CO7WYO.js} +1 -1
  102. package/dist/ui/assets/{ruby-DC3jGtMY.js → ruby-B6VMzT1T.js} +1 -1
  103. package/dist/ui/assets/{sas-7mNpvsjZ.js → sas-Df2lHVuU.js} +1 -1
  104. package/dist/ui/assets/{scss-uBsoCJVy.js → scss-4XxI6sgu.js} +1 -1
  105. package/dist/ui/assets/{shellscript-BCN9N_Jf.js → shellscript-DYASCN4r.js} +1 -1
  106. package/dist/ui/assets/{shellsession-Hsw46VXV.js → shellsession-Br6AGJO_.js} +1 -1
  107. package/dist/ui/assets/{soy-D6KV69HU.js → soy-p3ZNq1We.js} +1 -1
  108. package/dist/ui/assets/{sql-CVzVQkJh.js → sql-CAdv2OXL.js} +1 -1
  109. package/dist/ui/assets/{stata-BwUjXNhI.js → stata-Dx7yUbG_.js} +1 -1
  110. package/dist/ui/assets/{surrealql-CgloWqRa.js → surrealql-6YsE8HQa.js} +1 -1
  111. package/dist/ui/assets/{svelte-DcC3n6IC.js → svelte-YgzedwpD.js} +1 -1
  112. package/dist/ui/assets/{templ-DOFfnWTJ.js → templ-Bahqx3uD.js} +1 -1
  113. package/dist/ui/assets/{tex-ln89VPaX.js → tex-o6fTQjkH.js} +1 -1
  114. package/dist/ui/assets/{ts-tags-CWMzCstH.js → ts-tags-BO-Co0Ju.js} +1 -1
  115. package/dist/ui/assets/{tsx-DgzfiGeK.js → tsx-DtQe5AoH.js} +1 -1
  116. package/dist/ui/assets/{twig-Bi2itZL9.js → twig-BcUs6Kqc.js} +1 -1
  117. package/dist/ui/assets/{typescript-CQ24f4zW.js → typescript-BPtM8h4u.js} +1 -1
  118. package/dist/ui/assets/{vue-BS8jE5u6.js → vue-5KkGUzJJ.js} +1 -1
  119. package/dist/ui/assets/{vue-html-o38xqhyB.js → vue-html-Df_Xfsz9.js} +1 -1
  120. package/dist/ui/assets/{vue-vine-D2NvKv50.js → vue-vine-hUIe_u_Y.js} +1 -1
  121. package/dist/ui/assets/{xml-_44rx9_2.js → xml-C3Jy7as5.js} +1 -1
  122. package/dist/ui/assets/{xsl-B5QWQPoi.js → xsl-BnF9OuFo.js} +1 -1
  123. package/dist/ui/assets/{yaml-CKL2pEWe.js → yaml-DyrFgCou.js} +1 -1
  124. package/dist/workspaces/conversation-test-support.js +3 -11
  125. package/dist/workspaces/sessions.js +2 -0
  126. package/dist/workspaces/state/project-context.js +221 -0
  127. package/dist/workspaces.js +3 -1
  128. package/docs/chatgpt-coding-workflow.md +8 -3
  129. package/docs/configuration.md +99 -41
  130. package/docs/gotchas.md +24 -5
  131. package/docs/security.md +14 -3
  132. package/docs/setup.md +12 -7
  133. package/package.json +12 -3
  134. package/schemas/v1/config.project-local.schema.json +14 -0
  135. package/schemas/v1/config.project.schema.json +14 -0
  136. package/schemas/v1/config.user.schema.json +538 -0
  137. package/schemas/v1/hooks.project-local.schema.json +118 -0
  138. package/schemas/v1/hooks.project.schema.json +118 -0
  139. package/schemas/v1/hooks.user.schema.json +118 -0
  140. package/schemas/v1/language-servers.project-local.schema.json +230 -0
  141. package/schemas/v1/language-servers.project.schema.json +230 -0
  142. package/schemas/v1/language-servers.user.schema.json +230 -0
  143. package/schemas/v1/mcp.project-local.schema.json +143 -0
  144. package/schemas/v1/mcp.project.schema.json +143 -0
  145. package/schemas/v1/mcp.user.schema.json +143 -0
  146. package/scripts/ci/architecture.mjs +54 -4
  147. package/scripts/ci/cmd-acceptance.mjs +9 -9
  148. package/scripts/ci/config-v2-product-acceptance.mjs +639 -0
  149. package/scripts/ci/gates/acceptance-artifact.mjs +66 -0
  150. package/scripts/ci/gates/core-contract.mjs +27 -0
  151. package/scripts/ci/gates/platform-tests.mjs +38 -0
  152. package/scripts/ci/gates/prepare-windows-product.mjs +57 -0
  153. package/scripts/ci/gates/test-shard.mjs +71 -0
  154. package/scripts/ci/powershell51-acceptance.mjs +9 -9
  155. package/scripts/ci/pwsh-acceptance.mjs +9 -9
  156. package/scripts/ci/verify.mjs +2 -0
  157. package/scripts/ci/windows-product-acceptance.mjs +9 -10
  158. package/scripts/config/schema-text.mjs +4 -0
  159. package/scripts/config/schema-text.test.mjs +18 -0
  160. package/scripts/config/schema.mjs +74 -0
  161. package/scripts/lsp/interop.mjs +4 -1
  162. package/scripts/release/pack.mjs +64 -4
  163. package/scripts/release/release-gate.test.mjs +93 -27
  164. package/scripts/release-parity.mjs +19 -2
  165. package/templates/instructions/cmd.md +12 -0
  166. package/templates/instructions/fish.md +11 -0
  167. package/templates/instructions/powershell.md +14 -0
  168. package/templates/instructions/pwsh.md +14 -0
  169. package/templates/instructions/zsh.md +11 -0
  170. package/dist/runtime/instructions/powershell-skill.js +0 -65
@@ -1 +1 @@
1
- import{t as e}from"./javascript-Cvg2UrWL.js";import{t}from"./css-Be_T8idh.js";import{t as n}from"./html-DtILqTE1.js";import{t as r}from"./xml-_44rx9_2.js";import{t as i}from"./sql-CVzVQkJh.js";import{t as a}from"./c-BquuA6bv.js";import{t as o}from"./cpp-BdvWqCaB.js";import{t as s}from"./shellscript-BCN9N_Jf.js";import{t as c}from"./haml-h18lG0pS.js";import{t as l}from"./graphql-C8n0eUBK.js";import{t as u}from"./lua-BKpJ0ybO.js";import{t as d}from"./yaml-CKL2pEWe.js";var f=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])((/))(?![*+?])(?!\\\\s*$)(?=(?:\\\\\\\\/|[^/])*+/[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"]}`)),p=[...n,...c,...r,...i,...l,...t,...o,...a,...e,...s,...u,...d,f];export{p as default};
1
+ import{t as e}from"./javascript-D2pxQTiX.js";import{t}from"./css-DtMTqD3F.js";import{t as n}from"./html-CE-obXVo.js";import{t as r}from"./xml-C3Jy7as5.js";import{t as i}from"./sql-CAdv2OXL.js";import{t as a}from"./c-DdHp1Jrw.js";import{t as o}from"./cpp-CU8tGzvI.js";import{t as s}from"./shellscript-DYASCN4r.js";import{t as c}from"./haml-BoWDczd0.js";import{t as l}from"./graphql-CddeAaS3.js";import{t as u}from"./lua-B2A1vzzy.js";import{t as d}from"./yaml-DyrFgCou.js";var f=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])((/))(?![*+?])(?!\\\\s*$)(?=(?:\\\\\\\\/|[^/])*+/[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"]}`)),p=[...n,...c,...r,...i,...l,...t,...o,...a,...e,...s,...u,...d,f];export{p as default};
@@ -1 +1 @@
1
- import{t as e}from"./sql-CVzVQkJh.js";var t=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"]}`)),n=[...e,t];export{n as default};
1
+ import{t as e}from"./sql-CAdv2OXL.js";var t=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"]}`)),n=[...e,t];export{n as default};