github-linguist 7.17.0 → 7.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/bin/github-linguist +1 -0
  3. data/grammars/annotation.liquidhaskell.haskell.json +1 -1
  4. data/grammars/hint.haskell.json +1 -1
  5. data/grammars/hint.message.haskell.json +1 -1
  6. data/grammars/hint.type.haskell.json +1 -1
  7. data/grammars/liquid.injection.json +1 -0
  8. data/grammars/markdown.cadence.codeblock.json +1 -0
  9. data/grammars/markdown.curry.codeblock.json +1 -0
  10. data/grammars/markdown.prisma.codeblock.json +1 -0
  11. data/grammars/markdown.textproto.codeblock.json +1 -0
  12. data/grammars/source.2da.json +1 -0
  13. data/grammars/source.abap.json +1 -1
  14. data/grammars/source.acucobol.json +1 -1
  15. data/grammars/source.aidl.json +1 -1
  16. data/grammars/source.alloy.json +1 -1
  17. data/grammars/source.astro.json +1 -0
  18. data/grammars/source.ats.json +1 -1
  19. data/grammars/source.ballerina.json +1 -1
  20. data/grammars/source.berry.bytecode.json +1 -0
  21. data/grammars/source.berry.json +1 -0
  22. data/grammars/source.bms.json +1 -0
  23. data/grammars/source.bmsmap.json +1 -0
  24. data/grammars/source.bnd.json +1 -0
  25. data/grammars/source.cadence.json +1 -0
  26. data/grammars/source.cairo.json +1 -0
  27. data/grammars/source.cl.json +1 -0
  28. data/grammars/source.clar.json +1 -0
  29. data/grammars/source.clojure.json +1 -1
  30. data/grammars/source.cmd.json +1 -0
  31. data/grammars/source.cobol.json +1 -1
  32. data/grammars/source.cobol_acu_listfile.json +1 -0
  33. data/grammars/source.cobol_mf_listfile.json +1 -0
  34. data/grammars/source.cobol_mfprep.json +1 -0
  35. data/grammars/source.cobol_pcob_listfile.json +1 -0
  36. data/grammars/source.cobolit.json +1 -0
  37. data/grammars/source.cobsql_dir.json +1 -0
  38. data/grammars/source.cs.json +1 -1
  39. data/grammars/source.csound.json +1 -1
  40. data/grammars/source.curry.json +1 -0
  41. data/grammars/source.dart.json +1 -1
  42. data/grammars/source.data-weave.json +1 -1
  43. data/grammars/source.dds.dspf.json +1 -0
  44. data/grammars/source.dds.icff.json +1 -0
  45. data/grammars/source.dds.lf.json +1 -0
  46. data/grammars/source.dds.pf.json +1 -0
  47. data/grammars/source.dds.prtf.json +1 -0
  48. data/grammars/source.deb-control.json +1 -0
  49. data/grammars/source.debian.makefile.json +1 -0
  50. data/grammars/source.denizenscript.json +1 -0
  51. data/grammars/source.dir.json +1 -0
  52. data/grammars/source.ditroff.json +1 -1
  53. data/grammars/source.earthfile.json +1 -0
  54. data/grammars/source.elixir.json +1 -1
  55. data/grammars/source.euphoria.json +1 -0
  56. data/grammars/source.fsharp.json +1 -1
  57. data/grammars/source.futhark.json +1 -1
  58. data/grammars/source.gcode.json +1 -1
  59. data/grammars/source.gdscript.json +1 -1
  60. data/grammars/source.genero-forms.json +1 -0
  61. data/grammars/source.genero.json +1 -0
  62. data/grammars/source.gitignore.json +1 -1
  63. data/grammars/source.gleam.json +1 -0
  64. data/grammars/source.goldgrm.json +1 -0
  65. data/grammars/source.gsc.json +1 -0
  66. data/grammars/source.hack.json +1 -1
  67. data/grammars/source.haskell.json +1 -1
  68. data/grammars/source.hlasm.json +1 -0
  69. data/grammars/source.hoon.json +1 -0
  70. data/grammars/source.hsig.json +1 -1
  71. data/grammars/source.icurry.json +1 -0
  72. data/grammars/source.janet.json +1 -0
  73. data/grammars/source.jcl.json +1 -1
  74. data/grammars/source.js.json +1 -1
  75. data/grammars/source.json.json +1 -1
  76. data/grammars/source.julia.json +1 -1
  77. data/grammars/source.kotlin.json +1 -1
  78. data/grammars/source.ligo.json +1 -0
  79. data/grammars/source.m2.json +1 -1
  80. data/grammars/source.matlab.json +1 -1
  81. data/grammars/source.mc.json +1 -0
  82. data/grammars/source.mfu.json +1 -0
  83. data/grammars/source.mfupp_dir.json +1 -0
  84. data/grammars/source.mi.json +1 -0
  85. data/grammars/source.miniyaml.json +1 -0
  86. data/grammars/source.mint.json +1 -0
  87. data/grammars/source.mligo.json +1 -0
  88. data/grammars/source.mlir.json +1 -1
  89. data/grammars/source.mo.json +1 -0
  90. data/grammars/source.opts.json +1 -1
  91. data/grammars/source.p4.json +1 -1
  92. data/grammars/source.pcb.schematic.json +1 -1
  93. data/grammars/source.pcb.sexp.json +1 -1
  94. data/grammars/source.pic.json +1 -1
  95. data/grammars/source.pli.json +1 -0
  96. data/grammars/source.pnlgrp.json +1 -0
  97. data/grammars/source.pony.json +1 -1
  98. data/grammars/source.postscript.json +1 -1
  99. data/grammars/source.procfile.json +1 -0
  100. data/grammars/source.promela.json +1 -0
  101. data/grammars/source.proto.json +1 -1
  102. data/grammars/source.python.kivy.json +1 -0
  103. data/grammars/source.q.json +1 -1
  104. data/grammars/source.q_output.json +1 -1
  105. data/grammars/source.qsharp.json +1 -1
  106. data/grammars/source.rego.json +1 -1
  107. data/grammars/source.religo.json +1 -0
  108. data/grammars/source.rescript.json +1 -1
  109. data/grammars/source.rpg.json +1 -0
  110. data/grammars/source.rpgle.json +1 -0
  111. data/grammars/source.scala.json +1 -1
  112. data/grammars/source.shell.json +1 -1
  113. data/grammars/source.shellcheckrc.json +1 -1
  114. data/grammars/source.smali.json +1 -1
  115. data/grammars/source.solidity.json +1 -1
  116. data/grammars/source.ssh-config.json +1 -1
  117. data/grammars/source.stan.json +1 -1
  118. data/grammars/source.swift.json +1 -1
  119. data/grammars/source.talon.json +1 -0
  120. data/grammars/source.textproto.json +1 -0
  121. data/grammars/source.ts.json +1 -1
  122. data/grammars/source.tsx.json +1 -1
  123. data/grammars/source.utreport.json +1 -0
  124. data/grammars/source.vyper.json +1 -1
  125. data/grammars/source.win32-messages.json +1 -0
  126. data/grammars/source.witcherscript.json +1 -0
  127. data/grammars/source.wsd.json +1 -1
  128. data/grammars/source.yara.json +1 -1
  129. data/grammars/text.html.liquid.json +1 -1
  130. data/grammars/text.html.markdown.astro.json +1 -1
  131. data/grammars/text.html.php.json +1 -1
  132. data/grammars/text.roff.json +1 -1
  133. data/grammars/text.rtf.json +1 -1
  134. data/grammars/text.savane.json +1 -0
  135. data/grammars/text.tex.latex.haskell.json +1 -1
  136. data/grammars/version +1 -1
  137. data/lib/linguist/VERSION +1 -1
  138. data/lib/linguist/generated.rb +32 -14
  139. data/lib/linguist/generic.yml +1 -0
  140. data/lib/linguist/heuristics.yml +63 -1
  141. data/lib/linguist/languages.json +1 -1
  142. data/lib/linguist/languages.yml +333 -3
  143. data/lib/linguist/samples.json +1 -1
  144. data/lib/linguist/vendor.yml +1 -1
  145. metadata +106 -43
  146. data/grammars/source.opencobol.json +0 -1
  147. data/grammars/text.html.astro.json +0 -1
  148. data/lib/linguist/linguist.bundle +0 -0
  149. data/lib/linguist/linguist.so +0 -0
@@ -1 +1 @@
1
- {"name":"Shell Script","scopeName":"source.shell","patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#list"},{"include":"#compound-command"},{"include":"#loop"},{"include":"#string"},{"include":"#function-definition"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#keyword"},{"include":"#support"}],"repository":{"case-clause":{"patterns":[{"name":"meta.scope.case-clause.shell","begin":"(?=\\S)","end":";;","patterns":[{"name":"meta.scope.case-pattern.shell","begin":"\\(|(?=\\S)","end":"\\)","patterns":[{"name":"punctuation.separator.pipe-sign.shell","match":"\\|"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#pathname"}],"beginCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}}},{"name":"meta.scope.case-clause-body.shell","begin":"(?\u003c=\\))","end":"(?=;;)","patterns":[{"include":"$self"}]}],"endCaptures":{"0":{"name":"punctuation.terminator.case-clause.shell"}}}]},"comment":{"begin":"(^\\s+)?(?\u003c=^|\\W)(?\u003c!-)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shebang.shell","begin":"#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.shell"}}},{"name":"comment.line.number-sign.shell","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},"compound-command":{"patterns":[{"name":"meta.scope.logical-expression.shell","begin":"\\[{1,2}","end":"\\]{1,2}","patterns":[{"include":"#logical-expression"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}}},{"name":"string.other.math.shell","begin":"\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.scope.subshell.shell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}}},{"name":"meta.scope.group.shell","begin":"(?\u003c=\\s|^){(?=\\s|$)","end":"(?\u003c=^|;)\\s*(})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.group.shell"}}}]},"function-definition":{"patterns":[{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}},{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)([^\\s\\\\=]+)\\s*(\\(\\))","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.shell"},"2":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}}]},"heredoc":{"patterns":[{"name":"string.unquoted.heredoc.no-indent.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}}]},"herestring":{"patterns":[{"name":"meta.herestring.shell","contentName":"string.quoted.single.shell","begin":"(\u003c\u003c\u003c)\\s*(('))","end":"(')","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","contentName":"string.quoted.double.shell","begin":"(\u003c\u003c\u003c)\\s*((\"))","end":"(\")","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","match":"(\u003c\u003c\u003c)\\s*(([^\\s)\\\\]|\\\\.)+)","captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"$self"}]}}}]},"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"list":{"patterns":[{"name":"keyword.operator.list.shell","match":";|\u0026\u0026|\u0026|\\|\\|"}]},"logical-expression":{"patterns":[{"name":"keyword.operator.logical.shell","match":"=[=~]?|!=?|\u003c|\u003e|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.logical.shell","match":"(?\u003c!\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])"}]},"loop":{"patterns":[{"name":"meta.scope.for-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(?=\\({2})","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.for-in-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(.+?)\\s+(in)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.while-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(while|until)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.select-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)(select)\\s+((?:[^\\s\\\\]|\\\\.)+)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(done)(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"endCaptures":{"1":{"name":"keyword.control.shell"}}},{"name":"meta.scope.case-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)case(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)esac(?=\\s|;|\u0026|$)","patterns":[{"name":"meta.scope.case-body.shell","begin":"(?\u003c=^|;|\u0026|\\s)in(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(?=esac(\\s|;|\u0026|$))","patterns":[{"include":"#comment"},{"include":"#case-clause"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.if-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)if(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)fi(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}}]},"math":{"patterns":[{"include":"#variable"},{"name":"keyword.operator.arithmetic.shell","match":"\\+{1,2}|-{1,2}|!|~|\\*{1,2}|/|%|\u003c[\u003c=]?|\u003e[\u003e=]?|==|!=|^|\\|{1,2}|\u0026{1,2}|\\?|\\:|,|=|[*/%+\\-\u0026^|]=|\u003c\u003c=|\u003e\u003e="},{"name":"constant.numeric.hex.shell","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.octal.shell","match":"0\\d+"},{"name":"constant.numeric.other.shell","match":"\\d{1,2}#[0-9a-zA-Z@_]+"},{"name":"constant.numeric.integer.shell","match":"\\d+"}]},"pathname":{"patterns":[{"name":"keyword.operator.tilde.shell","match":"(?\u003c=\\s|:|=|^)~"},{"name":"keyword.operator.glob.shell","match":"\\*|\\?"},{"name":"meta.structure.extglob.shell","begin":"([?*+@!])(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}}}]},"pipeline":{"patterns":[{"name":"keyword.other.shell","match":"(?\u003c=^|;|\u0026|\\s)(time)(?=\\s|;|\u0026|$)"},{"name":"keyword.operator.pipe.shell","match":"[|!]"}]},"redirection":{"patterns":[{"name":"string.interpolated.process-substitution.shell","begin":"[\u003e\u003c]\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"keyword.operator.redirect.shell","match":"(?\u003c![\u003c\u003e])(\u0026\u003e|\\d*\u003e\u0026\\d*|\\d*(\u003e\u003e|\u003e|\u003c)|\\d*\u003c\u0026|\\d*\u003c\u003e)(?![\u003c\u003e])"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"support":{"patterns":[{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?::|\\.)(?=\\s|;|\u0026|$)"},{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)(?=\\s|;|\u0026|$)"}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}
1
+ {"name":"Shell Script","scopeName":"source.shell","patterns":[{"include":"#comment"},{"include":"#pipeline"},{"include":"#list"},{"include":"#compound-command"},{"include":"#loop"},{"include":"#string"},{"include":"#function-definition"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#heredoc"},{"include":"#herestring"},{"include":"#redirection"},{"include":"#pathname"},{"include":"#keyword"},{"include":"#support"}],"repository":{"case-clause":{"patterns":[{"name":"meta.scope.case-clause.shell","begin":"(?=\\S)","end":";;","patterns":[{"name":"meta.scope.case-pattern.shell","begin":"\\(|(?=\\S)","end":"\\)","patterns":[{"name":"punctuation.separator.pipe-sign.shell","match":"\\|"},{"include":"#string"},{"include":"#variable"},{"include":"#interpolation"},{"include":"#pathname"}],"beginCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.case-pattern.shell"}}},{"name":"meta.scope.case-clause-body.shell","begin":"(?\u003c=\\))","end":"(?=;;)","patterns":[{"include":"$self"}]}],"endCaptures":{"0":{"name":"punctuation.terminator.case-clause.shell"}}}]},"comment":{"begin":"(^\\s+)?(?\u003c=^|\\W)(?\u003c!-)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shebang.shell","begin":"#!","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shebang.shell"}}},{"name":"comment.line.number-sign.shell","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},"compound-command":{"patterns":[{"name":"meta.scope.logical-expression.shell","begin":"\\[{1,2}","end":"\\]{1,2}","patterns":[{"include":"#logical-expression"},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.logical-expression.shell"}}},{"name":"string.other.math.shell","begin":"\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.scope.subshell.shell","begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.subshell.shell"}}},{"name":"meta.scope.group.shell","begin":"(?\u003c=\\s|^){(?=\\s|$)","end":"(?\u003c=^|;)\\s*(})","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.shell"}},"endCaptures":{"1":{"name":"punctuation.definition.group.shell"}}}]},"function-definition":{"patterns":[{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)(function)\\s+([^\\s\\\\]+)(?:\\s*(\\(\\)))?","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.type.function.shell"},"2":{"name":"entity.name.function.shell"},"3":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}},{"name":"meta.function.shell","begin":"(?\u003c=^|;|\u0026|\\s)([^\\s\\\\=]+)\\s*(\\(\\))","end":";|\u0026|$","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"entity.name.function.shell"},"2":{"name":"punctuation.definition.arguments.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.function.shell"}}}]},"heredoc":{"patterns":[{"name":"string.unquoted.heredoc.no-indent.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.ruby.shell","contentName":"source.ruby.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(RUBY)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(RUBY)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.ruby"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.python.shell","contentName":"source.python.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(PYTHON)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(PYTHON)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.python"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.applescript.shell","contentName":"source.applescript.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(APPLESCRIPT)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(APPLESCRIPT)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.applescript"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.html.shell","contentName":"text.html.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(HTML)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(HTML)(?=\\s|;|\u0026|$)","patterns":[{"include":"text.html.basic"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.markdown.shell","contentName":"text.html.markdown.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(MARKDOWN)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(MARKDOWN)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.gfm"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.textile.shell","contentName":"text.html.textile.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(TEXTILE)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(TEXTILE)(?=\\s|;|\u0026|$)","patterns":[{}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)-\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell.shell","contentName":"source.shell.embedded.shell","begin":"(\u003c\u003c)\\s*(\"|'|)\\s*(SHELL)(?=\\s|;|\u0026|\u003c|\"|')\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","patterns":[{"include":"source.shell"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.no-indent.shell","begin":"(\u003c\u003c)-\\s*(\"|')\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^\\t*(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.shell","begin":"(\u003c\u003c)\\s*(\"|')\\s*\\\\?([^;\u0026\u003c\\s]+)\\2","end":"^(\\3)(?=\\s|;|\u0026|$)","beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"3":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.expanded.no-indent.shell","begin":"(\u003c\u003c)-\\s*\\\\?([^;\u0026\u003c\\s]+)","end":"^\\t*(\\2)(?=\\s|;|\u0026|$)","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}},{"name":"string.unquoted.heredoc.expanded.shell","begin":"(\u003c\u003c)\\s*\\\\?([^;\u0026\u003c\\s]+)","end":"^(\\2)(?=\\s|;|\u0026|$)","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"1":{"name":"keyword.operator.heredoc.shell"},"2":{"name":"keyword.control.heredoc-token.shell"}},"endCaptures":{"1":{"name":"keyword.control.heredoc-token.shell"}}}]},"herestring":{"patterns":[{"name":"meta.herestring.shell","contentName":"string.quoted.single.shell","begin":"(\u003c\u003c\u003c)\\s*(('))","end":"(')","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.single.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.single.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","contentName":"string.quoted.double.shell","begin":"(\u003c\u003c\u003c)\\s*((\"))","end":"(\")","beginCaptures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.quoted.double.shell"},"3":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"string.quoted.double.shell"},"1":{"name":"punctuation.definition.string.end.shell"}}},{"name":"meta.herestring.shell","match":"(\u003c\u003c\u003c)\\s*(([^\\s)\\\\]|\\\\.)+)","captures":{"1":{"name":"keyword.operator.herestring.shell"},"2":{"name":"string.unquoted.herestring.shell","patterns":[{"include":"$self"}]}}}]},"interpolation":{"patterns":[{"name":"string.other.math.shell","begin":"\\$\\({2}","end":"\\){2}","patterns":[{"include":"#math"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.backtick.shell","begin":"`","end":"`","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[`\\\\$]"},{"begin":"(?\u003c=\\W)(?=#)(?!#{)","end":"(?!\\G)","patterns":[{"name":"comment.line.number-sign.shell","begin":"#","end":"(?=`)","beginCaptures":{"0":{"name":"punctuation.definition.comment.shell"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.interpolated.dollar.shell","begin":"\\$\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"keyword":{"patterns":[{"name":"keyword.control.shell","match":"(?\u003c=^|;|\u0026|\\s)(then|else|elif|fi|for|in|do|done|select|case|continue|esac|while|until|return)(?=\\s|;|\u0026|$)"},{"name":"storage.modifier.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:export|declare|typeset|local|readonly)(?=\\s|;|\u0026|$)"}]},"list":{"patterns":[{"name":"keyword.operator.list.shell","match":";|\u0026\u0026|\u0026|\\|\\|"}]},"logical-expression":{"patterns":[{"name":"keyword.operator.logical.shell","match":"=[=~]?|!=?|\u003c|\u003e|\u0026\u0026|\\|\\|"},{"name":"keyword.operator.logical.shell","match":"(?\u003c!\\S)-(nt|ot|ef|eq|ne|l[te]|g[te]|[a-hknoprstuwxzOGLSN])"}]},"loop":{"patterns":[{"name":"meta.scope.for-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(?=\\({2})","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.for-in-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(for)\\s+(.+?)\\s+(in)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell","patterns":[{"include":"#string"}]},"3":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.while-loop.shell","begin":"(?\u003c=^|;|\u0026|\\s)(while|until)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)done(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.select-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)(select)\\s+((?:[^\\s\\\\]|\\\\.)+)(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(done)(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.control.shell"},"2":{"name":"variable.other.loop.shell"}},"endCaptures":{"1":{"name":"keyword.control.shell"}}},{"name":"meta.scope.case-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)case(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)esac(?=\\s|;|\u0026|$)","patterns":[{"name":"meta.scope.case-body.shell","begin":"(?\u003c=^|;|\u0026|\\s)in(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)(?=esac(\\s|;|\u0026|$))","patterns":[{"include":"#comment"},{"include":"#case-clause"},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}}},{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}},{"name":"meta.scope.if-block.shell","begin":"(?\u003c=^|;|\u0026|\\s)if(?=\\s|;|\u0026|$)","end":"(?\u003c=^|;|\u0026|\\s)fi(?=\\s|;|\u0026|$)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"keyword.control.shell"}},"endCaptures":{"0":{"name":"keyword.control.shell"}}}]},"math":{"patterns":[{"include":"#variable"},{"name":"keyword.operator.arithmetic.shell","match":"\\+{1,2}|-{1,2}|!|~|\\*{1,2}|/|%|\u003c[\u003c=]?|\u003e[\u003e=]?|==|!=|^|\\|{1,2}|\u0026{1,2}|\\?|\\:|,|=|[*/%+\\-\u0026^|]=|\u003c\u003c=|\u003e\u003e="},{"name":"constant.numeric.hex.shell","match":"0[xX][0-9A-Fa-f]+"},{"name":"constant.numeric.octal.shell","match":"0\\d+"},{"name":"constant.numeric.other.shell","match":"\\d{1,2}#[0-9a-zA-Z@_]+"},{"name":"constant.numeric.integer.shell","match":"\\d+"}]},"pathname":{"patterns":[{"name":"keyword.operator.tilde.shell","match":"(?\u003c=\\s|:|=|^)~"},{"name":"keyword.operator.glob.shell","match":"\\*|\\?"},{"name":"meta.structure.extglob.shell","begin":"([?*+@!])(\\()","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"1":{"name":"keyword.operator.extglob.shell"},"2":{"name":"punctuation.definition.extglob.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.extglob.shell"}}}]},"pipeline":{"patterns":[{"name":"keyword.other.shell","match":"(?\u003c=^|;|\u0026|\\s)(time)(?=\\s|;|\u0026|$)"},{"name":"keyword.operator.pipe.shell","match":"[|!]"}]},"redirection":{"patterns":[{"name":"string.interpolated.process-substitution.shell","begin":"[\u003e\u003c]\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"keyword.operator.redirect.shell","match":"(?\u003c![\u003c\u003e])(\u0026\u003e|\\d*\u003e\u0026\\d*|\\d*(\u003e\u003e|\u003e|\u003c)|\\d*\u003c\u0026|\\d*\u003c\u003e)(?![\u003c\u003e])"}]},"string":{"patterns":[{"name":"constant.character.escape.shell","match":"\\\\."},{"name":"string.quoted.single.shell","begin":"'","end":"'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.double.shell","begin":"\\$?\"","end":"\"","patterns":[{"name":"constant.character.escape.shell","match":"\\\\[\\$`\"\\\\\\n]"},{"include":"#variable"},{"include":"#interpolation"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}},{"name":"string.quoted.single.dollar.shell","begin":"\\$'","end":"'","patterns":[{"name":"constant.character.escape.ansi-c.shell","match":"\\\\(a|b|e|f|n|r|t|v|\\\\|')"},{"name":"constant.character.escape.octal.shell","match":"\\\\[0-9]{3}"},{"name":"constant.character.escape.hex.shell","match":"\\\\x[0-9a-fA-F]{2}"},{"name":"constant.character.escape.control-char.shell","match":"\\\\c."}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.shell"}}}]},"support":{"patterns":[{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?::|\\.)(?=\\s|;|\u0026|$)"},{"name":"support.function.builtin.shell","match":"(?\u003c=^|;|\u0026|\\s)(?:alias|bg|bind|break|builtin|caller|cd|command|compgen|complete|dirs|disown|echo|enable|eval|exec|exit|false|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|read|readonly|set|shift|shopt|source|suspend|test|times|trap|true|type|ulimit|umask|unalias|unset|wait)(?=\\s|;|\u0026|$)"}]},"variable":{"patterns":[{"name":"variable.other.normal.shell","match":"(\\$)[a-zA-Z_][a-zA-Z0-9_]*","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.special.shell","match":"(\\$)[-*@#?$!0_]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.positional.shell","match":"(\\$)[1-9]","captures":{"1":{"name":"punctuation.definition.variable.shell"}}},{"name":"variable.other.bracket.shell","begin":"\\${","end":"}","patterns":[{"name":"keyword.operator.expansion.shell","match":"!|:[-=?]?|\\*|@|#{1,2}|%{1,2}|/"},{"match":"(\\[)([^\\]]+)(\\])","captures":{"1":{"name":"punctuation.section.array.shell"},"3":{"name":"punctuation.section.array.shell"}}},{"include":"#variable"},{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.definition.variable.shell"}},"endCaptures":{"0":{"name":"punctuation.definition.variable.shell"}}}]}}}
@@ -1 +1 @@
1
- {"name":".shellcheckrc","scopeName":"source.shellcheckrc","patterns":[{"name":"directive.shellcheckrc","begin":"(?\u003c=#)\\s*(shellcheck)\\s+(?=[a-z]+=)","end":"(?=\\s*$)|(\\S*)(?=[\\)\\]}\u003e\"'`])","patterns":[{"include":"#directive"}],"beginCaptures":{"1":{"name":"directive.name.keyword.shellcheckrc"}},"endCaptures":{"1":{"patterns":[{"include":"#directive"}]}}},{"begin":"\\A","end":"(?=A)B","patterns":[{"include":"#main"}]}],"repository":{"comment":{"name":"comment.line.number-sign.shellcheckrc","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shellcheckrc"}}},"directive":{"name":"meta.directive.$1.shellcheckrc","begin":"(\\w[-\\w]*)(=)","end":"(?=$|\\s)","patterns":[{"name":"meta.list.shellcheckrc","begin":"(?x)(?\u003c= \\s disable= | \\s enable= | ^ disable= | ^ enable= )\\G","end":"(?=$|\\s)","patterns":[{"include":"#errorCodeRange"},{"include":"#errorCode"},{"include":"#warningName"},{"include":"etc#comma"}]},{"name":"string.other.file.path.shellcheckrc","begin":"(?x)(?\u003c= \\s source-path= | ^ source-path= )\\G","end":"(?=$|\\s)","patterns":[{"name":"variable.environment.language.shellcheckrc","match":"\\bSCRIPTDIR\\b"}]},{"name":"entity.name.shell.shellcheckrc","begin":"(?x)(?\u003c= \\s shell= | ^ shell= )\\G","end":"(?=$|\\s)","patterns":[{"include":"#escape"}]},{"name":"string.unquoted.other.shellcheckrc","begin":"\\G(?=\\S)","end":"(?=$|\\s)"}],"beginCaptures":{"1":{"name":"variable.parameter.directive.shellcheckrc"},"2":{"name":"punctuation.definition.assignment.equals-sign.shellcheckrc"}}},"errorCode":{"name":"constant.numeric.error-code.shellcheckrc","match":"\\bSC[0-9]{4}\\b","captures":{"0":{"name":"markup.underline.link.error-code.shellcheckrc"}}},"errorCodeRange":{"name":"meta.range.error-codes.shellcheckrc","match":"\\b(SC[0-9]{4})(-)(SC[0-9]{4})\\b","captures":{"1":{"name":"meta.range.begin.shellcheckrc","patterns":[{"include":"#errorCode"}]},"2":{"name":"punctuation.separator.range.dash.shellcheckrc"},"3":{"name":"meta.range.end.shellcheckrc","patterns":[{"include":"#errorCode"}]}}},"escape":{"name":"constant.character.escape.backslash.shellcheckrc","match":"(\\\\)."},"main":{"patterns":[{"include":"#comment"},{"include":"#directive"}]},"warningName":{"name":"constant.other.warning-name.shellcheckrc","match":"(?:[^\\\\\\s=#,]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escape"}]}}}}}
1
+ {"name":".shellcheckrc","scopeName":"source.shellcheckrc","patterns":[{"name":"directive.shellcheckrc","begin":"(?\u003c=#)\\s*(shellcheck)\\s+(?=[a-z]+=)","end":"(?=\\s*$)|(\\S*)(?=[\\)\\]}\u003e\"'`])","patterns":[{"include":"#directive"}],"beginCaptures":{"1":{"name":"directive.name.keyword.shellcheckrc"}},"endCaptures":{"1":{"patterns":[{"include":"#directive"}]}}},{"begin":"\\A","end":"(?=A)B","patterns":[{"include":"#main"}]}],"repository":{"comment":{"name":"comment.line.number-sign.shellcheckrc","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.shellcheckrc"}}},"directive":{"name":"meta.directive.$1.shellcheckrc","begin":"(\\w[-\\w]*)(=)","end":"(?=$|\\s)","patterns":[{"name":"meta.list.shellcheckrc","begin":"(?x)(?\u003c= \\s disable= | \\s enable= | ^ disable= | ^ enable= )\\G","end":"(?=$|\\s)","patterns":[{"name":"keyword.operator.all-warnings.shellcheckrc","match":"\\Gall(?=$|\\s)"},{"include":"#errorCodeRange"},{"include":"#errorCode"},{"include":"#warningName"},{"include":"etc#comma"}]},{"name":"string.other.file.path.shellcheckrc","begin":"(?x)(?\u003c= \\s source-path= | ^ source-path= )\\G","end":"(?=$|\\s)","patterns":[{"name":"variable.environment.language.shellcheckrc","match":"\\bSCRIPTDIR\\b"}]},{"name":"entity.name.shell.shellcheckrc","begin":"(?x)(?\u003c= \\s shell= | ^ shell= )\\G","end":"(?=$|\\s)","patterns":[{"include":"#escape"}]},{"begin":"(?x)(?\u003c= \\s external-sources= | ^ external-sources= )\\G","end":"(?=$|\\s)","patterns":[{"name":"constant.language.boolean.$1.shellcheckrc","match":"\\G(true|false)(?=$|\\s)"},{"include":"#escape"}]},{"name":"string.unquoted.other.shellcheckrc","begin":"\\G(?=\\S)","end":"(?=$|\\s)"}],"beginCaptures":{"1":{"name":"variable.parameter.directive.shellcheckrc"},"2":{"name":"punctuation.definition.assignment.equals-sign.shellcheckrc"}}},"errorCode":{"name":"constant.numeric.error-code.shellcheckrc","match":"\\bSC[0-9]{4}\\b","captures":{"0":{"name":"markup.underline.link.error-code.shellcheckrc"}}},"errorCodeRange":{"name":"meta.range.error-codes.shellcheckrc","match":"\\b(SC[0-9]{4})(-)(SC[0-9]{4})\\b","captures":{"1":{"name":"meta.range.begin.shellcheckrc","patterns":[{"include":"#errorCode"}]},"2":{"name":"punctuation.separator.range.dash.shellcheckrc"},"3":{"name":"meta.range.end.shellcheckrc","patterns":[{"include":"#errorCode"}]}}},"escape":{"name":"constant.character.escape.backslash.shellcheckrc","match":"(\\\\)."},"main":{"patterns":[{"include":"#comment"},{"include":"#directive"}]},"warningName":{"name":"constant.other.warning-name.shellcheckrc","match":"(?:[^\\\\\\s=#,]|\\\\.)+","captures":{"0":{"patterns":[{"include":"#escape"}]}}}}}
@@ -1 +1 @@
1
- {"name":"Smali","scopeName":"source.smali","patterns":[{"include":"#annotation"},{"include":"#annotation-end"},{"include":"#annotation-value_list"},{"include":"#annotation-value"},{"include":"#annotation-name"},{"include":"#annotation-access"},{"include":"#comment-alone"},{"include":"#comment-inline"},{"include":"#field"},{"include":"#field-end"},{"match":"^[\\s\\t]*(\\.class)[\\s\\t]*((?:(?:interface|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum|annotation)[\\s\\t]+)*)[\\s\\t]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},{"match":"^[\\s\\t]*(\\.(?:super|implements))[\\s\\t]+(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"}}},{"match":"^[\\s\\t]*(\\.source)[\\s\\t]+(\")(.*?)((?\u003c!\\\\)\")(?=[\\s\\t]*(#.*)?$)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"}}},{"begin":"^[\\s\\t]*(\\.method)[\\s\\t]*((?:(?:bridge|varargs|declared-synchronized|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum)[\\s\\t]+)*)(constructor )?(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_\\-][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end method)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.prologue)(?=[\\s\\t]*(#.*)?$)"},{"match":"^[\\s\\t]*(\\.local)[\\s\\t]+([vp]\\d+),[\\s\\t]+(\"[\\p{L}_\\$][\\w\\$]*\"):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?:,(\")(.*?)((?\u003c!\\\\)\"))?(?:,[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\"))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"string.interpolated.smali"},"13":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"string.interpolated.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"string.interpolated.smali"}}},{"match":"^[\\s\\t]*(\\.catch)[\\s\\t]+(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))[\\s\\t]+{(:[A-Za-z_\\d]+)[\\s\\t]+\\.\\.[\\s\\t]+(:[A-Za-z_\\d]+)}[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"constant.numeric.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"keyword.control.smali"},"6":{"name":"keyword.control.smali"},"7":{"name":"keyword.control.smali"}}},{"match":"^[\\s\\t]*(\\.catchall)[\\s\\t]+{(:[A-Za-z_\\d]+)[\\s\\t]+\\.\\.[\\s\\t]+(:[A-Za-z_\\d]+)}[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"keyword.control.smali"},"3":{"name":"keyword.control.smali"},"4":{"name":"keyword.control.smali"}}},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.(?:end|restart)[\\s\\t]+local)[\\s\\t]+[vp]\\d+(?=[\\s\\t]*(#.*)?$)"},{"begin":"^[\\s\\t]*(\\.sparse-switch)(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end sparse-switch)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"^[\\s\\t]*(-?0x(?i:0|[1-9a-f][\\da-f]*))[\\s\\t]+-\u003e[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"variable.parameter.smali"},"2":{"name":"keyword.control.smali"}}}],"beginCaptures":{"1":{"name":"constant.language.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"match":"^[\\s\\t]*(\\.packed-switch)[\\s\\t]+(-0x1|0x(?i:0|[1-9a-f][\\da-f]*))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.end packed-switch)(?=[\\s\\t]*(#.*)?$)"},{"begin":"^[\\s\\t]*(\\.array-data)[\\s\\t]+(1|2|4|8)(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end array-data)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"^[\\s\\t]*(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))[st]?|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))L))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"variable.parameter.smali"}}}],"beginCaptures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"include":"#field"},{"include":"#field-end"},{"include":"#annotation"},{"include":"#annotation-end"},{"include":"#annotation-value_list"},{"include":"#annotation-value"},{"include":"#annotation-name"},{"include":"#annotation-access"},{"include":"#comment-alone"},{"include":"#directive-method-line"},{"include":"#directive-method-registers_locals"},{"include":"#directive-method-label"},{"include":"#directive-method-parameter"},{"include":"#directive-method-parameter-end"},{"include":"#directives-method-relaxed"},{"include":"#opcode-format-10x"},{"include":"#opcode-format-10x-relaxed"},{"include":"#opcode-format-11n"},{"include":"#opcode-format-11n-relaxed"},{"include":"#opcode-format-11x"},{"include":"#opcode-format-11x-relaxed"},{"include":"#opcode-format-22x"},{"include":"#opcode-format-22x-relaxed"},{"include":"#opcode-format-32x"},{"include":"#opcode-format-32x-relaxed"},{"include":"#opcode-format-12x"},{"include":"#opcode-format-12x-relaxed"},{"include":"#opcode-format-21c-string"},{"include":"#opcode-format-21c-type"},{"include":"#opcode-format-21c-field"},{"include":"#opcode-format-21c-relaxed"},{"include":"#opcode-format-21h"},{"include":"#opcode-format-21h-relaxed"},{"include":"#opcode-format-21s"},{"include":"#opcode-format-21s-relaxed"},{"include":"#opcode-format-21t"},{"include":"#opcode-format-21t-relaxed"},{"include":"#opcode-format-31t"},{"include":"#opcode-format-31t-relaxed"},{"include":"#opcode-format-22b"},{"include":"#opcode-format-22b-relaxed"},{"include":"#opcode-format-22c-type"},{"include":"#opcode-format-22c-type_array"},{"include":"#opcode-format-22c-field"},{"include":"#opcode-format-22c-relaxed"},{"include":"#opcode-format-22s"},{"include":"#opcode-format-22s-relaxed"},{"include":"#opcode-format-22t"},{"include":"#opcode-format-22t-relaxed"},{"include":"#opcode-format-23x"},{"include":"#opcode-format-23x-relaxed"},{"include":"#opcode-format-3rc-type"},{"include":"#opcode-format-3rc-meth"},{"include":"#opcode-format-3rc-relaxed"},{"include":"#opcode-format-35c-type"},{"include":"#opcode-format-35c-meth"},{"include":"#opcode-format-35c-relaxed"},{"include":"#opcode-format-51l"},{"include":"#opcode-format-51l-relaxed"},{"include":"#opcode-format-31i"},{"include":"#opcode-format-31i-relaxed"},{"include":"#opcode-format-10t-20t-30t"},{"include":"#opcode-format-10t-20t-30t-relaxed"}],"beginCaptures":{"1":{"name":"constant.language.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"constant.numeric.smali"},"12":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.function.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"match":"^[\\s\\t]*(\\.(?:class|super|implements|method|(end )?(?:method|annotation|field)))","captures":{"1":{"name":"invalid.illegal.smali"}}}],"repository":{"annotation":{"match":"^[\\s\\t]*(\\.annotation)[\\s\\t]+(build|runtime|system)[\\s\\t]+(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"storage.modifier.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"}}},"annotation-access":{"match":"^[\\s\\t]*(accessFlags)[\\s\\t]*=[\\s\\t]*(0x(?:0|[1-9a-f][\\da-f]{0,3}))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"constant.numeric.smali"}}},"annotation-end":{"match":"^[\\s\\t]*(\\.end annotation)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"annotation-name":{"match":"^[\\s\\t]*(name)[\\s\\t]*=[\\s\\t]*(?:(null)|(\")(.*?)((?\u003c!\\\\)\")?)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"constant.language.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"annotation-value":{"match":"^[\\s\\t]*(value)[\\s\\t]*=[\\s\\t]*(?:(\")(.*?)((?\u003c!\\\\)\")?|(?:\\.(enum|subannotation)[\\s\\t]+)?(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?:-\u003e(?:([\\p{L}_\\$][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))|(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"constant.numeric.smali"},"13":{"name":"entity.name.tag.smali"},"14":{"name":"entity.name.function.smali"},"15":{"name":"constant.numeric.smali"},"16":{"name":"constant.numeric.smali"},"17":{"name":"constant.numeric.smali"},"18":{"name":"entity.name.tag.smali"},"19":{"name":"constant.numeric.smali"},"2":{"name":"entity.name.tag.smali"},"20":{"name":"entity.name.tag.smali"},"21":{"name":"constant.numeric.smali"},"22":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"string.interpolated.smali"}}},"annotation-value_list":{"begin":"^[\\s\\t]*(value)[\\s\\t]*=[\\s\\t]*{(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*}(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"(?:(\")(.*?)((?\u003c!\\\\)\")?|(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?:,)?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"entity.name.tag.smali"},"2":{"name":"string.quoted.double.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"}}}],"beginCaptures":{"1":{"name":"support.function.smali"}}},"comment-alone":{"match":"^[\\s\\t]*(#.*)$","captures":{"1":{"name":"comment.line.number-sign.smali"}}},"comment-inline":{"match":"(#.*)$","captures":{"1":{"name":"comment.line.number-sign.smali"}}},"directive-method-label":{"match":"^[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"keyword.control.smali"}}},"directive-method-line":{"match":"[\\s\\t]*(\\.line)[\\s\\t]+(\\d+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},"directive-method-parameter":{"match":"[\\s\\t]*(\\.param(?:eter)?)[\\s\\t]+(p(?:0|[1-9][\\d]?|[1-4][\\d]{2}|50[\\d]|51[0-2])\\b)(?:,[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\"))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"directive-method-parameter-end":{"match":"^[\\s\\t]*(\\.end param)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"directive-method-registers_locals":{"match":"[\\s\\t]*(\\.(?:registers|locals))[\\s\\t]+(\\d+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},"directives-method-relaxed":{"match":"^[\\s\\t]*(:|\\.(?:parameter|line|registers|locals|(?:restart )?local|prologue|(?:end )?(annotation|(sparse|packed)-switch|local)|catch(?:all)?))","captures":{"1":{"name":"invalid.illegal.smali"}}},"field":{"match":"^[\\s\\t]*(\\.field)[\\s\\t]+((?:(?:bridge|varargs|declared-synchronized|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum)[\\s\\t]+)*)([\\p{L}_\\$\\-][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?:[\\s\\t]+=[\\s\\t]+(?:(null|true|false)|(?i:(\\d+(?:\\.\\d+)?[fldst]?))|(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))[fldst]?))\\b)|([\"'])(.*?)((?\u003c!\\\\)[\"'])))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"string.quoted.double.smali"},"13":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"string.interpolated.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"constant.language.smali"},"9":{"name":"constant.numeric.smali"}}},"field-end":{"match":"^[\\s\\t]*(\\.end field)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"opcode-format-10t-20t-30t":{"match":"^[\\s\\t]*(goto(?:/16|/32)?) (:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"keyword.control"}}},"opcode-format-10t-20t-30t-relaxed":{"match":"^[\\s\\t]*(goto(?:/16|/32)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-10x":{"match":"^[\\s\\t]*(nop|return-void)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"}}},"opcode-format-10x-relaxed":{"match":"^[\\s\\t]*(nop|return-void)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-11n":{"match":"^[\\s\\t]*(const/4)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(?i:(-0x[0-8]|0x[0-7]))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-11n-relaxed":{"match":"^[\\s\\t]*(const/4)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-11x":{"match":"^[\\s\\t]*(move-(?:result(?:-wide|-object)?|exception)|return(?:-wide|-object)?|monitor-(?:enter|exit)|throw)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"}}},"opcode-format-11x-relaxed":{"match":"^[\\s\\t]*(move-(?:result(?:-wide|-object)?|exception)|return(?:-wide|-object)?|monitor-(?:enter|exit)|throw)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-12x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?|array-length|neg-(?:int|long|float|double)|not-(?:int|long)|int-to-(?:long|float|double|byte|char|short)|long-to-(?:int|float|double)|float-to-(?:int|long|double)|double-to-(?:int|long|float)|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)/2addr|(?:add|sub|mul|div|rem)-(?:float|double)/2addr)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-12x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?|array-length|neg-(?:int|long|float|double)|not-(?:int|long)|int-to-(?:long|float|double|byte|char|short)|long-to-(?:int|float|double)|float-to-(?:int|long|double)|double-to-(?:int|long|float)|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)/2addr|(?:add|sub|mul|div|rem)-(?:float|double)/2addr)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21c-field":{"match":"^[\\s\\t]*((?:sget|sput)(?:-wide|-object|-boolean|-byte|-char|-short)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e([\\p{L}_\\$][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"string.interpolated.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-21c-relaxed":{"match":"^[\\s\\t]*(const-string|const-class|check-cast|new-instance|(?:sget|sput)(?:-wide|-object|-boolean|-byte|-char|-short)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21c-string":{"match":"^[\\s\\t]*(const-string(?:/jumbo)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\")(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"opcode-format-21c-type":{"match":"^[\\s\\t]*(const-class|check-cast|new-instance)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"}}},"opcode-format-21h":{"match":"^[\\s\\t]*(const(?:-wide)?/high16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*((?i:-?0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)[0]{0,12}L?))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-21h-relaxed":{"match":"^[\\s\\t]*(const(?:-wide)?/high16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21s":{"match":"^[\\s\\t]*(const(?:-wide)?/16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)|0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3})))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-21s-relaxed":{"match":"^[\\s\\t]*(const(?:-wide)?/16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21t":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le)z)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"keyword.control.smali"}}},"opcode-format-21t-relaxed":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le)z)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22b":{"match":"^[\\s\\t]*((?:add|rsub|mul|div|rem|and|or|xor|shl|shr|ushr)-int/lit8)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:[\\da-f]|[1-7][\\da-f]|80)|0x(?:[\\da-f]|[1-7][\\da-f])))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"}}},"opcode-format-22b-relaxed":{"match":"^[\\s\\t]*((?:add|rsub|mul|div|rem|and|or|xor|shl|shr|ushr)-int/lit8)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22c-field":{"match":"^[\\s\\t]*((?:iget|iput)(?:-wide|-object|-boolean|-byte|-char|-short)?)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e([\\p{L}_\\$][\\w\\$]*):[\\[]*(?:(Z|B|S|C|I|J|F|D|(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"string.interpolated.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"entity.name.tag.smali"}}},"opcode-format-22c-relaxed":{"match":"^[\\s\\t]*(instance-of|new-array|(?:iget|iput)(?:-wide|-object|-boolean|-byte|-char|-short)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22c-type":{"match":"^[\\s\\t]*(instance-of)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*[\\[]*(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-22c-type_array":{"match":"^[\\s\\t]*(new-array)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-22s":{"match":"^[\\s\\t]*((?:(?:add|mul|div|rem|and|or|xor)-int/lit16)|rsub-int)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)|0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3})))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"}}},"opcode-format-22s-relaxed":{"match":"^[\\s\\t]*((?:(?:add|mul|div|rem|and|or|xor)-int/lit16)|rsub-int)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22t":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le))[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"keyword.control"}}},"opcode-format-22t-relaxed":{"match":"(if-(?:eq|ne|lt|ge|gt|le))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/from16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-22x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/from16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-23x":{"match":"^[\\s\\t]*((?:cmpl|cmpg)-(?:float|double)|cmp-long|(?:aget|aput)(?:-wide|-object|-boolean|-byte|-char|-short)?|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)|(?:add|sub|mul|div|rem)-(?:float|double))[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"variable.parameter.smali"}}},"opcode-format-23x-relaxed":{"match":"^[\\s\\t]*((?:cmpl|cmpg)-(float|double)|cmp-long|(?:aget|aput)(?:-wide|-object|-boolean|-byte|-char|-short)?|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)|(?:add|sub|mul|div|rem)-(?:float|double))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-31i":{"match":"^[\\s\\t]*(const(?:-wide/32)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-31i-relaxed":{"match":"^[\\s\\t]*(const(?:-wide/32)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-31t":{"match":"^[\\s\\t]*(fill-array-data|(?:packed|sparse)-switch)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"keyword.control"}}},"opcode-format-31t-relaxed":{"match":"^[\\s\\t]*(fill-array-data|(?:packed|sparse)-switch)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-32x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/16)[\\s\\t]+([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-32x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-35c-meth":{"match":"^[\\s\\t]*(invoke-(?:virtual|super|direct|static|interface)) {[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?[\\s\\t]*},[\\s\\t]*[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\((?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))?\\)(?:(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D))|(?:[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.function.smali"},"11":{"name":"constant.numeric.smali"},"12":{"name":"entity.name.tag.smali"},"13":{"name":"constant.numeric.smali"},"14":{"name":"entity.name.tag.smali"},"15":{"name":"constant.numeric.smali"},"16":{"name":"entity.name.tag.smali"},"17":{"name":"constant.numeric.smali"},"18":{"name":"entity.name.tag.smali"},"19":{"name":"constant.numeric.smali"},"2":{"name":"variable.parameter.smali"},"20":{"name":"entity.name.tag.smali"},"21":{"name":"constant.numeric.smali"},"22":{"name":"entity.name.tag.smali"},"23":{"name":"constant.numeric.smali"},"24":{"name":"entity.name.tag.smali"},"25":{"name":"constant.numeric.smali"},"26":{"name":"entity.name.tag.smali"},"27":{"name":"constant.numeric.smali"},"28":{"name":"entity.name.tag.smali"},"29":{"name":"constant.numeric.smali"},"3":{"name":"variable.parameter.smali"},"30":{"name":"entity.name.tag.smali"},"31":{"name":"constant.numeric.smali"},"32":{"name":"constant.numeric.smali"},"33":{"name":"entity.name.tag.smali"},"34":{"name":"constant.numeric.smali"},"35":{"name":"entity.name.tag.smali"},"4":{"name":"variable.parameter.smali"},"5":{"name":"variable.parameter.smali"},"6":{"name":"variable.parameter.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"entity.name.tag.smali"}}},"opcode-format-35c-relaxed":{"match":"^[\\s\\t]*(filled-new-array|invoke-(?:virtual|super|direct|static|interface))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-35c-type":{"match":"^[\\s\\t]*(filled-new-array) {([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?},[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"constant.numeric.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"variable.parameter.smali"},"5":{"name":"variable.parameter.smali"},"6":{"name":"variable.parameter.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-3rc-meth":{"match":"^[\\s\\t]*(invoke-(?:virtual|super|direct|static|interface)/range) {[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b) \\.\\. ([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)[\\s\\t]*},[\\s\\t]*[\\[]*(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"constant.numeric.smali"},"13":{"name":"entity.name.tag.smali"},"14":{"name":"constant.numeric.smali"},"15":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"entity.name.function.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-3rc-relaxed":{"match":"^[\\s\\t]*((?:filled-new-array|invoke-(?:virtual|super|direct|static|interface))/range)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-3rc-type":{"match":"^[\\s\\t]*(filled-new-array/range) {([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b) \\.\\. ([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)},[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-51l":{"match":"^[\\s\\t]*(const-wide)(?!/32)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))L))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-51l-relaxed":{"match":"^[\\s\\t]*(const-wide)(?!\\/32)","captures":{"1":{"name":"invalid.illegal.smali"}}}}}
1
+ {"name":"Smali","scopeName":"source.smali","patterns":[{"include":"#annotation"},{"include":"#annotation-end"},{"include":"#annotation-value_list"},{"include":"#annotation-value"},{"include":"#annotation-name"},{"include":"#annotation-access"},{"include":"#comment-alone"},{"include":"#comment-inline"},{"include":"#field"},{"include":"#field-end"},{"match":"^[\\s\\t]*(\\.class)[\\s\\t]*((?:(?:interface|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum|annotation)[\\s\\t]+)*)[\\s\\t]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},{"match":"^[\\s\\t]*(\\.(?:super|implements))[\\s\\t]+(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"}}},{"match":"^[\\s\\t]*(\\.source)[\\s\\t]+(\")(.*?)((?\u003c!\\\\)\")(?=[\\s\\t]*(#.*)?$)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"}}},{"begin":"^[\\s\\t]*(\\.method)[\\s\\t]*((?:(?:bridge|varargs|declared-synchronized|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum)[\\s\\t]+)*)(constructor )?(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_\\-][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end method)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.prologue)(?=[\\s\\t]*(#.*)?$)"},{"match":"^[\\s\\t]*(\\.local)[\\s\\t]+([vp]\\d+),[\\s\\t]+(\"[\\p{L}\\p{N}_\\$][\\w\\$]*\"):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?:,(\")(.*?)((?\u003c!\\\\)\"))?(?:,[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\"))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"string.interpolated.smali"},"13":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"string.interpolated.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"string.interpolated.smali"}}},{"match":"^[\\s\\t]*(\\.catch)[\\s\\t]+(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))[\\s\\t]+{(:[A-Za-z_\\d]+)[\\s\\t]+\\.\\.[\\s\\t]+(:[A-Za-z_\\d]+)}[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"entity.name.tag.smali"},"3":{"name":"constant.numeric.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"keyword.control.smali"},"6":{"name":"keyword.control.smali"},"7":{"name":"keyword.control.smali"}}},{"match":"^[\\s\\t]*(\\.catchall)[\\s\\t]+{(:[A-Za-z_\\d]+)[\\s\\t]+\\.\\.[\\s\\t]+(:[A-Za-z_\\d]+)}[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"keyword.control.smali"},"3":{"name":"keyword.control.smali"},"4":{"name":"keyword.control.smali"}}},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.(?:end|restart)[\\s\\t]+local)[\\s\\t]+[vp]\\d+(?=[\\s\\t]*(#.*)?$)"},{"begin":"^[\\s\\t]*(\\.sparse-switch)(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end sparse-switch)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"^[\\s\\t]*(-?0x(?i:0|[1-9a-f][\\da-f]*))[\\s\\t]+-\u003e[\\s\\t]+(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"variable.parameter.smali"},"2":{"name":"keyword.control.smali"}}}],"beginCaptures":{"1":{"name":"constant.language.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"match":"^[\\s\\t]*(\\.packed-switch)[\\s\\t]+(-0x1|0x(?i:0|[1-9a-f][\\da-f]*))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},{"name":"constant.language.smali","match":"^[\\s\\t]*(\\.end packed-switch)(?=[\\s\\t]*(#.*)?$)"},{"begin":"^[\\s\\t]*(\\.array-data)[\\s\\t]+(1|2|4|8)(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*(\\.end array-data)(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"^[\\s\\t]*(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))[st]?|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))L))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"variable.parameter.smali"}}}],"beginCaptures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"include":"#field"},{"include":"#field-end"},{"include":"#annotation"},{"include":"#annotation-end"},{"include":"#annotation-value_list"},{"include":"#annotation-value"},{"include":"#annotation-name"},{"include":"#annotation-access"},{"include":"#comment-alone"},{"include":"#directive-method-line"},{"include":"#directive-method-registers_locals"},{"include":"#directive-method-label"},{"include":"#directive-method-parameter"},{"include":"#directive-method-parameter-end"},{"include":"#directives-method-relaxed"},{"include":"#opcode-format-10x"},{"include":"#opcode-format-10x-relaxed"},{"include":"#opcode-format-11n"},{"include":"#opcode-format-11n-relaxed"},{"include":"#opcode-format-11x"},{"include":"#opcode-format-11x-relaxed"},{"include":"#opcode-format-22x"},{"include":"#opcode-format-22x-relaxed"},{"include":"#opcode-format-32x"},{"include":"#opcode-format-32x-relaxed"},{"include":"#opcode-format-12x"},{"include":"#opcode-format-12x-relaxed"},{"include":"#opcode-format-21c-string"},{"include":"#opcode-format-21c-type"},{"include":"#opcode-format-21c-field"},{"include":"#opcode-format-21c-relaxed"},{"include":"#opcode-format-21h"},{"include":"#opcode-format-21h-relaxed"},{"include":"#opcode-format-21s"},{"include":"#opcode-format-21s-relaxed"},{"include":"#opcode-format-21t"},{"include":"#opcode-format-21t-relaxed"},{"include":"#opcode-format-31t"},{"include":"#opcode-format-31t-relaxed"},{"include":"#opcode-format-22b"},{"include":"#opcode-format-22b-relaxed"},{"include":"#opcode-format-22c-type"},{"include":"#opcode-format-22c-type_array"},{"include":"#opcode-format-22c-field"},{"include":"#opcode-format-22c-relaxed"},{"include":"#opcode-format-22s"},{"include":"#opcode-format-22s-relaxed"},{"include":"#opcode-format-22t"},{"include":"#opcode-format-22t-relaxed"},{"include":"#opcode-format-23x"},{"include":"#opcode-format-23x-relaxed"},{"include":"#opcode-format-3rc-type"},{"include":"#opcode-format-3rc-meth"},{"include":"#opcode-format-3rc-relaxed"},{"include":"#opcode-format-35c-type"},{"include":"#opcode-format-35c-meth"},{"include":"#opcode-format-35c-relaxed"},{"include":"#opcode-format-51l"},{"include":"#opcode-format-51l-relaxed"},{"include":"#opcode-format-31i"},{"include":"#opcode-format-31i-relaxed"},{"include":"#opcode-format-10t-20t-30t"},{"include":"#opcode-format-10t-20t-30t-relaxed"}],"beginCaptures":{"1":{"name":"constant.language.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"constant.numeric.smali"},"12":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.function.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}},"endCaptures":{"1":{"name":"constant.language.smali"}}},{"match":"^[\\s\\t]*(\\.(?:class|super|implements|method|(end )?(?:method|annotation|field)))","captures":{"1":{"name":"invalid.illegal.smali"}}}],"repository":{"annotation":{"match":"^[\\s\\t]*(\\.annotation)[\\s\\t]+(build|runtime|system)[\\s\\t]+(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"storage.modifier.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"}}},"annotation-access":{"match":"^[\\s\\t]*(accessFlags)[\\s\\t]*=[\\s\\t]*(0x(?:0|[1-9a-f][\\da-f]{0,3}))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"constant.numeric.smali"}}},"annotation-end":{"match":"^[\\s\\t]*(\\.end annotation)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"annotation-name":{"match":"^[\\s\\t]*(name)[\\s\\t]*=[\\s\\t]*(?:(null)|(\")(.*?)((?\u003c!\\\\)\")?)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"constant.language.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"annotation-value":{"match":"^[\\s\\t]*(value)[\\s\\t]*=[\\s\\t]*(?:(\")(.*?)((?\u003c!\\\\)\")?|(?:\\.(enum|subannotation)[\\s\\t]+)?(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?:-\u003e(?:([\\p{L}\\p{N}_\\$][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))|(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"constant.numeric.smali"},"13":{"name":"entity.name.tag.smali"},"14":{"name":"entity.name.function.smali"},"15":{"name":"constant.numeric.smali"},"16":{"name":"constant.numeric.smali"},"17":{"name":"constant.numeric.smali"},"18":{"name":"entity.name.tag.smali"},"19":{"name":"constant.numeric.smali"},"2":{"name":"entity.name.tag.smali"},"20":{"name":"entity.name.tag.smali"},"21":{"name":"constant.numeric.smali"},"22":{"name":"entity.name.tag.smali"},"3":{"name":"string.quoted.double.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"string.interpolated.smali"}}},"annotation-value_list":{"begin":"^[\\s\\t]*(value)[\\s\\t]*=[\\s\\t]*{(?=[\\s\\t]*(#.*)?$)","end":"^[\\s\\t]*}(?=[\\s\\t]*(#.*)?$)","patterns":[{"include":"#comment-inline"},{"match":"(?:(\")(.*?)((?\u003c!\\\\)\")?|(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?:,)?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"entity.name.tag.smali"},"2":{"name":"string.quoted.double.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"}}}],"beginCaptures":{"1":{"name":"support.function.smali"}}},"comment-alone":{"match":"^[\\s\\t]*(#.*)$","captures":{"1":{"name":"comment.line.number-sign.smali"}}},"comment-inline":{"match":"(#.*)$","captures":{"1":{"name":"comment.line.number-sign.smali"}}},"directive-method-label":{"match":"^[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"keyword.control.smali"}}},"directive-method-line":{"match":"[\\s\\t]*(\\.line)[\\s\\t]+(\\d+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},"directive-method-parameter":{"match":"[\\s\\t]*(\\.param(?:eter)?)[\\s\\t]+(p(?:0|[1-9][\\d]?|[1-4][\\d]{2}|50[\\d]|51[0-2])\\b)(?:,[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\"))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"directive-method-parameter-end":{"match":"^[\\s\\t]*(\\.end param)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"directive-method-registers_locals":{"match":"[\\s\\t]*(\\.(?:registers|locals))[\\s\\t]+(\\d+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"2":{"name":"variable.parameter.smali"}}},"directives-method-relaxed":{"match":"^[\\s\\t]*(:|\\.(?:parameter|line|registers|locals|(?:restart )?local|prologue|(?:end )?(annotation|(sparse|packed)-switch|local)|catch(?:all)?))","captures":{"1":{"name":"invalid.illegal.smali"}}},"field":{"match":"^[\\s\\t]*(\\.field)[\\s\\t]+((?:(?:bridge|varargs|declared-synchronized|public|protected|private|abstract|static|final|synchronized|transient|volatile|native|strictfp|synthetic|enum)[\\s\\t]+)*)([\\p{L}_\\$\\-][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?:[\\s\\t]+=[\\s\\t]+(?:(null|true|false)|(?i:(\\d+(?:\\.\\d+)?[fldst]?))|(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))[fldst]?))\\b)|([\"'])(.*?)((?\u003c!\\\\)[\"'])))?(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"string.quoted.double.smali"},"13":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"string.interpolated.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"constant.language.smali"},"9":{"name":"constant.numeric.smali"}}},"field-end":{"match":"^[\\s\\t]*(\\.end field)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"constant.language.smali"}}},"opcode-format-10t-20t-30t":{"match":"^[\\s\\t]*(goto(?:/16|/32)?) (:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"keyword.control"}}},"opcode-format-10t-20t-30t-relaxed":{"match":"^[\\s\\t]*(goto(?:/16|/32)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-10x":{"match":"^[\\s\\t]*(nop|return-void)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"}}},"opcode-format-10x-relaxed":{"match":"^[\\s\\t]*(nop|return-void)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-11n":{"match":"^[\\s\\t]*(const/4)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(?i:(-0x[0-8]|0x[0-7]))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-11n-relaxed":{"match":"^[\\s\\t]*(const/4)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-11x":{"match":"^[\\s\\t]*(move-(?:result(?:-wide|-object)?|exception)|return(?:-wide|-object)?|monitor-(?:enter|exit)|throw)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"}}},"opcode-format-11x-relaxed":{"match":"^[\\s\\t]*(move-(?:result(?:-wide|-object)?|exception)|return(?:-wide|-object)?|monitor-(?:enter|exit)|throw)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-12x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?|array-length|neg-(?:int|long|float|double)|not-(?:int|long)|int-to-(?:long|float|double|byte|char|short)|long-to-(?:int|float|double)|float-to-(?:int|long|double)|double-to-(?:int|long|float)|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)/2addr|(?:add|sub|mul|div|rem)-(?:float|double)/2addr)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-12x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?|array-length|neg-(?:int|long|float|double)|not-(?:int|long)|int-to-(?:long|float|double|byte|char|short)|long-to-(?:int|float|double)|float-to-(?:int|long|double)|double-to-(?:int|long|float)|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)/2addr|(?:add|sub|mul|div|rem)-(?:float|double)/2addr)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21c-field":{"match":"^[\\s\\t]*((?:sget|sput)(?:-wide|-object|-boolean|-byte|-char|-short)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e([\\p{L}\\p{N}_\\$][\\w\\$]*):[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"string.interpolated.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-21c-relaxed":{"match":"^[\\s\\t]*(const-string|const-class|check-cast|new-instance|(?:sget|sput)(?:-wide|-object|-boolean|-byte|-char|-short)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21c-string":{"match":"^[\\s\\t]*(const-string(?:/jumbo)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(\")(.*?)((?\u003c!\\\\)\")(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"entity.name.tag.smali"},"4":{"name":"string.quoted.double.smali"},"5":{"name":"entity.name.tag.smali"}}},"opcode-format-21c-type":{"match":"^[\\s\\t]*(const-class|check-cast|new-instance)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*[\\[]*(?:(?:(Z|B|S|C|I|J|F|D)|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"}}},"opcode-format-21h":{"match":"^[\\s\\t]*(const(?:-wide)?/high16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*((?i:-?0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)[0]{0,12}L?))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-21h-relaxed":{"match":"^[\\s\\t]*(const(?:-wide)?/high16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21s":{"match":"^[\\s\\t]*(const(?:-wide)?/16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)|0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3})))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-21s-relaxed":{"match":"^[\\s\\t]*(const(?:-wide)?/16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-21t":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le)z)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"keyword.control.smali"}}},"opcode-format-21t-relaxed":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le)z)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22b":{"match":"^[\\s\\t]*((?:add|rsub|mul|div|rem|and|or|xor|shl|shr|ushr)-int/lit8)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:[\\da-f]|[1-7][\\da-f]|80)|0x(?:[\\da-f]|[1-7][\\da-f])))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"}}},"opcode-format-22b-relaxed":{"match":"^[\\s\\t]*((?:add|rsub|mul|div|rem|and|or|xor|shl|shr|ushr)-int/lit8)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22c-field":{"match":"^[\\s\\t]*((?:iget|iput)(?:-wide|-object|-boolean|-byte|-char|-short)?)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e([\\p{L}\\p{N}_\\$][\\w\\$]*):[\\[]*(?:(Z|B|S|C|I|J|F|D|(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"string.interpolated.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"entity.name.tag.smali"}}},"opcode-format-22c-relaxed":{"match":"^[\\s\\t]*(instance-of|new-array|(?:iget|iput)(?:-wide|-object|-boolean|-byte|-char|-short)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22c-type":{"match":"^[\\s\\t]*(instance-of)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*[\\[]*(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-22c-type_array":{"match":"^[\\s\\t]*(new-array)[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-22s":{"match":"^[\\s\\t]*((?:(?:add|mul|div|rem|and|or|xor)-int/lit16)|rsub-int)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3}|8000)|0x(?:0|[1-9a-f][\\da-f]{0,2}|[1-7][\\da-f]{3})))\\b(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"}}},"opcode-format-22s-relaxed":{"match":"^[\\s\\t]*((?:(?:add|mul|div|rem|and|or|xor)-int/lit16)|rsub-int)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22t":{"match":"^[\\s\\t]*(if-(?:eq|ne|lt|ge|gt|le))[\\s\\t]+([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"keyword.control"}}},"opcode-format-22t-relaxed":{"match":"(if-(?:eq|ne|lt|ge|gt|le))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-22x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/from16)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-22x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/from16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-23x":{"match":"^[\\s\\t]*((?:cmpl|cmpg)-(?:float|double)|cmp-long|(?:aget|aput)(?:-wide|-object|-boolean|-byte|-char|-short)?|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)|(?:add|sub|mul|div|rem)-(?:float|double))[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"variable.parameter.smali"}}},"opcode-format-23x-relaxed":{"match":"^[\\s\\t]*((?:cmpl|cmpg)-(float|double)|cmp-long|(?:aget|aput)(?:-wide|-object|-boolean|-byte|-char|-short)?|(?:add|sub|mul|div|rem|and|or|xor|shl|shr|ushr)-(?:int|long)|(?:add|sub|mul|div|rem)-(?:float|double))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-31i":{"match":"^[\\s\\t]*(const(?:-wide/32)?)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:(-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-31i-relaxed":{"match":"^[\\s\\t]*(const(?:-wide/32)?)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-31t":{"match":"^[\\s\\t]*(fill-array-data|(?:packed|sparse)-switch)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(:[A-Za-z_\\d]+)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"keyword.control"}}},"opcode-format-31t-relaxed":{"match":"^[\\s\\t]*(fill-array-data|(?:packed|sparse)-switch)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-32x":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/16)[\\s\\t]+([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"}}},"opcode-format-32x-relaxed":{"match":"^[\\s\\t]*(move(?:-wide|-object)?/16)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-35c-meth":{"match":"^[\\s\\t]*(invoke-(?:virtual|super|direct|static|interface)) {[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?[\\s\\t]*},[\\s\\t]*[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\((?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))?(?:[\\[]*(Z|B|S|C|I|J|F|D)|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))?\\)(?:(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D))|(?:[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.function.smali"},"11":{"name":"constant.numeric.smali"},"12":{"name":"entity.name.tag.smali"},"13":{"name":"constant.numeric.smali"},"14":{"name":"entity.name.tag.smali"},"15":{"name":"constant.numeric.smali"},"16":{"name":"entity.name.tag.smali"},"17":{"name":"constant.numeric.smali"},"18":{"name":"entity.name.tag.smali"},"19":{"name":"constant.numeric.smali"},"2":{"name":"variable.parameter.smali"},"20":{"name":"entity.name.tag.smali"},"21":{"name":"constant.numeric.smali"},"22":{"name":"entity.name.tag.smali"},"23":{"name":"constant.numeric.smali"},"24":{"name":"entity.name.tag.smali"},"25":{"name":"constant.numeric.smali"},"26":{"name":"entity.name.tag.smali"},"27":{"name":"constant.numeric.smali"},"28":{"name":"entity.name.tag.smali"},"29":{"name":"constant.numeric.smali"},"3":{"name":"variable.parameter.smali"},"30":{"name":"entity.name.tag.smali"},"31":{"name":"constant.numeric.smali"},"32":{"name":"constant.numeric.smali"},"33":{"name":"entity.name.tag.smali"},"34":{"name":"constant.numeric.smali"},"35":{"name":"entity.name.tag.smali"},"4":{"name":"variable.parameter.smali"},"5":{"name":"variable.parameter.smali"},"6":{"name":"variable.parameter.smali"},"7":{"name":"entity.name.tag.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"entity.name.tag.smali"}}},"opcode-format-35c-relaxed":{"match":"^[\\s\\t]*(filled-new-array|invoke-(?:virtual|super|direct|static|interface))","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-35c-type":{"match":"^[\\s\\t]*(filled-new-array) {([vp](?:0|[1-9]|1[0-5])\\b),[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b)(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?(?:,[\\s\\t]*([vp](?:0|[1-9]|1[0-5])\\b))?},[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"entity.name.tag.smali"},"11":{"name":"constant.numeric.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"variable.parameter.smali"},"5":{"name":"variable.parameter.smali"},"6":{"name":"variable.parameter.smali"},"7":{"name":"constant.numeric.smali"},"8":{"name":"entity.name.tag.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-3rc-meth":{"match":"^[\\s\\t]*(invoke-(?:virtual|super|direct|static|interface)/range) {[\\s\\t]*([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b) \\.\\. ([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)[\\s\\t]*},[\\s\\t]*[\\[]*(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)-\u003e(\u003cinit\u003e|\u003cclinit\u003e|(?:[\\$\\p{L}_][\\p{L}\\d_\\$]*))\\(((?:[\\[]*(?:Z|B|S|C|I|J|F|D|L(?:[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*);))*)\\)(?:(V)|[\\[]*(Z|B|S|C|I|J|F|D)|[\\[]*(?:(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;)))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"10":{"name":"constant.numeric.smali"},"11":{"name":"entity.name.tag.smali"},"12":{"name":"constant.numeric.smali"},"13":{"name":"entity.name.tag.smali"},"14":{"name":"constant.numeric.smali"},"15":{"name":"entity.name.tag.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"entity.name.tag.smali"},"5":{"name":"constant.numeric.smali"},"6":{"name":"entity.name.tag.smali"},"7":{"name":"entity.name.function.smali"},"8":{"name":"constant.numeric.smali"},"9":{"name":"constant.numeric.smali"}}},"opcode-format-3rc-relaxed":{"match":"^[\\s\\t]*((?:filled-new-array|invoke-(?:virtual|super|direct|static|interface))/range)","captures":{"1":{"name":"invalid.illegal.smali"}}},"opcode-format-3rc-type":{"match":"^[\\s\\t]*(filled-new-array/range) {([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b) \\.\\. ([vp](?:0|[1-9][\\d]{0,3}|[1-5][\\d]{4}|6[0-4][\\d]{3}|65[0-4][\\d]{2}|655[0-2][\\d]|6553[0-5])\\b)},[\\s\\t]*[\\[]+(?:(Z|B|S|C|I|J|F|D)|(L)([\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*(?:/[\\p{L}\\p{N}_\\$][\\p{L}\\d_\\$]*)*)(;))(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"variable.parameter.smali"},"4":{"name":"constant.numeric.smali"},"5":{"name":"entity.name.tag.smali"},"6":{"name":"constant.numeric.smali"},"7":{"name":"entity.name.tag.smali"}}},"opcode-format-51l":{"match":"^[\\s\\t]*(const-wide)(?!/32)[\\s\\t]+([vp](?:0|[1-9][\\d]?|1[\\d]{2}|2[0-4][\\d]|25[0-5])\\b),[\\s\\t]*(?i:((?:-0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}|8[0]{7})|0x(?:0|[1-9a-f][\\da-f]{0,6}|[1-7][\\da-f]{7}))|(?:(?:-0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}|8[0]{15})|0x(?:0|[1-9a-f][\\da-f]{0,14}|[1-7][\\da-f]{15}))L))\\b)(?=[\\s\\t]*(#.*)?$)","captures":{"1":{"name":"support.function.smali"},"2":{"name":"variable.parameter.smali"},"3":{"name":"constant.numeric.smali"}}},"opcode-format-51l-relaxed":{"match":"^[\\s\\t]*(const-wide)(?!\\/32)","captures":{"1":{"name":"invalid.illegal.smali"}}}}}
@@ -1 +1 @@
1
- {"name":"Solidity","scopeName":"source.solidity","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword.control","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"support.function"}}},{"name":"keyword.control","match":"\\b(contract|interface|library|using|struct|function|constructor|modifier)(\\s+[A-Za-z_]\\w*)?(?:\\s+is\\s+((?:[A-Za-z_][\\,\\s]*)*))?\\b","captures":{"2":{"name":"entity.name.function"},"3":{"name":"entity.name.function"}}},{"match":"\\b(address\\s*payable|address|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword.control"},"5":{"name":"variable.parameter"}}},{"match":"\\b(mapping)\\s*\\((.*)\\s+=\u003e\\s+(.*)\\)(\\s+(?:private|public|internal|external))?\\s+([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.language"},"3":{"name":"constant.language"},"4":{"name":"keyword.control"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address\\s*payable|address|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*(private|public|internal|external|constant|memory|storage)?\\s+(?:[A-Za-z_]\\w*)\\s*[\\;\\=]","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword.control"}}},{"name":"keyword.control","match":"\\b(var|import|constant|pragma|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|external|virtual|override|abstract|this|suicide|selfdestruct|delegatecall|emit|new|is|throw|revert|assert|require|receive|fallback\\_)\\b"},{"match":"\\b([A-Za-z_]\\w*)\\s*\\:\\s*","captures":{"1":{"name":"variable.parameter"}}},{"name":"keyword.control","match":"(=|!|\u003e|\u003c|\\||\u0026|\\?|:|\\^|~|\\*|\\+|\\-|\\/|\\%|\\bhex\\b)"},{"match":"\\b(msg|block|tx|abi)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.language"}}},{"match":"\\b(now|delete)\\b","captures":{"1":{"name":"constant.language"}}},{"match":"\\b(blockhash|gasleft|addmod|mulmod|keccak256|sha256|sha3|ripemd160|ecrecover)\\s*\\(","captures":{"1":{"name":"constant.language"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\[(\\d*)\\])?(?:\\[(\\d*)\\])?\\(","captures":{"1":{"name":"support.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"\\b\\.(length|selector)\\b","captures":{"1":{"name":"support.type"}}},{"match":"\\b(\\d+)\\s+(wei|finney|szabo|ether|seconds|minutes|hours|days|weeks|years)\\b","captures":{"1":{"name":"constant.numeric"},"2":{"name":"keyword.control"}}},{"name":"string.quoted","match":"([\\\"\\'].*?[\\\"\\'])"},{"match":"\\b(\\d+)(e\\d*)?\\b","captures":{"1":{"name":"constant.numeric"},"2":{"name":"constant.numeric"}}},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"}]}
1
+ {"name":"Solidity","scopeName":"source.solidity","patterns":[{"name":"comment","match":"\\/\\/.*"},{"name":"comment","begin":"(\\/\\*)","end":"(\\*\\/)"},{"name":"keyword","match":"\\b(event|enum)\\s+([A-Za-z_]\\w*)\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"scope","begin":"\\b(contract|interface|library)\\s+([A-Za-z_]\\w*)(?:\\s+(is)\\s+)?","end":"\\{","patterns":[{"name":"entity.name.function","match":"[A-Za-z_]\\w*"},{"include":"#numbers"}],"beginCaptures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"},"3":{"name":"keyword"}}},{"name":"keyword","match":"\\b(constructor|error|using|struct|type|modifier|fallback)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"name":"keyword","match":"\\b(function)(\\s+[A-Za-z_]\\w*)?\\b","captures":{"2":{"name":"entity.name.function"}}},{"match":"\\.(selector)\\b","captures":{"1":{"name":"markup.italic"}}},{"name":"markup.italic","match":"\\bthis\\b"},{"name":"markup.italic","match":"\\bsuper\\b"},{"match":"\\b(address(?:\\s+payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\s*(?:\\[(\\d*)\\])?\\s*(?:\\[(\\d*)\\])?\\s*(?:(indexed|memory|storage|calldata|payable|immutable)?\\s*(\\b[A-Za-z_]\\w*)?\\s*)?(?=[,\\)\\n])","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"keyword"},"5":{"name":"variable.parameter"}}},{"match":"\\b(?:(indexed|memory|storage|calldata|payable|immutable)\\s*(\\b[A-Za-z_]\\w*)?\\s*)(?=[,\\)\\n])","captures":{"1":{"name":"keyword"},"2":{"name":"variable.parameter"}}},{"name":"constant.language","match":"\\b(true|false)\\b"},{"match":"\\b(address(?:\\s*payable)?|string|bytes?\\d*|int\\d*|uint\\d*|bool|u?fixed\\d+x\\d+)\\b(?:(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?(?:\\s*\\[(\\d*)\\])?\\s*((?:private\\s|public\\s|internal\\s|external\\s|constant\\s|immutable\\s|memory\\s|storage\\s)*)\\s*(?:[A-Za-z_]\\w*)\\s*(\\=))?","captures":{"1":{"name":"constant.language"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"},"4":{"name":"constant.numeric"},"5":{"name":"keyword"},"6":{"name":"keyword"}}},{"match":"\\b(payable)\\s*\\(","captures":{"1":{"name":"constant.language"}}},{"match":"\\b(from)\\s*(?=[\\'\\\"])","captures":{"1":{"name":"keyword"}}},{"match":"\\b(?:[A-Za-z_]\\w*)\\s+(as)\\s+(?:[A-Za-z_]\\w*)","captures":{"1":{"name":"keyword"}}},{"match":"\\b(global);","captures":{"1":{"name":"keyword"}}},{"name":"keyword","match":"\\b(var|import|solidity|constant|pragma\\s*(?:experimental|abicoder)?|mapping|payable|storage|memory|calldata|if|else|for|while|do|break|continue|returns?|try|catch|private|public|pure|view|internal|immutable|external|virtual|override|abstract|suicide|emit|is|throw|revert|assert|require|receive|delete)\\b"},{"include":"#numbers"},{"name":"constant.numeric","match":"\\b(0[xX][a-fA-F0-9]+)\\b"},{"name":"keyword.operator","match":"(=|:=|!|\u003e|\u003c|\\||\u0026|\\?|\\^|~|\\*|\\+|\\-|\\/|\\%)"},{"name":"markup.italic","match":"(\\bhex\\b|\\bunicode\\b)"},{"name":"keyword.operator","match":"\\s\\:\\s"},{"name":"support.type","match":"\\bnow\\b"},{"name":"keyword","match":"\\b_;"},{"match":"\\b(msg|block|tx)\\.([A-Za-z_]\\w*)\\b","captures":{"1":{"name":"support.type"},"2":{"name":"support.type"}}},{"name":"support.type","match":"\\b(abi)\\.([A-Za-z_]\\w*)\\b"},{"match":"\\b(blockhash|gasleft)\\s*\\(","captures":{"1":{"name":"support.type"}}},{"match":"\\b([A-Za-z_]\\w*)(?:\\s*\\[(\\d*)\\]\\s*)?(?:\\s*\\[(\\d*)\\]\\s*)?\\(","captures":{"1":{"name":"entity.name.function"},"2":{"name":"constant.numeric"},"3":{"name":"constant.numeric"}}},{"match":"(?:\\.|(new\\s+))([A-Za-z_]\\w*)\\{","captures":{"1":{"name":"keyword"},"2":{"name":"entity.name.function"}}},{"match":"\\b(wei|gwei|ether|seconds|minutes|hours|days|weeks)\\b","captures":{"1":{"name":"support.type"}}},{"name":"keyword","match":"\\bnew\\b"},{"name":"keyword","match":"\\banonymous\\b"},{"name":"keyword","match":"\\bunchecked\\b"},{"name":"keyword","match":"\\b(assembly|switch|let|case|default)\\b"},{"name":"string.quoted","match":"([\\\"].*?[\\\"])"},{"name":"string.quoted","match":"([\\'].*?[\\'])"}],"repository":{"numbers":{"patterns":[{"name":"constant.numeric","match":"\\b(?:[+-]?\\.?\\d[\\d_eE]*)(?:\\.\\d+[\\deE]*)?\\b"}]}}}
@@ -1 +1 @@
1
- {"name":"SSH Config","scopeName":"source.ssh-config","patterns":[{"include":"#main"}],"repository":{"boolean":{"name":"constant.language.logical.boolean.${1:/downcase}.ssh-config","match":"(?i)(?\u003c=\\s|=)(yes|no|true|false|on|off)(?=\\s|$)"},"comment":{"name":"comment.line.number-sign.ssh-config","begin":"^\\s*(#)","end":"$","beginCaptures":{"1":{"name":"punctuation.definition.comment.ssh-config"}}},"equals":{"match":"\\G\\s*(=)","captures":{"1":{"patterns":[{"include":"etc#eql"}]}}},"main":{"patterns":[{"include":"#comment"},{"include":"#option"}]},"option":{"name":"meta.option.ssh-config","contentName":"meta.arguments.ssh-option","begin":"^\\s*(?!#)([^\\s=]+)","end":"$","patterns":[{"include":"#comment"},{"include":"#equals"},{"include":"#string"},{"include":"#boolean"},{"include":"etc#ip"},{"include":"etc#int"},{"include":"#unquoted"}],"beginCaptures":{"1":{"name":"entity.option.name.ssh-config"}}},"string":{"name":"string.quoted.double.parameter.ssh-config","begin":"\"","end":"\"|(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ssh-config"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ssh-config"}}},"unquoted":{"name":"variable.parameter.argument.ssh-config","match":"(?!\")\\S+"}}}
1
+ {"name":"SSH Config","scopeName":"source.ssh-config","patterns":[{"include":"#main"}],"repository":{"addr":{"patterns":[{"name":"constant.other.ip-address.ipv4.ssh-config","match":"(?:\\G|^)[*?\\d]+(?:\\.[*?\\d]+){3}","captures":{"0":{"patterns":[{"include":"#wildcard"}]}}},{"match":"(?xi) (\\[)\n( (?:[0-9A-F]{1,4}:){7}[0-9A-F]{1,4}\n| (?:[0-9A-F]{1,4}:){1,7}:\n| (?:[0-9A-F]{1,4}:){1,6}:[0-9A-F]{1,4}\n| (?:[0-9A-F]{1,4}:){1,5}(?::[0-9A-F]{1,4}){1,2}\n| (?:[0-9A-F]{1,4}:){1,4}(?::[0-9A-F]{1,4}){1,3}\n| (?:[0-9A-F]{1,4}:){1,3}(?::[0-9A-F]{1,4}){1,4}\n| (?:[0-9A-F]{1,4}:){1,2}(?::[0-9A-F]{1,4}){1,5}\n| [0-9A-F]{1,4}:(?::[0-9A-F]{1,4}){1,6}\n| :(?:(?::[0-9A-F]{1,4}){1,7}|:)\n| FE80:(?::[0-9A-F]{0,4}){0,4}%[0-9A-Z]+\n| ::(?:FFFF(?::0{1,4})?:)?(?:(?:25[0-5]|(?:2[0-4]|1?[0-9])?[0-9])\\.){3}(?:25[0-5]|(?:2[0-4]|1?[0-9])?[0-9])\n| (?:[0-9A-F]{1,4}:){1,4}:(?:(?:25[0-5]|(?:2[0-4]|1?[0-9])?[0-9])\\.){3}(?:25[0-5]|(?:2[0-4]|1?[0-9])?[0-9])\n) (\\])","captures":{"1":{"name":"punctuation.definition.ip-address.begin.ssh-config"},"2":{"name":"constant.other.ip-address.ipv6.ssh-config"},"3":{"name":"punctuation.definition.ip-address.end.ssh-config"}}},{"name":"string.unquoted.hostname.ssh-config","begin":"\\G|^","end":"$","patterns":[{"include":"#wildcard"}]}]},"any":{"name":"constant.language.any.ssh-config","match":"\\Gany(?=\\s*(?:$|#))"},"boolean":{"match":"(?:\\G|^|(?\u003c=\\s|=))(?i:(yes|on)|(no|off))(?=$|\\s|#)","captures":{"1":{"name":"constant.language.boolean.true.ssh-config"},"2":{"name":"constant.language.boolean.false.ssh-config"}}},"comma":{"name":"punctuation.separator.delimiter.comma.ssh-config","match":","},"comment":{"name":"comment.line.number-sign.ssh-config","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.ssh-config"}}},"field":{"patterns":[{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?xi) ^[ \\t]*\n( AFSTokenPassing\n| AllowAgentForwarding\n| BatchMode\n| CanonicalizeFallbackLocal\n| CheckHostIP\n| ClearAllForwardings\n| DisableForwarding\n| EnableSSHKeysign\n| ExitOnForwardFailure\n| ExposeAuthInfo\n| FallbackToRSH\n| ForkAfterAuthentication\n| ForwardX11\n| ForwardX11Trusted\n| GSSAPIAuthentication\n| GSSAPICleanupCredentials\n| GSSAPIDelegateCredentials\n| GSSAPIStrictAcceptorCheck\n| GSSAPITrustDNS\n| HashKnownHosts\n| HostbasedAuthentication\n| HostbasedUsesNameFromPacketOnly\n| IdentitiesOnly\n| IgnoreUserKnownHosts\n| KbdInteractiveAuthentication\n| KeepAlive\n| ChallengeResponseAuthentication\n| KerberosAuthentication\n| KerberosGetAFSToken\n| KerberosOrLocalPasswd\n| KerberosTicketCleanup\n| KerberosTGTPassing\n| NoHostAuthenticationForLocalhost\n| PasswordAuthentication\n| PermitEmptyPasswords\n| PermitLocalCommand\n| PermitTTY\n| PermitUserRC\n| PrintLastLog\n| PrintMotd\n| ProxyUseFdpass\n| PubkeyAuthentication\n| DSAAuthentication\n| RHostsAuthentication\n| RHostsRSAAuthentication\n| RSAAuthentication\n| SKeyAuthentication\n| StdinNull\n| StreamLocalBindUnlink\n| StrictModes\n| TCPKeepAlive\n| TISAuthentication\n| UseDNS\n| UseRSH\n| UseKeychain\n| UsePrivilegedPort\n| UseRoaming\n| VisualHostKey\n| X11Forwarding\n| X11UseLocalhost\n) (?:\\s*(=)|(?=$|\\s))[ \\t]* ","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?xi) ^[ \\t]*\n( CanonicalizeMaxDots\n| ClientAliveCountMax\n| CompressionLevel\n| ConnectionAttempts\n| MaxAuthTries\n| MaxSessions\n| NumberOfPasswordPrompts\n| Port\n| ServerAliveCountMax\n| X11DisplayOffset\n) (?:\\s*(=)|(?=$|\\s))[ \\t]* ","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#integer"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?xi) ^[ \\t]*\n( AllowGroups\n| AllowUsers\n| CASignatureAlgorithms\n| Ciphers?\n| DenyGroups\n| DenyUsers\n| FingerprintHash\n| HostKeyAlgorithms\n| HostbasedAcceptedAlgorithms\n| HostbasedAcceptedKeyTypes\n| HostbasedKeyTypes\n| KbdInteractiveDevices\n| KexAlgorithms\n| MACs\n| PreferredAuthentications\n| Protocol\n| PubkeyAcceptedAlgorithms\n| PubkeyAcceptedKeyTypes\n) (?:\\s*(=)|(?=$|\\s))[ \\t]* ","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#identifierList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(IgnoreUnknown)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#patternList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?xi) ^[ \\t]*\n( AuthorizedKeysCommandUser\n| AuthorizedKeysFile\n| AuthorizedPrincipalsCommandUser\n| AuthorizedPrincipalsFile\n| Banner\n| BindAddress\n| BindInterface\n| CanonicalDomains\n| CertificateFile\n| ChrootDirectory\n| ControlPath\n| GlobalKnownHostsFile2?\n| HostCertificate\n| HostKeyAlias\n| Hostname\n| HostKey\n| IdentityFile2?\n| Include\n| ModuliFile\n| PKCS11Provider\n| PidFile\n| RDomain\n| RevokedHostKeys\n| RevokedKeys\n| SmartCardDevice\n| TrustedUserCAKeys\n| UserKnownHostsFile2?\n| User\n| XAuthLocation\n) (?:\\s*(=)|(?=$|\\s))[ \\t]* ","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#none"},{"include":"#stringList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?xi) ^[ \\t]*\n( ClientAliveInterval\n| ConnectTimeout\n| ControlPersist\n| ForwardX11Timeout\n| LoginGraceTime\n| ServerAliveInterval\n) (?:\\s*(=)|(?=$|\\s))[ \\t]* ","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"include":"#time"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","match":"(?x) ^[ \\t]*\n(?i:\n\t( AuthorizedKeysCommand\n\t| AuthorizedPrincipalsCommand\n\t| ForceCommand\n\t| KnownHostsCommand\n\t| LocalCommand\n\t| ProxyCommand\n\t| RemoteCommand\n\t) (?:\\s*(=))?\n\t|\n\t(Subsystem)\n\t(?:\\s*(=))?\n\t(?:\\s+([^\\s\\#]+))?\n) (?=$|\\s) [ \\t]*\n( (none)\n| ([^\\s\\#][^\\#]*)\n)? (?=\\s*(?:$|\\#)) ","captures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"},"3":{"name":"keyword.operator.field-name.ssh-config"},"4":{"name":"keyword.operator.assignment.ssh-config"},"5":{"name":"entity.name.subsystem.ssh-config"},"6":{"name":"meta.arguments.ssh-config"},"7":{"name":"constant.language.none.ssh-config"},"8":{"name":"source.embedded.shell.ssh-config","patterns":[{"include":"source.shell"}]}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*((?:Accept|Send)Env)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"(-)?(?!\\d)([*?\\w]+)","captures":{"1":{"name":"keyword.operator.logical.negate.not.ssh-config"},"2":{"name":"variable.environment.ssh-config","patterns":[{"include":"#wildcard"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(AddKeysToAgent)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.ask.ssh-config","match":"\\Gask(?=\\s|$|#)"},{"include":"#boolean"},{"include":"#time"},{"match":"\\G(confirm)(\\s+(?:\\d+(?:[SMHDWsmhdw]|\\b))++)?(?=\\s*(?:$|#))","captures":{"1":{"name":"constant.language.ask.ssh-config"},"2":{"patterns":[{"include":"#time"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(AddressFamily)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.address-family.${1:/downcase}.ssh-config","match":"\\G(inet6?)(?=\\s|$|#)"},{"include":"#any"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(Allow(?:StreamLocalForwarding|TcpForwarding))(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(all|local|remote)(?=\\s|$|#)"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(AuthenticationMethods)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#any"},{"include":"#identifierList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(CanonicalizeHostname)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(always)(?=\\s*(?:$|#))"},{"include":"#boolean"},{"include":"#none"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(CanonicalizePermittedCNAMEs)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"\\G([^#:]*)(:)([^\\r\\n#:]*)(?=[ \\t]*(?:$|#))","captures":{"1":{"name":"meta.source-domains.ssh-config","patterns":[{"include":"#patternListInline"}]},"2":{"name":"punctuation.separator.ssh-config"},"3":{"name":"meta.target-domains.ssh-config","patterns":[{"include":"#patternListInline"}]}}},{"include":"#none"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(Compression)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.boolean.true.ssh-config","match":"\\G(delayed)(?=\\s|$|#)"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(ControlMaster)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"name":"constant.language.$1.ssh-config","match":"\\G(ask|auto|autoask)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(EscapeChar)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#none"},{"name":"constant.character.escape.caret-notation.ssh-config","match":"\\G(\\^)[A-Za-z]","captures":{"1":{"name":"punctuation.definition.escape.ssh-config"}}},{"match":"\\G([^\\s#])[ \\t]*([^\\s#]*)","captures":{"1":{"name":"constant.character.literal.ssh-config"},"3":{"name":"invalid.illegal.unexpected-characters.ssh-config"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(ForwardAgent|SecurityKeyProvider)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"include":"#variableName"},{"include":"#stringList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(GatewayPorts)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(clientspecified)(?=\\s*(?:$|#))"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(IPQoS)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#none"},{"include":"#integer"},{"include":"#identifierList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(IdentityAgent|HostKeyAgent)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#none"},{"name":"variable.environment.ssh-config","match":"\\G(SSH_AUTH_SOCK)(?=\\s*(?:$|#))"},{"include":"#variableName"},{"include":"#stringList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(IgnoreRhosts)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"name":"constant.language.shosts-only.ssh-config","match":"\\Gshosts-only(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(ListenAddress)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#port"},{"match":"\\G[^\\s#:]+(?=\\s*(?:$|#|\\s+rdomain\\s))","captures":{"0":{"patterns":[{"include":"#stringList"}]}}},{"begin":"(?!\\G)[ \\t]+(rdomain)[ \\t]+(?=[^\\s#])","end":"(?=\\s*(?:$|#))","patterns":[{"include":"#stringList"}],"beginCaptures":{"1":{"name":"storage.type.rdomain.ssh-config"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(DynamicForward|LocalForward|RemoteForward)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#port"},{"include":"#stringList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(LogLevel)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.loglevel.ssh-config","match":"\\G(QUIET|FATAL|ERROR|INFO|VERBOSE|DEBUG[1-3]?)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(LogVerbose)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"meta.log-spec.ssh-config","match":"(?:\\G|(?\u003c=,))([^\\s:#,]+)(:)([^\\s:#,]+)(?:(:)([*?\\d]+)|(?=\\s|#|$))","captures":{"1":{"name":"string.unquoted.source-file.ssh-config","patterns":[{"include":"#wildcard"}]},"2":{"name":"punctuation.separator.ssh-config"},"3":{"name":"entity.name.function.ssh-config","patterns":[{"include":"#wildcard"}]},"4":{"name":"punctuation.separator.ssh-config"},"5":{"name":"constant.numeric.integer.decimal.line-number.ssh-config","patterns":[{"include":"#wildcard"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(MaxStartups)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"\\G(\\d*)(:)(\\d*)(:)(\\d*)","captures":{"1":{"name":"meta.start-limit.ssh-config","patterns":[{"include":"#integer"}]},"2":{"name":"punctuation.separator.ssh-config"},"3":{"name":"meta.rate-limit.ssh-config","patterns":[{"include":"#integer"}]},"4":{"name":"punctuation.separator.ssh-config"},"5":{"name":"meta.full-limit.ssh-config","patterns":[{"include":"#integer"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PerSourceMaxStartups)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#none"},{"include":"#integer"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PerSourceNetBlockSize)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"\\G(\\d+)(?:(:)(\\d*))?","captures":{"1":{"patterns":[{"include":"#integer"}]},"2":{"name":"punctuation.separator.ssh-config"},"3":{"patterns":[{"include":"#integer"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PermitListen|PermitOpen|PermitRemoteOpen)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#any"},{"include":"#none"},{"include":"#port"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PermitRootLogin)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(prohibit-password|forced-commands-only|without-password)(?=\\s*(?:$|#))"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PermitTunnel|Tunnel)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(ethernet|point-to-point)(?=\\s*(?:$|#))"},{"include":"#boolean"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PermitUserEnvironment)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"include":"#patternList"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(ProxyJump)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.other.reference.link.underline.ssh.url.ssh-config","match":"ssh:[^\\s#,]+"},{"match":"(([^\\s\\#@:,]+)(@))?([^\\s\\#@:,]+(?::\\d+)?)","captures":{"1":{"name":"meta.authority.ssh-config"},"2":{"name":"string.unquoted.username.ssh-config"},"3":{"name":"meta.separator.punctuation.ssh-config"},"4":{"patterns":[{"include":"#port"}]}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(PubkeyAuthOptions)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(none|touch-required|verify-required)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(RekeyLimit)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"\\G((\\d+([KMG]?))|(default)|(none))(?:\\s+(((?:\\d+(?:[SMHDWsmhdw]|\\b))++)|(default)|(none)))?(?=\\s*(?:$|#))","captures":{"1":{"name":"meta.max-bytes.ssh-config"},"2":{"name":"constant.numeric.integer.decimal.filesize.ssh-config"},"3":{"name":"keyword.other.unit.filesize.ssh-config"},"4":{"name":"constant.language.default.ssh-config"},"5":{"patterns":[{"include":"#none"}]},"6":{"name":"meta.timeout.ssh-config"},"7":{"patterns":[{"include":"#time"}]},"8":{"name":"constant.language.default.ssh-config"},"9":{"name":"constant.language.none.ssh-config"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(RequestTTY)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"name":"constant.language.$1.ssh-config","match":"\\G(auto|force)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(SessionType)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.$1.ssh-config","match":"\\G(none|default|subsystem)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(SetEnv)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"meta.assignment.ssh-config","begin":"((?!\\d)[*?\\w]+)(=)","end":"(?=\\s|$|#)","patterns":[{"name":"string.unquoted.ssh-config","match":"\\G[^#\\s\"]+"},{"name":"string.quoted.double.ssh-config","begin":"\\G\"","end":"\"|(?=$)","patterns":[{"include":"#wildcard"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ssh-config"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ssh-config"}}}],"beginCaptures":{"1":{"name":"variable.environment.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(StreamLocalBindMask)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.numeric.integer.octal.ssh-config","match":"\\G([0-7]+)(?=$|\\s|$)"},{"name":"invalid.illegal.bad-character.ssh-config","match":"\\G[^\\s0-7#]+"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(StrictHostKeyChecking)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"name":"constant.language.$1.ssh-config","match":"\\G(ask|accept-new)(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(SyslogFacility)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.language.syslogfacility.ssh-config","match":"\\G(DAEMON|USER|AUTH|LOCAL[0-7])(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(TunnelDevice)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"match":"\\G((\\d+)|(any))(:)((\\d+)|(any))(?=\\s*(?:$|#))","captures":{"1":{"name":"meta.local-tunnel.ssh-config"},"2":{"patterns":[{"include":"#integer"}]},"3":{"name":"constant.language.any.ssh-config"},"4":{"name":"punctuation.separator.ssh-config"},"5":{"name":"meta.remote-tunnel.ssh-config"},"6":{"patterns":[{"include":"#integer"}]},"7":{"name":"constant.language.any.ssh-config"},"8":{"name":"punctuation.separator.ssh-config"}}}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(UpdateHostKeys|VerifyHostKeyDNS)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#boolean"},{"name":"constant.language.ask.ssh-config","match":"\\Gask(?=\\s*(?:$|#))"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.field.${1:/downcase}.ssh-config","contentName":"meta.arguments.ssh-config","begin":"(?i)^[ \\t]*(VersionAddendum)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"string.unquoted.herestring.ssh-config","begin":"\\G(?!none\\s*(?:$|#))(?=[^\\s#])","end":"(?=\\s*(?:$|#))"},{"include":"#none"}],"beginCaptures":{"1":{"name":"keyword.operator.field-name.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}}]},"identifierList":{"match":"(?:^|\\G|(?\u003c=\\s))([-+^])?([^\\s,]+(?:,[^\\s,]+)*+)","captures":{"1":{"name":"keyword.operator.combinator.ssh-config"},"2":{"patterns":[{"name":"constant.other.identifier.ssh-config","match":"[^\\s,]+","captures":{"0":{"patterns":[{"include":"#wildcard"}]}}},{"include":"#comma"}]}}},"integer":{"name":"constant.numeric.integer.decimal.ssh-config","match":"-?[0-9]+"},"main":{"patterns":[{"include":"#comment"},{"include":"#scope"},{"include":"#field"}]},"none":{"name":"constant.language.none.ssh-config","match":"\\G(none)(?=\\s*(?:$|#))"},"patternList":{"name":"meta.pattern-list.ssh-config","begin":"\\G","end":"(?=[ \\t]*(?:$|#))","patterns":[{"name":"constant.other.pattern.ssh-config","match":"(!)?([^,\\s#]+)","captures":{"1":{"name":"keyword.operator.logical.not.negation.ssh-config"},"2":{"patterns":[{"include":"#wildcard"}]}}},{"include":"#comma"}]},"patternListInline":{"begin":"(?:^|\\G)","end":"(?=[ \\t]*(?:$|#))","patterns":[{"include":"#patternList"}]},"port":{"match":"(?:\\G|^|(?\u003c=[ \\t]))(?:(\\[[^\\]]+\\]|[^\\s:]*)(:))?([?*\\d]+)(?=\\s*(?:$|#)|\\s+(?:(?:[^\\s:#]+:)?\\d+|rdomain[ \\t]))","captures":{"1":{"patterns":[{"include":"#addr"}]},"2":{"name":"punctuation.separator.ssh-config"},"3":{"name":"constant.numeric.integer.decimal.port-number.ssh-config","patterns":[{"include":"#wildcard"}]}}},"scope":{"patterns":[{"name":"meta.scope.${1:/downcase}.empty.ssh-config","match":"(?i)(?:^|\\G)[ \\t]*(Host|Match)(?:\\s*(=))?(?=[ \\t]*(?:$|#))","captures":{"1":{"name":"keyword.control.host.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.scope.host.ssh-config","begin":"(?i)(?:^|\\G)[ \\t]*(Host)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?i)(?!\\G)(?=^[ \\t]*(?:Host|Match)(?:$|\\s|=))","patterns":[{"include":"#patternList"},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.host.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}},{"name":"meta.scope.match.ssh-config","begin":"(?i)(?:^|\\G)[ \\t]*(Match)(?:\\s*(=)|(?=$|\\s))[ \\t]*","end":"(?i)(?!\\G)(?=^[ \\t]*(?:Host|Match)(?:$|\\s|=))","patterns":[{"name":"constant.language.match-criteria.ssh-config","match":"\\GAll(?=\\s*(?:$|#))"},{"name":"meta.${1:/downcase}-match.ssh-config","contentName":"meta.arguments.ssh-config","begin":"\\G(?:(Address|Group|Host|LocalAddress|LocalPort|RDomain|User)(?=$|\\s|#))?[ \\t]*","end":"(?=\\s*(?:$|#))","patterns":[{"include":"#patternList"}],"beginCaptures":{"1":{"name":"constant.language.match-criteria.ssh-config"}}},{"include":"#main"}],"beginCaptures":{"1":{"name":"keyword.control.match.ssh-config"},"2":{"name":"keyword.operator.assignment.ssh-config"}}}]},"stringList":{"patterns":[{"name":"string.quoted.double.ssh-config","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#wildcard"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ssh-config"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ssh-config"}}},{"name":"string.unquoted.ssh-config","match":"[^\"\\s#]+","patterns":[{"include":"#wildcard"}]}]},"time":{"name":"constant.other.time.interval.ssh-config","match":"(?:\\d+(?:[SMHDWsmhdw]|\\b))++","captures":{"0":{"patterns":[{"name":"keyword.other.unit.time.ssh-config","match":"\\D"}]}}},"token":{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[%CDdFfHhIiKkLlnprsTtUu]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}},"variableName":{"name":"variable.environment.ssh-config","match":"\\G(\\$)(?!\\d)\\w+","captures":{"1":{"name":"punctuation.definition.variable.ssh-config"}}},"wildcard":{"name":"keyword.operator.wildcard.pattern.ssh-config","match":"[?*]"}},"injections":{"L:meta.field.hostname.ssh-config":{"patterns":[{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[%h]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}}]},"L:meta.field.knownhostscommand.ssh-config":{"patterns":[{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[%CHIKLdfhiklnprtu]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}}]},"L:meta.field.localcommand.ssh-config":{"patterns":[{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[CDdFfHhIiKkLlnprsTtUu]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}}]},"L:meta.field.proxycommand.ssh-config":{"patterns":[{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[%hnpr]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}}]},"L:meta.scope.match.ssh-config meta.pattern-list, L:meta.field.certificatefile.ssh-config, L:meta.field.controlpath.ssh-config, L:meta.field.identityagent.ssh-config, L:meta.field.identityfile.ssh-config, L:meta.field.localforward.ssh-config, L:meta.field.remotecommand.ssh-config, L:meta.field.remoteforward.ssh-config, L:meta.field.userknownhostsfile.ssh-config":{"patterns":[{"name":"constant.other.placeholder.token.ssh-config","match":"(%)[%CLdhiklnpru]","captures":{"1":{"name":"punctuation.definition.token.ssh-config"}}}]}}}