github-linguist 9.0.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/github-linguist +3 -3
- data/grammars/etc.json +1 -1
- data/grammars/inline.edgeql.json +1 -1
- data/grammars/liquid.injection.json +1 -1
- data/grammars/source.4dm.json +1 -1
- data/grammars/source.QB64.json +1 -1
- data/grammars/source.abap.json +1 -1
- data/grammars/source.abl.json +1 -1
- data/grammars/source.aiken.json +1 -0
- data/grammars/source.answersetprogramming.json +1 -0
- data/grammars/source.apacheconf.json +1 -0
- data/grammars/source.apex.json +1 -1
- data/grammars/source.assembly.json +1 -1
- data/grammars/source.ats.json +1 -1
- data/grammars/source.ballerina.json +1 -1
- data/grammars/source.brs.json +1 -1
- data/grammars/source.bst.json +1 -0
- data/grammars/source.c++.json +1 -1
- data/grammars/source.c.calendar.json +1 -0
- data/grammars/source.c.json +1 -1
- data/grammars/source.c.linker.json +1 -0
- data/grammars/source.cairo0.json +1 -1
- data/grammars/source.cl.json +1 -1
- data/grammars/source.clue.json +1 -0
- data/grammars/source.cmake.json +1 -1
- data/grammars/source.cmakecache.json +1 -1
- data/grammars/source.cobol.json +1 -1
- data/grammars/source.cs.json +1 -1
- data/grammars/source.curlrc.json +1 -1
- data/grammars/source.curry.json +1 -1
- data/grammars/source.daslang.json +1 -0
- data/grammars/source.dds.dspf.json +1 -1
- data/grammars/source.erlang.json +1 -1
- data/grammars/source.gdscript.json +1 -1
- data/grammars/source.git-revlist.json +1 -1
- data/grammars/source.gleam.json +1 -1
- data/grammars/source.hack.json +1 -1
- data/grammars/source.hcl.json +1 -1
- data/grammars/source.hx.json +1 -1
- data/grammars/source.ice.json +1 -1
- data/grammars/source.ilecobol.json +1 -0
- data/grammars/source.ispc.json +1 -0
- data/grammars/source.jai.json +1 -0
- data/grammars/source.json.comments.json +1 -0
- data/grammars/source.julia.console.json +1 -1
- data/grammars/source.julia.json +1 -1
- data/grammars/source.just.json +1 -1
- data/grammars/source.kdl.json +1 -0
- data/grammars/source.koka.json +1 -0
- data/grammars/source.lean.markdown.json +1 -1
- data/grammars/source.lean4.markdown.json +1 -1
- data/grammars/source.leo.json +1 -0
- data/grammars/source.livescript.json +1 -1
- data/grammars/source.m2.json +1 -1
- data/grammars/source.m3u.json +1 -0
- data/grammars/source.matlab.json +1 -1
- data/grammars/source.mo.json +1 -1
- data/grammars/source.moonbit.json +1 -1
- data/grammars/source.mzn.json +1 -0
- data/grammars/source.nasl.json +1 -1
- data/grammars/source.nim.json +1 -1
- data/grammars/source.nr.json +1 -1
- data/grammars/source.nushell.json +1 -1
- data/grammars/source.objc.json +1 -1
- data/grammars/source.odin.json +1 -1
- data/grammars/source.openesql.json +1 -1
- data/grammars/source.openqasm.json +1 -0
- data/grammars/source.overpassql.json +1 -0
- data/grammars/source.polar.json +1 -1
- data/grammars/source.prisma.json +1 -1
- data/grammars/source.purescript.json +1 -1
- data/grammars/source.ql.json +1 -1
- data/grammars/source.qsharp.json +1 -1
- data/grammars/source.rescript.json +1 -1
- data/grammars/source.roc.json +1 -1
- data/grammars/source.rpgle.json +1 -1
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sail.json +1 -0
- data/grammars/source.scala.json +1 -1
- data/grammars/source.scm.json +1 -0
- data/grammars/source.slang.json +1 -0
- data/grammars/source.slice.json +1 -1
- data/grammars/source.slint.json +1 -1
- data/grammars/source.smithy.json +1 -1
- data/grammars/source.soql.json +1 -1
- data/grammars/source.sourcepawn.json +1 -1
- data/grammars/source.stan.json +1 -1
- data/grammars/source.sway.json +1 -1
- data/grammars/source.swift.json +1 -1
- data/grammars/source.tact.json +1 -1
- data/grammars/source.talon.json +1 -1
- data/grammars/source.templ.json +1 -1
- data/grammars/source.textgrid.json +1 -1
- data/grammars/source.toc.json +1 -1
- data/grammars/source.torrc.json +1 -0
- data/grammars/source.ts.prismaClientRawSQL.json +1 -1
- data/grammars/source.tsp.json +1 -1
- data/grammars/source.typst.json +1 -1
- data/grammars/source.uplc.json +1 -0
- data/grammars/source.vba.json +1 -1
- data/grammars/source.vento.json +1 -0
- data/grammars/source.vue.json +1 -1
- data/grammars/source.wdl.json +1 -1
- data/grammars/source.wit.json +1 -1
- data/grammars/source.xmake.json +1 -0
- data/grammars/source.zmodel.json +1 -0
- data/grammars/text.adblock.json +1 -1
- data/grammars/text.html.liquid.json +1 -1
- data/grammars/text.html.markdown.d2.json +1 -1
- data/grammars/text.html.vento.json +1 -0
- data/grammars/text.rtf.json +1 -1
- data/grammars/text.valve-cfg.json +1 -1
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/generated.rb +24 -2
- data/lib/linguist/heuristics.yml +65 -18
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +298 -33
- data/lib/linguist/samples.json +1 -1
- data/lib/linguist/shebang.rb +1 -1
- metadata +34 -14
- data/grammars/source.apache-config.json +0 -1
- data/grammars/source.apache-config.mod_perl.json +0 -1
- data/grammars/source.c.platform.json +0 -1
- data/grammars/text.html.erlang.yaws.json +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"Lua","scopeName":"source.xmake","patterns":[{"name":"meta.function.lua","begin":"\\b(?:(local)\\s+)?(function)\\b(?![,:])","end":"(?\u003c=[\\)\\-{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"meta.parameter.lua","begin":"(\\()","end":"(\\))|(?=[\\-\\.{}\\[\\]\"'])","patterns":[{"include":"#comment"},{"name":"variable.parameter.function.lua","match":"[a-zA-Z_][a-zA-Z0-9_]*"},{"name":"punctuation.separator.arguments.lua","match":","},{"begin":":","end":"(?=[\\),])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"punctuation.separator.arguments.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.lua"}},"endCaptures":{"1":{"name":"punctuation.definition.parameters.finish.lua"}}},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b\\s*(?=:)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b"}],"beginCaptures":{"1":{"name":"keyword.local.lua"},"2":{"name":"keyword.control.lua"}}},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(\\.[0-9A-Fa-f]*)?([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.float.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX]\\.[0-9A-Fa-f]+([eE]-?\\d*)?([pP][-+]\\d+)?"},{"name":"constant.numeric.integer.hexadecimal.lua","match":"(?\u003c![\\w\\d.])0[xX][0-9A-Fa-f]+(?![pPeE.0-9])"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\d+(\\.\\d*)?([eE]-?\\d*)?"},{"name":"constant.numeric.float.lua","match":"(?\u003c![\\w\\d.])\\.\\d+([eE]-?\\d*)?"},{"name":"constant.numeric.integer.lua","match":"(?\u003c![\\w\\d.])\\d+(?![pPeE.0-9])"},{"include":"#string"},{"name":"comment.line.shebang.lua","match":"\\A(#!).*$\\n?","captures":{"1":{"name":"punctuation.definition.comment.lua"}}},{"include":"#comment"},{"match":"\\b(goto)\\s+([a-zA-Z_][a-zA-Z0-9_]*)","captures":{"1":{"name":"keyword.control.goto.lua"},"2":{"name":"string.tag.lua"}}},{"name":"string.tag.lua","match":"(::)\\s*[a-zA-Z_][a-zA-Z0-9_]*\\s*(::)","captures":{"1":{"name":"punctuation.section.embedded.begin.lua"},"2":{"name":"punctuation.section.embedded.end.lua"}}},{"match":"\u003c\\s*(const|close)\\s*\u003e","captures":{"0":{"name":"storage.type.attribute.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"keyword.control.lua","match":"\\b(break|do|else|for|if|elseif|goto|return|then|repeat|while|until|end|in)\\b"},{"name":"keyword.local.lua","match":"\\b(local)\\b"},{"name":"keyword.control.lua","match":"\\b(function)\\b(?![,:])"},{"name":"constant.language.lua","match":"(?\u003c![^.]\\.|:)\\b(false|nil(?!:)|true|_ENV|_G|_VERSION|math\\.(pi|huge|maxinteger|mininteger)|utf8\\.charpattern|io\\.(stdin|stdout|stderr)|package\\.(config|cpath|loaded|loaders|path|preload|searchers))\\b|(?\u003c![.])\\.{3}(?!\\.)"},{"name":"variable.language.self.lua","match":"(?\u003c![^.]\\.|:)\\b(self)\\b"},{"name":"support.function.lua","match":"(?\u003c![^.]\\.|:)\\b(assert|collectgarbage|dofile|error|getfenv|getmetatable|ipairs|load|loadfile|loadstring|module|next|pairs|pcall|print|rawequal|rawget|rawlen|rawset|require|select|setfenv|setmetatable|tonumber|tostring|type|unpack|xpcall)\\b(?!\\s*=(?!=))"},{"name":"entity.name.tag.lua","match":"(?\u003c![^.]\\.|:)\\b(async)\\b(?!\\s*=(?!=))"},{"name":"support.function.library.lua","match":"(?\u003c![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset)|add_moduledirs|add_packagedirs|add_platformdirs|add_plugindirs|add_repositories|add_requireconfs|add_requires|format|get_config|getenv|has_config|has_package|includes|ipairs|is_arch|is_config|is_cross|is_host|is_kind|is_mode|is_os|is_plat|is_subhost|pairs|print|printf|set_allowedarchs|set_allowedmodes|set_allowedplats|set_config|set_defaultarchs|set_defaultmode|set_defaultplat|set_description|set_project|set_xmakever|tonumber|tostring|type|unpack|hash\\.(md5|sha1|sha256|strhash128|strhash32|uuid|uuid4|xxhash128|xxhash64)|linuxos\\.(kernelver|name|version)|macos.version|os\\.(arch|cpuinfo|curdir|date|default_njob|dirs|exists|filedirs|files|filesize|getenv|host|isdir|isfile|mclock|mtime|programdir|programfile|projectdir|projectfile|scriptdir|subarch|subhost|term|time|tmpdir)|path\\.(absolute|basename|cygwin|cygwin_path|directory|envsep|extension|filename|instance_of|is_absolute|islastsep|join|joinenv|new|normalize|pattern|relative|sep|split|splitenv|translate|unix)|winos\\.(registry_keys|registry_query|registry_values|version)|xmake\\.(luajit|programdir|programfile|version)|add_arflags|add_asflags|add_cflags|add_cfuncs|add_cincludes|add_csnippets|add_ctypes|add_cuflags|add_cugencodes|add_culdflags|add_cxflags|add_cxxflags|add_cxxfuncs|add_cxxincludes|add_cxxsnippets|add_cxxtypes|add_dcflags|add_defines|add_deps|add_fcflags|add_features|add_frameworkdirs|add_frameworks|add_gcflags|add_imports|add_includedirs|add_ldflags|add_linkdirs|add_links|add_mflags|add_mrcflags|add_mxflags|add_mxxflags|add_ncflags|add_pcflags|add_rcflags|add_rpathdirs|add_scflags|add_shflags|add_sysincludedirs|add_syslinks|add_undefines|add_vectorexts|add_zcflags|after_check|before_check|on_check|set_category|set_configvar|set_default|set_languages|set_optimize|set_showmenu|set_values|set_warnings|add_bindirs|add_components|add_configs|add_extsources|add_linkgroups|add_linkorders|add_patches|add_resources|add_urls|add_versionfiles|add_versions|on_component|on_download|on_fetch|on_install|on_load|on_source|on_test|set_arch|set_base|set_cachedir|set_homepage|set_installdir|set_installtips|set_kind|set_license|set_parallelize|set_plat|set_policy|set_sourcedir|set_urls|after_build|after_build_file|after_build_files|after_buildcmd|after_buildcmd_file|after_buildcmd_files|after_clean|after_config|after_install|after_installcmd|after_link|after_linkcmd|after_load|after_package|after_run|after_test|after_uninstall|after_uninstallcmd|before_build|before_build_file|before_build_files|before_buildcmd|before_buildcmd_file|before_buildcmd_files|before_clean|before_config|before_install|before_installcmd|before_link|before_linkcmd|before_load|before_package|before_run|before_test|before_uninstall|before_uninstallcmd|on_build|on_build_file|on_build_files|on_buildcmd|on_buildcmd_file|on_buildcmd_files|on_clean|on_config|on_installcmd|on_link|on_linkcmd|on_package|on_run|on_uninstall|on_uninstallcmd|set_extensions|set_sourcekinds|add_cleanfiles|add_configfiles|add_extrafiles|add_filegroups|add_files|add_forceincludes|add_headerfiles|add_installfiles|add_languages|add_options|add_packages|add_rules|add_runenvs|add_tests|add_toolchains|add_values|del_files|remove_configfiles|remove_extrafiles|remove_files|remove_headerfiles|remove_installfiles|set_autogendir|set_basename|set_configdir|set_dependir|set_enabled|set_encodings|set_exceptions|set_extension|set_filename|set_fpmodels|set_group|set_objectdir|set_options|set_pcheader|set_pcxxheader|set_pmheader|set_pmxxheader|set_prefixdir|set_prefixname|set_rules|set_runargs|set_rundir|set_runenv|set_runtimes|set_strip|set_suffixname|set_symbols|set_targetdir|set_toolchains|set_toolset|set_version|add_toolset|set_archs|set_bindir|set_cross|set_formats|set_sdkdir)\\b(?!\\s*=(?!=))"},{"name":"keyword.operator.lua","match":"\\b(and|or|not|\\|\\||\\\u0026\\\u0026|\\!)\\b"},{"name":"support.function.any-method.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*(?:[({\"']|\\[\\[))"},{"name":"entity.name.class.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*\\??:)"},{"name":"entity.other.attribute.lua","match":"(?\u003c=[^.]\\.|:)\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"variable.other.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?!\\s*=\\s*\\b(function)\\b)"},{"name":"entity.name.function.lua","match":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(?=\\s*=\\s*\\b(function)\\b)"},{"name":"keyword.operator.lua","match":"\\+|-|%|#|\\*|\\/|\\^|==?|~=|!=|\u003c=?|\u003e=?|(?\u003c!\\.)\\.{2}(?!\\.)"}],"repository":{"comment":{"patterns":[{"begin":"(^[ \\t]+)?(?=--)","end":"(?!\\G)((?!^)[ \\t]+\\n)?","patterns":[{"begin":"--\\[(=*)\\[@@@","end":"(--)?\\]\\1\\]","patterns":[{"include":"source.xmake"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.block.lua","begin":"--\\[(=*)\\[","end":"(--)?\\]\\1\\]","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}},{"name":"comment.line.double-dash.lua","begin":"----","end":"\\n","beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.documentation.lua","begin":"---","end":"\\n","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}},{"name":"comment.line.double-dash.lua","begin":"--","end":"\\n","patterns":[{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.lua"}}}],"beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.lua"}},"endCaptures":{"1":{"name":"punctuation.whitespace.comment.trailing.lua"}}},{"name":"comment.block.lua","begin":"\\/\\*","end":"\\*\\/","patterns":[{"include":"#emmydoc"},{"include":"#ldoc_tag"}],"beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.lua"}}}]},"emmydoc":{"patterns":[{"begin":"(?\u003c=---)[ \\t]*@class","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":":|,"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@enum","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@type","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@alias","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"variable.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*(@operator)\\s*(\\b[a-z]+)?","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"storage.type.annotation.lua"},"2":{"name":"support.function.library.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@cast","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)","end":"(?=\\n)","patterns":[{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"([+-|])"}],"beginCaptures":{"0":{"name":"variable.other.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@param","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"1":{"name":"entity.name.variable.lua"},"2":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@return","end":"(?=[\\n@#])","patterns":[{"name":"keyword.operator.lua","match":"\\?"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@field","end":"(?=[\\n@#])","patterns":[{"begin":"(\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b|(\\[))(\\??)","end":"(?=[\\n#])","patterns":[{"include":"#string"},{"include":"#emmydoc.type"},{"name":"keyword.operator.lua","match":"\\]"}],"beginCaptures":{"2":{"name":"entity.name.variable.lua"},"3":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@generic","end":"(?=[\\n@#])","patterns":[{"begin":"\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","end":"(?=\\n)|(,)","patterns":[{"name":"keyword.operator.lua","match":":"},{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.generic.lua"}},"endCaptures":{"0":{"name":"keyword.operator.lua"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@vararg","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@overload","end":"(?=[\\n@#])","patterns":[{"include":"#emmydoc.type"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@deprecated","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@meta","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@private","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@protected","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@package","end":"(?=[\\n@#])","beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@version","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b(5\\.1|5\\.2|5\\.3|5\\.4|JIT)\\b"},{"name":"keyword.operator.lua","match":",|\\\u003e|\\\u003c"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@see","end":"(?=[\\n@#])","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*)"},{"name":"keyword.operator.lua","match":"#"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@diagnostic","end":"(?=[\\n@#])","patterns":[{"begin":"([a-zA-Z_\\-0-9]+)[ \\t]*(:)?","end":"(?=\\n)","patterns":[{"name":"support.class.lua","match":"\\b([a-zA-Z_\\*][a-zA-Z0-9_\\-]*)"},{"name":"keyword.operator.lua","match":","}],"beginCaptures":{"1":{"name":"keyword.other.unit"},"2":{"name":"keyword.operator.unit"}}}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"begin":"(?\u003c=---)[ \\t]*@module","end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}},{"name":"storage.type.annotation.lua","match":"(?\u003c=---)[ \\t]*@(async|nodiscard)"},{"begin":"(?\u003c=---)\\|\\s*[\\\u003e\\+]?","end":"(?=[\\n@#])","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"storage.type.annotation.lua"}}}]},"emmydoc.type":{"patterns":[{"begin":"\\bfun\\b","end":"(?=[\\s#])","patterns":[{"name":"keyword.operator.lua","match":"[\\(\\),:\\?][ \\t]*"},{"name":"entity.name.variable.lua","match":"([a-zA-Z_][a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]*)(?\u003c!,)[ \\t]*(?=\\??:)"},{"include":"#emmydoc.type"},{"include":"#string"}],"beginCaptures":{"0":{"name":"keyword.control.lua"}}},{"name":"storage.type.generic.lua","match":"\\\u003c[a-zA-Z_\\*][a-zA-Z0-9_\\.\\*\\-]*\\\u003e"},{"name":"entity.name.tag.lua","match":"\\basync\\b"},{"name":"keyword.operator.lua","match":"[\\{\\}\\:\\,\\?\\|\\`][ \\t]*"},{"begin":"(?=[a-zA-Z_\\.\\*\"'\\[])","end":"(?=[\\s\\)\\,\\?\\:\\}\\|#])","patterns":[{"name":"support.type.lua","match":"([a-zA-Z0-9_\\.\\*\\[\\]\\\u003c\\\u003e\\,\\-]+)(?\u003c!,)[ \\t]*"},{"name":"constant.language.lua","match":"(\\.\\.\\.)[ \\t]*"},{"include":"#string"}]}]},"escaped_char":{"patterns":[{"name":"constant.character.escape.lua","match":"\\\\[abfnrtv\\\\\"'\\n]"},{"name":"constant.character.escape.lua","match":"\\\\z[\\n\\t ]*"},{"name":"constant.character.escape.byte.lua","match":"\\\\\\d{1,3}"},{"name":"constant.character.escape.byte.lua","match":"\\\\x[0-9A-Fa-f][0-9A-Fa-f]"},{"name":"constant.character.escape.unicode.lua","match":"\\\\u\\{[0-9A-Fa-f]+\\}"},{"name":"invalid.illegal.character.escape.lua","match":"\\\\."}]},"ldoc_tag":{"match":"\\G[ \\t]*(@)(alias|annotation|author|charset|class|classmod|comment|constructor|copyright|description|example|export|factory|field|file|fixme|function|include|lfunction|license|local|module|name|param|pragma|private|raise|release|return|script|section|see|set|static|submodule|summary|tfield|thread|tparam|treturn|todo|topic|type|usage|warning|within)\\b","captures":{"1":{"name":"punctuation.definition.block.tag.ldoc"},"2":{"name":"storage.type.class.ldoc"}}},"string":{"patterns":[{"name":"string.quoted.single.lua","begin":"'","end":"'[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"\"","end":"\"[ \\t]*|(?=\\n)","patterns":[{"include":"#escaped_char"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.double.lua","begin":"`","end":"`[ \\t]*|(?=\\n)","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}},{"contentName":"meta.embedded.lua","begin":"(?\u003c=\\.cdef)\\s*(\\[(=*)\\[)","end":"(\\]\\2\\])[ \\t]*","patterns":[{"include":"source.c"}],"beginCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"string.quoted.other.multiline.lua"},"1":{"name":"punctuation.definition.string.end.lua"}}},{"name":"string.quoted.other.multiline.lua","begin":"(?\u003c!--)\\[(=*)\\[","end":"\\]\\1\\][ \\t]*","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.lua"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end.lua"}}}]}}}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"name":"zmodel","scopeName":"source.zmodel","patterns":[{"include":"#comments"},{"name":"keyword.control.zmodel","match":"\\b(Any|BigInt|Boolean|Bytes|ContextType|DateTime|Decimal|FieldReference|Float|Int|Json|Null|Object|String|TransitiveFieldReference|Unsupported|abstract|attribute|datasource|enum|extends|false|function|generator|import|in|model|null|plugin|this|true|type|view)\\b"},{"name":"string.quoted.double.zmodel","begin":"\"","end":"\"","patterns":[{"include":"#string-character-escape"}]},{"name":"string.quoted.single.zmodel","begin":"'","end":"'","patterns":[{"include":"#string-character-escape"}]}],"repository":{"comments":{"patterns":[{"name":"comment.block.zmodel","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.zmodel"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.zmodel"}}},{"name":"comment.line.zmodel","begin":"//","end":"(?=$)","beginCaptures":{"1":{"name":"punctuation.whitespace.comment.leading.zmodel"}}}]},"string-character-escape":{"name":"constant.character.escape.zmodel","match":"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|u\\{[0-9A-Fa-f]+\\}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)"}}}
|
data/grammars/text.adblock.json
CHANGED
@@ -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|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_mv3|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|NOT_VALIDATE)"},{"name":"constant.language.platform.name","match":"(windows|mac|cli|android|ios|ext_chromium_mv3|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 +1 @@
|
|
1
|
-
{"name":"Liquid HTML","scopeName":"text.html.liquid","patterns":[{"include":"#core"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#style_codefence"},{"include":"#stylesheet_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"stylesheet_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(stylesheet)\\s*(-?%})","end":"({%-?)\\s*(endstylesheet)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_comment_inline"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_block_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b","patterns":[{"include":"#tag_comment_block_liquid"},{"match":"(?:^\\s*)(?!(comment|endcomment)).*"}]},"tag_comment_inline":{"name":"comment.line.number-sign.liquid","begin":"#","end":"(?=%})"},"tag_comment_inline_liquid":{"name":"comment.line.number-sign.liquid","begin":"(?:^\\s*)#.*","end":"$"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_block_liquid"},{"include":"#tag_comment_inline_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}},"injections":{"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted":{"patterns":[{"include":"#injection"}]}}}
|
1
|
+
{"name":"Liquid HTML","scopeName":"text.html.liquid","patterns":[{"include":"#core"}],"repository":{"attribute":{"begin":"\\w+:","end":"(?=,|%}|}}|\\|)","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"attribute_liquid":{"begin":"\\w+:","end":"(?=,|\\|)|$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"entity.other.attribute-name.liquid"}}},"comment_block":{"name":"comment.block.liquid","begin":"{%-?\\s*comment\\s*-?%}","end":"{%-?\\s*endcomment\\s*-?%}","patterns":[{"include":"#comment_block"},{"match":"(.(?!{%-?\\s*(comment|endcomment)\\s*-?%}))*."}]},"core":{"patterns":[{"include":"#raw_tag"},{"include":"#doc_tag"},{"include":"#comment_block"},{"include":"#style_codefence"},{"include":"#stylesheet_codefence"},{"include":"#json_codefence"},{"include":"#javascript_codefence"},{"include":"#object"},{"include":"#tag"},{"include":"text.html.basic"}]},"doc_tag":{"name":"meta.block.doc.liquid","contentName":"comment.block.documentation.liquid","begin":"{%-?\\s*(doc)\\s*-?%}","end":"{%-?\\s*(enddoc)\\s*-?%}","patterns":[{"include":"#liquid_doc_description_tag"},{"include":"#liquid_doc_param_tag"},{"include":"#liquid_doc_example_tag"},{"include":"#liquid_doc_prompt_tag"},{"include":"#liquid_doc_fallback_tag"}],"beginCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}},"endCaptures":{"0":{"name":"meta.tag.liquid"},"1":{"name":"entity.name.tag.doc.liquid"}}},"filter":{"match":"\\|\\s*((?![\\.0-9])[a-zA-Z0-9_-]+\\:?)\\s*","captures":{"1":{"name":"support.function.liquid"}}},"injection":{"patterns":[{"include":"#raw_tag"},{"include":"#comment_block"},{"include":"#object"},{"include":"#tag_injection"}]},"invalid_range":{"name":"invalid.illegal.range.liquid","match":"\\((.(?!\\.\\.))+\\)"},"javascript_codefence":{"name":"meta.block.javascript.liquid","contentName":"meta.embedded.block.js","begin":"({%-?)\\s*(javascript)\\s*(-?%})","end":"({%-?)\\s*(endjavascript)\\s*(-?%})","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.javascript.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.javascript.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.javascript.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"json_codefence":{"name":"meta.block.schema.liquid","contentName":"meta.embedded.block.json","begin":"({%-?)\\s*(schema)\\s*(-?%})","end":"({%-?)\\s*(endschema)\\s*(-?%})","patterns":[{"include":"source.json"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.schema.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.schema.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.schema.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"language_constant":{"name":"constant.language.liquid","match":"\\b(false|true|nil|blank)\\b|empty(?!\\?)"},"liquid_doc_description_tag":{"contentName":"string.quoted.single.liquid","begin":"(@description)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_example_tag":{"contentName":"meta.embedded.block.liquid","begin":"(@example)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","patterns":[{"include":"#core"}],"beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"liquid_doc_fallback_tag":{"match":"(@\\w+)\\b","captures":{"1":{"name":"comment.block.liquid"}}},"liquid_doc_param_tag":{"match":"(@param)\\s+(?:({[^}]*}?)\\s+)?(\\[?[a-zA-Z_][\\w-]*\\]?)?(?:\\s+(.*))?","captures":{"1":{"name":"storage.type.class.liquid"},"2":{"name":"entity.name.type.instance.liquid"},"3":{"name":"variable.other.liquid"},"4":{"name":"string.quoted.single.liquid"}}},"liquid_doc_prompt_tag":{"contentName":"string.quoted.single.liquid","begin":"(@prompt)\\b\\s*","end":"(?=@prompt|@example|@param|@description|{%-?\\s*enddoc\\s*-?%})","beginCaptures":{"0":{"name":"comment.block.documentation.liquid"},"1":{"name":"storage.type.class.liquid"}}},"number":{"name":"constant.numeric.liquid","match":"((-|\\+)\\s*)?[0-9]+(\\.[0-9]+)?"},"object":{"name":"meta.object.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){{-?","end":"-?}}","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"operator":{"match":"(?:(?\u003c=\\s)|\\b)(\\=\\=|!\\=|\\\u003e|\\\u003c|\\\u003e\\=|\\\u003c\\=|or|and|contains)(?:(?=\\s)|\\b)","captures":{"1":{"name":"keyword.operator.expression.liquid"}}},"range":{"name":"meta.range.liquid","begin":"\\(","end":"\\)","patterns":[{"name":"punctuation.range.liquid","match":"\\.\\."},{"include":"#variable_lookup"},{"include":"#number"}],"beginCaptures":{"0":{"name":"punctuation.section.parens.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.parens.end.liquid"}}},"raw_tag":{"name":"meta.entity.tag.raw.liquid","contentName":"string.unquoted.liquid","begin":"{%-?\\s*(raw)\\s*-?%}","end":"{%-?\\s*(endraw)\\s*-?%}","patterns":[{"match":"(.(?!{%-?\\s*endraw\\s*-?%}))*."}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}},"endCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"string":{"patterns":[{"include":"#string_single"},{"include":"#string_double"}]},"string_double":{"name":"string.quoted.double.liquid","begin":"\"","end":"\""},"string_single":{"name":"string.quoted.single.liquid","begin":"'","end":"'"},"style_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(style)\\s*(-?%})","end":"({%-?)\\s*(endstyle)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"stylesheet_codefence":{"name":"meta.block.style.liquid","contentName":"meta.embedded.block.css","begin":"({%-?)\\s*(stylesheet)\\s*(-?%})","end":"({%-?)\\s*(endstylesheet)\\s*(-?%})","patterns":[{"include":"source.css"}],"beginCaptures":{"0":{"name":"meta.tag.metadata.style.start.liquid"},"1":{"name":"punctuation.definition.tag.begin.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"meta.tag.metadata.style.end.liquid"},"1":{"name":"punctuation.definition.tag.end.liquid"},"2":{"name":"entity.name.tag.style.liquid"},"3":{"name":"punctuation.definition.tag.end.liquid"}}},"tag":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_assign":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"(?=%})","patterns":[{"include":"#filter"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_assign_liquid":{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(assign|echo)\\b","end":"$","patterns":[{"include":"#filter"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}},"tag_body":{"patterns":[{"include":"#tag_liquid"},{"include":"#tag_assign"},{"include":"#tag_comment_inline"},{"include":"#tag_case"},{"include":"#tag_conditional"},{"include":"#tag_for"},{"include":"#tag_paginate"},{"include":"#tag_render"},{"include":"#tag_tablerow"},{"include":"#tag_expression"}]},"tag_case":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_case_liquid":{"name":"meta.entity.tag.case.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(case|when)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.case.liquid"}}},"tag_comment_block_liquid":{"name":"comment.block.liquid","begin":"(?:^\\s*)(comment)\\b","end":"(?:^\\s*)(endcomment)\\b","patterns":[{"include":"#tag_comment_block_liquid"},{"match":"(?:^\\s*)(?!(comment|endcomment)).*"}]},"tag_comment_inline":{"name":"comment.line.number-sign.liquid","begin":"#","end":"(?=%})"},"tag_comment_inline_liquid":{"name":"comment.line.number-sign.liquid","begin":"(?:^\\s*)#.*","end":"$"},"tag_conditional":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_conditional_liquid":{"name":"meta.entity.tag.conditional.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(if|elsif|unless)\\b","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"keyword.control.conditional.liquid"}}},"tag_expression":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"(?=%})","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_liquid":{"patterns":[{"include":"#tag_expression_without_arguments"},{"name":"meta.entity.tag.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(\\w+)","end":"$","patterns":[{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.liquid"}}}]},"tag_expression_without_arguments":{"patterns":[{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endunless|endif)\\b","captures":{"1":{"name":"keyword.control.conditional.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endfor|endtablerow|endpaginate)\\b","captures":{"1":{"name":"keyword.control.loop.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcase)\\b","captures":{"1":{"name":"keyword.control.case.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(capture|case|comment|for|form|if|javascript|paginate|schema|style)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(endcapture|endcase|endcomment|endfor|endform|endif|endjavascript|endpaginate|endschema|endstyle)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}},{"match":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(else|break|continue)\\b","captures":{"1":{"name":"keyword.control.other.liquid"}}}]},"tag_for":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"(?=%})","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_for_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in|reversed)\\b"},{"name":"keyword.control.liquid","match":"\\b(offset|limit):"},{"include":"#value_expression"}]},"tag_for_liquid":{"name":"meta.entity.tag.for.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(for)\\b","end":"$","patterns":[{"include":"#tag_for_body"}],"beginCaptures":{"1":{"name":"keyword.control.for.liquid"}}},"tag_injection":{"name":"meta.tag.liquid","begin":"(?\u003c!comment %})(?\u003c!comment -%})(?\u003c!comment%})(?\u003c!comment-%})(?\u003c!raw %})(?\u003c!raw -%})(?\u003c!raw%})(?\u003c!raw-%}){%-?(?!-?\\s*(endstyle|endjavascript|endcomment|endraw))","end":"-?%}","patterns":[{"include":"#tag_body"}],"beginCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}},"endCaptures":{"0":{"name":"punctuation.definition.tag.end.liquid"}}},"tag_liquid":{"name":"meta.entity.tag.liquid.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(liquid)\\b","end":"(?=%})","patterns":[{"include":"#tag_comment_block_liquid"},{"include":"#tag_comment_inline_liquid"},{"include":"#tag_assign_liquid"},{"include":"#tag_case_liquid"},{"include":"#tag_conditional_liquid"},{"include":"#tag_for_liquid"},{"include":"#tag_paginate_liquid"},{"include":"#tag_render_liquid"},{"include":"#tag_tablerow_liquid"},{"include":"#tag_expression_liquid"}],"beginCaptures":{"1":{"name":"keyword.control.liquid.liquid"}}},"tag_paginate":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"(?=%})","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_paginate_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(by)\\b"},{"include":"#value_expression"}]},"tag_paginate_liquid":{"name":"meta.entity.tag.paginate.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(paginate)\\b","end":"$","patterns":[{"include":"#tag_paginate_body"}],"beginCaptures":{"1":{"name":"keyword.control.paginate.liquid"}}},"tag_render":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"(?=%})","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_liquid":{"name":"meta.entity.tag.render.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(render)\\b","end":"$","patterns":[{"include":"#tag_render_special_keywords"},{"include":"#attribute_liquid"},{"include":"#value_expression"}],"beginCaptures":{"1":{"name":"entity.name.tag.render.liquid"}}},"tag_render_special_keywords":{"name":"keyword.control.other.liquid","match":"\\b(with|as|for)\\b"},"tag_tablerow":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"(?=%})","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"tag_tablerow_body":{"patterns":[{"name":"keyword.control.liquid","match":"\\b(in)\\b"},{"name":"keyword.control.liquid","match":"\\b(cols|offset|limit):"},{"include":"#value_expression"}]},"tag_tablerow_liquid":{"name":"meta.entity.tag.tablerow.liquid","begin":"(?:(?:(?\u003c={%)|(?\u003c={%-)|^)\\s*)(tablerow)\\b","end":"$","patterns":[{"include":"#tag_tablerow_body"}],"beginCaptures":{"1":{"name":"keyword.control.tablerow.liquid"}}},"value_expression":{"patterns":[{"match":"(\\[)(\\|)(?=[^\\]]*)(?=\\])","captures":{"2":{"name":"invalid.illegal.filter.liquid"},"3":{"name":"invalid.illegal.filter.liquid"}}},{"name":"invalid.illegal.filter.liquid","match":"(?\u003c=\\s)(\\+|\\-|\\/|\\*)(?=\\s)"},{"include":"#language_constant"},{"include":"#operator"},{"include":"#invalid_range"},{"include":"#range"},{"include":"#number"},{"include":"#string"},{"include":"#variable_lookup"}]},"variable_lookup":{"patterns":[{"name":"variable.language.liquid","match":"\\b(additional_checkout_buttons|address|all_country_option_tags|all_products|article|articles|block|blog|blogs|canonical_url|cart|checkout|collection|collections|comment|content_for_additional_checkout_buttons|content_for_header|content_for_index|content_for_layout|country_option_tags|currency|current_page|current_tags|customer|customer_address|discount_allocation|discount_application|external_video|font|forloop|form|fulfillment|gift_card|handle|image|images|line_item|link|linklist|linklists|location|localization|metafield|model|model_source|order|page|page_description|page_image|page_title|pages|paginate|part|policy|powered_by_link|predictive_search|product|product_option|product_variant|recommendations|request|routes|script|scripts|search|section|selling_plan|selling_plan_allocation|selling_plan_group|settings|shipping_method|shop|shop_locale|store_availability|tablerow|tax_line|template|theme|transaction|unit_price_measurement|variant|video|video_source)\\b"},{"name":"variable.parameter.liquid","match":"((?\u003c=\\w\\:\\s)\\w+)"},{"name":"meta.brackets.liquid","begin":"(?\u003c=\\w)\\[","end":"\\]","patterns":[{"include":"#string"}],"beginCaptures":{"0":{"name":"punctuation.section.brackets.begin.liquid"}},"endCaptures":{"0":{"name":"punctuation.section.brackets.end.liquid"}}},{"name":"variable.other.member.liquid","match":"(?\u003c=(\\w|\\])\\.)([-\\w]+\\??)"},{"name":"punctuation.accessor.liquid","match":"(?\u003c=\\w)\\.(?=\\w)"},{"name":"variable.other.liquid","match":"(?i)[a-z_](\\w|(?:-(?!\\}\\})))*"}]}},"injections":{"L:meta.embedded.block.js, L:meta.embedded.block.css, L:meta.embedded.block.html, L:string.quoted":{"patterns":[{"include":"#injection"}]}}}
|