github-linguist 7.30.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/grammars/inline.edgeql.json +1 -1
  3. data/grammars/inline.peggy.json +1 -0
  4. data/grammars/markdown.move.codeblock.json +1 -1
  5. data/grammars/mdx.move.codeblock.json +1 -0
  6. data/grammars/source.abl.json +1 -1
  7. data/grammars/source.bicep.json +1 -1
  8. data/grammars/source.cairo.json +1 -1
  9. data/grammars/source.cairo0.json +1 -0
  10. data/grammars/source.cl.json +1 -1
  11. data/grammars/source.clar.json +1 -1
  12. data/grammars/source.clarion.json +1 -1
  13. data/grammars/source.cmd.json +1 -1
  14. data/grammars/source.commonlisp.json +1 -1
  15. data/grammars/source.cs.json +1 -1
  16. data/grammars/source.curlrc.json +1 -1
  17. data/grammars/source.curry.json +1 -1
  18. data/grammars/source.cylc.json +1 -0
  19. data/grammars/source.dart.json +1 -1
  20. data/grammars/source.dds.dspf.json +1 -1
  21. data/grammars/source.dds.icff.json +1 -1
  22. data/grammars/source.dds.lf.json +1 -1
  23. data/grammars/source.dds.pf.json +1 -1
  24. data/grammars/source.dds.prtf.json +1 -1
  25. data/grammars/source.dune.json +1 -0
  26. data/grammars/source.elvish.json +1 -1
  27. data/grammars/source.fsharp.json +1 -1
  28. data/grammars/source.gdscript.json +1 -1
  29. data/grammars/source.gitconfig.json +1 -1
  30. data/grammars/source.gleam.json +1 -1
  31. data/grammars/source.hgignore.json +1 -1
  32. data/grammars/source.hosts.json +1 -1
  33. data/grammars/source.iCalendar.json +1 -0
  34. data/grammars/source.ice.json +1 -1
  35. data/grammars/source.julia.json +1 -1
  36. data/grammars/source.just.json +1 -1
  37. data/grammars/source.lcb.json +1 -0
  38. data/grammars/source.lilypond.json +1 -1
  39. data/grammars/source.livecodescript.json +1 -0
  40. data/grammars/source.luau.json +1 -1
  41. data/grammars/source.matlab.json +1 -1
  42. data/grammars/source.mcfunction.json +1 -1
  43. data/grammars/source.mdx.json +1 -1
  44. data/grammars/source.mo.json +1 -1
  45. data/grammars/source.move.json +1 -1
  46. data/grammars/source.nanorc.json +1 -1
  47. data/grammars/source.nr.json +1 -0
  48. data/grammars/source.p4.json +1 -1
  49. data/grammars/source.peggy.json +1 -0
  50. data/grammars/source.polar.json +1 -1
  51. data/grammars/source.powerbuilder.json +1 -0
  52. data/grammars/source.qsharp.json +1 -1
  53. data/grammars/source.rpgle.json +1 -1
  54. data/grammars/source.rust.json +1 -1
  55. data/grammars/source.sentinel.json +1 -1
  56. data/grammars/source.sourcepawn.json +1 -1
  57. data/grammars/source.stan.json +1 -1
  58. data/grammars/source.swift.json +1 -1
  59. data/grammars/source.sy.json +1 -1
  60. data/grammars/source.vba.json +1 -1
  61. data/grammars/source.vcard.json +1 -0
  62. data/grammars/source.wdl.json +1 -1
  63. data/grammars/text.adblock.json +1 -1
  64. data/grammars/text.html.jte.json +1 -0
  65. data/grammars/text.html.statamic.json +1 -1
  66. data/grammars/text.md.json +1 -1
  67. data/grammars/text.mdx.astro.codeblock.json +1 -0
  68. data/grammars/version +1 -1
  69. data/lib/linguist/VERSION +1 -1
  70. data/lib/linguist/classifier.rb +315 -106
  71. data/lib/linguist/generated.rb +17 -4
  72. data/lib/linguist/generic.yml +1 -0
  73. data/lib/linguist/heuristics.rb +6 -6
  74. data/lib/linguist/heuristics.yml +54 -4
  75. data/lib/linguist/languages.json +1 -1
  76. data/lib/linguist/languages.yml +123 -7
  77. data/lib/linguist/samples.json +1 -1
  78. data/lib/linguist/samples.rb +9 -1
  79. data/lib/linguist/sha256.rb +1 -1
  80. metadata +17 -5
  81. data/grammars/markdown.mcfunction.codeblock.json +0 -1
  82. data/grammars/mdx.LANGUAGE.codeblock.json +0 -1
@@ -1 +1 @@
1
- {"name":"SyON","scopeName":"source.sy","patterns":[{"include":"#blockInnards"}],"repository":{"array":{"name":"meta.array.sy","begin":"\\[","end":"\\]","patterns":[{"include":"#main"},{"name":"string.unquoted.sy","match":"(?:[^,\\[\\]{}\u003c\u003e\"'`\\s:]|:(?=\\S))+"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.bracket.square.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.square.sy"}}},"block":{"patterns":[{"name":"meta.block.tagged.sy","begin":"((?:[^{}\\[\\]:\\s,]|[:#](?=\\S))(?:[^:{}]|:(?=\\S)|\\\\[{:])*?)({)","end":"}","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"1":{"name":"entity.name.block.tag.label.sy"},"2":{"name":"punctuation.section.scope.block.begin.bracket.curly.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.curly.sy"}}},{"name":"meta.block.sy","begin":"{","end":"}","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.block.begin.bracket.curly.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.curly.sy"}}}]},"blockInnards":{"patterns":[{"include":"#fieldQuotedEarly"},{"include":"#main"},{"match":"((?:[^{}\\[\\]:\\s,]|[:#](?=\\S))(?:[^:{}]|:(?=\\S)|\\\\[{:])*?)","captures":{"1":{"name":"entity.name.tag.property.sy"}}}]},"boolean":{"patterns":[{"name":"constant.language.boolean.true.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:true|yes|on|TRUE|YES|ON)\n(?=$|[\\s\\]},])"},{"name":"constant.language.boolean.false.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:false|no|off|TRUE|YES|ON)\n(?=$|[\\s\\]},])"}]},"brackets":{"name":"meta.expression.sy","begin":"\\(","end":"\\)","patterns":[{"include":"#operator"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.block.begin.bracket.round.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.round.sy"}}},"byteArray":{"patterns":[{"name":"meta.byte-array.base64.sy","begin":"(\u003c)(base64)(:)","end":"(\u003e)\\s*([^:,}\\]]+)","patterns":[{"name":"constant.character.encoded.base64.sy","match":"[A-Za-z0-9+/=]+"},{"include":"#comment"},{"name":"invalid.illegal.character.sy","match":"[^\\s\u003e]+"}],"beginCaptures":{"1":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"},"2":{"name":"storage.modifier.encoding.base64.sy"},"3":{"name":"punctuation.separator.key-value.sy"}},"endCaptures":{"1":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"},"2":{"name":"invalid.illegal.characters.sy"}}},{"name":"meta.byte-array.base85.sy","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"constant.character.encoded.base85.sy","match":"[!-uz]+"},{"name":"invalid.illegal.character.sy","match":"[^!-uz\\s~]"}],"beginCaptures":{"0":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"}},"endCaptures":{"0":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"}}},{"name":"meta.byte-array.sy","begin":"\u003c","end":"(\u003e)\\s*([^:,}\\]]+)","patterns":[{"name":"constant.numeric.integer.int.hexadecimal.hex.sy","match":"[A-Fa-f0-9]+"},{"include":"#comment"},{"name":"invalid.illegal.character.sy","match":"[^\\s\u003e]+"}],"beginCaptures":{"0":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"}},"endCaptures":{"1":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"},"2":{"name":"invalid.illegal.characters.sy"}}}]},"comma":{"name":"punctuation.separator.delimiter.comma.sy","match":","},"comment":{"patterns":[{"name":"comment.block.sy","begin":"(?:\\G|^|(?\u003c=\\s|\\xC2\\xAD|\\xAD))(#{3,})(?=\\s|$)","end":"\\1","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.sy"}}},{"name":"comment.line.number-sign.sy","begin":"(?:\\G|^|(?\u003c=\\s|\\xC2\\xAD|\\xAD))#(?=\\s|$)","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.sy"}}}]},"date":{"name":"constant.other.date.sy","match":"(?x)\n# Date\n[0-9]{4} - # Year\n[0-9]{2} - # Month\n[0-9]{2} # Day\n\n# Time\n(?:\n\t(?:T|\\s+)\n\t[0-9]{1,2} : # Hours\n\t[0-9]{1,2} : # Minutes\n\t[0-9]{1,2} # Seconds\n\t(?:\\.[0-9]+)? # Milliseconds\n\t(\\+[0-9]{4}|Z)? # Timezone\n)?\n\n# Followed by delimiter, EOL, or comment\n(?= \\s* (?:$|[,\\]}])\n| \\s+ \\#(?:$|\\s)\n)"},"escape":{"patterns":[{"name":"constant.character.escape.newline.sy","begin":"\\\\$\\s*","end":"^","beginCaptures":{"0":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)x[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)u[A-Fa-f0-9]{4}","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)u({)[A-Fa-f0-9]+(})","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"},"2":{"name":"punctuation.definition.unicode-escape.begin.bracket.curly.sy"},"3":{"name":"punctuation.definition.unicode-escape.end.bracket.curly.sy"}}},{"name":"invalid.illegal.unicode-escape.sy","match":"\\\\u{[^}\"]*}"},{"name":"invalid.illegal.unicode-escape.sy","match":"\\\\u(?![A-Fa-f0-9]{4})[^\"]*"},{"name":"constant.character.escape.sy","match":"(\\\\).","captures":{"0":{"name":"punctuation.backslash.definition.escape.sy"}}}]},"escapeVerbatim":{"name":"constant.character.escape.backtick.sy","match":"``"},"expression":{"name":"meta.expression.sy","match":"(?x)\n\\G\n(\n\t(?:\\s*\\()*\n\t\\s*\n\t~? [-+]? ~?\n\t\\d\n\t[-+*/%~^\u0026|\\(\\)eE\\s.oOxXbB\\d]*\n)\n(?=\n\t\\s*\n\t(?: $\n\t| ,\n\t| \\]\n\t| \\}\n\t| (?\u003c=\\s)\\#(?=\\s|$)\n\t)\n)","captures":{"1":{"patterns":[{"include":"#brackets"},{"include":"#number"},{"include":"#operator"}]}}},"field":{"name":"meta.field.sy","begin":"(?x)\n(?:\n\t# Quoted property name\n\t(?\u003c=[:{\\[]) \\s*\n\t(?: (\"(?:[^\"\\\\]|\\\\.)*\")\n\t| ('(?:[^'\\\\]|\\\\.)*')\n\t| (`(?:[^`]|``)*+`(?!`))\n\t) \\s* (:)\n\t\n\t|\n\t\n\t# Unquoted property name\n\t([^{}\\[\\]\u003c\u003e\\s][^,]*?)\n\t(?\u003c!\\\\) (:)\n\t\n\t|\n\t\n\t# Presumably one following a multiline string\n\t(?\u003c=[\"'`]) \\s* (:)\n)\n(?=\\s|$)\n\\s*","end":"(?=\\s*})|^(?!\\G)","patterns":[{"include":"#fieldInnards"}],"beginCaptures":{"1":{"name":"entity.name.tag.property.quoted.double.sy","patterns":[{"include":"#escape"}]},"2":{"name":"entity.name.tag.property.quoted.single.sy","patterns":[{"include":"#escape"}]},"3":{"name":"entity.name.tag.property.quoted.backtick.sy","patterns":[{"include":"#escapeVerbatim"}]},"4":{"name":"punctuation.separator.key-value.sy"},"5":{"name":"entity.name.tag.property.sy","patterns":[{"include":"#escape"}]},"6":{"name":"punctuation.separator.key-value.sy"},"7":{"name":"punctuation.separator.key-value.sy"}}},"fieldInnards":{"patterns":[{"include":"#date"},{"include":"#expression"},{"include":"#main"},{"name":"string.unquoted.sy","match":"(?x) \\G\n(?! ~?[-+]?[0-9]\n| (?\u003c=\\s)\\#(?=\\s|$)\n)\n[^\\s{}\\[\\]\u003c:\"'`]\n\n(?: [^\\#,}\\]:]\n| (?\u003c=\\S) [\\#:]\n| [:\\#] (?=\\S)\n)*\n(?!\n\t\\s*\n\t(?:[\\{:])\n)","captures":{"0":{"patterns":[{"include":"#url"}]}}}]},"fieldQuotedEarly":{"name":"meta.field.sy","begin":"(?x) (?:\\G|^) \\s*\n(?: (\"(?:[^\"\\\\]|\\\\.)*\")\n| ('(?:[^'\\\\]|\\\\.)*')\n| (`(?:[^`]|``)*+`(?!`))\n) \\s* (:)\n(?=\\s|$)\n\\s*","end":"(?=\\s*})|^(?!\\G)","patterns":[{"include":"#fieldInnards"}],"beginCaptures":{"1":{"name":"entity.name.tag.property.quoted.double.sy","patterns":[{"include":"#escape"}]},"2":{"name":"entity.name.tag.property.quoted.single.sy","patterns":[{"include":"#escape"}]},"3":{"name":"entity.name.tag.property.quoted.backtick.sy","patterns":[{"include":"#escapeVerbatim"}]},"4":{"name":"punctuation.separator.key-value.sy"}}},"heredoc":{"patterns":[{"include":"#heredocDouble"},{"include":"#heredocSingle"},{"include":"#heredocVerbatim"}]},"heredocDouble":{"patterns":[{"name":"string.quoted.double.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(\"{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.double.heredoc.sy","begin":"(\"{3,})","end":"\\1","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"heredocSingle":{"patterns":[{"name":"string.quoted.single.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+('{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.single.heredoc.sy","begin":"('{3,})","end":"\\1","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"heredocVerbatim":{"patterns":[{"name":"string.quoted.verbatim.backtick.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(`{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.verbatim.backtick.heredoc.sy","begin":"(`{3,})","end":"\\1","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"injection":{"begin":"\\A(?:\\xC2\\xAD|\\xAD){2}","end":"(?=A)B","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"0":{"patterns":[{"include":"#signature"}]}}},"main":{"patterns":[{"include":"#signature"},{"include":"#comment"},{"include":"#regexp"},{"include":"#fieldQuotedEarly"},{"include":"#heredoc"},{"include":"#string"},{"include":"#stringJunk"},{"include":"#block"},{"include":"#field"},{"include":"#array"},{"include":"#byteArray"},{"include":"#brackets"},{"include":"#boolean"},{"include":"#null"},{"include":"#date"},{"include":"#number"},{"include":"#comma"},{"include":"#operator"}]},"null":{"name":"constant.language.null.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:null|NULL)\n(?=$|[\\s\\]},])"},"number":{"match":"(?x)\n(?:^|(?\u003c=[\\s\\[\\({,~])|\\G)\n(?: ([-+]?0[xX][A-Fa-f0-9_]+) # Hexadecimal\n| ([-+]?0[oO][0-7_]+) # Octal\n| ([-+]?0[bB][0-1_]+) # Binary\n| ([-+]?[0-9_]+\\.(?:[0-9_]*[eE][+-]?[0-9_]+|[0-9_]+)) # Float\n| ([-+]?[0-9_]+(?:[eE][+-]?[0-9_]+)?) # Integer\n)\n\\s*\n(?= $\n| [-+*/%^\u0026|\\)\u003c\u003e\\s\\]},]\n| (?\u003c=\\s)\\#(?=\\s|$)\n)","captures":{"1":{"name":"constant.numeric.integer.int.hexadecimal.hex.sy"},"2":{"name":"constant.numeric.integer.int.octal.oct.sy"},"3":{"name":"constant.numeric.integer.int.binary.bin.sy"},"4":{"name":"constant.numeric.float.decimal.dec.sy"},"5":{"name":"constant.numeric.integer.int.decimal.dec.sy"}}},"operator":{"patterns":[{"name":"keyword.operator.arithmetic.sy","match":"\\*\\*|[-+*/%]"},{"name":"keyword.operator.bitwise.sy","match":"(\u003c\u003c|\u003e\u003e|\u003e\u003e\u003e|[~\u0026|^])"}]},"regexp":{"patterns":[{"name":"string.regexp.multiline.sy","begin":"(?:([-\\w]+)[ \\t]+)?(/{3,})","end":"(\\2)([A-Za-z]*)","patterns":[{"include":"source.regexp#main"}],"beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"patterns":[{"name":"punctuation.definition.string.begin.triple-slash.sy","match":"(?:\\G|^)/{3}$"},{"name":"punctuation.definition.string.begin.sy","match":".+"}]}},"endCaptures":{"1":{"patterns":[{"name":"punctuation.definition.string.end.triple-slash.sy","match":"(?:\\G|^)/{3}$"},{"name":"punctuation.definition.string.end.sy","match":".+"}]},"2":{"patterns":[{"include":"source.regexp#scopedModifiers"}]}}},{"name":"string.regexp.sy","begin":"(?:([-\\w]+)[ \\t]+)?(/)","end":"(/)([A-Za-z]*)","patterns":[{"include":"source.regexp#main"}],"beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sy"},"2":{"patterns":[{"include":"source.regexp#scopedModifiers"}]}}}]},"signature":{"name":"punctuation.whitespace.shy-hyphens.signature.sy","match":"^(?:\\xC2\\xAD|\\xAD){2,}"},"string":{"patterns":[{"include":"#stringDouble"},{"include":"#stringSingle"},{"include":"#stringVerbatim"}]},"stringDouble":{"patterns":[{"name":"string.quoted.double.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(\")","end":"\"","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.double.sy","begin":"\"","end":"\"","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"stringInnards":{"patterns":[{"include":"#url"},{"include":"#escape"}]},"stringJunk":{"name":"invalid.illegal.syntax.sy","begin":"(?\u003c=[\"'`])(?!\\s*$)(?=\\s*[^:,}\\]])","end":"(?=[:,}\\]])"},"stringSingle":{"patterns":[{"name":"string.quoted.single.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(')","end":"'","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.single.sy","begin":"'","end":"'","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"stringVerbatim":{"patterns":[{"name":"string.quoted.verbatim.backtick.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(`)","end":"`","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.verbatim.backtick.sy","begin":"`","end":"`(?!`)","patterns":[{"include":"#escapeVerbatim"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"url":{"patterns":[{"name":"constant.other.reference.link.underline.sy","match":"(?x) \\b\n# Protocol\n( https?\n| s?ftp\n| ftps\n| file\n| wss?\n| smb\n| git (?:\\+https?)\n| ssh\n| rsync\n| afp\n| nfs\n| (?:x-)?man(?:-page)?\n| gopher\n| txmt\n| issue\n| atom\n) ://\n\n# Path specifier\n(?:\n\t(?! \\#\\w*\\#)\n\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n)+\n\n# Don't include trailing punctuation\n(?\u003c![-.,?:\\#;])"},{"name":"markup.underline.link.mailto.sy","match":"(?x) \\b\nmailto: (?:\n\t(?! \\#\\w*\\#)\n\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n)+\n(?\u003c![-.,?:\\#;])"}]}}}
1
+ {"name":"SyON","scopeName":"source.sy","patterns":[{"include":"#blockInnards"}],"repository":{"array":{"name":"meta.array.sy","begin":"\\[","end":"\\]","patterns":[{"include":"#main"},{"name":"string.unquoted.sy","match":"(?:[^,\\[\\]{}\u003c\u003e\"'`\\s:]|:(?=\\S))+"}],"beginCaptures":{"0":{"name":"punctuation.definition.array.begin.bracket.square.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.square.sy"}}},"block":{"patterns":[{"name":"meta.block.tagged.sy","begin":"((?:[^{}\\[\\]:\\s,]|[:#](?=\\S))(?:[^:{}]|:(?=\\S)|\\\\[{:])*?)({)","end":"}","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"1":{"name":"entity.name.block.tag.label.sy"},"2":{"name":"punctuation.section.scope.block.begin.bracket.curly.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.curly.sy"}}},{"name":"meta.block.sy","begin":"{","end":"}","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.block.begin.bracket.curly.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.curly.sy"}}}]},"blockInnards":{"patterns":[{"include":"#fieldQuotedEarly"},{"include":"#main"},{"match":"((?:[^{}\\[\\]:\\s,]|[:#](?=\\S))(?:[^:{}]|:(?=\\S)|\\\\[{:])*?)","captures":{"1":{"name":"entity.name.tag.property.sy"}}}]},"boolean":{"patterns":[{"name":"constant.language.boolean.true.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:true|yes|on|TRUE|YES|ON)\n(?=$|[\\s\\]},])"},{"name":"constant.language.boolean.false.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:false|no|off|TRUE|YES|ON)\n(?=$|[\\s\\]},])"}]},"brackets":{"name":"meta.expression.sy","begin":"\\(","end":"\\)","patterns":[{"include":"#operator"},{"include":"#main"}],"beginCaptures":{"0":{"name":"punctuation.section.scope.block.begin.bracket.round.sy"}},"endCaptures":{"0":{"name":"punctuation.section.scope.block.end.bracket.round.sy"}}},"byteArray":{"patterns":[{"name":"meta.byte-array.base64.sy","begin":"(\u003c)(base64)(:)","end":"(\u003e)\\s*([^:,}\\]]+)","patterns":[{"name":"constant.character.encoded.base64.sy","match":"[A-Za-z0-9+/=]+"},{"include":"#comment"},{"name":"invalid.illegal.character.sy","match":"[^\\s\u003e]+"}],"beginCaptures":{"1":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"},"2":{"name":"storage.modifier.encoding.base64.sy"},"3":{"name":"punctuation.separator.key-value.sy"}},"endCaptures":{"1":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"},"2":{"name":"invalid.illegal.characters.sy"}}},{"name":"meta.byte-array.base85.sy","begin":"\u003c~","end":"~\u003e","patterns":[{"name":"constant.character.encoded.base85.sy","match":"[!-uz]+"},{"name":"invalid.illegal.character.sy","match":"[^!-uz\\s~]"}],"beginCaptures":{"0":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"}},"endCaptures":{"0":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"}}},{"name":"meta.byte-array.sy","begin":"\u003c","end":"(\u003e)\\s*([^:,}\\]]+)","patterns":[{"name":"constant.numeric.integer.int.hexadecimal.hex.sy","match":"[A-Fa-f0-9]+"},{"include":"#comment"},{"name":"invalid.illegal.character.sy","match":"[^\\s\u003e]+"}],"beginCaptures":{"0":{"name":"punctuation.section.byte-array.begin.bracket.angle.sy"}},"endCaptures":{"1":{"name":"punctuation.section.byte-array.end.bracket.angle.sy"},"2":{"name":"invalid.illegal.characters.sy"}}}]},"comma":{"name":"punctuation.separator.delimiter.comma.sy","match":","},"comment":{"patterns":[{"name":"comment.block.sy","begin":"(?:\\G|^|(?\u003c=\\s|\\xC2\\xAD|\\xAD))(#{3,})(?=\\s|$)","end":"\\1","beginCaptures":{"1":{"name":"punctuation.definition.comment.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.sy"}}},{"name":"comment.line.number-sign.sy","begin":"(?:\\G|^|(?\u003c=\\s|\\xC2\\xAD|\\xAD))#(?=\\s|$)","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.sy"}}}]},"date":{"name":"constant.other.date.sy","match":"(?x)\n# Date\n[0-9]{4} - # Year\n[0-9]{2} - # Month\n[0-9]{2} # Day\n\n# Time\n(?:\n\t(?:T|\\s+)\n\t[0-9]{1,2} : # Hours\n\t[0-9]{1,2} : # Minutes\n\t[0-9]{1,2} # Seconds\n\t(?:\\.[0-9]+)? # Milliseconds\n\t(\\+[0-9]{4}|Z)? # Timezone\n)?\n\n# Followed by delimiter, EOL, or comment\n(?= \\s* (?:$|[,\\]}])\n| \\s+ \\#(?:$|\\s)\n)"},"escape":{"patterns":[{"name":"constant.character.escape.newline.sy","begin":"\\\\$\\s*","end":"^","beginCaptures":{"0":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)x[A-Fa-f0-9]{2}","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)u[A-Fa-f0-9]{4}","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"}}},{"name":"constant.character.escape.unicode.sy","match":"(\\\\)u({)[A-Fa-f0-9]+(})","captures":{"1":{"name":"punctuation.backslash.definition.escape.sy"},"2":{"name":"punctuation.definition.unicode-escape.begin.bracket.curly.sy"},"3":{"name":"punctuation.definition.unicode-escape.end.bracket.curly.sy"}}},{"name":"invalid.illegal.unicode-escape.sy","match":"\\\\u{[^}\"]*}"},{"name":"invalid.illegal.unicode-escape.sy","match":"\\\\u(?![A-Fa-f0-9]{4})[^\"]*"},{"name":"constant.character.escape.sy","match":"(\\\\).","captures":{"0":{"name":"punctuation.backslash.definition.escape.sy"}}}]},"escapeVerbatim":{"name":"constant.character.escape.backtick.sy","match":"``"},"expression":{"name":"meta.expression.sy","match":"(?x)\n\\G\n(\n\t(?:\\s*\\()*\n\t\\s*\n\t~? [-+]? ~?\n\t\\d\n\t[-+*/%~^\u0026|\\(\\)eE\\s.oOxXbB\\d]*\n)\n(?=\n\t\\s*\n\t(?: $\n\t| ,\n\t| \\]\n\t| \\}\n\t| (?\u003c=\\s)\\#(?=\\s|$)\n\t)\n)","captures":{"1":{"patterns":[{"include":"#brackets"},{"include":"#number"},{"include":"#operator"}]}}},"field":{"name":"meta.field.sy","begin":"(?x)\n(?:\n\t# Quoted property name\n\t(?\u003c=[:{\\[]) \\s*\n\t(?: (\"(?:[^\"\\\\]|\\\\.)*\")\n\t| ('(?:[^'\\\\]|\\\\.)*')\n\t| (`(?:[^`]|``)*+`(?!`))\n\t) \\s* (:)\n\t\n\t|\n\t\n\t# Unquoted property name\n\t([^{}\\[\\]\u003c\u003e\\s][^,]*?)\n\t(?\u003c!\\\\) (:)\n\t\n\t|\n\t\n\t# Presumably one following a multiline string\n\t(?\u003c=[\"'`]) \\s* (:)\n)\n(?=\\s|$)\n\\s*","end":"(?=\\s*})|^(?!\\G)","patterns":[{"include":"#fieldInnards"}],"beginCaptures":{"1":{"name":"entity.name.tag.property.quoted.double.sy","patterns":[{"include":"#escape"}]},"2":{"name":"entity.name.tag.property.quoted.single.sy","patterns":[{"include":"#escape"}]},"3":{"name":"entity.name.tag.property.quoted.backtick.sy","patterns":[{"include":"#escapeVerbatim"}]},"4":{"name":"punctuation.separator.key-value.sy"},"5":{"name":"entity.name.tag.property.sy","patterns":[{"include":"#escape"}]},"6":{"name":"punctuation.separator.key-value.sy"},"7":{"name":"punctuation.separator.key-value.sy"}}},"fieldInnards":{"patterns":[{"include":"#date"},{"include":"#expression"},{"include":"#main"},{"name":"string.unquoted.sy","match":"(?x) \\G\n(?! ~?[-+]?[0-9]\n| (?\u003c=\\s)\\#(?=\\s|$)\n)\n[^\\s{}\\[\\]\u003c:\"'`]\n\n(?: [^\\#,}\\]:]\n| (?\u003c=\\S) [\\#:]\n| [:\\#] (?=\\S)\n)*\n(?!\n\t\\s*\n\t(?:[\\{:])\n)","captures":{"0":{"patterns":[{"include":"#url"}]}}}]},"fieldQuotedEarly":{"name":"meta.field.sy","begin":"(?x) (?:\\G|^) \\s*\n(?: (\"(?:[^\"\\\\]|\\\\.)*\")\n| ('(?:[^'\\\\]|\\\\.)*')\n| (`(?:[^`]|``)*+`(?!`))\n) \\s* (:)\n(?=\\s|$)\n\\s*","end":"(?=\\s*})|^(?!\\G)","patterns":[{"include":"#fieldInnards"}],"beginCaptures":{"1":{"name":"entity.name.tag.property.quoted.double.sy","patterns":[{"include":"#escape"}]},"2":{"name":"entity.name.tag.property.quoted.single.sy","patterns":[{"include":"#escape"}]},"3":{"name":"entity.name.tag.property.quoted.backtick.sy","patterns":[{"include":"#escapeVerbatim"}]},"4":{"name":"punctuation.separator.key-value.sy"}}},"heredoc":{"patterns":[{"include":"#heredocDouble"},{"include":"#heredocSingle"},{"include":"#heredocVerbatim"}]},"heredocDouble":{"patterns":[{"name":"string.quoted.double.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(\"{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.double.heredoc.sy","begin":"(\"{3,})","end":"\\1","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"heredocSingle":{"patterns":[{"name":"string.quoted.single.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+('{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.single.heredoc.sy","begin":"('{3,})","end":"\\1","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"heredocVerbatim":{"patterns":[{"name":"string.quoted.verbatim.backtick.heredoc.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(`{3,})","end":"\\2","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.verbatim.backtick.heredoc.sy","begin":"(`{3,})","end":"\\1","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"injection":{"begin":"\\A(?:\\xC2\\xAD|\\xAD){2}","end":"(?=A)B","patterns":[{"include":"#blockInnards"}],"beginCaptures":{"0":{"patterns":[{"include":"#signature"}]}}},"main":{"patterns":[{"include":"#signature"},{"include":"#comment"},{"include":"#regexp"},{"include":"#fieldQuotedEarly"},{"include":"#heredoc"},{"include":"#string"},{"include":"#stringJunk"},{"include":"#block"},{"include":"#field"},{"include":"#array"},{"include":"#byteArray"},{"include":"#brackets"},{"include":"#boolean"},{"include":"#null"},{"include":"#date"},{"include":"#number"},{"include":"#comma"},{"include":"#operator"}]},"null":{"name":"constant.language.null.sy","match":"(?x)\n(?:\\G|^|(?\u003c=[\\s\\[{,]))\n(?:null|NULL)\n(?=$|[\\s\\]},])"},"number":{"match":"(?x)\n(?:^|(?\u003c=[\\s\\[\\({,~])|\\G)\n(?: ([-+]?0[xX][A-Fa-f0-9_]+) # Hexadecimal\n| ([-+]?0[oO][0-7_]+) # Octal\n| ([-+]?0[bB][0-1_]+) # Binary\n| ([-+]?[0-9_]+\\.(?:[0-9_]*[eE][+-]?[0-9_]+|[0-9_]+)) # Float\n| ([-+]?[0-9_]+(?:[eE][+-]?[0-9_]+)?) # Integer\n)\n\\s*\n(?= $\n| [-+*/%^\u0026|\\)\u003c\u003e\\s\\]},]\n| (?\u003c=\\s)\\#(?=\\s|$)\n)","captures":{"1":{"name":"constant.numeric.integer.int.hexadecimal.hex.sy"},"2":{"name":"constant.numeric.integer.int.octal.oct.sy"},"3":{"name":"constant.numeric.integer.int.binary.bin.sy"},"4":{"name":"constant.numeric.float.decimal.dec.sy"},"5":{"name":"constant.numeric.integer.int.decimal.dec.sy"}}},"operator":{"patterns":[{"name":"keyword.operator.arithmetic.sy","match":"\\*\\*|[-+*/%]"},{"name":"keyword.operator.bitwise.sy","match":"(\u003c\u003c|\u003e\u003e|\u003e\u003e\u003e|[~\u0026|^])"}]},"regexp":{"patterns":[{"name":"string.regexp.multiline.sy","begin":"(?:([-\\w]+)[ \\t]+)?(/{3,})","end":"(\\2)([A-Za-z]*)","patterns":[{"include":"source.regexp#main"}],"beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"patterns":[{"name":"punctuation.definition.string.begin.triple-slash.sy","match":"(?:\\G|^)/{3}$"},{"name":"punctuation.definition.string.begin.sy","match":".+"}]}},"endCaptures":{"1":{"patterns":[{"name":"punctuation.definition.string.end.triple-slash.sy","match":"(?:\\G|^)/{3}$"},{"name":"punctuation.definition.string.end.sy","match":".+"}]},"2":{"patterns":[{"include":"source.regexp#scopedModifiers"}]}}},{"name":"string.regexp.sy","begin":"(?:([-\\w]+)[ \\t]+)?(/)","end":"(/)([A-Za-z]*)","patterns":[{"include":"source.regexp#main"}],"beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.sy"},"2":{"patterns":[{"include":"source.regexp#scopedModifiers"}]}}}]},"signature":{"name":"punctuation.whitespace.shy-hyphens.signature.sy","match":"^(?:\\xC2\\xAD){2,}"},"string":{"patterns":[{"include":"#stringDouble"},{"include":"#stringSingle"},{"include":"#stringVerbatim"}]},"stringDouble":{"patterns":[{"name":"string.quoted.double.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(\")","end":"\"","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.double.sy","begin":"\"","end":"\"","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"stringInnards":{"patterns":[{"include":"#url"},{"include":"#escape"}]},"stringJunk":{"name":"invalid.illegal.syntax.sy","begin":"(?\u003c=[\"'`])(?!\\s*$)(?=\\s*[^:,}\\]])","end":"(?=[:,}\\]])"},"stringSingle":{"patterns":[{"name":"string.quoted.single.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(')","end":"'","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.single.sy","begin":"'","end":"'","patterns":[{"include":"#stringInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"stringVerbatim":{"patterns":[{"name":"string.quoted.verbatim.backtick.hinted.${1:/scopify}.sy","contentName":"embedded.${1:/scopify}","begin":"([-\\w]+)[ \\t]+(`)","end":"`","beginCaptures":{"1":{"name":"storage.modifier.type.parse-hint.sy"},"2":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}},{"name":"string.quoted.verbatim.backtick.sy","begin":"`","end":"`(?!`)","patterns":[{"include":"#escapeVerbatim"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.sy"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.sy"}}}]},"url":{"patterns":[{"name":"constant.other.reference.link.underline.sy","match":"(?x) \\b\n# Protocol\n( https?\n| s?ftp\n| ftps\n| file\n| wss?\n| smb\n| git (?:\\+https?)\n| ssh\n| rsync\n| afp\n| nfs\n| (?:x-)?man(?:-page)?\n| gopher\n| txmt\n| issue\n| atom\n) ://\n\n# Path specifier\n(?:\n\t(?! \\#\\w*\\#)\n\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n)+\n\n# Don't include trailing punctuation\n(?\u003c![-.,?:\\#;])"},{"name":"markup.underline.link.mailto.sy","match":"(?x) \\b\nmailto: (?:\n\t(?! \\#\\w*\\#)\n\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n)+\n(?\u003c![-.,?:\\#;])"}]}}}
@@ -1 +1 @@
1
- {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#metadata"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"name":"entity.name.function.vba"},"keywords":{"patterns":[{"name":"keyword.conditional.vba","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vba","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vba","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"metadata":{"name":"metadata.vba","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vba"}],"beginCaptures":{"1":{"name":"keyword.metadata.vba"}},"endCaptures":{"0":{"name":"keyword.metadata.vba"}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
1
+ {"name":"Visual Basic for Applications","scopeName":"source.vba","patterns":[{"include":"#comments"},{"include":"#functions"},{"include":"#keywords"},{"include":"#metadata"},{"include":"#numbers"},{"include":"#storage"},{"include":"#strings"},{"include":"#types"},{"name":"constant.other.vba","match":"_(?=\\s*\\n)"}],"repository":{"comments":{"begin":"(?=')|(?:^(?:(\\d*)\\s*|[a-zA-Z][a-zA-Z0-9]{0,254}:\\s*)|:\\s*)(?=(?i:Rem ))","end":"(?\u003c!\\s_)$\\n","patterns":[{"name":"comment.line.quote","match":"\\'.*"},{"name":"comment.line.rem","match":"Rem .*"},{"name":"comment.line.continuation","match":"^.*"}],"beginCaptures":{"1":{"name":"constant.numeric.decimal"}}},"functions":{"name":"entity.name.function.vba"},"keywords":{"patterns":[{"name":"keyword.conditional.vba","match":"(?i:\\b(Do( While| Until)?|While|Case( Else)?|Else(If)?|For( Each)?|(I)?If|In|New|(Select )?Case|Then|To|Step|With)\\b)"},{"name":"keyword.conditional.end.vba","match":"(?i:\\b(End( )?If|End (Select|With)|Next|Wend|Loop( While| Until)?|Exit (For|Do|While))\\b)"},{"name":"keyword.control.vba","match":"(?i:\\b(Exit (Function|Property|Sub)|As|And|By(Ref|Val)|Goto|Is|Like|Mod|Not|On Error|Optional|Or|Resume Next|Stop|Xor|Eqv|Imp|TypeOf|AddressOf)\\b|(\\b(End)\\b(?=\\n)))"},{"name":"keyword.io.vba","match":"(?i:\\b(Open|Close|Line Input|Lock|Unlock|Print|Seek|Get|Put|Write)\\b)"},{"name":"keyword.io.vba","match":"(?i:\\b(Input)(?= \\#))"},{"name":"keyword.other.vba","match":"(?i:\\b(Attribute|Call|End (Function|Property|Sub|Type|Enum)|(Const|Function|Property|Sub|Type|Enum)|Declare|PtrSafe|WithEvents|Event|RaiseEvent|Implements)\\b)"},{"name":"keyword.other.option.vba","match":"(?i)\\bOption (Base [01]|Compare (Binary|Text)|Explicit|Private Module)\\b"},{"name":"keyword.other.visibility.vba","match":"(?i:\\b(Private|Public|Global|Friend)\\b)"},{"name":"constant.language.vba","match":"(?i)\\b(Empty|False|Nothing|Null|True)\\b"}]},"metadata":{"name":"metadata.vba","begin":"(?i)^\\s*(BEGIN)\\b","end":"(?i)^\\s*(END)\\b","patterns":[{"include":"source.vba"}],"beginCaptures":{"1":{"name":"keyword.metadata.vba"}},"endCaptures":{"0":{"name":"keyword.metadata.vba"}}},"numbers":{"patterns":[{"name":"constant.numeric.date","match":"(?i)\\#((Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)|[0-9]{1,2})(-|\\/)[0-9]{1,2}((-|\\/)[0-9]{1,4})?\\#"},{"name":"constant.numeric.decimal","match":"(?\u003c!\\w)-?\\d+(\\.\\d+)?"},{"name":"constant.numeric.octal","match":"(?i)-?\u0026O[0-7]+"},{"name":"constant.numeric.hexadecimal","match":"(?i)-?\u0026H[0-9A-F]+"}]},"storage":{"patterns":[{"name":"storage.modifier.vba","match":"(?i)\\b(Class|Const|Dim|(G|L|S)et|ReDim( Preserve)?|Erase|Static)\\b"}]},"strings":{"patterns":[{"name":"string.quoted.double","match":"\\\"[^\\n\\r\\\"]*\""}]},"types":{"patterns":[{"name":"support.type.builtin.vba","match":"(?i)\\b(Any|Byte|Boolean|Currency|Collection|Date|Double|Integer|Long(Long|Ptr)?|Object|Single|String|Variant)\\b"},{"match":"(?i)(?\u003c= As )([a-zA-Z][a-zA-Z0-9_]*)","captures":{"1":{"name":"support.type"}}}]}}}
@@ -0,0 +1 @@
1
+ {"name":"vCard","scopeName":"source.vcard","patterns":[{"name":"support.function.vcard","begin":"^BEGIN:VCARD$","end":"^END:VCARD$","patterns":[{"include":"#versionNum"},{"include":"#properties"},{"include":"#extensionProperties"},{"include":"#attributeTypes"},{"include":"#attributeValues"},{"include":"#values"},{"include":"#valuesMultiline"}]}],"repository":{"attributeTypes":{"patterns":[{"name":"entity.name.type.attribute.vcard","match":"(?\u003c=;)\\b\\w+?\\b(?=[:;=])"}]},"attributeValues":{"patterns":[{"name":"variable.attribute.vcard","match":"(?\u003c=\\=).+?(?=[:;])"}]},"extensionProperties":{"patterns":[{"name":"keyword.other.expansion.property.vcard","match":"^\\S.*?(?=:)"}]},"properties":{"patterns":[{"name":"keyword.control.property.vcard","match":"^\\b(VERSION|ADR|AGENT|ANNIVERSARY|BDAY|CALADRURI|CALURI|CATEGORIES|CLASS|CLIENTPIDMAP|EMAIL|FBURL|FN|GENDER|GEO|IMPP|KEY|KIND|LABEL|LANG|LOGO|MAILER|MEMBER|N|NAME|NICKNAME|NOTE|ORG|PHOTO|PRODID|PROFILE|RELATED|REV|ROLE|SORT-STRING|SOUND|SOURCE|TEL|TITLE|TZ|UID|URL|XML)\\b"}]},"values":{"patterns":[{"name":"string.unquoted.value.vcard","match":"(?\u003c=:).+"}]},"valuesMultiline":{"patterns":[{"name":"string.unquoted.value.vcard","match":"^ \\S.*"}]},"versionNum":{"patterns":[{"name":"variable.language.version.vcard","match":"(?\u003c=^VERSION:).+$"}]}}}
@@ -1 +1 @@
1
- {"name":"WDL","scopeName":"source.wdl","patterns":[{"name":"keyword.operator.assignment.wdl","match":"\\="},{"name":"keyword.operator.comparison.wdl","match":"\u003c\\=|\u003e\\=|\\=\\=|\u003c|\u003e|\\!\\="},{"name":"keyword.operator.assignment.augmented.wdl","match":"\\+\\=|-\\=|\\*\\=|/\\=|//\\=|%\\=|\u0026\\=|\\|\\=|\\^\\=|\u003e\u003e\\=|\u003c\u003c\\=|\\*\\*\\="},{"name":"keyword.operator.arithmetic.wdl","match":"\\+|\\-|\\*|\\*\\*|/|//|%|\u003c\u003c|\u003e\u003e|\u0026|\\||\\^|~"},{"name":"constant.language.wdl","match":"\\b(true|false)\\b"},{"include":"#builtin_types"},{"include":"#comments"},{"include":"#input_output"},{"include":"#keywords"},{"include":"#string_quoted_single"},{"include":"#string_quoted_double"},{"include":"#command_block"}],"repository":{"builtin_types":{"name":"support.type.wdl","match":"(?\u003c!\\.)\\b(Array|Boolean|File|Float|Int|Map|Object|String|Pair)\\b"},"command_block":{"patterns":[{"name":"command.block.wdl","begin":"(command)\\s*\\{(\\n|\\s)*","end":"(^|\\s+)\\}","beginCaptures":{"1":{"name":"keyword.other.wdl"}}},{"name":"command.block.wdl","begin":"(command)\\s*\u003c{3}(\\n|\\s)*","end":"(^|\\s+)\u003e{3}","beginCaptures":{"1":{"name":"keyword.other.wdl"}}}]},"comments":{"patterns":[{"name":"comment.line.number-sign.wdl","match":"(#).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.wdl"}}}]},"constant_placeholder":{"name":"constant.other.placeholder.wdl","match":"(?i:%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?[hL]?[a-z%])"},"escaped_char":{"match":"(\\\\x[0-9a-fA-F]{2})|(\\\\[0-7]{3})|(\\\\\\n)|(\\\\\\\\)|(\\\\\\\")|(\\\\')|(\\\\a)|(\\\\b)|(\\\\f)|(\\\\n)|(\\\\r)|(\\\\t)|(\\\\v)","captures":{"1":{"name":"constant.character.escape.hex.wdl"},"10":{"name":"constant.character.escape.linefeed.wdl"},"11":{"name":"constant.character.escape.return.wdl"},"12":{"name":"constant.character.escape.tab.wdl"},"13":{"name":"constant.character.escape.vertical-tab.wdl"},"2":{"name":"constant.character.escape.octal.wdl"},"3":{"name":"constant.character.escape.newline.wdl"},"4":{"name":"constant.character.escape.backlash.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.single-quote.wdl"},"7":{"name":"constant.character.escape.bell.wdl"},"8":{"name":"constant.character.escape.backspace.wdl"},"9":{"name":"constant.character.escape.formfeed.wdl"}}},"escaped_unicode_char":{"match":"(\\\\U[0-9A-Fa-f]{8})|(\\\\u[0-9A-Fa-f]{4})|(\\\\N\\{[a-zA-Z0-9\\, ]+\\})","captures":{"1":{"name":"constant.character.escape.unicode.16-bit-hex.wdl"},"2":{"name":"constant.character.escape.unicode.32-bit-hex.wdl"},"3":{"name":"constant.character.escape.unicode.name.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"(^|\\s)(call|runtime|task|workflow|if|then|else|import|as|input|output|meta|parameter_meta|scatter)[^A-Za-z_]"}]},"string_quoted_double":{"patterns":[{"name":"string.quoted.double.single-line.wdl","begin":"(\")","end":"(\")","patterns":[{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.wdl"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.wdl"},"2":{"name":"invalid.illegal.unclosed-string.wdl"}}}]},"string_quoted_single":{"patterns":[{"name":"string.quoted.single.single-line.wdl","begin":"(')","end":"(')","patterns":[{"include":"#constant_placeholder"},{"include":"#escaped_char"}],"beginCaptures":{"1":{"name":"punctuation.definition.string.begin.wdl"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.wdl"},"2":{"name":"invalid.illegal.unclosed-string.wdl"}}}]}}}
1
+ {"name":"WDL","scopeName":"source.wdl","patterns":[{"include":"#single-number-sign-comment"},{"include":"#double-number-sign-comment"},{"name":"entity.version.wdl","match":"(version)\\s+(.*)","captures":{"1":{"name":"keyword.other.version.wdl"},"2":{"name":"entity.version.number.wdl"}}},{"contentName":"entity.struct.wdl","begin":"(struct)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.struct.wdl"},"2":{"name":"variable.name.struct.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.struct-start.wdl"}}},{"contentName":"entity.task.wdl","begin":"(task)\\s+([A-Za-z][A-Za-z0-9_]+)?","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.task.wdl"},"2":{"name":"variable.name.task.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.task-start.wdl"}}},{"begin":"(workflow)\\s+([A-Za-z][A-Za-z0-9_]+)","end":"({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"storage.type.workflow.wdl"},"2":{"name":"variable.name.workflow.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.workflow-start.wdl"}}},{"include":"#input-block"},{"include":"#command-block"},{"include":"#output-block"},{"include":"#requirements-block"},{"include":"#hints-block"},{"include":"#runtime-block"},{"include":"#meta-block"},{"include":"#parameter_meta-block"},{"include":"#atom"}],"repository":{"atom":{"patterns":[{"include":"#double-number-sign-comments"},{"include":"#single-number-sign-comments"},{"include":"#numeric"},{"include":"#strings"},{"include":"#keywords"},{"include":"#identity"}]},"command-block":{"contentName":"meta.embedded.block.shellscript","begin":"(?:\\s*)(command)\\s+(?:(\u003c\u003c\u003c)|({))","end":"(?:^|\\G)(?:\\s*)(?:(\u003e\u003e\u003e)|(}))(?:\\s*)$","patterns":[{"contentName":"meta.embedded.block.shellscript","begin":"(^|\\G)(\\s*)(.*)","while":"(^|\\G)(?!\\s*(?:(\u003e\u003e\u003e)|(}))\\s*$)","patterns":[{"include":"source.shell"}]}],"beginCaptures":{"1":{"name":"storage.type.command.wdl"},"2":{"name":"punctuation.heredoc.command-start.wdl"},"3":{"name":"punctuation.bracket.angle.command-start.wdl"}},"endCaptures":{"1":{"name":"punctuation.heredoc.command-end.wdl"},"2":{"name":"punctuation.bracket.angle.command-end.wdl"}}},"double-number-sign-comments":{"name":"comment.line.double-number-sign.documentation","begin":"(?:\\s*)(?:##) ?","while":"(?:^|\\G)\\s*(?:##) ?","patterns":[{"include":"source.gfm"}]},"double-quoted-strings":{"name":"string.quoted.double.wdl","begin":"\"","end":"\"","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"escaped-character":{"name":"constant.character.escape.wdl","match":"(\\\\\\\\)|(\\\\n)|(\\\\t)|(\\\\')|(\\\\\")|(\\\\~)|(\\\\\\$)|(\\\\[0-7]{3})|(\\\\x[0-9a-fA-F]{2})|(\\\\u[0-9a-fA-F]{4})|(\\\\U[0-9a-fA-F]{8})","captures":{"1":{"name":"constant.character.escape.backslash.wdl"},"10":{"name":"constant.character.escape.four-byte-unicode.wdl"},"11":{"name":"constant.character.escape.eight-byte-unicode.wdl"},"2":{"name":"constant.character.escape.newline.wdl"},"3":{"name":"constant.character.escape.tab.wdl"},"4":{"name":"constant.character.escape.single-quote.wdl"},"5":{"name":"constant.character.escape.double-quote.wdl"},"6":{"name":"constant.character.escape.tilde.wdl"},"7":{"name":"constant.character.escape.dollar-sign.wdl"},"8":{"name":"constant.character.escape.octal.wdl"},"9":{"name":"constant.character.escape.hex.wdl"}}},"hints-block":{"name":"entity.hints-block.wdl","begin":"(?:\\s*)(hints)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.hints.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.hints-start.wdl"}}},"identity":{"name":"variable.other.wdl","match":"\\b[A-Za-z][A-Za-z0-9_]*\\b"},"input-block":{"name":"entity.input-block.wdl","begin":"(?:\\s*)(input)[?=\\s|{i]","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.input.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.input-start.wdl"}}},"keywords":{"patterns":[{"name":"keyword.other.wdl","match":"\\b(import|version)\\b"},{"name":"storage.modifier.wdl","match":"\\b(alias|as|in|scatter)\\b"},{"name":"keyword.control.wdl","match":"\\b(call|else|if|then)\\b"},{"name":"storage.type","match":"\\b(command|hints|inputs|meta|object|outputs|parameter_meta|requirements|runtime|struct|task|workflow)\\b\\s*(?!:)"},{"name":"constant.language.wdl","match":"\\b(true|false|left|right|null)\\b"},{"name":"keyword.wdl","match":"\\b(alias|as|call|command|else|false|hints|if|in|import|input|left|meta|object|output|parameter_meta|right|hint|runtime|scatter|struct|task|then|true|version|workflow)\\b\\s*(?!:)"},{"name":"entity.name.type.wdl","match":"\\b(Array|Boolean|Directory|File|Float|Int|Map|None|Object|Pair|String)\\b"}]},"meta-block":{"name":"entity.meta-block.wdl","begin":"(?:\\s*)(meta)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.meta-start.wdl"}}},"multi-line-strings":{"name":"string.unquoted.multi-line.wdl","begin":"\u003c\u003c\u003c","end":"\u003e\u003e\u003e","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"numeric":{"name":"constant.numeric.wdl","match":"-?(?:[0-9]+\\.[0-9]*(e|E)?|[0-9]+(e|E)?|[1-9][0-9]*|0[0-7]+|0[xX][0-9a-fA-F]|0)"},"output-block":{"name":"entity.output-block.wdl","begin":"(?:\\s*)(output)[?=\\s|{]","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.output.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.output-start.wdl"}}},"parameter_meta-block":{"name":"entity.parameter_meta-block.wdl","begin":"(?:\\s*)(parameter_meta)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.parameter_meta.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.parameter_meta-start.wdl"}}},"placeholder":{"name":"constant.other.placeholder.wdl","match":"[$~]{\\s*([A-Za-z][A-Za-z0-9_]*)\\s*}"},"requirements-block":{"name":"entity.requirements-block.wdl","begin":"(?:\\s*)(requirements)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.requirements.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.requirements-start.wdl"}}},"runtime-block":{"name":"entity.runtime-block.wdl","begin":"(?:\\s*)(runtime)","end":"(?:\\s*)({)","patterns":[{"include":"#atom"}],"beginCaptures":{"1":{"name":"keyword.other.runtime.wdl"}},"endCaptures":{"1":{"name":"punctuation.bracket.angle.runtime-start.wdl"}}},"single-number-sign-comments":{"name":"comment.line.number-sign.documentation","begin":"(?:\\s*)(?:#(?!#))","while":"(?:^|\\G)(?:\\s*)(?:#(?!#))"},"single-quoted-strings":{"name":"string.quoted.single.wdl","begin":"'","end":"'","patterns":[{"include":"#placeholder"},{"include":"#escaped-character"}]},"strings":{"patterns":[{"include":"#single-quoted-strings"},{"include":"#double-quoted-strings"},{"include":"#multi-line-strings"}]}}}
@@ -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.adblock.agent"},"2":{"patterns":[{"include":"#adblockData"},{"name":"punctuation.separator","match":";"},{"name":"invalid.illegal","match":".*"}]},"3":{"name":"punctuation.definition.array.end.adblock.agent"}}}]},"adblockData":{"patterns":[{"match":"(?x)\n (?:\\s*)\n (\n [Aa]d[Bb]lock(?:\\s[Pp]lus)?\n |u[Bb]lock(?:\\s[Oo]rigin)?\n |[Aa]d[Gg]uard\n )\n (?:\\s+(\\d+(?:\\.\\d+)*+\\+?))?\n (?:\\s*)","captures":{"1":{"name":"constant.language.agent.adblocker.name"},"2":{"name":"constant.numeric.decimal"}}}]},"appListPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"basicRules":{"patterns":[{"match":"^(.+?)((\\$(?!\\/))(.*))?$","captures":{"1":{"patterns":[{"include":"#urlPattern"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesNoUrl":{"patterns":[{"match":"^(\\$)(.+)$","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesOptions":{"patterns":[{"name":"keyword.other.adblock","match":"replace=((\\/)(((\\\\\\/)|[^,/]|(\\\\,))+?)(\\/)(((\\\\\\/)|[^,/]|(\\\\,))*?)(\\/)([a-z]*))","captures":{"1":{"name":"string.regexp.adblock"}}},{"match":"(domain|denyallow|from|to)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"match":"(dnstype)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsTypesPipeSeparated"}]}}},{"match":"(client|ctag)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsClientsPipeSeparated"}]}}},{"name":"keyword.other.adblock","match":"(redirect|redirect-rule|csp|cookie)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(dnsrewrite)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":";"},{"name":"string.unquoted.adblock","match":"[^;]*"}]}}},{"name":"keyword.other.adblock","match":"(removeheader)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":":"},{"name":"string.unquoted.adblock","match":"[^:]*"}]}}},{"name":"keyword.other.adblock","match":"(rewrite)(=)(abp-resource:)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(removeparam|queryprune)(=)?(~)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"match":"(method)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"string.unquoted.adblock","match":"(?i)(connect|delete|get|head|options|patch|post|put)"},{"name":"keyword.operator.adblock","match":"~|\\|"},{"name":"invalid.illegal.method-value","match":".+"}]}}},{"match":"(referrerpolicy)(=)?((\\w|-)+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"string.unquoted.adblock","match":"(?i)(no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|same-origin|strict-origin|strict-origin-when-cross-origin|unsafe-url)"},{"name":"invalid.illegal.referrerpolicy-value","match":"~|\\|.+"}]}}},{"match":"(permissions)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"match":"(header)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(inline-script|inline-font|mp4|empty|badfilter|genericblock|generichide|network|popup|popunder|important|replace|stealth)"},{"name":"keyword.other.adblock","match":"(~?)(first-party|third-party|match-case|elemhide|content|jsinject|urlblock|extension|all|strict1p|strict3p|1p|3p|css|frame|ghide|ehide|shide|specifichide)"},{"name":"keyword.other.adblock","match":"(~)?(document|doc|font|image|media|object|other|ping|beacon|script|stylesheet|css|subdocument|frame|websocket|xmlhttprequest|xhr|webrtc)(,|$)"},{"name":"invalid.illegal.removed.modifier","match":"(~)?(object-subrequest)"},{"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"}]}}}]},"blockingScriptletRules":{"patterns":[{"match":"(?x)\n ^ # Start of the line\n \\s* # Optional leading whitespace\n (\\[.+?\\])? # Group 1. AdGuard modifier list\n (.*)? # Group 2. Domain list\n (\\#%\\#) # Group 3. Cosmetic rule marker\n (\\/\\/scriptlet) # Group 4. Scriptlet marker\n (\\() # Group 5. Opening parenthesis\n (.*\\S.*) # Group 6. Arguments. Note: we look for a parameter that contain at least one non-whitespace character\n (\\)) # Group 7. Closing parenthesis\n \\s* # Optional trailing whitespace\n $ # End of the line","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"}}}]},"comments":{"patterns":[{"name":"comment.line.exclamation-sign","match":"^!.*"},{"name":"comment.line.hashtag-sign","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"}]}}},{"match":"(url)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"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"}]}}}]},"emptyScriptletFunction":{"patterns":[{"name":"entity.name.section.adblock.empty-scriptlet","match":"\\s*\\z"}]},"exceptionScriptletRules":{"patterns":[{"match":"(?x)\n ^ # Start of the line\n \\s* # Optional leading whitespace\n (\\[.+?\\])? # Group 1. AdGuard modifier list\n (.*)? # Group 2. Domain list\n (\\#@%\\#) # Group 3. Cosmetic rule marker\n (\\/\\/scriptlet) # Group 4. Scriptlet marker\n (\\() # Group 5. Opening parenthesis\n (.*)? # Group 6. Arguments\n (\\)) # Group 7. Closing parenthesis\n \\s* # Optional trailing whitespace\n $ # End of the line","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":"#emptyScriptletFunction"},{"include":"#scriptletFunction"}]},"7":{"name":"punctuation.section.adblock"}}}]},"jsRules":{"patterns":[{"contentName":"source.js","begin":"^(.*?)(#@?%#(?!\\/\\/scriptlet))","end":"$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"}}},{"match":"^(.*?)(#@?%#)(.+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"invalid.illegal"}}}]},"preprocessor":{"patterns":[{"match":"^(!#if)(\\s)(.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"},"3":{"patterns":[{"name":"constant.language.platform.name","match":"[A-Za-z]+[\\w_-]*"},{"name":"keyword.operator.logical.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.or","match":"\\|\\|"},{"name":"keyword.operator.logical.not","match":"!"},{"name":"keyword.control.characters.parenthesis.open","match":"\\("},{"name":"keyword.control.characters.parenthesis.close","match":"\\)"},{"name":"keyword.other.delimiter.whitespace","match":"\\s+"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!#include) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"string.unquoted"}}},{"match":"^(!#else)(\\s*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"}}},{"match":"^(!#endif)(\\s*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"}}},{"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":"((?:[^\\\\,]+|\\\\.?)*)(,|$)","captures":{"1":{"name":"string.quoted.adblock"},"2":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletRules":{"patterns":[{"include":"#exceptionScriptletRules"},{"include":"#blockingScriptletRules"}]},"scriptletRulesUBO":{"patterns":[{"match":"^(.*?)(#@?#)(\\+js)(\\()(.+)(\\)\\s*)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"entity.name.function.adblock"},"4":{"name":"punctuation.section.adblock"},"5":{"patterns":[{"include":"#scriptletFunctionUBO"}]},"6":{"name":"punctuation.section.adblock"}}}]},"snippetRulesABP":{"patterns":[{"match":"^(.*?)(#@?\\$#)([^{]+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"constant.character.snippet.adblock"}}}]},"urlPattern":{"patterns":[{"name":"string.regexp.adblock","match":"^(@@)?(\\/)(.+)\\/$","captures":{"1":{"name":"keyword.other.adblock"}}},{"name":"keyword.other.adblock","match":"^@@\\|?\\|?"},{"name":"keyword.other.adblock","match":"^\\|\\|"},{"name":"keyword.other.adblock","match":"^\\|"},{"name":"keyword.other.adblock","match":"\\|$"},{"name":"keyword.other.adblock","match":"\\^"},{"name":"keyword.other.adblock","match":"\\*"}]}}}
1
+ {"name":"Adblock","scopeName":"text.adblock","patterns":[{"include":"#adblockAgent"},{"include":"#preprocessor"},{"include":"#comments"},{"include":"#snippetRulesABP"},{"include":"#cssRules"},{"include":"#scriptletRules"},{"include":"#scriptletRulesUBO"},{"include":"#jsRules"},{"include":"#contentRules"},{"include":"#elemhideRules"},{"include":"#basicRulesNoUrl"},{"include":"#basicRulesRegex"},{"include":"#basicRules"}],"repository":{"adblockAgent":{"patterns":[{"match":"^(\\[)([^\\]]+)(\\])\\s*$","captures":{"1":{"name":"punctuation.definition.array.start.adblock.agent"},"2":{"patterns":[{"include":"#adblockData"},{"name":"punctuation.separator","match":";"},{"name":"invalid.illegal","match":".*"}]},"3":{"name":"punctuation.definition.array.end.adblock.agent"}}}]},"adblockData":{"patterns":[{"match":"(?x)\n (?:\\s*)\n (\n [Aa]d[Bb]lock(?:\\s[Pp]lus)?\n |u[Bb]lock(?:\\s[Oo]rigin)?\n |[Aa]d[Gg]uard\n )\n (?:\\s+(\\d+(?:\\.\\d+)*+\\+?))?\n (?:\\s*)","captures":{"1":{"name":"constant.language.agent.adblocker.name"},"2":{"name":"constant.numeric.decimal"}}}]},"appListPipeSeparated":{"patterns":[{"match":"((~?)([a-zA-Z0-9.-_]+)(\\|?))","captures":{"2":{"name":"keyword.other.adblock"},"3":{"name":"string.unquoted.adblock"},"4":{"name":"punctuation.definition.adblock"}}},{"name":"invalid.illegal.app-list","match":".*"}]},"basicRules":{"patterns":[{"match":"^(.+?)((\\$(?!\\/))(.*))?$","captures":{"1":{"patterns":[{"include":"#urlPattern"}]},"3":{"name":"keyword.control.adblock"},"4":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesNoUrl":{"patterns":[{"match":"^(\\$)(.+)$","captures":{"1":{"name":"keyword.control.adblock"},"2":{"patterns":[{"include":"#basicRulesOptions"}]}}}]},"basicRulesOptions":{"patterns":[{"name":"keyword.other.adblock","match":"replace=((\\/)(((\\\\\\/)|[^,/]|(\\\\,))+?)(\\/)(((\\\\\\/)|[^,/]|(\\\\,))*?)(\\/)([a-z]*))","captures":{"1":{"name":"string.regexp.adblock"}}},{"match":"(domain|denyallow|from|to)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#domainListPipeSeparated"}]}}},{"match":"(app)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#appListPipeSeparated"}]}}},{"match":"(dnstype)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsTypesPipeSeparated"}]}}},{"match":"(client|ctag)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"include":"#dnsClientsPipeSeparated"}]}}},{"name":"keyword.other.adblock","match":"(redirect|redirect-rule|csp|cookie)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(dnsrewrite)(=)(((\\\\,)|[^,])+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":";"},{"name":"string.unquoted.adblock","match":"[^;]*"}]}}},{"name":"keyword.other.adblock","match":"(removeheader)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"keyword.other.delimiter","match":":"},{"name":"string.unquoted.adblock","match":"[^:]*"}]}}},{"name":"keyword.other.adblock","match":"(rewrite)(=)(abp-resource:)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(removeparam|queryprune)(=)?(~)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"keyword.other.adblock"},"4":{"name":"string.unquoted.adblock"}}},{"match":"(method)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"string.unquoted.adblock","match":"(?i)(connect|delete|get|head|options|patch|post|put)"},{"name":"keyword.operator.adblock","match":"~|\\|"},{"name":"invalid.illegal.method-value","match":".+"}]}}},{"match":"(referrerpolicy)(=)?((\\w|-)+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"patterns":[{"name":"string.unquoted.adblock","match":"(?i)(no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|same-origin|strict-origin|strict-origin-when-cross-origin|unsafe-url)"},{"name":"invalid.illegal.referrerpolicy-value","match":"~|\\|.+"}]}}},{"match":"(permissions)(=)?(((\\\\,)|[^,])+)?","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"match":"(header)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"name":"keyword.other.adblock","match":"(inline-script|inline-font|mp4|empty|badfilter|genericblock|generichide|network|popup|popunder|important|replace|stealth)"},{"name":"keyword.other.adblock","match":"(~?)(first-party|third-party|match-case|elemhide|content|jsinject|urlblock|extension|all|strict1p|strict3p|1p|3p|css|frame|ghide|ehide|shide|specifichide)"},{"name":"keyword.other.adblock","match":"(~)?(document|doc|font|image|media|object|other|ping|beacon|script|stylesheet|css|subdocument|frame|websocket|xmlhttprequest|xhr|webrtc)(,|$)"},{"name":"invalid.illegal.removed.modifier","match":"(~)?(object-subrequest)"},{"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"}]}}}]},"blockingScriptletRules":{"patterns":[{"match":"(?x)\n ^ # Start of the line\n \\s* # Optional leading whitespace\n (\\[.+?\\])? # Group 1. AdGuard modifier list\n (.*)? # Group 2. Domain list\n (\\#%\\#) # Group 3. Cosmetic rule marker\n (\\/\\/scriptlet) # Group 4. Scriptlet marker\n (\\() # Group 5. Opening parenthesis\n (.*\\S.*) # Group 6. Arguments. Note: we look for a parameter that contain at least one non-whitespace character\n (\\)) # Group 7. Closing parenthesis\n \\s* # Optional trailing whitespace\n $ # End of the line","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"}}}]},"comments":{"patterns":[{"name":"comment.line.exclamation-sign","match":"^!.*"},{"name":"comment.line.hashtag-sign","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"}]}}},{"match":"(url)(=)([^,]+)","captures":{"1":{"name":"keyword.other.adblock"},"2":{"name":"keyword.operator.adblock"},"3":{"name":"string.unquoted.adblock"}}},{"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"}]}}}]},"emptyScriptletFunction":{"patterns":[{"name":"entity.name.section.adblock.empty-scriptlet","match":"\\s*\\z"}]},"exceptionScriptletRules":{"patterns":[{"match":"(?x)\n ^ # Start of the line\n \\s* # Optional leading whitespace\n (\\[.+?\\])? # Group 1. AdGuard modifier list\n (.*)? # Group 2. Domain list\n (\\#@%\\#) # Group 3. Cosmetic rule marker\n (\\/\\/scriptlet) # Group 4. Scriptlet marker\n (\\() # Group 5. Opening parenthesis\n (.*)? # Group 6. Arguments\n (\\)) # Group 7. Closing parenthesis\n \\s* # Optional trailing whitespace\n $ # End of the line","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":"#emptyScriptletFunction"},{"include":"#scriptletFunction"}]},"7":{"name":"punctuation.section.adblock"}}}]},"jsRules":{"patterns":[{"contentName":"source.js","begin":"^(.*?)(#@?%#(?!\\/\\/scriptlet))","end":"$","patterns":[{"include":"source.js"}],"beginCaptures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"}}},{"match":"^(.*?)(#@?%#)(.+)$","captures":{"1":{"patterns":[{"include":"#domainListCommaSeparated"}]},"2":{"name":"keyword.control.adblock"},"3":{"name":"invalid.illegal"}}}]},"preprocessor":{"patterns":[{"match":"^(!#if)(\\s)(.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"},"3":{"patterns":[{"name":"constant.language.platform.name","match":"[A-Za-z]+[\\w_-]*"},{"name":"keyword.operator.logical.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.or","match":"\\|\\|"},{"name":"keyword.operator.logical.not","match":"!"},{"name":"keyword.control.characters.parenthesis.open","match":"\\("},{"name":"keyword.control.characters.parenthesis.close","match":"\\)"},{"name":"keyword.other.delimiter.whitespace","match":"\\s+"},{"name":"invalid.illegal","match":".*"}]}}},{"match":"^(!#include) (.*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"string.unquoted"}}},{"match":"^(!#else)(\\s*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"}}},{"match":"^(!#endif)(\\s*)$","captures":{"1":{"name":"keyword.preprocessor.directive"},"2":{"name":"keyword.other.delimiter.whitespace"}}},{"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|advanced)"},{"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":"((?:[^\\\\,]+|\\\\.?)*)(,|$)","captures":{"1":{"name":"string.quoted.adblock"},"2":{"name":"keyword.operator.adblock"}}},{"name":"invalid.illegal.adblock","match":".*"}]},"scriptletRules":{"patterns":[{"include":"#exceptionScriptletRules"},{"include":"#blockingScriptletRules"}]},"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":"\\*"}]}}}
@@ -0,0 +1 @@
1
+ {"name":"HTML Template (jte)","scopeName":"text.html.jte","patterns":[{"include":"#jte-comment"},{"include":"#jte-statement"},{"include":"#jte-declaration"},{"include":"#jte-comparison"},{"include":"#html_tags"},{"include":"text.html.basic"}],"repository":{"entities":{"patterns":[{"name":"constant.character.entity.html","match":"(\u0026)([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+)(;)","captures":{"1":{"name":"punctuation.definition.entity.html"},"3":{"name":"punctuation.definition.entity.html"}}},{"name":"invalid.illegal.bad-ampersand.html","match":"\u0026"}]},"escaped-double-quote":{"name":"constant.character.escape.js","match":"\\\\\""},"escaped-single-quote":{"name":"constant.character.escape.js","match":"\\\\'"},"html_tags":{"patterns":[{"name":"meta.tag.any.html","begin":"(\u003c)([a-zA-Z0-9:-]+)(?=[^\u003e]*\u003e\u003c/\\2\u003e)","end":"(\u003e(\u003c)/)(\\2)(\u003e)","patterns":[{"include":"#tag-stuff"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.html"}},"endCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"meta.scope.between-tag-pair.html"},"3":{"name":"entity.name.tag.html"},"4":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.tag.preprocessor.xml.html","begin":"(\u003c\\?)(xml)","end":"(\\?\u003e)","patterns":[{"include":"#tag_generic_attribute"},{"include":"#string"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.xml.html"}}},{"name":"comment.block.html","begin":"\u003c!--","end":"--\\s*\u003e","patterns":[{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"--"}],"captures":{"0":{"name":"punctuation.definition.comment.html"}}},{"name":"meta.tag.sgml.html","begin":"\u003c!","end":"\u003e","patterns":[{"name":"meta.tag.sgml.doctype.html","begin":"(DOCTYPE|doctype)","end":"(?=\u003e)","patterns":[{"name":"string.quoted.double.doctype.identifiers-and-DTDs.html","match":"\"[^\"\u003e]*\""}],"captures":{"1":{"name":"entity.name.tag.doctype.html"}}},{"name":"constant.other.inline-data.html","begin":"\\[CDATA\\[","end":"]](?=\u003e)"},{"name":"invalid.illegal.bad-comments-or-CDATA.html","match":"(\\s*)(?!--|\u003e)\\S(\\s*)"}],"captures":{"0":{"name":"punctuation.definition.tag.html"}}},{"name":"source.css.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:style))\\b(?![^\u003e]*/\u003e)","end":"(\u003c/)((?i:style))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(\u003e)","end":"(?=\u003c/(?i:style))","patterns":[{"include":"source.css"}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"}}}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.style.html"},"3":{"name":"punctuation.definition.tag.html"}}},{"name":"source.js.embedded.html","begin":"(?:^\\s+)?(\u003c)((?i:script))\\b(?![^\u003e]*/\u003e)","end":"(?\u003c=\u003c/(script|SCRIPT))(\u003e)(?:\\s*\\n)?","patterns":[{"include":"#tag-stuff"},{"begin":"(?\u003c!\u003c/(?:script|SCRIPT))(\u003e)","end":"(\u003c/)((?i:script))","patterns":[{"name":"comment.line.double-slash.js","match":"(//).*?((?=\u003c/script)|$\\n?)","captures":{"1":{"name":"punctuation.definition.comment.js"}}},{"name":"comment.block.js","begin":"/\\*","end":"\\*/|(?=\u003c/script)","captures":{"0":{"name":"punctuation.definition.comment.js"}}},{"include":"source.js"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.script.html"}},"endCaptures":{"2":{"name":"punctuation.definition.tag.html"}}},{"name":"meta.tag.structure.any.html","begin":"(\u003c/?)((?i:body|head|html)\\b)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.structure.any.html"}}},{"name":"meta.tag.block.any.html","begin":"(\u003c/?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\\b)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.block.any.html"}}},{"name":"meta.tag.inline.any.html","begin":"(\u003c/?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\\b)","end":"((?: ?/)?\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.inline.any.html"}}},{"name":"meta.tag.other.html","begin":"(\u003c/?)([a-zA-Z0-9:-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.other.html"}}},{"name":"meta.tag.tokenised.html","begin":"(\u003c/?)([a-zA-Z0-9{}:-]+)","end":"(\u003e)","patterns":[{"include":"#tag-stuff"}],"captures":{"1":{"name":"punctuation.definition.tag.html"},"2":{"name":"entity.name.tag.tokenised.html"}}},{"include":"#entities"},{"name":"invalid.illegal.incomplete.html","match":"\u003c\u003e"},{"name":"invalid.illegal.bad-angle-bracket.html","match":"\u003c"}]},"jte-comment":{"name":"comment.jte","begin":"\u003c%--","end":"--%\u003e","captures":{"0":{"name":"punctuation.definition.block.comment.jte"}}},"jte-comparison":{"name":"comparison.jte","contentName":"source.java","begin":"@(if|elseif|for)","end":"\n","patterns":[{"include":"source.java"}]},"jte-declaration":{"name":"declaration.jte","contentName":"source.java","begin":"@(import|param)","end":"\n","patterns":[{"include":"source.java"}]},"jte-statement":{"name":"statement.jte","contentName":"source.java","begin":"\\${","end":"}","patterns":[{"include":"source.java"}]},"string":{"patterns":[{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]},"string-double-quoted":{"name":"string.quoted.double.jte","begin":"\"","end":"\"","patterns":[{"include":"#escaped-double-quote"},{"include":"#jte-comment"},{"include":"#jte-statement"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"string-single-quoted":{"name":"string.quoted.single.jte","begin":"'","end":"'","patterns":[{"include":"#escaped-single-quote"},{"include":"#jte-comment"},{"include":"#jte-statement"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.html"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.html"}}},"tag-stuff":{"patterns":[{"include":"#tag_id_attribute"},{"include":"#tag_generic_attribute"},{"include":"#string"},{"include":"#jte-comment"}]},"tag_generic_attribute":{"name":"entity.other.attribute-name.html","begin":"\\b([a-zA-Z0-9_-]+)\\b\\s*(=)","end":"(?\u003c='|\"|)","patterns":[{"include":"#string"},{"include":"#jte-statement"}],"captures":{"1":{"name":"entity.other.attribute-name.generic.html"},"2":{"name":"punctuation.separator.key-value.html"}}},"tag_id_attribute":{"name":"meta.attribute-with-value.id.html","begin":"\\b(id)\\b\\s*(=)","end":"(?\u003c='|\"|)","patterns":[{"include":"#string"}],"captures":{"1":{"name":"entity.other.attribute-name.id.html"},"2":{"name":"punctuation.separator.key-value.html"}}}}}
@@ -1 +1 @@
1
- {"name":"Antlers (Statamic Syntax)","scopeName":"text.html.statamic","patterns":[{"include":"#php-tag"},{"include":"#statamic-comments"},{"include":"#frontMatter"},{"include":"#antlers-tags"}],"repository":{"antlers-conditionals":{"name":"keyword.control.statamic","match":"(?\u003c!:)(/?else|/?elseif|/?if|/?unless|endif|endunless|unlesselse|stop)"},"antlers-constants":{"match":"(\\G|\\s|\\b)(true|TRUE|false|FALSE|yes|YES|no|NO|null|as)\\s","captures":{"2":{"name":"constant.language.statamic"}}},"antlers-expression":{"patterns":[{"name":"punctuation.terminator.expression.statamic","match":";"},{"include":"#antlers-strings"},{"include":"#antlers-numbers"},{"name":"keyword.operator.key.statamic","match":"=\u003e"},{"name":"keyword.operator.class.statamic","match":"-\u003e"},{"include":"#statamic-explicit-tags"},{"include":"#statamic-core-tags"},{"name":"keyword.operator.comparison.statamic","match":"===|==|!==|!=|\u003c\u003e"},{"name":"keyword.operator.string.statamic","match":"\\\u0026=?"},{"name":"keyword.operator.assignment.statamic","match":"=|\\+=|\\-=|\\*\\*?=|/=|%=|\\|=|\\^=|\u003c\u003c=|\u003e\u003e="},{"name":"keyword.operator.logical.statamic","match":"(?i)(!|\\?\\?|\\?=|\\?|\u0026\u0026|\u0026|\\|\\|)|\\b(and|or|xor)\\b"},{"name":"keyword.operator.bitwise.statamic","match":"(?i)\\b(bwa|bwo|bxor|bnot|bsl|bsr)\\b"},{"name":"keyword.operator.comparison.statamic","match":"\u003c=\u003e|\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.arithmetic.statamic","match":"\\-|\\+|\\*\\*?|/|%"},{"name":"meta.array.statamic","begin":"(arr|list|switch)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#antlers-expression"}],"beginCaptures":{"1":{"name":"support.function.construct.statamic"},"2":{"name":"punctuation.definition.array.begin.bracket.round.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.statamic"}}},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]},{"include":"#antlers-tag-parameter-variable"},{"include":"#antlers-language-operators"},{"include":"#antlers-variable"},{"include":"#antlers-modifier-pipe"},{"include":"#antlers-variable-modifier-name"},{"include":"#antlers-variable-modifiers"},{"include":"#antlers-constants"}]},"antlers-language-operators":{"match":"(\\w+)[\\s]","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#antlers-numbers"},{"include":"#language-operators"}]}}},"antlers-modifier-pipe":{"name":"keyword.operator.other.statamic","match":"(\\|)"},"antlers-numbers":{"name":"constant.numeric.statamic","match":"0|[1-9](?:_?[0-9]+)*"},"antlers-strings":{"patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},"antlers-tag-parameter-variable":{"match":"(:?([\\S:]+?)(=)('|\")([^\\4]*?)(\\4))","captures":{"1":{"patterns":[{"match":"\\\\([\\S:]+?)(=)('|\")([({].*?[}])('|\")","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"punctuation.definition.string.begin.html"},"4":{"patterns":[{"include":"source.js"}]},"5":{"name":"punctuation.definition.string.end.html"}}},{"match":"\\\\([\\S:]+?)(=)('|\")(.*?)(\\3)","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"punctuation.definition.string.begin.html"},"4":{"name":"string.quoted.double.html"},"5":{"name":"punctuation.definition.string.end.html"}}},{"match":":([\\S:]+?)(=)('|\")(.*?)(\\3)","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"name":"punctuation.definition.string.begin.statamic"},"4":{"patterns":[{"include":"#antlers-expression"}]},"5":{"name":"punctuation.definition.string.end.statamic"}}},{"match":"([\\S]+?)(=)(('|\")(.*?)(\\4))","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"patterns":[{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]}}}]}}},"antlers-tags":{"name":"meta.embedded.block.statamic","begin":"(?\u003c!@){{(?!\\$)(\\s?)","end":"(\\s?)}}","patterns":[{"include":"#statamic-comments"},{"include":"#php-tag"},{"include":"#antlers-conditionals"},{"include":"#antlers-expression"}]},"antlers-variable":{"match":"(/?\\w+)(:)?(\\w+)?","captures":{"1":{"name":"variable.statamic"},"2":{"name":"keyword.operator.statamic"},"3":{"name":"variable.statamic","patterns":[{"include":"$self"}]}}},"antlers-variable-modifier-name":{"match":"(\\s)?(\\|)(\\s)?(\\w+((^:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic"}}},"antlers-variable-modifiers":{"match":"(\\s)?(\\|)(\\s)?(\\w+((:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic","patterns":[{"include":"#antlers-expression"}]}}},"core-tag-names":{"patterns":[{"name":"entity.name.tag.statamic","match":"(?i)\\b(taxonomy|cookie|user_groups|user_roles|get_site|collection|asset|nocache|vite|mount_url|form|assets|cache|can|dd|ddd|dump|get_content|get_error|get_errors|get_files|glide|in|increment|installed|is|iterate|foreach|link|locales|markdown|member|mix|nav|not_found|404|obfuscate|parent|partial|path|query|range|loop|redirect|relate|rotate|route|scope|section|session|set|structure|svg|theme|trans|trans_choice|user|users|widont|yields|yield|slot|once|noparse|view|stack|push)\\b"}]},"frontMatter":{"contentName":"meta.embedded.block.frontmatter","begin":"\\A-{3}\\s*$","end":"(^|\\G)-{3}|\\.{3}\\s*$","patterns":[{"include":"source.yaml"}]},"language-operators":{"patterns":[{"name":"support.function.array.statamic","match":"(?i)\\b(pluck|take|skip|arr|orderby|groupby|merge|where|switch|bwa|bwo|bxor|bnot|bsl|bsr|if|elseif|else|void)(\\b)"}]},"php-tag":{"patterns":[{"name":"meta.embedded.block.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"(?\u003c!@){{([\\$\\?]\\s?)","end":"(\\s?)[\\$\\?]}}","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}}]},"statamic-comments":{"name":"comment.block.statamic","begin":"{{#","end":"#}}"},"statamic-core-closing-tags":{"match":"\\/(\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-core-tags":{"match":"\\G(/?\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-explicit-tags":{"match":"\\G(/?%\\w+)+","captures":{"1":{"name":"entity.name.tag.statamic"}}},"string-double-quoted":{"name":"string.quoted.double.statamic","begin":"\"","end":"\"","patterns":[{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}},"string-single-quoted":{"name":"string.quoted.single.statamic","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.statamic","match":"\\\\[\\\\']"},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}}},"injections":{"text.html.statamic":{"patterns":[{"include":"#statamic-comments"},{"include":"#antlers-tags"}]},"text.html.statamic - (meta.embedded | meta.tag | comment.block.html | comment.block.statamic), L:(text.html.statamic meta.tag - (comment.block.statamic | meta.embedded.statamic | comment.block.html))":{"patterns":[{"include":"text.html.basic"}]},"text.html.statamic - (meta.embedded | meta.tag), L:((text.html.statamic meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.css - (meta.embedded.block.php | meta.embedded.line.php))":{"patterns":[{"include":"#php-tag"}]}}}
1
+ {"name":"Antlers (Statamic Syntax)","scopeName":"text.html.statamic","patterns":[{"include":"#php-tag"},{"include":"#statamic-comments"},{"include":"#frontMatter"},{"include":"#antlers-tags"}],"repository":{"antlers-conditionals":{"name":"keyword.control.statamic","match":"(?\u003c!:)(/?else|/?elseif|/?if|/?unless|endif|endunless|unlesselse|stop)"},"antlers-constants":{"match":"(\\G|\\s|\\b)(true|TRUE|false|FALSE|yes|YES|no|NO|null|as)\\s","captures":{"2":{"name":"constant.language.statamic"}}},"antlers-expression":{"patterns":[{"name":"punctuation.terminator.expression.statamic","match":";"},{"include":"#antlers-strings"},{"include":"#antlers-numbers"},{"name":"keyword.operator.key.statamic","match":"=\u003e"},{"name":"keyword.operator.class.statamic","match":"-\u003e"},{"include":"#statamic-explicit-tags"},{"include":"#statamic-core-tags"},{"name":"keyword.operator.comparison.statamic","match":"===|==|!==|!=|\u003c\u003e"},{"name":"keyword.operator.string.statamic","match":"\\\u0026=?"},{"name":"keyword.operator.assignment.statamic","match":"=|\\+=|\\-=|\\*\\*?=|/=|%=|\\|=|\\^=|\u003c\u003c=|\u003e\u003e="},{"name":"keyword.operator.logical.statamic","match":"(?\u003c!-)\\b(?i)(!|\\?\\?|\\?=|\\?|\u0026\u0026|\u0026|\\|\\|)|\\b(and|or|xor)\\b"},{"name":"keyword.operator.bitwise.statamic","match":"(?i)\\b(bwa|bwo|bxor|bnot|bsl|bsr)\\b"},{"name":"keyword.operator.comparison.statamic","match":"\u003c=\u003e|\u003c=|\u003e=|\u003c|\u003e"},{"name":"keyword.operator.arithmetic.statamic","match":"\\-|\\+|\\*\\*?|/|%"},{"name":"meta.array.statamic","begin":"(arr|list|switch)\\s*(\\()","end":"\\)|(?=\\?\u003e)","patterns":[{"include":"#antlers-expression"}],"beginCaptures":{"1":{"name":"support.function.construct.statamic"},"2":{"name":"punctuation.definition.array.begin.bracket.round.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.array.end.bracket.round.statamic"}}},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]},{"include":"#antlers-tag-parameter-variable"},{"include":"#antlers-language-operators"},{"include":"#antlers-variable"},{"include":"#antlers-modifier-pipe"},{"include":"#antlers-variable-modifier-name"},{"include":"#antlers-variable-modifiers"},{"include":"#antlers-constants"}]},"antlers-language-operators":{"match":"(\\w+)[\\s]","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#antlers-numbers"},{"include":"#language-operators"}]}}},"antlers-modifier-pipe":{"name":"keyword.operator.other.statamic","match":"(\\|)"},"antlers-numbers":{"name":"constant.numeric.statamic","match":"0|[1-9](?:_?[0-9]+)*"},"antlers-strings":{"patterns":[{"include":"#string-double-quoted"},{"include":"#string-single-quoted"}]},"antlers-tag-parameter-variable":{"match":"(:?([\\S:]+?)(=)('|\")([^\\4]*?)(\\4))","captures":{"1":{"patterns":[{"match":"\\\\([\\S:]+?)(=)('|\")([({].*?[}])('|\")","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"punctuation.definition.string.begin.html"},"4":{"patterns":[{"include":"source.js"}]},"5":{"name":"punctuation.definition.string.end.html"}}},{"match":"\\\\([\\S:]+?)(=)('|\")(.*?)(\\3)","captures":{"1":{"name":"entity.other.attribute-name.html"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"punctuation.definition.string.begin.html"},"4":{"name":"string.quoted.double.html"},"5":{"name":"punctuation.definition.string.end.html"}}},{"match":":([\\S:]+?)(=)('|\")(.*?)(\\3)","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"name":"punctuation.definition.string.begin.statamic"},"4":{"patterns":[{"include":"#antlers-expression"}]},"5":{"name":"punctuation.definition.string.end.statamic"}}},{"match":"([\\S]+?)(=)(('|\")(.*?)(\\4))","captures":{"1":{"name":"entity.other.attribute-name"},"2":{"name":"keyword.operator.assignment.statamic"},"3":{"patterns":[{"include":"#string-single-quoted"},{"include":"#string-double-quoted"}]}}}]}}},"antlers-tags":{"name":"meta.embedded.block.statamic","begin":"(?\u003c!@){{(?!\\$)(\\s?)","end":"(\\s?)}}","patterns":[{"include":"#statamic-comments"},{"include":"#php-tag"},{"include":"#antlers-conditionals"},{"include":"#antlers-expression"}]},"antlers-variable":{"match":"(/?\\w+)(:)?(\\w+)?","captures":{"1":{"name":"variable.statamic"},"2":{"name":"keyword.operator.statamic"},"3":{"name":"variable.statamic","patterns":[{"include":"$self"}]}}},"antlers-variable-modifier-name":{"match":"(\\s)?(\\|)(\\s)?(\\w+((^:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic"}}},"antlers-variable-modifiers":{"match":"(\\s)?(\\|)(\\s)?(\\w+((:([a-zA-Z0-9-_/-@]+)){1,2})?|((-|\\+|\\*|/|\\^|\\%):(\\d*)?\\.?(\\d+)))+","captures":{"2":{"name":"keyword.operator.statamic"},"4":{"name":"support.function.statamic","patterns":[{"include":"#antlers-expression"}]}}},"core-tag-names":{"patterns":[{"name":"entity.name.tag.statamic","match":"(?i)\\b(taxonomy|cookie|user_groups|user_roles|get_site|collection|asset|nocache|vite|mount_url|form|assets|cache|can|dd|ddd|dump|get_content|get_error|get_errors|get_files|glide|in|increment|installed|is|iterate|foreach|link|locales|markdown|member|mix|nav|not_found|404|obfuscate|parent|partial|path|query|range|loop|redirect|relate|rotate|route|scope|section|session|set|structure|svg|theme|trans|trans_choice|user|users|widont|yields|yield|slot|once|noparse|view|stack|push)\\b"}]},"frontMatter":{"contentName":"meta.embedded.block.frontmatter","begin":"\\A-{3}\\s*$","end":"(^|\\G)-{3}|\\.{3}\\s*$","patterns":[{"include":"source.yaml"}]},"language-operators":{"patterns":[{"name":"support.function.array.statamic","match":"(?i)\\b(pluck|take|skip|arr|orderby|groupby|merge|where|switch|bwa|bwo|bxor|bnot|bsl|bsr|if|elseif|else|void)(\\b)"}]},"php-tag":{"patterns":[{"name":"meta.embedded.block.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?(?![^?]*\\?\u003e)","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"(?\u003c!@){{([\\$\\?]\\s?)","end":"(\\s?)[\\$\\?]}}","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}},{"name":"meta.embedded.line.statamic","contentName":"source.php","begin":"\u003c\\?(?i:php|=)?","end":"(\\?)\u003e","patterns":[{"include":"text.html.php"}],"beginCaptures":{"0":{"name":"punctuation.section.embedded.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.section.embedded.end.statamic"},"1":{"name":"source.php"}}}]},"statamic-comments":{"name":"comment.block.statamic","begin":"{{#","end":"#}}"},"statamic-core-closing-tags":{"match":"\\/(\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-core-tags":{"match":"\\G(/?\\w+)+","captures":{"1":{"name":"variable.statamic","patterns":[{"include":"#core-tag-names"}]}}},"statamic-explicit-tags":{"match":"\\G(/?%\\w+)+","captures":{"1":{"name":"entity.name.tag.statamic"}}},"string-double-quoted":{"name":"string.quoted.double.statamic","begin":"\"","end":"\"","patterns":[{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}},"string-single-quoted":{"name":"string.quoted.single.statamic","begin":"'","end":"'","patterns":[{"name":"constant.character.escape.statamic","match":"\\\\[\\\\']"},{"begin":"(?\u003c!@){(\\s?)","end":"(\\s?)}","patterns":[{"include":"#antlers-expression"}]}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.statamic"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.statamic"}}}},"injections":{"text.html.statamic":{"patterns":[{"include":"#statamic-comments"},{"include":"#antlers-tags"}]},"text.html.statamic - (meta.embedded | meta.tag | comment.block.html | comment.block.statamic), L:(text.html.statamic meta.tag - (comment.block.statamic | meta.embedded.statamic | comment.block.html))":{"patterns":[{"include":"text.html.basic"}]},"text.html.statamic - (meta.embedded | meta.tag), L:((text.html.statamic meta.tag) - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.js - (meta.embedded.block.php | meta.embedded.line.php)), L:(source.css - (meta.embedded.block.php | meta.embedded.line.php))":{"patterns":[{"include":"#php-tag"}]}}}