github-linguist 7.24.1 → 7.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (116) hide show
  1. checksums.yaml +4 -4
  2. data/ext/linguist/lex.linguist_yy.c +14 -17
  3. data/ext/linguist/lex.linguist_yy.h +2 -2
  4. data/ext/linguist/tokenizer.l +0 -1
  5. data/grammars/govulncheck.json +1 -0
  6. data/grammars/inline.graphql.scala.json +1 -0
  7. data/grammars/liquid.injection.json +1 -1
  8. data/grammars/markdown.curry.codeblock.json +1 -1
  9. data/grammars/markdown.talon.codeblock.json +1 -0
  10. data/grammars/source.abap.json +1 -1
  11. data/grammars/source.abl.json +1 -1
  12. data/grammars/source.acucobol.json +1 -1
  13. data/grammars/source.apex.json +1 -0
  14. data/grammars/source.arr.json +1 -0
  15. data/grammars/source.astro.json +1 -1
  16. data/grammars/source.basic.json +1 -1
  17. data/grammars/source.bicep.json +1 -1
  18. data/grammars/source.brs.json +1 -1
  19. data/grammars/source.bsl.json +1 -1
  20. data/grammars/source.cds.json +1 -1
  21. data/grammars/source.chapel.json +1 -1
  22. data/grammars/source.circom.json +1 -0
  23. data/grammars/source.clar.json +1 -1
  24. data/grammars/source.cobol.json +1 -1
  25. data/grammars/source.cs.json +1 -1
  26. data/grammars/source.curlrc.json +1 -1
  27. data/grammars/source.d2.json +1 -0
  28. data/grammars/source.dart.json +1 -1
  29. data/grammars/source.denizenscript.json +1 -1
  30. data/grammars/source.did.json +1 -0
  31. data/grammars/source.dm.json +1 -1
  32. data/grammars/source.editorconfig.json +1 -1
  33. data/grammars/source.fsharp.json +1 -1
  34. data/grammars/source.gdscript.json +1 -1
  35. data/grammars/source.generic-config.json +1 -0
  36. data/grammars/source.gfm.blade.json +1 -1
  37. data/grammars/source.gitconfig.json +1 -1
  38. data/grammars/source.gleam.json +1 -1
  39. data/grammars/source.graphql.json +1 -1
  40. data/grammars/source.hocon.json +1 -1
  41. data/grammars/source.hosts.json +1 -1
  42. data/grammars/source.j.json +1 -1
  43. data/grammars/source.jflex.json +1 -1
  44. data/grammars/source.kerboscript.json +1 -0
  45. data/grammars/source.kickstart.json +1 -0
  46. data/grammars/source.kotlin.json +1 -1
  47. data/grammars/source.lolcode.json +1 -0
  48. data/grammars/source.m2.json +1 -1
  49. data/grammars/source.matlab.json +1 -1
  50. data/grammars/source.mdx.json +1 -0
  51. data/grammars/source.mermaid.flowchart.json +1 -1
  52. data/grammars/source.mermaid.json +1 -1
  53. data/grammars/source.mermaid.mindmap.json +1 -0
  54. data/grammars/source.mo.json +1 -1
  55. data/grammars/source.move.json +1 -1
  56. data/grammars/source.nasal.json +1 -0
  57. data/grammars/source.nim.json +1 -1
  58. data/grammars/source.nimcfg.json +1 -1
  59. data/grammars/source.nushell.json +1 -0
  60. data/grammars/source.pact.json +1 -0
  61. data/grammars/source.pddl.json +1 -1
  62. data/grammars/source.pnlgrp.json +1 -1
  63. data/grammars/source.polar.json +1 -1
  64. data/grammars/source.postscript.json +1 -1
  65. data/grammars/source.prisma.json +1 -1
  66. data/grammars/source.rascal.json +1 -1
  67. data/grammars/source.rbs.json +1 -0
  68. data/grammars/source.rescript.json +1 -1
  69. data/grammars/source.rmcobol.json +1 -0
  70. data/grammars/source.rpgle.json +1 -1
  71. data/grammars/source.rust.json +1 -1
  72. data/grammars/source.scala.json +1 -1
  73. data/grammars/source.scenic.json +1 -1
  74. data/grammars/source.singularity.json +1 -1
  75. data/grammars/source.smithy.json +1 -1
  76. data/grammars/source.soql.json +1 -0
  77. data/grammars/source.sqf.json +1 -1
  78. data/grammars/source.stan.json +1 -1
  79. data/grammars/source.svelte.json +1 -1
  80. data/grammars/source.sway.json +1 -0
  81. data/grammars/source.talon.json +1 -1
  82. data/grammars/source.tlverilog.json +1 -0
  83. data/grammars/source.toc.json +1 -1
  84. data/grammars/source.ts.json +1 -1
  85. data/grammars/source.tsql.json +1 -1
  86. data/grammars/source.tsx.json +1 -1
  87. data/grammars/source.v.json +1 -1
  88. data/grammars/source.vba.json +1 -0
  89. data/grammars/source.wgsl.json +1 -0
  90. data/grammars/source.wit.json +1 -0
  91. data/grammars/source.wwb.json +1 -0
  92. data/grammars/source.yara.json +1 -1
  93. data/grammars/text.adblock.json +1 -1
  94. data/grammars/text.checksums.json +1 -1
  95. data/grammars/text.haml.json +1 -1
  96. data/grammars/text.html.liquid.json +1 -1
  97. data/grammars/text.html.markdown.d2.json +1 -0
  98. data/grammars/text.marko.json +1 -1
  99. data/grammars/text.md.json +1 -0
  100. data/grammars/text.pseudoxml.json +1 -0
  101. data/grammars/text.restructuredtext.json +1 -1
  102. data/grammars/text.sfd.json +1 -1
  103. data/grammars/text.xml.svg.json +1 -1
  104. data/grammars/version +1 -1
  105. data/lib/linguist/VERSION +1 -1
  106. data/lib/linguist/generated.rb +8 -0
  107. data/lib/linguist/generic.yml +1 -0
  108. data/lib/linguist/heuristics.yml +104 -47
  109. data/lib/linguist/languages.json +1 -1
  110. data/lib/linguist/languages.yml +272 -35
  111. data/lib/linguist/samples.json +1 -1
  112. data/lib/linguist/vendor.yml +7 -1
  113. metadata +36 -10
  114. data/grammars/source.gfm.json +0 -1
  115. data/grammars/source.nim.comment.json +0 -1
  116. data/grammars/source.nim_filter.json +0 -1
@@ -1 +1 @@
1
- {"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#function-decl"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"},{"include":"#punctuations"},{"include":"#variable-assign"},{"include":"#function-decl"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"\\s+((?:\\:|\\+|\\-|\\*|/|\\%|\\\u0026|\\||\\^)?=)\\s+","captures":{"1":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(?\u003c!.)(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|rune|size_t)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"function-decl":{"name":"meta.definition.function.v","match":"^(\\bpub\\b\\s+)?(\\bfn\\b)\\s+(?:\\([^\\)]+\\)\\s+)?(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"entity.name.function.v"},"4":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"markup.bold.v","begin":"^\\s*(#)","end":"$"},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"(?\u003c!@)\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"(?\u003c!@)\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.exponential.v","match":"([0-9]+(_?))+(\\.)([0-9]+[eE][-+]?[0-9]+)"},{"name":"constant.numeric.float.v","match":"([0-9]+(_?))+(\\.)([0-9]+)"},{"name":"constant.numeric.binary.v","match":"(?:0b)(?:(?:[0-1]+)(?:_?))+"},{"name":"constant.numeric.octal.v","match":"(?:0o)(?:(?:[0-7]+)(?:_?))+"},{"name":"constant.numeric.hex.v","match":"(?:0x)(?:(?:[0-9a-fA-F]+)(?:_?))+"},{"name":"constant.numeric.integer.v","match":"(?:(?:[0-9]+)(?:[_]?))+"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.optional.v","match":"\\?"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"},{"name":"punctuation.hash.v","match":"#"}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.v","match":"(?:\\.)"},{"name":"punctuation.separator.comma.v","match":"(?:,)"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"name":"meta.string.interpolation.v","match":"(\\$([\\w.]+|\\{.*?\\}))","captures":{"1":{"patterns":[{"name":"invalid.illegal.v","match":"\\$\\d[\\.\\w]+"},{"name":"variable.other.interpolated.v","match":"\\$([\\.\\w]+|\\{.*?\\})"}]}}},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.rune.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"name":"string.quoted.raw.v","begin":"(r)'","end":"'","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.raw.v","begin":"(r)\"","end":"\"","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.type.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"(?\u003c!\\.)\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"(?\u003c!\\.)\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]},"variable-assign":{"match":"[a-zA-Z_]\\w*(?:,\\s*[a-zA-Z_]\\w*)*(?=\\s*(?:=|:=))","captures":{"0":{"patterns":[{"name":"variable.other.assignment.v","match":"[a-zA-Z_]\\w*"},{"include":"#punctuation"}]}}}}}
1
+ {"name":"V","scopeName":"source.v","patterns":[{"include":"#comments"},{"include":"#function-decl"},{"include":"#as-is"},{"include":"#attributes"},{"include":"#assignment"},{"include":"#module-decl"},{"include":"#import-decl"},{"include":"#hash-decl"},{"include":"#brackets"},{"include":"#builtin-fix"},{"include":"#escaped-fix"},{"include":"#operators"},{"include":"#function-limited-overload-decl"},{"include":"#function-extend-decl"},{"include":"#function-exist"},{"include":"#generic"},{"include":"#constants"},{"include":"#type"},{"include":"#enum"},{"include":"#interface"},{"include":"#struct"},{"include":"#keywords"},{"include":"#storage"},{"include":"#numbers"},{"include":"#strings"},{"include":"#types"},{"include":"#punctuations"},{"include":"#variable-assign"},{"include":"#function-decl"}],"repository":{"as-is":{"begin":"\\s+(as|is)\\s+","end":"([\\w.]*)","beginCaptures":{"1":{"name":"keyword.$1.v"}},"endCaptures":{"1":{"name":"entity.name.alias.v"}}},"assignment":{"name":"meta.definition.variable.v","match":"\\s+((?:\\:|\\+|\\-|\\*|/|\\%|\\\u0026|\\||\\^)?=)\\s+","captures":{"1":{"patterns":[{"include":"#operators"}]}}},"attributes":{"name":"meta.definition.attribute.v","match":"^\\s*((\\[)(deprecated|unsafe|console|heap|manualfree|typedef|live|inline|flag|ref_only|direct_array_access|callconv)(\\]))","captures":{"1":{"name":"meta.function.attribute.v"},"2":{"name":"punctuation.definition.begin.bracket.square.v"},"3":{"name":"storage.modifier.attribute.v"},"4":{"name":"punctuation.definition.end.bracket.square.v"}}},"brackets":{"patterns":[{"begin":"{","end":"}","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"begin":"\\(","end":"\\)","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.round.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.round.end.v"}}},{"begin":"\\[","end":"\\]","patterns":[{"include":"$self"}],"beginCaptures":{"0":{"name":"punctuation.definition.bracket.square.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.bracket.square.end.v"}}}]},"builtin-fix":{"patterns":[{"patterns":[{"name":"storage.modifier.v","match":"(const)(?=\\s*\\()"},{"name":"keyword.$1.v","match":"\\b(fn|type|enum|struct|union|interface|map|assert|sizeof|typeof|__offsetof)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)(?=\\s*\\()"},{"name":"keyword.control.v","match":"\\b(as|in|is|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b(?=\\s*\\()"}]},{"patterns":[{"name":"meta.expr.numeric.cast.v","match":"(?\u003c!.)(i?(?:8|16|nt|64|128)|u?(?:16|32|64|128)|f?(?:32|64))(?=\\s*\\()","captures":{"1":{"name":"storage.type.numeric.v"}}},{"name":"meta.expr.bool.cast.v","match":"(bool|byte|byteptr|charptr|voidptr|string|rune|size_t|[ui]size)(?=\\s*\\()","captures":{"1":{"name":"storage.type.$1.v"}}}]}]},"comments":{"patterns":[{"name":"comment.block.documentation.v","begin":"/\\*","end":"\\*/","patterns":[{"include":"#comments"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.v"}}},{"name":"comment.line.double-slash.v","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.v"}}}]},"constants":{"name":"constant.language.v","match":"\\b(true|false|none)\\b"},"enum":{"name":"meta.definition.enum.v","match":"^\\s*(?:(pub)?\\s+)?(enum)\\s+(?:\\w+\\.)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.enum.v"},"3":{"name":"entity.name.enum.v"}}},"function-decl":{"name":"meta.definition.function.v","match":"^(\\bpub\\b\\s+)?(\\bfn\\b)\\s+(?:\\([^\\)]+\\)\\s+)?(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"entity.name.function.v"},"4":{"patterns":[{"include":"#generic"}]}}},"function-exist":{"name":"meta.support.function.v","match":"(\\w+)((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?(?=\\s*\\()","captures":{"0":{"name":"meta.function.call.v"},"1":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"patterns":[{"include":"#generic"}]}}},"function-extend-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)\\s*((?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e))?","captures":{"1":{"name":"storage.modifier.v"},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"7":{"patterns":[{"include":"#generic"}]}}},"function-limited-overload-decl":{"name":"meta.definition.function.v","match":"^\\s*(pub)?\\s*(fn)\\s*(\\()([^\\)]*)(\\))\\s*([\\+\\-\\*\\/])?\\s*(\\()([^\\)]*)(\\))\\s*(?:(?:C\\.)?)(\\w+)","captures":{"1":{"name":"storage.modifier.v"},"10":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.function.v","match":"\\w+"}]},"2":{"name":"keyword.fn.v"},"3":{"name":"punctuation.definition.bracket.round.begin.v"},"4":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"5":{"name":"punctuation.definition.bracket.round.end.v"},"6":{"patterns":[{"include":"#operators"}]},"7":{"name":"punctuation.definition.bracket.round.begin.v"},"8":{"patterns":[{"include":"#brackets"},{"include":"#storage"},{"include":"#generic"},{"include":"#types"},{"include":"#punctuation"}]},"9":{"name":"punctuation.definition.bracket.round.end.v"}}},"generic":{"patterns":[{"name":"meta.definition.generic.v","match":"(?\u003c=[\\w\\s+])(\\\u003c)(\\w+)(\\\u003e)","captures":{"1":{"name":"punctuation.definition.bracket.angle.begin.v"},"2":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.generic.v","match":"\\w+"}]},"3":{"name":"punctuation.definition.bracket.angle.end.v"}}}]},"hash-decl":{"name":"markup.bold.v","begin":"^\\s*(#)","end":"$"},"illegal-name":{"name":"invalid.illegal.v","match":"\\d\\w+"},"import-decl":{"name":"meta.import.v","begin":"^\\s*(import)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.import.v"}},"endCaptures":{"1":{"name":"entity.name.import.v"}}},"interface":{"name":"meta.definition.interface.v","match":"^\\s*(?:(pub)?\\s+)?(interface)\\s+(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"keyword.interface.v"},"3":{"patterns":[{"include":"#illegal-name"},{"name":"entity.name.interface.v","match":"\\w+"}]}}},"keywords":{"patterns":[{"name":"keyword.control.v","match":"(\\$if|\\$else)"},{"name":"keyword.control.v","match":"(?\u003c!@)\\b(as|it|is|in|or|break|continue|default|unsafe|match|if|else|for|go|spawn|goto|defer|return|shared|select|rlock|lock|atomic|asm)\\b"},{"name":"keyword.$1.v","match":"(?\u003c!@)\\b(fn|type|typeof|enum|struct|interface|map|assert|sizeof|__offsetof)\\b"}]},"module-decl":{"name":"meta.module.v","begin":"^\\s*(module)\\s+","end":"([\\w.]+)","beginCaptures":{"1":{"name":"keyword.module.v"}},"endCaptures":{"1":{"name":"entity.name.module.v"}}},"numbers":{"patterns":[{"name":"constant.numeric.exponential.v","match":"([0-9]+(_?))+(\\.)([0-9]+[eE][-+]?[0-9]+)"},{"name":"constant.numeric.float.v","match":"([0-9]+(_?))+(\\.)([0-9]+)"},{"name":"constant.numeric.binary.v","match":"(?:0b)(?:(?:[0-1]+)(?:_?))+"},{"name":"constant.numeric.octal.v","match":"(?:0o)(?:(?:[0-7]+)(?:_?))+"},{"name":"constant.numeric.hex.v","match":"(?:0x)(?:(?:[0-9a-fA-F]+)(?:_?))+"},{"name":"constant.numeric.integer.v","match":"(?:(?:[0-9]+)(?:[_]?))+"}]},"operators":{"patterns":[{"name":"keyword.operator.arithmetic.v","match":"(\\+|\\-|\\*|\\/|\\%|\\+\\+|\\-\\-|\\\u003e\\\u003e|\\\u003c\\\u003c)"},{"name":"keyword.operator.relation.v","match":"(\\=\\=|\\!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=)"},{"name":"keyword.operator.assignment.v","match":"(\\:\\=|\\=|\\+\\=|\\-\\=|\\*\\=|\\/\\=|\\%\\=|\\\u0026\\=|\\|\\=|\\^\\=|\\~\\=|\\\u0026\\\u0026\\=|\\|\\|\\=|\\\u003e\\\u003e\\=|\\\u003c\\\u003c\\=)"},{"name":"keyword.operator.bitwise.v","match":"(\\\u0026|\\||\\^|\\~|\u003c(?!\u003c)|\u003e(?!\u003e))"},{"name":"keyword.operator.logical.v","match":"(\\\u0026\\\u0026|\\|\\||\\!)"},{"name":"keyword.operator.optional.v","match":"\\?"}]},"punctuation":{"patterns":[{"name":"punctuation.delimiter.period.dot.v","match":"\\."},{"name":"punctuation.delimiter.comma.v","match":","},{"name":"punctuation.separator.key-value.colon.v","match":":"},{"name":"punctuation.definition.other.semicolon.v","match":";"},{"name":"punctuation.definition.other.questionmark.v","match":"\\?"},{"name":"punctuation.hash.v","match":"#"}]},"punctuations":{"patterns":[{"name":"punctuation.accessor.v","match":"(?:\\.)"},{"name":"punctuation.separator.comma.v","match":"(?:,)"}]},"storage":{"name":"storage.modifier.v","match":"\\b(const|mut|pub)\\b"},"string-escaped-char":{"patterns":[{"name":"constant.character.escape.v","match":"\\\\([0-7]{3}|[\\$abfnrtv\\\\'\"]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"},{"name":"invalid.illegal.unknown-escape.v","match":"\\\\[^0-7\\$xuUabfnrtv\\'\"]"}]},"string-interpolation":{"name":"meta.string.interpolation.v","match":"(\\$([\\w.]+|\\{.*?\\}))","captures":{"1":{"patterns":[{"name":"invalid.illegal.v","match":"\\$\\d[\\.\\w]+"},{"name":"variable.other.interpolated.v","match":"\\$([\\.\\w]+|\\{.*?\\})"}]}}},"string-placeholder":{"name":"constant.other.placeholder.v","match":"%(\\[\\d+\\])?([\\+#\\-0\\x20]{,2}((\\d+|\\*)?(\\.?(\\d+|\\*|(\\[\\d+\\])\\*?)?(\\[\\d+\\])?)?))?[vT%tbcdoqxXUbeEfFgGsp]"},"strings":{"patterns":[{"name":"string.quoted.rune.v","begin":"`","end":"`","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}]},{"name":"string.quoted.raw.v","begin":"(r)'","end":"'","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.raw.v","begin":"(r)\"","end":"\"","patterns":[{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)'","end":"'","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}},{"name":"string.quoted.v","begin":"(c?)\"","end":"\"","patterns":[{"include":"#string-escaped-char"},{"include":"#string-interpolation"},{"include":"#string-placeholder"}],"beginCaptures":{"1":{"name":"storage.type.string.v"}}}]},"struct":{"patterns":[{"name":"meta.definition.struct.v","begin":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global)\\s+)?(struct|union)\\s+([\\w.]+)\\s*|({)","end":"\\s*|(})","patterns":[{"include":"#struct-access-modifier"},{"match":"\\b(\\w+)\\s+([\\w\\[\\]\\*\u0026.]+)(?:\\s*(=)\\s*((?:.(?=$|//|/\\*))*+))?","captures":{"1":{"name":"variable.other.property.v"},"2":{"patterns":[{"include":"#numbers"},{"include":"#brackets"},{"include":"#types"},{"name":"storage.type.other.v","match":"\\w+"}]},"3":{"name":"keyword.operator.assignment.v"},"4":{"patterns":[{"include":"$self"}]}}},{"include":"#types"},{"include":"$self"}],"beginCaptures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.type.v"},"4":{"name":"punctuation.definition.bracket.curly.begin.v"}},"endCaptures":{"1":{"name":"punctuation.definition.bracket.curly.end.v"}}},{"name":"meta.definition.struct.v","match":"^\\s*(?:(mut|pub(?:\\s+mut)?|__global))\\s+?(struct)\\s+(?:\\s+([\\w.]+))?","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.struct.v"},"3":{"name":"entity.name.struct.v"}}}]},"struct-access-modifier":{"match":"(?\u003c=\\s|^)(mut|pub(?:\\s+mut)?|__global)(:|\\b)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"punctuation.separator.struct.key-value.v"}}},"type":{"name":"meta.definition.type.v","match":"^\\s*(?:(pub)?\\s+)?(type)\\s+(\\w*)\\s+(?:\\w+\\.+)?(\\w*)","captures":{"1":{"name":"storage.modifier.$1.v"},"2":{"name":"storage.type.type.v"},"3":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]},"4":{"patterns":[{"include":"#illegal-name"},{"include":"#types"},{"name":"entity.name.type.v","match":"\\w+"}]}}},"types":{"patterns":[{"name":"storage.type.numeric.v","match":"(?\u003c!\\.)\\b(i(8|16|nt|64|128)|u(8|16|32|64|128)|f(32|64))\\b"},{"name":"storage.type.$1.v","match":"(?\u003c!\\.)\\b(bool|byte|byteptr|charptr|voidptr|string|ustring|rune)\\b"}]},"variable-assign":{"match":"[a-zA-Z_]\\w*(?:,\\s*[a-zA-Z_]\\w*)*(?=\\s*(?:=|:=))","captures":{"0":{"patterns":[{"name":"variable.other.assignment.v","match":"[a-zA-Z_]\\w*"},{"include":"#punctuation"}]}}}}}
@@ -0,0 +1 @@
1
+ {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#keywords"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"include":"#functions"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:|(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\n","patterns":[{"name":"comment.line.quote","match":"'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"name":"entity.name.function.vba","match":"(?i:\\b(?:(?\u003c=Call )|(?\u003c=Function )|(?\u003c=Sub ))[a-zA-Z][a-zA-Z0-9_]*\\b)(?=\\(\\)?)"},"keywords":{"patterns":[{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.conditional.vba","match":"(?i:\\b(Do(( While)|( Until))?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop(( While)|( Until))?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:(\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b)|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Static )?(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent)\\b)"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|/)[0-9]{1,2}((-|/)[0-9]{1,4})?#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase)\\b"}]},"strings":{"name":"string.quoted.double","begin":"\"","end":"\""},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z]+)","captures":{"1":{"name":"support.type"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"WGSL","scopeName":"source.wgsl","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#functions"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"repository":{"constants":{"patterns":[{"name":"constant.numeric.float.wgsl","match":"(-?\\b[0-9][0-9]*\\.[0-9][0-9]*)([eE][+-]?[0-9]+)?\\b"},{"name":"constant.numeric.decimal.wgsl","match":"-?\\b0x[0-9a-fA-F]+\\b|\\b0\\b|-?\\b[1-9][0-9]*\\b"},{"name":"constant.numeric.decimal.wgsl","match":"\\b0x[0-9a-fA-F]+u\\b|\\b0u\\b|\\b[1-9][0-9]*u\\b"},{"name":"constant.language.boolean.wgsl","match":"\\b(true|false)\\b"}]},"function_calls":{"patterns":[{"name":"meta.function.call.wgsl","begin":"([A-Za-z0-9_]+)(\\()","end":"\\)","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"entity.name.function.wgsl"},"2":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.round.wgsl"}}}]},"functions":{"patterns":[{"name":"meta.function.definition.wgsl","begin":"\\b(fn)\\s+([A-Za-z0-9_]+)((\\()|(\u003c))","end":"\\{","patterns":[{"include":"#line_comments"},{"include":"#keywords"},{"include":"#function_calls"},{"include":"#constants"},{"include":"#types"},{"include":"#variables"},{"include":"#punctuation"}],"beginCaptures":{"1":{"name":"keyword.other.fn.wgsl"},"2":{"name":"entity.name.function.wgsl"},"4":{"name":"punctuation.brackets.round.wgsl"}},"endCaptures":{"0":{"name":"punctuation.brackets.curly.wgsl"}}}]},"keywords":{"patterns":[{"name":"keyword.control.wgsl","match":"\\b(bitcast|block|break|case|continue|continuing|default|discard|else|elseif|enable|fallthrough|for|function|if|loop|override|private|read|read_write|return|storage|switch|uniform|while|workgroup|write)\\b"},{"name":"keyword.control.wgsl","match":"\\b(asm|const|do|enum|handle|mat|premerge|regardless|typedef|unless|using|vec|void)\\b"},{"name":"keyword.other.wgsl storage.type.wgsl","match":"\\b(let|var)\\b"},{"name":"keyword.declaration.type.wgsl storage.type.wgsl","match":"\\b(type)\\b"},{"name":"keyword.declaration.enum.wgsl storage.type.wgsl","match":"\\b(enum)\\b"},{"name":"keyword.declaration.struct.wgsl storage.type.wgsl","match":"\\b(struct)\\b"},{"name":"keyword.other.fn.wgsl","match":"\\bfn\\b"},{"name":"keyword.operator.logical.wgsl","match":"(\\^|\\||\\|\\||\u0026\u0026|\u003c\u003c|\u003e\u003e|!)(?!=)"},{"name":"keyword.operator.borrow.and.wgsl","match":"\u0026(?![\u0026=])"},{"name":"keyword.operator.assignment.wgsl","match":"(\\+=|-=|\\*=|/=|%=|\\^=|\u0026=|\\|=|\u003c\u003c=|\u003e\u003e=)"},{"name":"keyword.operator.assignment.equal.wgsl","match":"(?\u003c![\u003c\u003e])=(?!=|\u003e)"},{"name":"keyword.operator.comparison.wgsl","match":"(=(=)?(?!\u003e)|!=|\u003c=|(?\u003c!=)\u003e=)"},{"name":"keyword.operator.math.wgsl","match":"(([+%]|(\\*(?!\\w)))(?!=))|(-(?!\u003e))|(/(?!/))"},{"name":"keyword.operator.access.dot.wgsl","match":"\\.(?!\\.)"},{"name":"keyword.operator.arrow.skinny.wgsl","match":"-\u003e"}]},"line_comments":{"name":"comment.line.double-slash.wgsl","match":"\\s*//.*"},"punctuation":{"patterns":[{"name":"punctuation.comma.wgsl","match":","},{"name":"punctuation.brackets.curly.wgsl","match":"[{}]"},{"name":"punctuation.brackets.round.wgsl","match":"[()]"},{"name":"punctuation.semi.wgsl","match":";"},{"name":"punctuation.brackets.square.wgsl","match":"[\\[\\]]"},{"name":"punctuation.brackets.angle.wgsl","match":"(?\u003c!=)[\u003c\u003e]"}]},"types":{"name":"storage.type.wgsl","patterns":[{"name":"storage.type.wgsl","match":"\\b(bool|i32|u32|f32)\\b"},{"name":"storage.type.wgsl","match":"\\b(i64|u64|f64)\\b"},{"name":"storage.type.wgsl","match":"\\b(vec[2-4]|mat[2-4]x[2-4])\\b"},{"name":"storage.type.wgsl","match":"\\b(atomic)\\b"},{"name":"storage.type.wgsl","match":"\\b(array)\\b"},{"name":"entity.name.type.wgsl","match":"\\b([A-Z][A-Za-z0-9]*)\\b"}]},"variables":{"patterns":[{"name":"variable.other.wgsl","match":"\\b(?\u003c!(?\u003c!\\.)\\.)(?:r#(?!(crate|[Ss]elf|super)))?[a-z0-9_]+\\b"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"WIT","scopeName":"source.wit","patterns":[{"include":"#comment"},{"include":"#world"},{"include":"#interface"}],"repository":{"block-comments":{"patterns":[{"name":"comment.block.empty.wit","match":"/\\*\\*/"},{"name":"comment.block.documentation.wit","begin":"/\\*\\*","end":"\\*/","patterns":[{"include":"#block-comments"}]},{"name":"comment.block.wit","begin":"/\\*(?!\\*)","end":"\\*/","patterns":[{"include":"#block-comments"}]}]},"boolean":{"name":"entity.name.type.boolean.wit","match":"\\s*\\b(bool)\\b"},"comment":{"patterns":[{"include":"#block-comments"},{"include":"#doc-comment"},{"include":"#line-comment"}]},"container":{"name":"meta.container.ty.wit","patterns":[{"include":"#tuple"},{"include":"#list"},{"include":"#option"},{"include":"#result"},{"include":"#handle"}]},"doc-comment":{"name":"comment.line.documentation.wit","match":"^\\s*///.*"},"enum":{"name":"meta.enum-items.wit","begin":"\\s*\\b(enum)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#enum-cases"}],"beginCaptures":{"1":{"name":"keyword.other.enum.enum-items.wit"},"2":{"name":"entity.name.type.id.enum-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"enum-cases":{"name":"meta.enum-cases.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.enum-cases.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]},"extern":{"name":"meta.extern-type.wit","patterns":[{"name":"meta.interface-type.wit","patterns":[{"begin":"\\s*\\b(interface)\\b\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#interface-items"}],"beginCaptures":{"1":{"name":"keyword.other.interface.interface-type.wit"},"2":{"name":"ppunctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}}]},{"include":"#function-definition"},{"include":"#use-path"}]},"flags":{"name":"meta.flags-items.wit","begin":"\\s*\\b(flags)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#flags-fields"}],"beginCaptures":{"1":{"name":"keyword.other.flags.flags-items.wit"},"2":{"name":"entity.name.type.id.flags-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"flags-fields":{"name":"meta.flags-fields.wit","patterns":[{"include":"#comment"},{"name":"variable.other.enummember.id.flags-fields.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]},"function":{"name":"meta.func-item.wit","begin":"\\s*\\b(static\\s+)?((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#function-definition"}],"beginCaptures":{"1":{"name":"storage.modifier.static.func-item.wit"},"2":{"name":"entity.name.function.id.func-item.wit"},"3":{"name":"meta.word.wit"},"5":{"name":"meta.word-separator.wit"},"6":{"name":"meta.word.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},"function-definition":{"name":"meta.func-type.wit","patterns":[{"name":"meta.function.wit","begin":"\\s*\\b(func)\\b\\s*(\\()\\s*","end":"\\s*(\\))\\s*((\\-\\\u003e)(.+))?\\s*","patterns":[{"include":"#comment"},{"name":"meta.named-type-list.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)\\s*","end":"\\s*(\\,)?\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.named-type-list.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.parameter.id.named-type.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"1":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true}],"beginCaptures":{"1":{"name":"keyword.other.func.func-type.wit"},"2":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"meta.result-list.wit"},"3":{"name":"keyword.operator.arrow.skinny.wit"},"4":{"name":"meta.types.result-list.wit","patterns":[{"include":"#comment"},{"include":"#types"}]}},"applyEndPatternLast":true}]},"handle":{"name":"meta.handle.ty.wit","match":"\\s*\\b(borrow)\\b(\\\u003c)\\s*((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\\u003e)\\s*","captures":{"1":{"name":"entity.name.type.borrow.handle.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"},"3":{"name":"entity.name.type.id.handle.wit"},"8":{"name":"punctuation.brackets.angle.end.wit"}}},"identifier":{"name":"entity.name.type.id.wit","match":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},"interface":{"name":"meta.interface-item.wit","begin":"^\\b(default\\s+)?(interface)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#interface-items"}],"beginCaptures":{"1":{"name":"storage.modifier.default.interface-item.wit"},"2":{"name":"keyword.declaration.interface.interface-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.interface-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"interface-items":{"name":"meta.interface-items.wit","patterns":[{"include":"#typedef-item"},{"include":"#use"},{"include":"#function"}]},"line-comment":{"name":"comment.line.double-slash.wit","match":"\\s*//.*"},"list":{"name":"meta.list.ty.wit","begin":"\\s*\\b(list)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.list.wit","include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.list.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"numeric":{"name":"entity.name.type.numeric.wit","match":"\\s*\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\b"},"operator":{"patterns":[{"name":"punctuation.equal.wit","match":"\\="},{"name":"punctuation.comma.wit","match":"\\,"},{"name":"keyword.operator.key-value.wit","match":"\\:"},{"name":"punctuation.semicolon.wit","match":"\\;"},{"name":"punctuation.brackets.round.begin.wit","match":"\\("},{"name":"punctuation.brackets.round.end.wit","match":"\\)"},{"name":"punctuation.brackets.curly.begin.wit","match":"\\{"},{"name":"punctuation.brackets.curly.end.wit","match":"\\}"},{"name":"punctuation.brackets.angle.begin.wit","match":"\\\u003c"},{"name":"punctuation.brackets.angle.end.wit","match":"\\\u003e"},{"name":"keyword.operator.star.wit","match":"\\*"},{"name":"keyword.operator.arrow.skinny.wit","match":"\\-\\\u003e"}]},"option":{"name":"meta.option.ty.wit","begin":"\\s*\\b(option)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.option.wit","include":"#types"}],"beginCaptures":{"1":{"name":"entity.name.type.option.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"primitive":{"name":"meta.primitive.ty.wit","patterns":[{"include":"#numeric"},{"include":"#boolean"},{"include":"#string"}]},"record":{"name":"meta.record-item.wit","begin":"\\s*\\b(record)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#record-fields"}],"beginCaptures":{"1":{"name":"keyword.declaration.record.record-item.wit"},"2":{"name":"entity.name.type.id.record-item.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"record-fields":{"name":"meta.record-fields.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\:)\\s*","end":"\\s*(\\,)?\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.record-fields.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.declaration.id.record-fields.wit"},"6":{"name":"keyword.operator.key-value.wit"}},"endCaptures":{"1":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"resource":{"name":"meta.resource.wit","begin":"\\s*\\b(resource)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#function"}],"beginCaptures":{"1":{"name":"keyword.other.resource.wit"},"2":{"name":"entity.name.type.id.resource.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"result":{"name":"meta.result.ty.wit","begin":"\\s*\\b(result)\\b(\\\u003c)?\\s*","end":"\\s*(\\\u003e)?\\s*","patterns":[{"include":"#comment"},{"name":"variable.other.inferred-type.result.wit","match":"\\s*(?\u003c!\\w)(\\_)(?!\\w)"},{"name":"meta.types.result.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"entity.name.type.result.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"string":{"name":"entity.name.type.string.wit","match":"\\s*\\b(string|char)\\b"},"tuple":{"name":"meta.tuple.ty.wit","begin":"\\s*\\b(tuple)\\b(\\\u003c)\\s*","end":"\\s*(\\\u003e)\\s*","patterns":[{"include":"#comment"},{"patterns":[{"name":"meta.types.tuple.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}]}],"beginCaptures":{"1":{"name":"entity.name.type.tuple.wit"},"2":{"name":"punctuation.brackets.angle.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.angle.end.wit"}},"applyEndPatternLast":true},"type-definition":{"name":"meta.type-item.wit","begin":"\\s*\\b(type)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\=)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"name":"meta.types.type-item.wit","include":"#types"}],"beginCaptures":{"1":{"name":"keyword.declaration.type.type-item.wit storage.type.wit"},"2":{"name":"entity.name.type.id.type-item.wit"},"7":{"name":"punctuation.equal.wit"}},"applyEndPatternLast":true},"typedef-item":{"name":"meta.typedef-item.wit","patterns":[{"include":"#resource"},{"include":"#variant"},{"include":"#record"},{"include":"#union"},{"include":"#flags"},{"include":"#enum"},{"include":"#type-definition"}]},"types":{"name":"meta.ty.wit","patterns":[{"include":"#primitive"},{"include":"#container"},{"include":"#identifier"}]},"union":{"name":"meta.union-items.wit","begin":"\\s*\\b(union)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"meta.types.union-cases.wit","include":"#types"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"keyword.other.union.union-items.wit"},"2":{"name":"entity.name.type.declaration.id.union-items.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"use":{"name":"meta.use-item.wit","begin":"\\s*\\b(use)\\b\\s+([^\\s]+)(\\.)(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"entity.name.type.declaration.use-names-item.use-item.wit","match":"\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"punctuation.comma.wit","match":"\\s*(\\,)"}],"beginCaptures":{"1":{"name":"keyword.other.use.use-item.wit"},"2":{"patterns":[{"include":"#use-path"}]},"3":{"name":"keyword.operator.namespace-separator.use-item.wit"},"4":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}},"use-path":{"name":"meta.use-path.wit","patterns":[{"name":"variable.language.self.use-path.wit","match":"(?\u003c!\\.)\\b(self|pkg)\\b"},{"name":"entity.name.namespace.id.use-path.wit","match":"\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b"},{"name":"keyword.operator.namespace-separator.use-path.wit","match":"\\."}]},"variant":{"name":"meta.variant.wit","begin":"\\s*\\b(variant)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"include":"#variant-cases"},{"include":"#enum-cases"}],"beginCaptures":{"1":{"name":"keyword.other.variant.wit"},"2":{"name":"entity.name.type.id.variant.wit"},"7":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}},"applyEndPatternLast":true},"variant-cases":{"name":"meta.variant-cases.wit","begin":"\\s*\\b((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\b\\s*(\\()\\s*","end":"\\s*(\\))\\s*(\\,)?\\s*","patterns":[{"name":"meta.types.variant-cases.wit","include":"#types"}],"beginCaptures":{"1":{"name":"variable.other.enummember.id.variant-cases.wit"},"6":{"name":"punctuation.brackets.round.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.round.end.wit"},"2":{"name":"punctuation.comma.wit"}},"applyEndPatternLast":true},"world":{"name":"meta.world-item.wit","begin":"^\\b(default\\s+)?(world)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\{)\\s*","end":"\\s*(\\})\\s*","patterns":[{"include":"#comment"},{"name":"meta.export-item.wit","begin":"\\s*\\b(export)\\b\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)\\s*","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#extern"}],"beginCaptures":{"1":{"name":"keyword.control.export.export-item.wit"},"2":{"name":"variable.other.constant.id.export-item.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},{"name":"meta.import-item.wit","begin":"\\s*\\b(import)\\s+((?\u003c![\\-\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)(([\\-])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\s*(\\:)","end":"\\s*(?\u003c=\\n)","patterns":[{"include":"#extern"}],"beginCaptures":{"1":{"name":"keyword.control.import.import-item.wit"},"2":{"name":"variable.other.id.import-item.wit"},"7":{"name":"keyword.operator.key-value.wit"}},"applyEndPatternLast":true},{"include":"#use"},{"include":"#typedef-item"}],"beginCaptures":{"1":{"name":"storage.modifier.default.world-item.wit"},"2":{"name":"keyword.declaration.world.world-item.wit storage.type.wit"},"3":{"name":"entity.name.type.id.world-item.wit"},"8":{"name":"punctuation.brackets.curly.begin.wit"}},"endCaptures":{"1":{"name":"punctuation.brackets.curly.end.wit"}}}}}
@@ -0,0 +1 @@
1
+ {"scopeName":"source.wwb","patterns":[{"include":"#keywords"},{"include":"#types"},{"include":"source.vba"}],"repository":{"keywords":{"patterns":[{"name":"keyword.control.wwb","match":"((?i)\\b(AndAlso|OrElse|IsNot|Return)\\b)"}]},"types":{"patterns":[{"name":"support.type.builtin.wwb","match":"((?i)\\b(Decimal|Huge_|PortInt|SByte|UHuge_|UInteger|ULong)\\b)"}]}}}
@@ -1 +1 @@
1
- {"name":"YARA","scopeName":"source.yara","patterns":[{"include":"#includes"},{"include":"#imports"},{"include":"#rules"},{"include":"#comments"},{"include":"#unmatched-characters"}],"repository":{"arithmetic-operators":{"name":"keyword.operator.arithmetic.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)([+*\\\\%])(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"arithmetic-unary-operators":{"name":"keyword.operator.arithmetic.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(-)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"array-subscripting":{"name":"punctuation.definition.array.access.yara","match":"(\\[|\\])"},"base64-modifier":{"begin":"\\b(base64)\\s*(\\()(?=\\s*\")","end":"(\\))","patterns":[{"include":"#quoted-strings-64"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.modifier.yara"},"2":{"name":"punctuation.parenthesis.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.yara"}}},"bitwise-operators":{"name":"keyword.operator.bitwise.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)([\u0026|^]|\u003c\u003c|\u003e\u003e)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"bitwise-unary-operators":{"name":"keyword.operator.bitwise.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(~)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"boolean-operators":{"name":"keyword.operator.logical.yara","match":"\\b(not|defined|and|or)\\b"},"booleans":{"name":"constant.language.yara","match":"\\b(false|true)\\b"},"comments":{"name":"meta.comment.yara","patterns":[{"name":"comment.line.double-slash.yara","match":"//.*$"},{"name":"comment.block.yara","begin":"/\\*","end":"\\*/"}]},"condition-expression":{"patterns":[{"include":"#comments"},{"include":"#condition-nested-expression"},{"include":"#boolean-operators"},{"include":"#struct-member-access"},{"include":"#array-subscripting"},{"include":"#relational-operators"},{"include":"#relational-operators-text"},{"include":"#relational-operators-regexp"},{"include":"#arithmetic-unary-operators"},{"include":"#arithmetic-operators"},{"include":"#bitwise-unary-operators"},{"include":"#bitwise-operators"},{"include":"#regexp-strings"},{"include":"#quoted-strings"},{"include":"#numbers"},{"include":"#separator"},{"include":"#range-operator"},{"include":"#string-identifiers"},{"include":"#booleans"},{"name":"constant.numeric.keyword.yara","match":"\\b(all|any|none|filesize)\\b"},{"name":"constant.numeric.keyword.yara invalid.deprecated.keyword.yara","match":"\\b(entrypoint)\\b"},{"name":"variable.language.string.identifier.wildcard.yara","match":"\\b(them)\\b"},{"name":"keyword.other.yara","match":"\\b(at|for|in|of)\\b"},{"name":"support.function.other.yara","match":"\\b((?:u?int)(?:8|16|32)(?:be)?)(?=\\s*(\\(|\n))"},{"name":"variable.language.loop.variable.yara","match":"([!@#$])(?![0-9A-Z_a-z])"},{"name":"variable.language.loop.enter.yara"},{"include":"#identifiers"},{"include":"#unmatched-characters"}]},"condition-nested-expression":{"begin":"(:\\s*)?\\(","end":"\\)","patterns":[{"include":"#condition-expression"}]},"hex-alternate-values":{"begin":"\\(","end":"\\)","patterns":[{"include":"#hex-values"},{"name":"entity.other.special.pipe.hex.yara","match":"\\|"},{"include":"#hex-alternate-values"},{"include":"#unmatched-characters"}]},"hex-jump":{"name":"entity.name.jump.hex.yara","begin":"\\[\\s*(?=([1-9][0-9]*|[0-9]*\\s*-|[0-9]+\\s*-\\s*[0-9]*)\\s*\\])","end":"\\]","patterns":[{"name":"constant.numeric.jump.hex.yara","match":"[0-9]"},{"name":"entity.other.dash.jump.hex.yara","match":"-"},{"include":"#unmatched-characters"}]},"hex-string-value":{"contentName":"entity.name.hex.yara","begin":"\\{","end":"\\}|(?=[^?0-9A-Fa-f\\[\\-\\]()/\\s\\n])(.*)","patterns":[{"include":"#comments"},{"include":"#hex-jump"},{"include":"#hex-values"},{"include":"#hex-alternate-values"},{"include":"#unmatched-characters"}],"endCaptures":{"1":{"name":"invalid.illegal.newline.yara"}}},"hex-values":{"contentName":"string.other.hex.yara","begin":"(?=[0-9?A-Fa-f])","end":"(?=[\\s\\[()}/|])","patterns":[{"name":"invalid.illegal.hex.missingchar.yara","match":"(?\u003c![0-9?A-Fa-f])[0-9?A-Fa-f]([0-9?A-Fa-f]{2})*(?![0-9?A-Fa-f])"},{"name":"string.other.hex.yara","match":"[0-9A-Fa-f]"},{"name":"constant.other.placeholder.hex.yara","match":"\\?"},{"include":"#unmatched-characters"}]},"identifiers":{"name":"variable.other.identifier.yara","patterns":[{"include":"#reserved-identifiers"},{"name":"variable.other.identifier.yara","match":"\\b[A-Z_a-z][0-9A-Z_a-z]{0,127}\\b"},{"include":"#unmatched-characters"}]},"imports":{"name":"keyword.control.directive.yara","begin":"\\b(import)(?=\\s+\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}]},"includes":{"name":"keyword.control.directive.yara","begin":"\\b(include)(?=\\s+\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}]},"integers":{"patterns":[{"name":"constant.numeric.dec.yara","match":"\\b[0-9]+(KB|MB)?\\b","captures":{"1":{"name":"storage.type.number.postfix.yara"}}},{"name":"constant.numeric.hex.yara","match":"\\b(0x)[0-9A-Fa-f]+\\b","captures":{"1":{"name":"storage.modifier.number.yara"}}},{"name":"constant.numeric.oct.yara","match":"\\b(0o)([0-7]+)\\b","captures":{"1":{"name":"storage.type.number.yara"}}}]},"meta-value-bool":{"name":"support.other.meta-name.strings.yara","match":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*(true|false)","captures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"},"3":{"name":"constant.language.yara"}}},"meta-value-int":{"name":"support.other.meta-name.strings.yara","match":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*([0-9]+)(KB|MB)?","captures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"},"3":{"name":"constant.numeric.yara"},"4":{"name":"storage.type.number.postfix.yara"}}},"meta-value-string":{"name":"support.other.meta-name.strings.yara","begin":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*(?=\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}],"beginCaptures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"}}},"numbers":{"patterns":[{"name":"constant.numeric.yara","match":"\\b([0-9]+\\.[0-9]+)\\b"},{"include":"#integers"}]},"quoted-strings":{"name":"string.quoted.double.yara","begin":"(?\u003c!\")(\")(?!\\n)","end":"(\")|((?:\\\\\")?[^\"]*\\n)","patterns":[{"name":"constant.character.escape.yara","match":"\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})"},{"name":"string.quoted.double.ascii.yara","match":"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]"},{"name":"string.quoted.double.unicode.yara","match":"[^\\x00-\\x7F]"},{"name":"invalid.illegal.character.yara","match":"[\"\\\\\\n\\r]"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.yara"},"2":{"name":"invalid.illegal.newline.yara"}}},"quoted-strings-64":{"name":"string.quoted.double.yara","begin":"(\")(?=(\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})|[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]){64}\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.yara","match":"\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})"},{"name":"string.double.quoted.ascii.yara","match":"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.yara"},"2":{"name":"invalid.illegal.character.length.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.yara"},"2":{"name":"invalid.illegal.newline.yara"}}},"range-operator":{"name":"keyword.operator.range.yara","match":"(?\u003c!\\.)\\.\\.(?!\\.)"},"regexp-base-expression":{"patterns":[{"name":"constant.character.class.regexp","match":"\\."},{"name":"constant.character.assertion.regexp","match":"\\^"},{"name":"constant.character.assertion.regexp","match":"\\$"},{"name":"keyword.operator.quantifier.regexp","match":"[+*?]\\??"},{"name":"keyword.operator.disjunction.regexp","match":"\\|"},{"name":"keyword.operator.quantifier.regexp","match":"\\{([0-9]+|[0-9]+,(?:[0-9]+)?|,[0-9]+)\\}","captures":{"1":{"name":"constant.numeric.yara"}}},{"include":"#regexp-escape-sequence"},{"name":"string.regexp.yara","match":"[\\x20!\"#%\u0026',\\-0-9:-\u003e@A-Z\\]_`a-z{}~]"},{"include":"#unmatched-characters"}]},"regexp-character-set":{"patterns":[{"name":"meta.character.set.regexp","begin":"(\\[)(\\^)?(\\])?(-)?","end":"(-?)(\\])|([^\\]]*)(?=\\n)","patterns":[{"include":"#regexp-character-set-escapes"},{"include":"#regexp-escape-sequence"},{"name":"constant.character.set.regexp","match":"[\\x20-\\x2E\\x30-\\x5B\\x5E-\\x7E]"}],"beginCaptures":{"1":{"name":"constant.other.set.regexp punctuation.character.set.begin.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"},"4":{"name":"constant.character.set.regexp"}},"endCaptures":{"1":{"name":"constant.character.set.regexp"},"2":{"name":"constant.other.set.regexp punctuation.character.set.end.regexp"},"3":{"name":"invalid.illegal.newline.yara"}}}]},"regexp-character-set-escapes":{"patterns":[{"name":"constant.character.escape.regexp","match":"\\\\([\\]bB])"},{"match":"(-)(-)(-)","captures":{"1":{"name":"constant.character.set.regexp"},"2":{"name":"constant.character.class.range.regexp"},"3":{"name":"constant.character.set.regexp"}}},{"match":"(-)","captures":{"1":{"name":"constant.character.class.range.regexp"}}}]},"regexp-escape-sequence":{"patterns":[{"name":"constant.character.escape.regexp","match":"\\\\[./afnrt\\\\]"},{"match":"(\\\\x[0-9A-Fa-f]{2})|(\\\\x[^\\]/]{0,2})","captures":{"1":{"name":"constant.character.escape.regexp"},"2":{"name":"invalid.illegal.character.escape.regex"}}},{"name":"constant.character.class.regexp","match":"\\\\([wWsSdD])"},{"name":"constant.character.assertion.regexp","match":"\\\\([bB])"},{"name":"constant.character.escape.regexp","match":"\\\\(.)"}]},"regexp-expression":{"patterns":[{"include":"#regexp-parentheses"},{"include":"#regexp-character-set"},{"include":"#regexp-base-expression"},{"name":"invalid.illegal.regexp.end.yara","match":"/"}]},"regexp-parentheses":{"begin":"(\\()([+*?])?","end":"(\\))|([^)]*)(?=\\n)","patterns":[{"include":"#regexp-expression"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.regexp support.other.parenthesis.regexp"},"2":{"name":"invalid.illegal.group.construct.regexp"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.regexp support.other.parenthesis.regexp"},"2":{"name":"invalid.illegal.newline.yara"}}},"regexp-strings":{"name":"string.regexp.yara","begin":"(?\u003c!/)(/)(?!/|\\n)","end":"(?\u003c!\\\\)(/)(i?s?)|((?:\\\\/)?[^/]*\\n)","patterns":[{"include":"#regexp-expression"}],"beginCaptures":{"1":{"name":"punctuation.definition.regexp.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.end.yara"},"2":{"name":"storage.modifier.flag.regexp"},"3":{"name":"invalid.illegal.newline.yara"}}},"relational-operators":{"name":"keyword.operator.comparison.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(\u003e=?|\u003c=?|==|!=)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"relational-operators-regexp":{"name":"keyword.operator.comparison.yara","match":"\\b(matches)(?=\\s*/)"},"relational-operators-text":{"name":"keyword.operator.comparison.yara","match":"\\b(contains|icontains|startswith|istartswith|endswith|iendswith|iequals)(?=\\s*\")"},"reserved-identifiers":{"name":"invalid.illegal.identifier.yara","match":"\\b(all|and|any|ascii|at|base64|base64wide|condition|contains|endswith|entrypoint|false|filesize|for|fullword|global|import|icontains|iendswith|iequals|in|include|int16|int16be|int32|int32be|int8|int8be|istartswith|matches|meta|nocase|none|not|of|or|private|rule|startswith|strings|them|true|uint16|uint16be|uint32|uint32be|uint8|uint8be|wide|xor|defined)\\b"},"rule-conditions":{"name":"entity.name.section.condition.yara","begin":"\\b(condition)\\s*:","end":"(?=\\})","patterns":[{"include":"#comments"},{"include":"#condition-expression"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.condition.yara"}}},"rule-declaration":{"name":"meta.function.yara","begin":"\\b(rule)\\b","end":"(?=[{:])","patterns":[{"include":"#reserved-identifiers"},{"name":"entity.name.function.yara","match":"\\b[A-Z_a-z][0-9A-Z_a-z]{0,127}\\b"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"storage.type.function.yara"}}},"rule-end":{"name":"punctuation.definition.rule.end.yara","match":"\\}"},"rule-meta":{"begin":"\\b(meta)\\s*:","end":"(?=\\b(strings|condition)\\b)","patterns":[{"include":"#reserved-identifiers"},{"include":"#comments"},{"include":"#meta-value-bool"},{"include":"#meta-value-int"},{"include":"#meta-value-string"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.meta.yara"}}},"rule-restrictions":{"patterns":[{"name":"entity.name.type.restrictions.yara","match":"\\b(global|private)\\b"}]},"rule-start":{"name":"punctuation.definition.rule.start.yara","match":"\\{"},"rule-strings":{"name":"entity.name.section.strings.yara","begin":"\\b(strings)\\s*:","end":"(?=\\b(condition)\\b)","patterns":[{"include":"#reserved-identifiers"},{"include":"#comments"},{"include":"#string-assignment-text"},{"include":"#string-assignment-regex"},{"include":"#string-assignment-hex"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.strings.yara"}}},"rule-tags":{"name":"entity.name.tag.yara","begin":":","end":"(?=\\{)","patterns":[{"include":"#identifiers"}]},"rules":{"patterns":[{"include":"#rule-restrictions"},{"include":"#rule-declaration"},{"include":"#rule-tags"},{"include":"#rule-start"},{"include":"#rule-meta"},{"include":"#rule-strings"},{"include":"#rule-conditions"},{"include":"#comments"},{"include":"#rule-end"}]},"separator":{"name":"punctuation.separator.arguments.yara","match":","},"string-assignment-hex":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#hex-string-value"},{"name":"keyword.other.modifier.yara","match":"\\b(private)\\b"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-assignment-regex":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)(?=\\s*/)","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#regexp-strings"},{"name":"keyword.other.modifier.yara","match":"\\b(nocase|wide|ascii|fullword|private)\\b"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-assignment-text":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)(?=\\s*\")","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#text-strings"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-identifiers":{"name":"variable.other.string_identifier.yara","match":"([!@#$])([0-9A-Z_a-z]+|(?=[*]))([*]?)","captures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"string.interpolated.string.identifier.yara"}}},"struct-member-access":{"name":"meta.struct.access.yara","match":"(?!\u003c\\.\\s*)\\.\\s*(?!\\.)"},"text-strings":{"patterns":[{"include":"#quoted-strings"},{"include":"#xor-modifier"},{"include":"#base64-modifier"},{"name":"keyword.other.modifier.yara","match":"\\b(nocase|wide|ascii|xor|base64|base64wide|fullword|private)\\b(?!\\()"},{"include":"#comments"},{"include":"#unmatched-characters"}]},"unmatched-characters":{"name":"invalid.illegal.character.yara","match":"\\S"},"xor-modifier":{"match":"\\b(xor)\\s*(\\()\\s*(0x[0-9A-Fa-f]{1,2}|0o[0-7]{1,3}|[0-9]{1,3})(?:\\s*(-)\\s*(0x[0-9A-Fa-f]{1,2}|0o[0-7]{1,3}|[0-9]{1,3}))?\\s*(\\))","captures":{"1":{"name":"keyword.other.modifier.yara"},"2":{"name":"punctuation.parenthesis.begin.yara"},"3":{"name":"constant.numeric.yara"},"4":{"name":"constant.character.hyphen.yara"},"5":{"name":"constant.numeric.yara"},"6":{"name":"punctuation.parenthesis.end.yara"}}}}}
1
+ {"name":"YARA","scopeName":"source.yara","patterns":[{"include":"#includes"},{"include":"#imports"},{"include":"#rules"},{"include":"#comments"},{"include":"#unmatched-characters"}],"repository":{"arithmetic-operators":{"name":"keyword.operator.arithmetic.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)([+*\\\\%])(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"arithmetic-unary-operators":{"name":"keyword.operator.arithmetic.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(-)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"array-subscripting":{"name":"punctuation.definition.array.access.yara","match":"(\\[|\\])"},"base64-modifier":{"begin":"\\b(base64)\\s*(\\()(?=\\s*\")","end":"(\\))","patterns":[{"include":"#quoted-strings-64"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.modifier.yara"},"2":{"name":"punctuation.parenthesis.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.yara"}}},"bitwise-operators":{"name":"keyword.operator.bitwise.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)([\u0026|^]|\u003c\u003c|\u003e\u003e)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"bitwise-unary-operators":{"name":"keyword.operator.bitwise.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(~)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"boolean-operators":{"name":"keyword.operator.logical.yara","match":"\\b(not|defined|and|or)\\b"},"booleans":{"name":"constant.language.yara","match":"\\b(false|true)\\b"},"comments":{"name":"meta.comment.yara","patterns":[{"name":"comment.line.double-slash.yara","match":"//.*$"},{"name":"comment.block.yara","begin":"/\\*","end":"\\*/"}]},"condition-expression":{"patterns":[{"include":"#comments"},{"include":"#condition-nested-expression"},{"include":"#boolean-operators"},{"include":"#struct-member-access"},{"include":"#array-subscripting"},{"include":"#relational-operators"},{"include":"#relational-operators-text"},{"include":"#relational-operators-regexp"},{"include":"#arithmetic-unary-operators"},{"include":"#arithmetic-operators"},{"include":"#bitwise-unary-operators"},{"include":"#bitwise-operators"},{"include":"#regexp-strings"},{"include":"#quoted-strings"},{"include":"#numbers"},{"include":"#separator"},{"include":"#range-operator"},{"include":"#string-identifiers"},{"include":"#booleans"},{"name":"constant.numeric.keyword.yara","match":"\\b(all|any|none|filesize)\\b"},{"name":"constant.numeric.keyword.yara invalid.deprecated.keyword.yara","match":"\\b(entrypoint)\\b"},{"name":"variable.language.string.identifier.wildcard.yara","match":"\\b(them)\\b"},{"name":"keyword.other.yara","match":"\\b(at|for|in|of)\\b"},{"name":"support.function.other.yara","match":"\\b((?:u?int)(?:8|16|32)(?:be)?)(?=\\s*(\\(|\n))"},{"name":"variable.language.loop.variable.yara","match":"([!@#$])(?![0-9A-Z_a-z])"},{"name":"variable.language.loop.enter.yara"},{"include":"#identifiers"},{"include":"#unmatched-characters"}]},"condition-nested-expression":{"begin":"(:\\s*)?\\(","end":"\\)","patterns":[{"include":"#condition-expression"}]},"hex-alternate-values":{"begin":"\\(","end":"\\)","patterns":[{"include":"#hex-values"},{"name":"entity.other.special.pipe.hex.yara","match":"\\|"},{"include":"#hex-alternate-values"},{"include":"#unmatched-characters"}]},"hex-jump":{"name":"entity.name.jump.hex.yara","begin":"\\[\\s*(?=([1-9][0-9]*|[0-9]*\\s*-|[0-9]+\\s*-\\s*[0-9]*)\\s*\\])","end":"\\]","patterns":[{"name":"constant.numeric.jump.hex.yara","match":"[0-9]"},{"name":"entity.other.dash.jump.hex.yara","match":"-"},{"include":"#unmatched-characters"}]},"hex-string-value":{"contentName":"entity.name.hex.yara","begin":"\\{","end":"\\}|(?=[^?0-9A-Fa-f\\[\\-\\]()/\\s\\n])(.*)","patterns":[{"include":"#comments"},{"include":"#hex-jump"},{"include":"#hex-values"},{"include":"#hex-alternate-values"},{"include":"#unmatched-characters"}],"endCaptures":{"1":{"name":"invalid.illegal.newline.yara"}}},"hex-values":{"contentName":"string.other.hex.yara","begin":"(?=[0-9?A-Fa-f])","end":"(?=[\\s\\[()}/|])","patterns":[{"name":"invalid.illegal.hex.missingchar.yara","match":"(?\u003c![0-9?A-Fa-f])[0-9?A-Fa-f]([0-9?A-Fa-f]{2})*(?![0-9?A-Fa-f])"},{"name":"string.other.hex.yara","match":"[0-9A-Fa-f]"},{"name":"constant.other.placeholder.hex.yara","match":"\\?"},{"include":"#unmatched-characters"}]},"identifiers":{"name":"variable.other.identifier.yara","patterns":[{"include":"#reserved-identifiers"},{"name":"variable.other.identifier.yara","match":"\\b[A-Z_a-z][0-9A-Z_a-z]{0,127}\\b"},{"include":"#unmatched-characters"}]},"imports":{"name":"keyword.control.directive.yara","begin":"\\b(import)(?=\\s+\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}]},"includes":{"name":"keyword.control.directive.yara","begin":"\\b(include)(?=\\s+\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}]},"integers":{"patterns":[{"name":"constant.numeric.dec.yara","match":"\\b[0-9]+(KB|MB)?\\b","captures":{"1":{"name":"storage.type.number.postfix.yara"}}},{"name":"constant.numeric.hex.yara","match":"\\b0x[0-9A-Fa-f]+\\b"},{"name":"constant.numeric.oct.yara","match":"\\b(0o)([0-7]+)\\b","captures":{"1":{"name":"storage.type.number.yara"}}}]},"meta-value-bool":{"name":"support.other.meta-name.strings.yara","match":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*(true|false)","captures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"},"3":{"name":"constant.language.yara"}}},"meta-value-int":{"name":"support.other.meta-name.strings.yara","match":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*([0-9]+)(KB|MB)?","captures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"},"3":{"name":"constant.numeric.yara"},"4":{"name":"storage.type.number.postfix.yara"}}},"meta-value-string":{"name":"support.other.meta-name.strings.yara","begin":"\\b([A-Z_a-z][0-9A-Z_a-z]{0,127})\\s*(=)\\s*(?=\")","end":"(?\u003c=\")","patterns":[{"include":"#quoted-strings"}],"beginCaptures":{"1":{"name":"entity.other.meta.identifier.yara"},"2":{"name":"keyword.operator.assignment.yara"}}},"numbers":{"patterns":[{"name":"constant.numeric.yara","match":"\\b([0-9]+\\.[0-9]+)\\b"},{"include":"#integers"}]},"quoted-strings":{"name":"string.quoted.double.yara","begin":"(?\u003c!\")(\")(?!\\n)","end":"(\")|((?:\\\\\")?[^\"]*\\n)","patterns":[{"name":"constant.character.escape.yara","match":"\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})"},{"name":"string.quoted.double.ascii.yara","match":"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]"},{"name":"string.quoted.double.unicode.yara","match":"[^\\x00-\\x7F]"},{"name":"invalid.illegal.character.yara","match":"[\"\\\\\\n\\r]"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.yara"},"2":{"name":"invalid.illegal.newline.yara"}}},"quoted-strings-64":{"name":"string.quoted.double.yara","begin":"(\")(?=(\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})|[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]){64}\")","end":"(\")|(\\n)","patterns":[{"name":"constant.character.escape.yara","match":"\\\\([nrt\\\\\"]|x[0-9A-Fa-f]{2})"},{"name":"string.double.quoted.ascii.yara","match":"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.yara"},"2":{"name":"invalid.illegal.character.length.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.yara"},"2":{"name":"invalid.illegal.newline.yara"}}},"range-operator":{"name":"keyword.operator.range.yara","match":"(?\u003c!\\.)\\.\\.(?!\\.)"},"regexp-base-expression":{"patterns":[{"name":"constant.character.class.regexp","match":"\\."},{"name":"constant.character.assertion.regexp","match":"\\^"},{"name":"constant.character.assertion.regexp","match":"\\$"},{"name":"keyword.operator.quantifier.regexp","match":"[+*?]\\??"},{"name":"keyword.operator.disjunction.regexp","match":"\\|"},{"name":"keyword.operator.quantifier.regexp","match":"\\{([0-9]+|[0-9]+,(?:[0-9]+)?|,[0-9]+)\\}","captures":{"1":{"name":"constant.numeric.yara"}}},{"include":"#regexp-escape-sequence"},{"name":"string.regexp.yara","match":"[\\x20!\"#%\u0026',\\-0-9:-\u003e@A-Z\\]_`a-z{}~]"},{"include":"#unmatched-characters"}]},"regexp-character-set":{"patterns":[{"name":"meta.character.set.regexp","begin":"(\\[)(\\^)?(\\])?(-)?","end":"(-?)(\\])|([^\\]]*)(?=\\n)","patterns":[{"include":"#regexp-character-set-escapes"},{"include":"#regexp-escape-sequence"},{"name":"constant.character.set.regexp","match":"[\\x20-\\x2E\\x30-\\x5B\\x5E-\\x7E]"}],"beginCaptures":{"1":{"name":"constant.other.set.regexp punctuation.character.set.begin.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"},"4":{"name":"constant.character.set.regexp"}},"endCaptures":{"1":{"name":"constant.character.set.regexp"},"2":{"name":"constant.other.set.regexp punctuation.character.set.end.regexp"},"3":{"name":"invalid.illegal.newline.yara"}}}]},"regexp-character-set-escapes":{"patterns":[{"name":"constant.character.escape.regexp","match":"\\\\([\\]bB])"},{"match":"(-)(-)(-)","captures":{"1":{"name":"constant.character.set.regexp"},"2":{"name":"constant.character.class.range.regexp"},"3":{"name":"constant.character.set.regexp"}}},{"match":"(-)","captures":{"1":{"name":"constant.character.class.range.regexp"}}}]},"regexp-escape-sequence":{"patterns":[{"name":"constant.character.escape.regexp","match":"\\\\[./afnrt\\\\]"},{"match":"(\\\\x[0-9A-Fa-f]{2})|(\\\\x[^\\]/]{0,2})","captures":{"1":{"name":"constant.character.escape.regexp"},"2":{"name":"invalid.illegal.character.escape.regex"}}},{"name":"constant.character.class.regexp","match":"\\\\([wWsSdD])"},{"name":"constant.character.assertion.regexp","match":"\\\\([bB])"},{"name":"constant.character.escape.regexp","match":"\\\\(.)"}]},"regexp-expression":{"patterns":[{"include":"#regexp-parentheses"},{"include":"#regexp-character-set"},{"include":"#regexp-base-expression"},{"name":"invalid.illegal.regexp.end.yara","match":"/"}]},"regexp-parentheses":{"begin":"(\\()([+*?])?","end":"(\\))|([^)]*)(?=\\n)","patterns":[{"include":"#regexp-expression"}],"beginCaptures":{"1":{"name":"punctuation.parenthesis.begin.regexp support.other.parenthesis.regexp"},"2":{"name":"invalid.illegal.group.construct.regexp"}},"endCaptures":{"1":{"name":"punctuation.parenthesis.end.regexp support.other.parenthesis.regexp"},"2":{"name":"invalid.illegal.newline.yara"}}},"regexp-strings":{"name":"string.regexp.yara","begin":"(?\u003c!/)(/)(?!/|\\n)","end":"(?\u003c!\\\\)(/)(i?s?)|((?:\\\\/)?[^/]*\\n)","patterns":[{"include":"#regexp-expression"}],"beginCaptures":{"1":{"name":"punctuation.definition.regexp.begin.yara"}},"endCaptures":{"1":{"name":"punctuation.definition.regexp.end.yara"},"2":{"name":"storage.modifier.flag.regexp"},"3":{"name":"invalid.illegal.newline.yara"}}},"relational-operators":{"name":"keyword.operator.comparison.yara","match":"(?\u003c=[0-9A-Z_a-z()\\[\\]\\s]|^)(\u003e=?|\u003c=?|==|!=)(?=[-0-9A-Z_a-z()\\s]|[!@#$]|$)"},"relational-operators-regexp":{"name":"keyword.operator.comparison.yara","match":"\\b(matches)(?=\\s*/)"},"relational-operators-text":{"name":"keyword.operator.comparison.yara","match":"\\b(contains|icontains|startswith|istartswith|endswith|iendswith|iequals)(?=\\s*\")"},"reserved-identifiers":{"name":"invalid.illegal.identifier.yara","match":"\\b(all|and|any|ascii|at|base64|base64wide|condition|contains|endswith|entrypoint|false|filesize|for|fullword|global|import|icontains|iendswith|iequals|in|include|int16|int16be|int32|int32be|int8|int8be|istartswith|matches|meta|nocase|none|not|of|or|private|rule|startswith|strings|them|true|uint16|uint16be|uint32|uint32be|uint8|uint8be|wide|xor|defined)\\b"},"rule-conditions":{"name":"entity.name.section.condition.yara","begin":"\\b(condition)\\s*:","end":"(?=\\})","patterns":[{"include":"#comments"},{"include":"#condition-expression"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.condition.yara"}}},"rule-declaration":{"name":"meta.function.yara","begin":"\\b(rule)\\b","end":"(?=[{:])","patterns":[{"include":"#reserved-identifiers"},{"name":"entity.name.function.yara","match":"\\b[A-Z_a-z][0-9A-Z_a-z]{0,127}\\b"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"storage.type.function.yara"}}},"rule-end":{"name":"punctuation.definition.rule.end.yara","match":"\\}"},"rule-meta":{"begin":"\\b(meta)\\s*:","end":"(?=\\b(strings|condition)\\b)","patterns":[{"include":"#reserved-identifiers"},{"include":"#comments"},{"include":"#meta-value-bool"},{"include":"#meta-value-int"},{"include":"#meta-value-string"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.meta.yara"}}},"rule-restrictions":{"patterns":[{"name":"entity.name.type.restrictions.yara","match":"\\b(global|private)\\b"}]},"rule-start":{"name":"punctuation.definition.rule.start.yara","match":"\\{"},"rule-strings":{"name":"entity.name.section.strings.yara","begin":"\\b(strings)\\s*:","end":"(?=\\b(condition)\\b)","patterns":[{"include":"#reserved-identifiers"},{"include":"#comments"},{"include":"#string-assignment-text"},{"include":"#string-assignment-regex"},{"include":"#string-assignment-hex"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"keyword.other.strings.yara"}}},"rule-tags":{"name":"entity.name.tag.yara","begin":":","end":"(?=\\{)","patterns":[{"include":"#identifiers"}]},"rules":{"patterns":[{"include":"#rule-restrictions"},{"include":"#rule-declaration"},{"include":"#rule-tags"},{"include":"#rule-start"},{"include":"#rule-meta"},{"include":"#rule-strings"},{"include":"#rule-conditions"},{"include":"#comments"},{"include":"#rule-end"}]},"separator":{"name":"punctuation.separator.arguments.yara","match":","},"string-assignment-hex":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#hex-string-value"},{"name":"keyword.other.modifier.yara","match":"\\b(private)\\b"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-assignment-regex":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)(?=\\s*/)","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#regexp-strings"},{"name":"keyword.other.modifier.yara","match":"\\b(nocase|wide|ascii|fullword|private)\\b"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-assignment-text":{"name":"support.other.attribute-name.strings.yara","begin":"(\\$)([0-9A-Z_a-z]+\\b)?+\\s*+([^\\n\\s=][^=]*)?(=)(?=\\s*\")","end":"(?=\\b(condition)\\b|\\$)","patterns":[{"include":"#comments"},{"include":"#text-strings"},{"include":"#reserved-identifiers"},{"include":"#unmatched-characters"}],"beginCaptures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"invalid.illegal.string.identifier.yara"},"4":{"name":"keyword.operator.assignment.yara"}}},"string-identifiers":{"name":"variable.other.string_identifier.yara","match":"([!@#$])([0-9A-Z_a-z]+|(?=[*]))([*]?)","captures":{"1":{"name":"variable.language.string.identifier.yara"},"2":{"name":"variable.other.string.identifier.yara"},"3":{"name":"string.interpolated.string.identifier.yara"}}},"struct-member-access":{"name":"meta.struct.access.yara","match":"(?!\u003c\\.\\s*)\\.\\s*(?!\\.)"},"text-strings":{"patterns":[{"include":"#quoted-strings"},{"include":"#xor-modifier"},{"include":"#base64-modifier"},{"name":"keyword.other.modifier.yara","match":"\\b(nocase|wide|ascii|xor|base64|base64wide|fullword|private)\\b(?!\\()"},{"include":"#comments"},{"include":"#unmatched-characters"}]},"unmatched-characters":{"name":"invalid.illegal.character.yara","match":"\\S"},"xor-modifier":{"match":"\\b(xor)\\s*(\\()\\s*(0x[0-9A-Fa-f]{1,2}|0o[0-7]{1,3}|[0-9]{1,3})(?:\\s*(-)\\s*(0x[0-9A-Fa-f]{1,2}|0o[0-7]{1,3}|[0-9]{1,3}))?\\s*(\\))","captures":{"1":{"name":"keyword.other.modifier.yara"},"2":{"name":"punctuation.parenthesis.begin.yara"},"3":{"name":"constant.numeric.yara"},"4":{"name":"constant.character.hyphen.yara"},"5":{"name":"constant.numeric.yara"},"6":{"name":"punctuation.parenthesis.end.yara"}}}}}
@@ -1 +1 @@
1
- {"name":"Adblock","scopeName":"text.adblock","patterns":[{"include":"#adblockAgent"},{"include":"#preprocessor"},{"include":"#comments"},{"include":"#snippetRulesABP"},{"include":"#cssRules"},{"include":"#scriptletRules"},{"include":"#scriptletRulesUBO"},{"include":"#jsRules"},{"include":"#contentRules"},{"include":"#elemhideRules"},{"include":"#basicRulesNoUrl"},{"include":"#basicRulesRegex"},{"include":"#basicRules"}],"repository":{"adblockAgent":{"patterns":[{"match":"^(\\[)([^\\]]+)(\\])\\s*$","captures":{"1":{"name":"punctuation.definition.array.start.ablock.agent"},"2":{"patterns":[{"include":"#adblockData"},{"name":"punctuation.separator","match":";"},{"name":"invalid.illegal","match":".*"}]},"3":{"name":"punctuation.definition.array.end.ablock.agent"}}}]},"adblockData":{"patterns":[{"match":"(?:\\s*)([Aa]d[Bb]lock(?:\\s[Pp]lus)?|u[Bb]lock(?:\\s[Oo]rigin)?|[Aa]d[Gg]uard)(?:\\s+(\\d+(?:\\.\\d+)*+\\+?))?(?:\\s*)","captures":{"1":{"name":"constant.language.agent.adblocker.name"},"2":{"name":"constant.numeric.decimal"}}}]},"appListPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"basicRules":{"patterns":[{"match":"^(.+?)((\\$(?!\\/))(.*))?$","captures":{"1":{"patterns":[{"include":"#urlPattern"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesNoUrl":{"patterns":[{"match":"^(\\$)(.+)$","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesOptions":{"patterns":[{"name":"keyword.other.adblock","match":"replace=((\\/)(((\\\\\\/)|[^,/]|(\\\\,))+?)(\\/)(((\\\\\\/)|[^,/]|(\\\\,))*?)(\\/)([a-z]*))","captures":{"1":{"name":"string.regexp.adblock"}}},{"match":"(domain|denyallow)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"match":"(dnstype)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsTypesPipeSeparated"}]}}},{"match":"(client|ctag)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsClientsPipeSeparated"}]}}},{"name":"keyword.other.adblock","match":"(redirect|redirect-rule|csp|cookie)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(dnsrewrite)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":";"},{"name":"string.unquoted.adblock","match":"[^;]*"}]}}},{"name":"keyword.other.adblock","match":"(removeheader)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":":"},{"name":"string.unquoted.adblock","match":"[^:]*"}]}}},{"name":"keyword.other.adblock","match":"(rewrite)(=)(abp-resource:)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(removeparam|queryprune)(=)(~)?(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(inline-script|inline-font|mp4|empty|badfilter|genericblock|generichide|network|popup|popunder|important|cookie|csp|replace|stealth|removeparam|queryprune)"},{"name":"keyword.other.adblock","match":"(~?)(xhr|first-party|third-party|match-case|elemhide|content|jsinject|urlblock|document|image|stylesheet|script|object-subrequest|object|font|media|subdocument|xmlhttprequest|websocket|other|webrtc|ping|extension|all|1p|3p|css|frame|ghide|ehide|shide|specifichide)"},{"name":"punctuation.definition.adblock","match":","},{"name":"invalid.illegal.redundant.modifier.separator","match":"\\$"}]},"basicRulesRegex":{"patterns":[{"match":"^(\\/[^\\/\\\\]*(?:\\\\.[^\\/\\\\]*)*\\/[dgimsuy]*)(?:(\\$)(.+))?$","captures":{"1":{"patterns":[{"include":"#regularExpression"}]},"2":{"name":"keyword.control.adblock"},"3":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"comments":{"patterns":[{"name":"comment.line","match":"^!.*"},{"name":"comment.line.batch-style","match":"^# .*"},{"name":"comment.line.batch-style","match":"^#$"}]},"contentAttributes":{"patterns":[{"match":"(\\[)([^\"=]+?)(\\=)(\".+?\")(\\])","captures":{"1":{"name":"punctuation.section.adblock"},"2":{"name":"keyword.other.adblock"},"3":{"name":"keyword.operator.adblock"},"4":{"name":"string.quoted.adblock"},"5":{"name":"punctuation.section.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"contentRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(\\$@?\\$)(.+?)(\\[.+)?$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"name":"entity.name.function.adblock"},"5":{"patterns":[{"include":"#contentAttributes"}]}}}]},"cosmeticRulesOptions":{"match":"(\\[)(.+?)(\\])","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"match":"(path)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"match":"(domain)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"name":"keyword.control.adblock","match":"\\$"},{"name":"punctuation.definition.adblock","match":","},{"name":"invalid.illegal.adblock","match":".*"}]},"3":{"name":"keyword.control.adblock"}}},"cssRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?\\$\\??#)(.+)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#cssStyle"}]}}}]},"cssSelector":{"patterns":[{"name":"entity.name.function.adblock","match":".+"}]},"cssStyle":{"patterns":[{"match":"([^{}]+)\\s*((\\{)(.+?)(\\}))","captures":{"1":{"name":"entity.name.function.adblock"},"3":{"name":"punctuation.section.adblock"},"4":{"name":"string.quoted.adblock"},"5":{"name":"punctuation.section.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"dnsClientsPipeSeparated":{"patterns":[{"match":"((~?)([^|]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"dnsTypesPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"domainListCommaSeparated":{"patterns":[{"match":"(~?)([^,]+)(,?)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"string.unquoted.adblock"},"3":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.domain-list","match":".*"}]},"domainListPipeSeparated":{"patterns":[{"match":"(~?)([^|]+)(\\|?)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"string.unquoted.adblock"},"3":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.domain-list","match":".*"}]},"elemhideRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?\\??#\\^?)(.+)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#cssSelector"}]}}}]},"jsFunction":{"patterns":[{"name":"constant.character.jscode.adblock","match":".+"}]},"jsRules":{"patterns":[{"match":"^(.*?)(#@?%#)(.+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"patterns":[{"include":"#jsFunction"}]}}}]},"preprocessor":{"patterns":[{"match":"^(!#if) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"patterns":[{"name":"constant.language.platform.name","match":"(adguard_app_windows|adguard_app_mac|adguard_app_android|adguard_app_ios|adguard_ext_chromium|adguard_ext_firefox|adguard_ext_edge|adguard_ext_safari|adguard_ext_opera|adguard_ext_android_cb|adguard|ext_abp|ext_ublock|env_chromium|env_edge|env_firefox|env_mobile|env_safari|false|cap_html_filtering|cap_user_stylesheet|env_legacy)"},{"name":"keyword.control.characters","match":"(\u0026\u0026|!|\\|\\|| )"},{"name":"keyword.control.characters","match":"(\\(|\\))"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!#include) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"string.unquoted"}}},{"name":"keyword.preprocessor.directive","match":"^!#endif\\s*$"},{"match":"^(!#safari_cb_affinity)(.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"patterns":[{"name":"constant.language.contentblocker.name","match":"(all|general|privacy|social|security|other|custom)"},{"name":"keyword.control.characters","match":"(\\(|\\)|,)"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!\\+) (.*)$","captures":{"1":{"name":"keyword.preprocessor.hint"},"2":{"patterns":[{"name":"keyword.control.hint.name","match":"(NOT_OPTIMIZED|OPTIMIZED|PLATFORM|NOT_PLATFORM)"},{"name":"constant.language.platform.name","match":"(windows|mac|android|ios|ext_chromium|ext_ff|ext_edge|ext_opera|ext_ublock|ext_safari|ext_android_cb)"},{"name":"keyword.control.characters","match":"(\\(|\\)|,)"}]}}},{"name":"invalid.illegal.preprocessor","match":"^!#(?!#).+$"}]},"regularExpression":{"patterns":[{"contentName":"string.regexp","begin":"(/)","end":"((?\u003c!\\\\)/)([dgimsuy]*)?","patterns":[{"name":"keyword.control.regex","match":"(?\u003c!\\\\)([/\\^\\$\\|])"}],"beginCaptures":{"1":{"name":"keyword.other.regex.begin"}},"endCaptures":{"1":{"name":"keyword.other.regex.end"},"2":{"name":"keyword.other.regex"}}}]},"scriptletFunction":{"patterns":[{"match":"((['|\"])(.*?)(?\u003c!\\\\)(\\2))(,\\s*)?","captures":{"1":{"name":"string.quoted.adblock"},"5":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletFunctionUBO":{"patterns":[{"match":"([^,]*)(,\\s*)?","captures":{"1":{"name":"string.quoted.adblock"},"2":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?%#)(\\/\\/scriptlet)(\\()(.+)(\\)\\s*)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"name":"entity.name.function.adblock"},"5":{"name":"punctuation.section.adblock"},"6":{"patterns":[{"include":"#scriptletFunction"}]},"7":{"name":"punctuation.section.adblock"}}}]},"scriptletRulesUBO":{"patterns":[{"match":"^(.*?)(##)(\\+js)(\\()(.+)(\\)\\s*)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"entity.name.function.adblock"},"4":{"name":"punctuation.section.adblock"},"5":{"patterns":[{"include":"#scriptletFunctionUBO"}]},"6":{"name":"punctuation.section.adblock"}}}]},"snippetRulesABP":{"patterns":[{"match":"^(.*?)(#\\$#)([^{]+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"constant.character.snippet.adblock"}}}]},"urlPattern":{"patterns":[{"name":"string.regexp.adblock","match":"^(@@)?(\\/)(.+)\\/$","captures":{"1":{"name":"keyword.other.adblock"}}},{"name":"keyword.other.adblock","match":"^@@\\|?\\|?"},{"name":"keyword.other.adblock","match":"^\\|\\|"},{"name":"keyword.other.adblock","match":"^\\|"},{"name":"keyword.other.adblock","match":"\\|$"},{"name":"keyword.other.adblock","match":"\\^"},{"name":"keyword.other.adblock","match":"\\*"}]}}}
1
+ {"name":"Adblock","scopeName":"text.adblock","patterns":[{"include":"#adblockAgent"},{"include":"#preprocessor"},{"include":"#comments"},{"include":"#snippetRulesABP"},{"include":"#cssRules"},{"include":"#scriptletRules"},{"include":"#scriptletRulesUBO"},{"include":"#jsRules"},{"include":"#contentRules"},{"include":"#elemhideRules"},{"include":"#basicRulesNoUrl"},{"include":"#basicRulesRegex"},{"include":"#basicRules"}],"repository":{"adblockAgent":{"patterns":[{"match":"^(\\[)([^\\]]+)(\\])\\s*$","captures":{"1":{"name":"punctuation.definition.array.start.adblock.agent"},"2":{"patterns":[{"include":"#adblockData"},{"name":"punctuation.separator","match":";"},{"name":"invalid.illegal","match":".*"}]},"3":{"name":"punctuation.definition.array.end.adblock.agent"}}}]},"adblockData":{"patterns":[{"match":"(?x)\n (?:\\s*)\n (\n [Aa]d[Bb]lock(?:\\s[Pp]lus)?\n |u[Bb]lock(?:\\s[Oo]rigin)?\n |[Aa]d[Gg]uard\n )\n (?:\\s+(\\d+(?:\\.\\d+)*+\\+?))?\n (?:\\s*)","captures":{"1":{"name":"constant.language.agent.adblocker.name"},"2":{"name":"constant.numeric.decimal"}}}]},"appListPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"basicRules":{"patterns":[{"match":"^(.+?)((\\$(?!\\/))(.*))?$","captures":{"1":{"patterns":[{"include":"#urlPattern"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesNoUrl":{"patterns":[{"match":"^(\\$)(.+)$","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesOptions":{"patterns":[{"name":"keyword.other.adblock","match":"replace=((\\/)(((\\\\\\/)|[^,/]|(\\\\,))+?)(\\/)(((\\\\\\/)|[^,/]|(\\\\,))*?)(\\/)([a-z]*))","captures":{"1":{"name":"string.regexp.adblock"}}},{"match":"(domain|denyallow|from|to)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"match":"(dnstype)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsTypesPipeSeparated"}]}}},{"match":"(client|ctag)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsClientsPipeSeparated"}]}}},{"name":"keyword.other.adblock","match":"(redirect|redirect-rule|csp|cookie)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(dnsrewrite)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":";"},{"name":"string.unquoted.adblock","match":"[^;]*"}]}}},{"name":"keyword.other.adblock","match":"(removeheader)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":":"},{"name":"string.unquoted.adblock","match":"[^:]*"}]}}},{"name":"keyword.other.adblock","match":"(rewrite)(=)(abp-resource:)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(removeparam|queryprune)(=)(~)?(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"match":"(method)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"string.unquoted.adblock","match":"(?i)(connect|delete|get|head|options|patch|post|put)"},{"name":"keyword.operator.adblock","match":"~|\\|"},{"name":"invalid.illegal.method-value","match":".+"}]}}},{"name":"keyword.other.adblock","match":"(inline-script|inline-font|mp4|empty|badfilter|genericblock|generichide|network|popup|popunder|important|cookie|csp|replace|stealth|removeparam|queryprune)"},{"name":"keyword.other.adblock","match":"(~?)(xhr|first-party|third-party|match-case|elemhide|content|jsinject|urlblock|document|image|stylesheet|script|object-subrequest|object|font|media|subdocument|xmlhttprequest|websocket|other|webrtc|ping|extension|all|1p|3p|css|frame|ghide|ehide|shide|specifichide)"},{"name":"punctuation.definition.adblock","match":","},{"name":"invalid.illegal.redundant.modifier.separator","match":"\\$"}]},"basicRulesRegex":{"patterns":[{"match":"^(\\/[^\\/\\\\]*(?:\\\\.[^\\/\\\\]*)*\\/[dgimsuy]*)(?:(\\$)(.+))?$","captures":{"1":{"patterns":[{"include":"#regularExpression"}]},"2":{"name":"keyword.control.adblock"},"3":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"comments":{"patterns":[{"name":"comment.line","match":"^!.*"},{"name":"comment.line.batch-style","match":"^# .*"},{"name":"comment.line.batch-style","match":"^#$"}]},"contentAttributes":{"patterns":[{"match":"(\\[)([^\"=]+?)(\\=)(\".+?\")(\\])","captures":{"1":{"name":"punctuation.section.adblock"},"2":{"name":"keyword.other.adblock"},"3":{"name":"keyword.operator.adblock"},"4":{"name":"string.quoted.adblock"},"5":{"name":"punctuation.section.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"contentRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(\\$@?\\$)(.+?)(\\[.+)?$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"name":"entity.name.function.adblock"},"5":{"patterns":[{"include":"#contentAttributes"}]}}}]},"cosmeticRulesOptions":{"match":"(\\[)(.+?)(\\])","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"match":"(path)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"match":"(domain)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"name":"keyword.control.adblock","match":"\\$"},{"name":"punctuation.definition.adblock","match":","},{"name":"invalid.illegal.adblock","match":".*"}]},"3":{"name":"keyword.control.adblock"}}},"cssRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?\\$\\??#)(.+)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#cssStyle"}]}}}]},"cssSelector":{"patterns":[{"name":"entity.name.function.adblock","match":".+"}]},"cssStyle":{"patterns":[{"match":"(@media[\\s]+[^\\{]*)(\\{)([\\s]*[^\\{]*)(\\{)([\\s]*[^\\}]*)(\\})[\\s]*(\\})","captures":{"1":{"name":"entity.name.function.adblock"},"2":{"name":"punctuation.section.adblock"},"3":{"name":"entity.name.function.adblock"},"4":{"name":"punctuation.section.adblock"},"5":{"name":"string.quoted.adblock"},"6":{"name":"punctuation.section.adblock"},"7":{"name":"punctuation.section.adblock"}}},{"match":"([^{}]+)\\s*((\\{)(.+?)(\\}))","captures":{"1":{"name":"entity.name.function.adblock"},"3":{"name":"punctuation.section.adblock"},"4":{"name":"string.quoted.adblock"},"5":{"name":"punctuation.section.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"dnsClientsPipeSeparated":{"patterns":[{"match":"((~?)([^|]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"dnsTypesPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"domainListCommaSeparated":{"patterns":[{"match":"(~?)([^,]+)(,?)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"string.unquoted.adblock"},"3":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.domain-list","match":".*"}]},"domainListPipeSeparated":{"patterns":[{"match":"(~?)([^|]+)(\\|?)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"string.unquoted.adblock"},"3":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.domain-list","match":".*"}]},"elemhideRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?\\??#\\^?)(.+)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#cssSelector"}]}}}]},"jsRules":{"patterns":[{"contentName":"source.js","begin":"^(.*?)(#@?%#(?!\\/\\/scriptlet))","end":"$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"}}},{"match":"^(.*?)(#@?%#)(.+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"invalid.illegal"}}}]},"preprocessor":{"patterns":[{"match":"^(!#if) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"patterns":[{"name":"constant.language.platform.name","match":"(?x)\n(\n adguard_app_windows\n |adguard_app_mac\n |adguard_app_android\n |adguard_app_ios\n |adguard_ext_chromium\n |adguard_ext_firefox\n |adguard_ext_edge\n |adguard_ext_safari\n |adguard_ext_opera\n |adguard_ext_android_cb\n |adguard|ext_abp\n |ext_ublock\n |env_chromium\n |env_edge\n |env_firefox\n |env_mobile\n |env_safari\n |false\n |cap_html_filtering\n |cap_user_stylesheet\n |env_legacy\n)"},{"name":"keyword.control.characters","match":"(\u0026\u0026|!|\\|\\|| )"},{"name":"keyword.control.characters","match":"(\\(|\\))"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!#include) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"string.unquoted"}}},{"name":"keyword.preprocessor.directive","match":"^!#endif\\s*$"},{"match":"^(!#safari_cb_affinity)(.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"patterns":[{"name":"constant.language.contentblocker.name","match":"(all|general|privacy|social|security|other|custom)"},{"name":"keyword.control.characters","match":"(\\(|\\)|,)"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!\\+) (.*)$","captures":{"1":{"name":"keyword.preprocessor.hint"},"2":{"patterns":[{"name":"keyword.control.hint.name","match":"(NOT_OPTIMIZED|OPTIMIZED|PLATFORM|NOT_PLATFORM)"},{"name":"constant.language.platform.name","match":"(windows|mac|android|ios|ext_chromium|ext_ff|ext_edge|ext_opera|ext_ublock|ext_safari|ext_android_cb)"},{"name":"keyword.control.characters","match":"(\\(|\\)|,)"}]}}},{"name":"invalid.illegal.preprocessor","match":"^!#(?!#).+$"}]},"regularExpression":{"patterns":[{"contentName":"string.regexp","begin":"(/)","end":"((?\u003c!\\\\)/)([dgimsuy]*)?","patterns":[{"name":"keyword.control.regex","match":"(?\u003c!\\\\)([/\\^\\$\\|])"}],"beginCaptures":{"1":{"name":"keyword.other.regex.begin"}},"endCaptures":{"1":{"name":"keyword.other.regex.end"},"2":{"name":"keyword.other.regex"}}}]},"scriptletFunction":{"patterns":[{"match":"((['|\"])(.*?)(?\u003c!\\\\)(\\2))(,\\s*)?","captures":{"1":{"name":"string.quoted.adblock"},"5":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletFunctionUBO":{"patterns":[{"match":"([^,]*)(,\\s*)?","captures":{"1":{"name":"string.quoted.adblock"},"2":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletRules":{"patterns":[{"match":"^(\\[.+?\\])?(.*?)(#@?%#)(\\/\\/scriptlet)(\\()(.+)(\\)\\s*)$","captures":{"1":{"patterns":[{"include":"#cosmeticRulesOptions"}]},"2":{"patterns":[{"include":"#domainListCommaSeparated"}]},"3":{"name":"keyword.control.adblock"},"4":{"name":"entity.name.function.adblock"},"5":{"name":"punctuation.section.adblock"},"6":{"patterns":[{"include":"#scriptletFunction"}]},"7":{"name":"punctuation.section.adblock"}}}]},"scriptletRulesUBO":{"patterns":[{"match":"^(.*?)(##)(\\+js)(\\()(.+)(\\)\\s*)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"entity.name.function.adblock"},"4":{"name":"punctuation.section.adblock"},"5":{"patterns":[{"include":"#scriptletFunctionUBO"}]},"6":{"name":"punctuation.section.adblock"}}}]},"snippetRulesABP":{"patterns":[{"match":"^(.*?)(#\\$#)([^{]+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"constant.character.snippet.adblock"}}}]},"urlPattern":{"patterns":[{"name":"string.regexp.adblock","match":"^(@@)?(\\/)(.+)\\/$","captures":{"1":{"name":"keyword.other.adblock"}}},{"name":"keyword.other.adblock","match":"^@@\\|?\\|?"},{"name":"keyword.other.adblock","match":"^\\|\\|"},{"name":"keyword.other.adblock","match":"^\\|"},{"name":"keyword.other.adblock","match":"\\|$"},{"name":"keyword.other.adblock","match":"\\^"},{"name":"keyword.other.adblock","match":"\\*"}]}}}
@@ -1 +1 @@
1
- {"name":"Checksums","scopeName":"text.checksums","patterns":[{"include":"#main"}],"repository":{"bsd-style":{"name":"meta.bsd-style.checksum","begin":"(?ix) (?:^|\\G) \\s*\n(?=[-/A-Z0-9]+\\s*\\(.+?\\)\\s*=\\s*(?:[A-F0-9]+|[A-Za-z0-9+/=]{4,})\\s*$)\n(?=\n\t(?:CRC-?32 \\b .+?=\\s* (?:[A-F0-9]{8} | [A-Za-z0-9+/=]{12} )\n\t| MD[245] \\b .+?=\\s* (?:[A-F0-9]{32} | [A-Za-z0-9+/=]{44} )\n\t| MD6 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHA-?[01] \\b .+?=\\s* (?:[A-F0-9]{40} | [A-Za-z0-9+/=]{56} )\n\t| SHA-?224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA-?256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA-?384 \\b .+?=\\s* (?:[A-F0-9]{96} | [A-Za-z0-9+/=]{128} )\n\t| SHA-?512 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHA-?512/224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA-?512/256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA3-?224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA3-?256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA3-?384 \\b .+?=\\s* (?:[A-F0-9]{96} | [A-Za-z0-9+/=]{128} )\n\t| SHA3-?512 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHAKE-?128 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHAKE-?256 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| (?:RMD|RIPEMD-?)128 \\b .+?=\\s* (?:[A-F0-9]{32} | [A-Za-z0-9+/=]{44} )\n\t| (?:RMD|RIPEMD-?)160 \\b .+?=\\s* (?:[A-F0-9]{40} | [A-Za-z0-9+/=]{56} )\n\t| (?:RMD|RIPEMD-?)256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| (?:RMD|RIPEMD-?)320 \\b .+?=\\s* (?:[A-F0-9]{80} | [A-Za-z0-9+/=]{108} )\n\t| SHA-?2 \\b .*? \\b (?:[A-F0-9]{56} | [A-F0-9]{64}|[A-F0-9]{96}|[A-F0-9]{128})\n\t| SHA-?3 \\b .*? \\b [A-F0-9]+\n\t) \\s* $\n) ","end":"\\b([A-Fa-f0-9]+)(?=\\s*$)|(?=$)","patterns":[{"name":"keyword.operator.hash-function.${1:/downcase}.checksum","match":"\\G([-/A-Za-f0-9]+)(?=\\s|\\()"},{"name":"string.quoted.other.filename.checksum","begin":"(\\()","end":"(\\))(?=\\s*=\\s*[A-Fa-f0-9]+\\s*$)|(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.checksum"},"1":{"name":"brackethighlighter.round.checksum"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.checksum"},"1":{"name":"brackethighlighter.round.checksum"}}},{"include":"etc#eql"}],"endCaptures":{"1":{"name":"constant.numeric.integer.int.hexadecimal.hex.checksum"}}},"digest":{"patterns":[{"include":"etc#base64"},{"include":"etc#hexNoSign"},{"name":"invalid.illegal.bad-character.checksum","match":"\\S+"}]},"geo-style":{"name":"meta.geo-style.checksum","match":"(?:^|\\G)\\s*(((?:crypt|digest)[1-9]|plain)(:))(?:(?\u003c=\\d:)([A-Za-z0-9+/=]{4,})|(?\u003c=n:)(\\S+))(?=\\s|$)","captures":{"1":{"name":"keyword.operator.encryption-prefix.${2:/downcase}.checksum"},"3":{"patterns":[{"include":"etc#colon"}]},"4":{"patterns":[{"include":"etc#base64"}]},"5":{"name":"constant.other.password.checksum"}}},"gnu-style":{"name":"meta.gnu-style.checksum","match":"^\\s*(?=\\S{24})([A-Za-z0-9+/]=*|[A-Fa-f0-9]+) (?: |(\\*))(\\S.*)","captures":{"1":{"patterns":[{"include":"#digest"}]},"2":{"name":"storage.modifier.binary-mode.checksum"},"3":{"name":"string.unquoted.other.filename.checksum"}}},"isolated":{"name":"constant.numeric.integer.int.hexadecimal.hex.checksum","match":"(?ix) (?:^|\\G)\n( [A-F0-9]{8} # CRC-32\n| [A-F0-9]{32} # MD2 MD4 MD5 RMD128\n| [A-F0-9]{40} # SHA-1 RMD160\n| [A-F0-9]{56} # SHA-224 SHA-512/224 SHA3-224\n| [A-F0-9]{64} # SHA-256 SHA-512/256 SHA3-256 SHAKE128 RMD256\n| [A-F0-9]{80} # RMD320\n| [A-F0-9]{96} # SHA-384 SHA3-384\n| [A-F0-9]{128} # SHA-512 SHA3-512 SHAKE256 MD6\n) \\s*$"},"main":{"patterns":[{"include":"#bsd-style"},{"include":"#gnu-style"},{"include":"#geo-style"},{"include":"#isolated"}]}}}
1
+ {"name":"Checksums","scopeName":"text.checksums","patterns":[{"include":"#main"}],"repository":{"bsd-style":{"name":"meta.bsd-style.checksum","begin":"(?ix) (?:^|\\G) \\s*\n(?=[-/A-Z0-9]+\\s*\\(.+?\\)\\s*=\\s*(?:[A-F0-9]+|[A-Za-z0-9+/=]{4,})\\s*$)\n(?=\n\t(?:CRC-?32 \\b .+?=\\s* (?:[A-F0-9]{8} | [A-Za-z0-9+/=]{12} )\n\t| MD[245] \\b .+?=\\s* (?:[A-F0-9]{32} | [A-Za-z0-9+/=]{44} )\n\t| MD6 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHA-?[01] \\b .+?=\\s* (?:[A-F0-9]{40} | [A-Za-z0-9+/=]{56} )\n\t| SHA-?224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA-?256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA-?384 \\b .+?=\\s* (?:[A-F0-9]{96} | [A-Za-z0-9+/=]{128} )\n\t| SHA-?512 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHA-?512/224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA-?512/256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA3-?224 \\b .+?=\\s* (?:[A-F0-9]{56} | [A-Za-z0-9+/=]{76} )\n\t| SHA3-?256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHA3-?384 \\b .+?=\\s* (?:[A-F0-9]{96} | [A-Za-z0-9+/=]{128} )\n\t| SHA3-?512 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| SHAKE-?128 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| SHAKE-?256 \\b .+?=\\s* (?:[A-F0-9]{128} | [A-Za-z0-9+/=]{172} )\n\t| (?:RMD|RIPEMD-?)128 \\b .+?=\\s* (?:[A-F0-9]{32} | [A-Za-z0-9+/=]{44} )\n\t| (?:RMD|RIPEMD-?)160 \\b .+?=\\s* (?:[A-F0-9]{40} | [A-Za-z0-9+/=]{56} )\n\t| (?:RMD|RIPEMD-?)256 \\b .+?=\\s* (?:[A-F0-9]{64} | [A-Za-z0-9+/=]{88} )\n\t| (?:RMD|RIPEMD-?)320 \\b .+?=\\s* (?:[A-F0-9]{80} | [A-Za-z0-9+/=]{108} )\n\t| SHA-?2 \\b .*? \\b (?:[A-F0-9]{56} | [A-F0-9]{64}|[A-F0-9]{96}|[A-F0-9]{128})\n\t| SHA-?3 \\b .*? \\b [A-F0-9]+\n\t) \\s* $\n) ","end":"\\b([A-Fa-f0-9]+)(?=\\s*$)|(?=$)","patterns":[{"name":"keyword.operator.hash-function.${1:/downcase}.checksum","match":"\\G([-/A-Za-f0-9]+)(?=\\s|\\()"},{"name":"string.quoted.other.filename.checksum","begin":"(\\()","end":"(\\))(?=\\s*=\\s*[A-Fa-f0-9]+\\s*$)|(?=$)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.checksum"},"1":{"name":"brackethighlighter.round.checksum"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.checksum"},"1":{"name":"brackethighlighter.round.checksum"}}},{"include":"etc#eql"}],"endCaptures":{"1":{"name":"constant.numeric.integer.int.hexadecimal.hex.checksum"}}},"digest":{"patterns":[{"include":"etc#base64"},{"include":"etc#hexNoSign"},{"name":"invalid.illegal.bad-character.checksum","match":"\\S+"}]},"geo-style":{"name":"meta.geo-style.checksum","match":"(?:^|\\G)\\s*(((?:crypt|digest)[1-9]|plain)(:))(?:(?\u003c=\\d:)([A-Za-z0-9+/=]{4,})|(?\u003c=n:)(\\S+))(?=\\s|$)","captures":{"1":{"name":"keyword.operator.encryption-prefix.${2:/downcase}.checksum"},"3":{"patterns":[{"include":"etc#colon"}]},"4":{"patterns":[{"include":"etc#base64"}]},"5":{"name":"constant.other.password.checksum"}}},"gnu-style":{"name":"meta.gnu-style.checksum","match":"^\\s*(?=\\S{24})([A-Za-z0-9+/]=*|[A-Fa-f0-9]+)(?:[ \\t](?: |(\\*)|(\\^))?|(?:\\t* \\t*){3,}+)(\\S.*)","captures":{"1":{"patterns":[{"include":"#digest"}]},"2":{"name":"storage.modifier.binary-mode.checksum"},"3":{"name":"storage.modifier.bitwise-mode.checksum"},"4":{"name":"string.unquoted.other.filename.checksum"}}},"isolated":{"name":"constant.numeric.integer.int.hexadecimal.hex.checksum","match":"(?ix) (?:^|\\G)\n( [A-F0-9]{8} # CRC-32\n| [A-F0-9]{32} # MD2 MD4 MD5 RMD128\n| [A-F0-9]{40} # SHA-1 RMD160\n| [A-F0-9]{56} # SHA-224 SHA-512/224 SHA3-224\n| [A-F0-9]{64} # SHA-256 SHA-512/256 SHA3-256 SHAKE128 RMD256\n| [A-F0-9]{80} # RMD320\n| [A-F0-9]{96} # SHA-384 SHA3-384\n| [A-F0-9]{128} # SHA-512 SHA3-512 SHAKE256 MD6\n) \\s*$"},"main":{"patterns":[{"include":"#bsd-style"},{"include":"#gnu-style"},{"include":"#geo-style"},{"include":"#isolated"}]}}}
@@ -1 +1 @@
1
- {"name":"Ruby Haml","scopeName":"text.haml","patterns":[{"begin":"^\\s*==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}],"captures":{"1":{"name":"string.quoted.double.ruby"}}},{"include":"#continuation"},{"name":"meta.prolog.haml","match":"^(!!!)($|\\s.*)","captures":{"1":{"name":"punctuation.definition.prolog.haml"}}},{"name":"meta.embedded.ruby","match":"(?\u003c=\\#\\{)([^#]+)(?=\\})","captures":{"1":{"patterns":[{}]}}},{"name":"comment.line.slash.haml","match":"^(\\s*)(\\/\\[[^\\]].*?$\\n?)","captures":{"1":{"name":"punctuation.section.comment.haml"}}},{"name":"comment.line.slash.haml","begin":"^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)","end":"^(?!\\1\\s+|$\\n?)","captures":{"2":{"name":"punctuation.section.comment.haml"}}},{"begin":"^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))","end":"$|(?!\\.|#|\\{|\\(|\\[|\u0026amp;|=|-|~|!=|\u0026=|/)","patterns":[{"name":"string.quoted.double.ruby","contentName":"string.quoted.double.ruby","begin":"==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}]},{"name":"entity.name.tag.class.haml","match":"\\.[\\w-]+"},{"name":"entity.name.tag.id.haml","match":"#[\\w-]+"},{"name":"meta.section.attributes.haml","begin":"(?\u003c!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)","end":"\\s*\\}(?!,)","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"name":"meta.section.attributes.haml","begin":"\\(","end":"\\)","patterns":[{"name":"constant.other.symbol.ruby","match":"([\\w-]+)"},{"name":"punctuation","match":"\\="},{"include":"#variables"},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"name":"string.quoted.double.ruby","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"include":"#interpolated_ruby"}]},{"name":"meta.section.object.haml","begin":"\\[(?=.+(,|\\[|\\]|\\||(\\#.*))\\s*)","end":"\\s*\\](?!.*(?!\\#\\[)\\])","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"include":"#rubyline"},{"name":"punctuation.terminator.tag.haml","match":"/"}],"captures":{"1":{"name":"meta.tag.haml"},"2":{"name":"punctuation.definition.tag.haml"},"3":{"name":"entity.name.tag.haml"}}},{"match":"^\\s*(\\.)","captures":{"1":{"name":"meta.escape.haml"}}},{"begin":"^\\s*(?==|-|~|!=|\u0026=)","end":"$","patterns":[{"include":"#rubyline"}]},{"name":"meta.embedded.php","begin":"^(\\s*)(:php)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"text.html.php#language"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby","begin":"^(\\s*)(:ruby)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.markdown","begin":"^(\\s*)(:markdown)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.gfm"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.coffee","begin":"^(\\s*)(:coffee(script)?)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.coffee"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.js","begin":"^(\\s*)(:(javascript|es6))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.js"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.css","begin":"^(\\s*)(:(css|styles?))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby2js","begin":"^(\\s*)(:ruby2js)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.sass","begin":"^(\\s*)(:sass)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.sass"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.scss","begin":"^(\\s*)(:scss)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css.scss"}],"captures":{"2":{"name":"entity.name.tag.haml"}}}],"repository":{"continuation":{"match":"(\\|)\\s*$\\n?","captures":{"1":{"name":"punctuation.separator.continuation.haml"}}},"interpolated_ruby":{"patterns":[{"name":"meta.section.object.haml","begin":"\\#\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"1":{"name":"punctuation.section.embedded.ruby"}}},{"include":"#variables"}]},"nest_curly_and_self":{"patterns":[{"name":"meta.section.object.haml","begin":"\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"0":{"name":"punctuation.section.scope.ruby"}}}]},"rubyline":{"name":"meta.line.ruby.haml","contentName":"source.ruby.embedded.haml","begin":"(\u0026amp|!)?(=|-|~)","end":"((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*)$\\n?","patterns":[{"match":"\\s+((elseif|foreach|switch|declare|default|use))(?=\\s|\\()","captures":{"1":{"name":"keyword.control.php"}}},{"match":"\\s+(require_once|include_once)(?=\\s|\\()","captures":{"1":{"name":"keyword.control.import.include.php"}}},{"name":"keyword.control.exception.php","match":"\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)"},{"match":"\\s+(function\\s*)((?=\\())","captures":{"1":{"name":"storage.type.function.php"}}},{"match":"\\s+(use\\s*)((?=\\())","captures":{"1":{"name":"keyword.control.php"}}},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"include":"source.ruby#interpolated_ruby"},{"include":"source.ruby#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}}},{"name":"source.ruby","match":"(\\||,|\u003c|do|\\{)\\s*(\\#.*)?$\\n?","captures":{"0":{"patterns":[{"include":"#rubyline"}]}}},{"name":"comment.line.number-sign.ruby","match":"#.*$"},{},{"include":"#continuation"}],"endCaptures":{"1":{"name":"source.ruby.embedded.haml"},"2":{"name":"keyword.control.ruby.start-block"}}},"variables":{"patterns":[{"name":"variable.other.readwrite.instance.ruby","match":"(@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.class.ruby","match":"(@@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.global.ruby","match":"(\\$)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}}]}}}
1
+ {"name":"Ruby Haml","scopeName":"text.haml","patterns":[{"begin":"^\\s*==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}],"captures":{"1":{"name":"string.quoted.double.ruby"}}},{"include":"#continuation"},{"name":"meta.prolog.haml","match":"^(!!!)($|\\s.*)","captures":{"1":{"name":"punctuation.definition.prolog.haml"}}},{"name":"meta.embedded.ruby","match":"(?\u003c=\\#\\{)([^#]+)(?=\\})","captures":{"1":{"patterns":[{}]}}},{"name":"comment.line.slash.haml","match":"^(\\s*)(\\/\\[[^\\]].*?$\\n?)","captures":{"1":{"name":"punctuation.section.comment.haml"}}},{"name":"comment.line.slash.haml","begin":"^(\\s*)(\\-\\#|\\/|\\-\\s*\\/\\*+)","end":"^(?!\\1\\s+|$\\n?)","captures":{"2":{"name":"punctuation.section.comment.haml"}}},{"begin":"^\\s*(?:((%)([-\\w:]+))|(?=\\.|#))","end":"$|(?!\\.|#|\\{|\\(|\\[|\u0026amp;|=|-|~|!=|\u0026=|/)","patterns":[{"name":"string.quoted.double.ruby","contentName":"string.quoted.double.ruby","begin":"==","end":"$\\n?","patterns":[{"include":"#interpolated_ruby"}]},{"name":"entity.name.tag.class.haml","match":"\\.[\\w-]+"},{"name":"entity.name.tag.id.haml","match":"#[\\w-]+"},{"name":"meta.section.attributes.haml","begin":"(?\u003c!\\#)\\{(?=.+(,|(do)|\\{|\\}|\\||(\\#.*))\\s*)","end":"\\s*\\}(?!,)","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"name":"meta.section.attributes.haml","begin":"\\(","end":"\\)","patterns":[{"name":"constant.other.symbol.ruby","match":"([\\w-]+)"},{"name":"punctuation","match":"\\="},{"include":"#variables"},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"name":"string.quoted.double.ruby","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.ruby","match":"\\\\(x[0-9A-Fa-f]{2}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)"},{"include":"#interpolated_ruby"}]},{"include":"#interpolated_ruby"}]},{"name":"meta.section.object.haml","begin":"\\[(?=.+(,|\\[|\\]|\\||(\\#.*))\\s*)","end":"\\s*\\](?!.*(?!\\#\\[)\\])","patterns":[{"include":"#continuation"},{},{"include":"#rubyline"}]},{"include":"#rubyline"},{"name":"punctuation.terminator.tag.haml","match":"/"}],"captures":{"1":{"name":"meta.tag.haml"},"2":{"name":"punctuation.definition.tag.haml"},"3":{"name":"entity.name.tag.haml"}}},{"match":"^\\s*(\\.)","captures":{"1":{"name":"meta.escape.haml"}}},{"begin":"^\\s*(?==|-|~|!=|\u0026=)","end":"$","patterns":[{"include":"#rubyline"}]},{"name":"meta.embedded.php","begin":"^(\\s*)(:php)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"text.html.php#language"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby","begin":"^(\\s*)(:ruby)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.markdown","begin":"^(\\s*)(:markdown)$","end":"^(?!\\1\\s+|\\n)","patterns":[{}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.coffee","begin":"^(\\s*)(:coffee(script)?)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.coffee"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.js","begin":"^(\\s*)(:(javascript|es6))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.js"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.css","begin":"^(\\s*)(:(css|styles?))$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.ruby2js","begin":"^(\\s*)(:ruby2js)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.ruby"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.sass","begin":"^(\\s*)(:sass)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.sass"}],"captures":{"2":{"name":"entity.name.tag.haml"}}},{"name":"meta.embedded.scss","begin":"^(\\s*)(:scss)$","end":"^(?!\\1\\s+|\\n)","patterns":[{"include":"source.css.scss"}],"captures":{"2":{"name":"entity.name.tag.haml"}}}],"repository":{"continuation":{"match":"(\\|)\\s*$\\n?","captures":{"1":{"name":"punctuation.separator.continuation.haml"}}},"interpolated_ruby":{"patterns":[{"name":"meta.section.object.haml","begin":"\\#\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"1":{"name":"punctuation.section.embedded.ruby"}}},{"include":"#variables"}]},"nest_curly_and_self":{"patterns":[{"name":"meta.section.object.haml","begin":"\\{","end":"\\}","patterns":[{"include":"#nest_curly_and_self"},{"include":"source.ruby"}],"captures":{"0":{"name":"punctuation.section.scope.ruby"}}}]},"rubyline":{"name":"meta.line.ruby.haml","contentName":"source.ruby.embedded.haml","begin":"(\u0026amp|!)?(=|-|~)","end":"((do|\\{)( \\|[.*]+\\|)?)$|$|^(?!.*\\|\\s*)$\\n?","patterns":[{"match":"\\s+((elseif|foreach|switch|declare|default|use))(?=\\s|\\()","captures":{"1":{"name":"keyword.control.php"}}},{"match":"\\s+(require_once|include_once)(?=\\s|\\()","captures":{"1":{"name":"keyword.control.import.include.php"}}},{"name":"keyword.control.exception.php","match":"\\s+(catch|try|throw|exception|finally|die)(?=\\s|\\(|\\n)"},{"match":"\\s+(function\\s*)((?=\\())","captures":{"1":{"name":"storage.type.function.php"}}},{"match":"\\s+(use\\s*)((?=\\())","captures":{"1":{"name":"keyword.control.php"}}},{"name":"string.quoted.double.ruby","begin":"\"","end":"\"","patterns":[{"include":"source.ruby#interpolated_ruby"},{"include":"source.ruby#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.ruby"}}},{"name":"source.ruby","match":"(\\||,|\u003c|do|\\{)\\s*(\\#.*)?$\\n?","captures":{"0":{"patterns":[{"include":"#rubyline"}]}}},{"name":"comment.line.number-sign.ruby","match":"#.*$"},{},{"include":"#continuation"}],"endCaptures":{"1":{"name":"source.ruby.embedded.haml"},"2":{"name":"keyword.control.ruby.start-block"}}},"variables":{"patterns":[{"name":"variable.other.readwrite.instance.ruby","match":"(@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.class.ruby","match":"(@@)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}},{"name":"variable.other.readwrite.global.ruby","match":"(\\$)[a-zA-Z_]\\w+","captures":{"1":{"name":"punctuation.definition.variable.ruby"}}}]}}}