github-linguist 7.24.0 → 7.25.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/govulncheck.json +1 -0
  3. data/grammars/liquid.injection.json +1 -1
  4. data/grammars/source.abap.json +1 -1
  5. data/grammars/source.abl.json +1 -1
  6. data/grammars/source.arr.json +1 -0
  7. data/grammars/source.astro.json +1 -1
  8. data/grammars/source.ats.json +1 -1
  9. data/grammars/source.basic.json +1 -1
  10. data/grammars/source.brs.json +1 -1
  11. data/grammars/source.cds.json +1 -1
  12. data/grammars/source.chapel.json +1 -1
  13. data/grammars/source.circom.json +1 -0
  14. data/grammars/source.clar.json +1 -1
  15. data/grammars/source.cobol.json +1 -1
  16. data/grammars/source.curlrc.json +1 -1
  17. data/grammars/source.dart.json +1 -1
  18. data/grammars/source.denizenscript.json +1 -1
  19. data/grammars/source.editorconfig.json +1 -1
  20. data/grammars/source.gdscript.json +1 -1
  21. data/grammars/source.generic-config.json +1 -0
  22. data/grammars/source.gitconfig.json +1 -1
  23. data/grammars/source.gleam.json +1 -1
  24. data/grammars/source.graphql.json +1 -1
  25. data/grammars/source.hocon.json +1 -1
  26. data/grammars/source.hosts.json +1 -1
  27. data/grammars/source.j.json +1 -1
  28. data/grammars/source.jflex.json +1 -1
  29. data/grammars/source.kerboscript.json +1 -0
  30. data/grammars/source.kickstart.json +1 -0
  31. data/grammars/source.kotlin.json +1 -1
  32. data/grammars/source.m2.json +1 -1
  33. data/grammars/source.mermaid.flowchart.json +1 -1
  34. data/grammars/source.mermaid.json +1 -1
  35. data/grammars/source.mermaid.mindmap.json +1 -0
  36. data/grammars/source.mo.json +1 -1
  37. data/grammars/source.move.json +1 -1
  38. data/grammars/source.nim.json +1 -1
  39. data/grammars/source.nim_filter.json +1 -1
  40. data/grammars/source.nimcfg.json +1 -1
  41. data/grammars/source.pnlgrp.json +1 -1
  42. data/grammars/source.polar.json +1 -1
  43. data/grammars/source.postscript.json +1 -1
  44. data/grammars/source.prisma.json +1 -1
  45. data/grammars/source.rescript.json +1 -1
  46. data/grammars/source.rpgle.json +1 -1
  47. data/grammars/source.rust.json +1 -1
  48. data/grammars/source.scala.json +1 -1
  49. data/grammars/source.singularity.json +1 -1
  50. data/grammars/source.sqf.json +1 -1
  51. data/grammars/source.stan.json +1 -1
  52. data/grammars/source.svelte.json +1 -1
  53. data/grammars/source.sway.json +1 -0
  54. data/grammars/source.talon.json +1 -1
  55. data/grammars/source.ts.json +1 -1
  56. data/grammars/source.tsql.json +1 -1
  57. data/grammars/source.tsx.json +1 -1
  58. data/grammars/source.turtle.json +1 -1
  59. data/grammars/source.v.json +1 -1
  60. data/grammars/source.yara.json +1 -1
  61. data/grammars/text.adblock.json +1 -1
  62. data/grammars/text.checksums.json +1 -1
  63. data/grammars/text.html.liquid.json +1 -1
  64. data/grammars/text.restructuredtext.json +1 -1
  65. data/grammars/text.sfd.json +1 -1
  66. data/grammars/text.xml.svg.json +1 -1
  67. data/grammars/version +1 -1
  68. data/lib/linguist/VERSION +1 -1
  69. data/lib/linguist/generated.rb +8 -0
  70. data/lib/linguist/generic.yml +1 -0
  71. data/lib/linguist/heuristics.yml +38 -13
  72. data/lib/linguist/languages.json +1 -1
  73. data/lib/linguist/languages.yml +132 -16
  74. data/lib/linguist/samples.json +1 -1
  75. data/lib/linguist/vendor.yml +3 -0
  76. metadata +11 -4
  77. data/grammars/source.nim.comment.json +0 -1
@@ -1 +1 @@
1
- {"name":"Turtle","scopeName":"source.turtle","patterns":[{"include":"#turtleDoc"}],"repository":{"ANON":{"name":"meta.spec.ANON.turtle"},"BLANK_NODE_LABEL":{"name":"meta.spec.BLANK_NODE_LABEL.turtle","captures":{"1":{"name":"keyword.other.BLANK_NODE_LABEL.turtle"},"2":{"name":"variable.other.BLANK_NODE_LABEL.turtle"}}},"BlankNode":{"name":"meta.spec.BlankNode.turtle","patterns":[{"include":"#BLANK_NODE_LABEL"},{"include":"#ANON"}]},"IRIREF":{"name":"entity.name.type.IRIREF.turtle","match":"(?x) (\\\u003c) (?:[^\\x00-\\x20\\\u003c\\\u003e\\\\\\\"\\{\\}\\|\\^`] | (?:\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8}))* (\\\u003e)","captures":{"1":{"name":"punctuation.definition.entity.begin.turtle"},"2":{"name":"punctuation.definition.entity.end.turtle"}}},"PNAME_LN":{"name":"meta.spec.PNAME_LN.turtle","captures":{"PNAME_NS":{"name":"variable.other.PNAME_NS.turtle"},"PN_LOCAL":{"name":"support.variable.PN_LOCAL.turtle"}}},"PNAME_NS":{"name":"variable.other.PNAME_NS.turtle"},"PN_LOCAL":{"name":"support.variable.PN_LOCAL.turtle"},"PrefixedName":{"name":"meta.spec.PrefixedName.turtle","patterns":[{"include":"#PNAME_LN"},{"include":"#PNAME_NS"}]},"blankNodePropertyList":{"name":"meta.spec.blankNodePropertyList.turtle","begin":"\\b(\\[)\\b","end":"\\b(\\])(?=\\b|\\s|[.;,])","patterns":[{"name":"punctuation.terminator.stmt.turtle","match":"((?\u003c=\\s)[.;,](?=\\b))"},{"include":"#literal"},{"include":"#blankNodePropertyList"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"(?\u003c=[ ])(a)(?=[ ])"}],"captures":{"1":{"name":"punctuation.terminator.blankNodePropertyList.turtle"}}},"collection":{"name":"meta.spec.collection.turtle","begin":"(\\b\\(\\b)","end":"(\\b\\)\\b)","patterns":[{"include":"#literal"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"(?\u003c=[ ])(a)(?=[ ])"},{"include":"#blankNodePropertyList"}],"captures":{"1":{"name":"punctuation.terminator.collection.turtle"}}},"directive":{"name":"meta.spec.directive.turtle","begin":"(?i)(^(?=@prefix|@base|PREFIX|BASE))","end":"($)","patterns":[{"name":"meta.spec.prefixID.turtle","begin":"^(@prefix)(?=\\s)","end":"(\\.?)$","patterns":[{"include":"#IRIREF"},{"include":"#PNAME_NS"}],"beginCaptures":{"1":{"name":"keyword.other.directive.prefix.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.directive.turtle"}}},{"name":"meta.spec.base.turtle","begin":"^(@base)","end":"(\\.?)$","patterns":[{"include":"#IRIREF"}],"beginCaptures":{"1":{"name":"keyword.other.directive.base.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.directive.turtle"}}},{"name":"meta.spec.sparqlPrefix.turtle","begin":"^(?i)(PREFIX)(?=\\b)","end":"$","patterns":[{"include":"#IRIREF"},{"include":"#PNAME_NS"}],"beginCaptures":{"1":{"name":"keyword.other.directive.sparqlPrefix.turtle"}}},{"name":"meta.spec.sparqlBase.turtle","begin":"^(?i)(BASE)(?=\\b)","end":"$","patterns":[{"include":"#IRIREF"}],"beginCaptures":{"1":{"name":"keyword.other.directive.sparqlBase.turtle"}}}]},"iri":{"name":"meta.spec.iri.turtle","patterns":[{"include":"#IRIREF"},{"include":"#PrefixedName"}]},"literal":{"name":"meta.spec.literal.turtle","patterns":[{"name":"constant.numeric.turtle","match":"(?x)\n\t\t\t\t\t\t(?\u003c=\\s)[+-]?\t\t\t\t\t\t\n\t\t\t\t\t\t( (?: \\d+?\\.?\\d*[eE][+-]?\\d+) | \\d*\\.\\d+ | \\d+)\n\t\t\t\t\t\t(?=[ ]*[,.;]?)\n\t\t\t\t\t"},{"name":"constant.language.boolean.turtle","match":"(?\u003c=\\s)(true|false)(?=[ ]*[,.;]?)"},{"name":"meta.spec.RDFLiteral.turtle","patterns":[{"include":"#literal_triple"},{"include":"#literal_double"},{"include":"#literal_single"}]}]},"literal_double":{"name":"string.quoted.double.turtle","match":"(?x)\n\t\t\t\t(\")[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*(\")\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t","captures":{"1":{"name":"punctuation.definition.string.begin.turtle"},"2":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"literal_single":{"name":"string.quoted.single.turtle","match":"(?x)\n\t\t\t\t(')[^'\\\\]*(?:\\.[^'\\\\]*)*(')\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t","captures":{"1":{"name":"punctuation.definition.string.begin.turtle"},"2":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"literal_triple":{"name":"string.quoted.triple.turtle","begin":"(['\"]{3})","end":"(?x)\n\t\t\t\t(\\1)\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t\t(?=[ ]*[.;,]?)\n\t\t\t","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.turtle"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"sparqlClausedKeywords":{"begin":"(?x)(\n\t\t\t\t(?# Special case because FILTER can have clauses what makes the lexer dizzy)\n\t\t\t\tFILTER\n\t\t\t)\\s*(\\((?=\\s*))","end":"\\s*(\\))","patterns":[{"include":"#sparqlVars"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"}],"beginCaptures":{"1":{"name":"keyword.control.sparql.turtle"},"2":{"name":"punctuation.terminator.sparqlKeyword.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.sparqlKeyword.turtle"}}},"sparqlFilterFns":{"begin":"(?x)(\n\t\t\t\t(?# Special case because FILTER can have clauses what makes the lexer dizzy)\n\t\t\t\tFILTER|\n\t\t\t\t(?# Builtin callables )\n\t\t\t\tSTR|LANG|LANGMATCHES|DATATYPE|BOUND|IRI|URI|BNODE|RAND|ABS|CEIL|FLOOR|ROUND|CONCAT|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|NOW|UUID|STRUUID|MD5|SHA1|SHA256|SHA384|SHA512|COALESCE|IF|STRLANG|STRDT|sameTerm|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC|COUNT|SUM|MIN|MAX|AVG|SAMPLE|GROUP_CONCAT|\n\t\t\t\tBOUND|COALESCE|NOT EXISTS|EXISTS|REGEX|SUBSTR|REPLACE\n\t\t\t)\\s*(\\((?=\\s*))","end":"\\s*(\\))","patterns":[{"include":"#sparqlVars"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"}],"beginCaptures":{"1":{"name":"support.function.sparql.turtle"},"2":{"name":"punctuation.terminator.sparqlFunc.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.sparqlFunc.turtle"}}},"sparqlKeywords":{"name":"keyword.control.sparql.turtle","match":"(?x)(\n\t\t\t\t\t(?# SPARQL )\n\t\t\t\t\tSELECT|ASK|CONSTRUCT|DESCRIBE|FROM|NAMED|WHERE|GRAPH|AS|\n\t\t\t\t\tUNION|FILTER|HAVING|VALUES|\n\t\t\t\t\tOPTIONAL|SERVICE|\t\t\t \n\t\t\t\t\t(?# SPARUL )\n\t\t\t\t\tSILENT|DATA|\t\t\t\t\t\n\t\t\t\t\tADD|MOVE|COPY|\n\t\t\t\t\tINSERT|DELETE|\n\t\t\t\t\tLOAD|INTO|\n\t\t\t\t\tGRAPH|ALL|DEFAULT|\t\t\t\t\t\n\t\t\t\t\tCLEAR|CREATE|DROP|\n\t\t\t\t\tWITH|USING|\n\t\t\t\t\t(?# Solution sequence modifiers )\n\t\t\t\t\tDISTINCT|REDUCED|\n\t\t\t\t\tORDER|ASC|DESC|OFFSET|LIMITED|REDUCED|\n\t\t\t\t\tGROUP|BY|LIMIT\t\t\t\t\t\n\t\t\t\t)"},"sparqlLangConsts":{"name":"constant.language.sparql.turtle","match":"(true|false)"},"sparqlVars":{"name":"constant.variable.sparql.turtle","match":"(\\?\\w+|\\*)"},"triples":{"name":"meta.spec.triples.turtle","begin":"(?i)^(?!@|\\#|PREFIX|BASE)","end":"([.;,]?)$","patterns":[{"name":"comment.line.number-sign.turtle","match":"(#.+$)","captures":{"1":{"name":"punctuation.definition.comment.turtle"}}},{"name":"punctuation.terminator.stmt.turtle","match":"[.;,](?=\\s|\\b)"},{"include":"#literal"},{"include":"#sparqlVars"},{"include":"#sparqlClausedKeywords"},{"include":"#sparqlKeywords"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"},{"include":"#blankNodePropertyList"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"\\b(a)(?=[ ])"}],"beginCaptures":{"1":{"name":"meta.spec.triples.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.triple.turtle"}}},"turtleDoc":{"name":"meta.spec.turtleDoc.turtle","begin":"^","end":"\\z","patterns":[{"name":"comment.line.number-sign.turtle","match":"^(#).+$","captures":{"1":{"name":"punctuation.definition.comment.turtle"}}},{"include":"#directive"},{"include":"#sparqlClausedKeywords"},{"include":"#sparqlKeywords"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"},{"include":"#sparqlVars"},{"include":"#triples"}]}}}
1
+ {"name":"Turtle","scopeName":"source.turtle","patterns":[{"include":"#turtleDoc"}],"repository":{"ANON":{"name":"meta.spec.ANON.turtle"},"BLANK_NODE_LABEL":{"name":"meta.spec.BLANK_NODE_LABEL.turtle","captures":{"1":{"name":"keyword.other.BLANK_NODE_LABEL.turtle"},"2":{"name":"variable.other.BLANK_NODE_LABEL.turtle"}}},"BlankNode":{"name":"meta.spec.BlankNode.turtle","patterns":[{"include":"#BLANK_NODE_LABEL"},{"include":"#ANON"}]},"IRIREF":{"name":"entity.name.type.IRIREF.turtle","match":"(?x) (\\\u003c) (?:[^\\x00-\\x20\\\u003c\\\u003e\\\\\\\"\\{\\}\\|\\^`] | (?:\\\\u[0-9A-Fa-f]{4}|\\\\U[0-9A-Fa-f]{8}))* (\\\u003e)","captures":{"1":{"name":"punctuation.definition.entity.begin.turtle"},"2":{"name":"punctuation.definition.entity.end.turtle"}}},"PNAME_LN":{"name":"meta.spec.PNAME_LN.turtle","captures":{"PNAME_NS":{"name":"variable.other.PNAME_NS.turtle"},"PN_LOCAL":{"name":"support.variable.PN_LOCAL.turtle"}}},"PNAME_NS":{"name":"variable.other.PNAME_NS.turtle"},"PN_LOCAL":{"name":"support.variable.PN_LOCAL.turtle"},"PrefixedName":{"name":"meta.spec.PrefixedName.turtle","patterns":[{"include":"#PNAME_LN"},{"include":"#PNAME_NS"}]},"blankNodePropertyList":{"name":"meta.spec.blankNodePropertyList.turtle","begin":"\\b(\\[)\\b","end":"\\b(\\])(?=\\b|\\s|[.;,])","patterns":[{"name":"punctuation.terminator.stmt.turtle","match":"((?\u003c=\\s)[.;,](?=\\b))"},{"include":"#literal"},{"include":"#blankNodePropertyList"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"(?\u003c=[ ])(a)(?=[ ])"}],"captures":{"1":{"name":"punctuation.terminator.blankNodePropertyList.turtle"}}},"collection":{"name":"meta.spec.collection.turtle","begin":"(\\b\\(\\b)","end":"(\\b\\)\\b)","patterns":[{"include":"#literal"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"(?\u003c=[ ])(a)(?=[ ])"},{"include":"#blankNodePropertyList"}],"captures":{"1":{"name":"punctuation.terminator.collection.turtle"}}},"directive":{"name":"meta.spec.directive.turtle","begin":"(?i)(^(?=@prefix|@base|PREFIX|BASE))","end":"($)","patterns":[{"name":"meta.spec.prefixID.turtle","begin":"^(@prefix)(?=\\s)","end":"(\\.?)$","patterns":[{"include":"#IRIREF"},{"include":"#PNAME_NS"}],"beginCaptures":{"1":{"name":"keyword.other.directive.prefix.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.directive.turtle"}}},{"name":"meta.spec.base.turtle","begin":"^(@base)","end":"(\\.?)$","patterns":[{"include":"#IRIREF"}],"beginCaptures":{"1":{"name":"keyword.other.directive.base.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.directive.turtle"}}},{"name":"meta.spec.sparqlPrefix.turtle","begin":"^(?i)(PREFIX)(?=\\b)","end":"$","patterns":[{"include":"#IRIREF"},{"include":"#PNAME_NS"}],"beginCaptures":{"1":{"name":"keyword.other.directive.sparqlPrefix.turtle"}}},{"name":"meta.spec.sparqlBase.turtle","begin":"^(?i)(BASE)(?=\\b)","end":"$","patterns":[{"include":"#IRIREF"}],"beginCaptures":{"1":{"name":"keyword.other.directive.sparqlBase.turtle"}}}]},"iri":{"name":"meta.spec.iri.turtle","patterns":[{"include":"#IRIREF"},{"include":"#PrefixedName"}]},"literal":{"name":"meta.spec.literal.turtle","patterns":[{"name":"constant.numeric.turtle","match":"(?x)\n\t\t\t\t\t\t(?\u003c=\\s)[+-]?\n\t\t\t\t\t\t( (?: \\d+?\\.?\\d*[eE][+-]?\\d+) | \\d*\\.\\d+ | \\d+)\n\t\t\t\t\t\t(?=[ ]*[,.;]?)\n\t\t\t\t\t"},{"name":"constant.language.boolean.turtle","match":"(?\u003c=\\s)(true|false)(?=[ ]*[,.;]?)"},{"name":"meta.spec.RDFLiteral.turtle","patterns":[{"include":"#literal_triple"},{"include":"#literal_double"},{"include":"#literal_single"}]}]},"literal_double":{"name":"string.quoted.double.turtle","match":"(?x)\n\t\t\t\t(\")[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*(\")\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t","captures":{"1":{"name":"punctuation.definition.string.begin.turtle"},"2":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"literal_single":{"name":"string.quoted.single.turtle","match":"(?x)\n\t\t\t\t(')[^'\\\\]*(?:\\.[^'\\\\]*)*(')\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t","captures":{"1":{"name":"punctuation.definition.string.begin.turtle"},"2":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"literal_triple":{"name":"string.quoted.triple.turtle","begin":"(['\"]{3})","end":"(?x)\n\t\t\t\t(\\1)\n\t\t\t\t(?\u003clang\u003e@(?:[a-z]{2}(?:-[a-z0-9]{2})*)?)?\n\t\t\t\t(?\u003cdt\u003e\\^\\^\\w*:\\w*|\\\u003c[^\\\u003e]+\\\u003e)?\n\t\t\t\t(?=[ ]*[.;,]?)\n\t\t\t","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.turtle"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.turtle"},"dt":{"name":"storage.type.datatype.turtle"},"lang":{"name":"constant.language.language_tag.turtle"}}},"sparqlClausedKeywords":{"begin":"(?x)(\n\t\t\t\t(?# Special case because FILTER can have clauses what makes the lexer dizzy)\n\t\t\t\tFILTER\n\t\t\t)\\s*(\\((?=\\s*))","end":"\\s*(\\))","patterns":[{"include":"#sparqlVars"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"}],"beginCaptures":{"1":{"name":"keyword.control.sparql.turtle"},"2":{"name":"punctuation.terminator.sparqlKeyword.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.sparqlKeyword.turtle"}}},"sparqlFilterFns":{"begin":"(?x)(\n\t\t\t\t(?# Special case because FILTER can have clauses what makes the lexer dizzy)\n\t\t\t\tFILTER|\n\t\t\t\t(?# Builtin callables )\n\t\t\t\tSTR|LANG|LANGMATCHES|DATATYPE|BOUND|IRI|URI|BNODE|RAND|ABS|CEIL|FLOOR|ROUND|CONCAT|STRLEN|UCASE|LCASE|ENCODE_FOR_URI|CONTAINS|STRSTARTS|STRENDS|STRBEFORE|STRAFTER|YEAR|MONTH|DAY|HOURS|MINUTES|SECONDS|TIMEZONE|TZ|NOW|UUID|STRUUID|MD5|SHA1|SHA256|SHA384|SHA512|COALESCE|IF|STRLANG|STRDT|sameTerm|isIRI|isURI|isBLANK|isLITERAL|isNUMERIC|COUNT|SUM|MIN|MAX|AVG|SAMPLE|GROUP_CONCAT|\n\t\t\t\tBOUND|COALESCE|NOT EXISTS|EXISTS|REGEX|SUBSTR|REPLACE\n\t\t\t)\\s*(\\((?=\\s*))","end":"\\s*(\\))","patterns":[{"include":"#sparqlVars"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"}],"beginCaptures":{"1":{"name":"support.function.sparql.turtle"},"2":{"name":"punctuation.terminator.sparqlFunc.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.sparqlFunc.turtle"}}},"sparqlKeywords":{"name":"keyword.control.sparql.turtle","match":"(?x)(\n\t\t\t\t\t(?# SPARQL )\n\t\t\t\t\tSELECT|ASK|CONSTRUCT|DESCRIBE|FROM|NAMED|WHERE|GRAPH|AS|\n\t\t\t\t\tUNION|FILTER|HAVING|VALUES|\n\t\t\t\t\tOPTIONAL|SERVICE|\n\t\t\t\t\t(?# SPARUL )\n\t\t\t\t\tSILENT|DATA|\n\t\t\t\t\tADD|MOVE|COPY|\n\t\t\t\t\tINSERT|DELETE|\n\t\t\t\t\tLOAD|INTO|\n\t\t\t\t\tGRAPH|ALL|DEFAULT|\n\t\t\t\t\tCLEAR|CREATE|DROP|\n\t\t\t\t\tWITH|USING|\n\t\t\t\t\t(?# Solution sequence modifiers )\n\t\t\t\t\tDISTINCT|REDUCED|\n\t\t\t\t\tORDER|ASC|DESC|OFFSET|LIMITED|REDUCED|\n\t\t\t\t\tGROUP|BY|LIMIT\n\t\t\t\t)"},"sparqlLangConsts":{"name":"constant.language.sparql.turtle","match":"(true|false)"},"sparqlVars":{"name":"constant.variable.sparql.turtle","match":"(\\?\\w+|\\*)"},"triples":{"name":"meta.spec.triples.turtle","begin":"(?i)^(?!@|\\#|PREFIX|BASE)","end":"([.;,]?)$","patterns":[{"name":"comment.line.number-sign.turtle","match":"(#.+$)","captures":{"1":{"name":"punctuation.definition.comment.turtle"}}},{"name":"punctuation.terminator.stmt.turtle","match":"[.;,](?=\\s|\\b)"},{"include":"#literal"},{"include":"#sparqlVars"},{"include":"#sparqlClausedKeywords"},{"include":"#sparqlKeywords"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"},{"include":"#blankNodePropertyList"},{"include":"#iri"},{"include":"#BlankNode"},{"include":"#collection"},{"name":"keyword.other.typeOf.turtle","match":"\\b(a)(?=[ ])"}],"beginCaptures":{"1":{"name":"meta.spec.triples.turtle"}},"endCaptures":{"1":{"name":"punctuation.terminator.triple.turtle"}}},"turtleDoc":{"name":"meta.spec.turtleDoc.turtle","begin":"^","end":"\\z","patterns":[{"name":"comment.line.number-sign.turtle","match":"^(#).+$","captures":{"1":{"name":"punctuation.definition.comment.turtle"}}},{"include":"#directive"},{"include":"#sparqlClausedKeywords"},{"include":"#sparqlKeywords"},{"include":"#sparqlFilterFns"},{"include":"#sparqlLangConsts"},{"include":"#sparqlVars"},{"include":"#triples"}]}}}
@@ -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"}]}}}}}
@@ -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.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|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"}]}}}]},"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 +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":"Liquid HTML","scopeName":"text.html.liquid","patterns":[{"include":"#core"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"comment_inline":{"name":"comment.line.number-sign.liquid","begin":"{%-?\\s*#","end":"-?%}"},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#comment_inline"},{"include":"#style_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#comment_inline"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}},"injections":{"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted":{"patterns":[{"include":"#injection"}]}}}
1
+ {"name":"Liquid HTML","scopeName":"text.html.liquid","patterns":[{"include":"#core"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#style_codefence"},{"include":"#stylesheet_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"stylesheet_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(stylesheet)\\s*(-?%})","end":"({%-?)\\s*(endstylesheet)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_comment_inline"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_block_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b","patterns":[{"include":"#tag_comment_block_liquid"},{"match":"(?:^\\s*)(?!(comment|endcomment)).*"}]},"tag_comment_inline":{"name":"comment.line.number-sign.liquid","begin":"#","end":"(?=%})"},"tag_comment_inline_liquid":{"name":"comment.line.number-sign.liquid","begin":"(?:^\\s*)#.*","end":"$"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_block_liquid"},{"include":"#tag_comment_inline_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}},"injections":{"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted":{"patterns":[{"include":"#injection"}]}}}