diff --git a/org.eclipse.tm4e.language_pack/README.md b/org.eclipse.tm4e.language_pack/README.md
index 7551f19d2..c9a496535 100644
--- a/org.eclipse.tm4e.language_pack/README.md
+++ b/org.eclipse.tm4e.language_pack/README.md
@@ -22,66 +22,66 @@ for the [Eclipse IDE](https://eclipseide.org).
| Language/Format | File Associations | Source
|:--------------- |:----------------- |:------ |
-| ASP.NET Razor | file-extensions="cshtml, razor" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/razor) [[upstream]](https://github.com/dotnet/razor/commit/b44d0a906d054d2d343adc3f58cbea11d97d7488)
-| Batch File | file-extensions="bat, cmd" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/bat) [[upstream]](https://github.com/mmims/language-batchfile/commit/6154ae25a24e01ac9329e7bcf958e093cd8733a9)
-| BibTeX | file-extensions="bib" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/36411b38cf4ed18e02050249e2162b1316488686)
-| C | file-extensions="c, i" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/cpp) [[upstream]](https://github.com/jeff-hykin/better-c-syntax/commit/34712a6106a4ffb0a04d2fa836fd28ff6c5849a4)
-| C# | file-extensions="cake, cs, csx" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/csharp) [[upstream]](https://github.com/dotnet/csharp-tmLanguage/commit/6666eb1d5e6fb565a4110d6db645cc534fb3c6d2)
-| C++ | file-extensions="c++, cc, cpp, cxx, h, h++, h.in, hh, hpp, hpp.in, hxx, ii, inl, ino, ipp, ixx, tpp, txx" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/cpp) [[upstream]](https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6)
-| Clojure | file-extensions="clj, cljc, cljs, cljx, clojure, edn" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/clojure) [[upstream]](https://github.com/atom/language-clojure/commit/45bdb881501d0b8f8b707ca1d3fcc8b4b99fca03)
-| Code Snippets | file-extensions="code-snippets"
file-patterns="\*\*/User/profiles/\*/snippets/\*.json, \*\*/User/snippets/\*.json" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/json) [[upstream]](https://github.com/jeff-hykin/better-snippet-syntax/commit/2b1bb124cb2b9c75c3c80eae1b8f3a043841d654)
-| CoffeeScript | file-extensions="coffee, cson, iced" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/coffeescript) [[upstream]](https://github.com/atom/language-coffee-script/commit/0f6db9143663e18b1ad00667820f46747dba495e)
-| CSS | file-extensions="css" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/css) [[upstream]](https://github.com/microsoft/vscode-css/commit/c216f777497265700ff336f739328e5197e012cd)
-| CUDA C++ | file-extensions="cu, cuh" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/cpp) [[upstream]](https://github.com/NVIDIA/cuda-cpp-grammar/commit/81e88eaec5170aa8585736c63627c73e3589998c)
-| Dart | file-extensions="dart" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/dart) [[upstream]](https://github.com/dart-lang/dart-syntax-highlight/commit/bd0079ba7ca85cdd6400a8a467e532b539d0f285)
-| Docker | file-extensions="containerfile, dockerfile"
file-names="Containerfile, Dockerfile"
file-patterns="Containerfile.\*, Dockerfile.\*" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/docker) [[upstream]](https://github.com/moby/moby/commit/abd39744c6f3ed854500e423f5fabf952165161f)
-| F# | file-extensions="fs, fsi, fsscript, fsx" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/fsharp) [[upstream]](https://github.com/ionide/ionide-fsgrammar/commit/078bbf85225b82de3ae4c2db7ee74d9239b249ce)
-| Git Commit Message | file-names="COMMIT_EDITMSG, MERGE_MSG" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git-base) [[upstream]](https://github.com/walles/git-commit-message-plus/commit/35a079dea5a91b087021b40c01a6bb4eb0337a87)
-| Git Ignore | file-extensions="git-blame-ignore-revs, gitignore, gitignore_global"
file-names=".gitignore" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git-base)
-| Git Rebase Message | file-names="git-rebase-todo"
file-patterns="\*\*/rebase-merge/done" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/git-base) [[upstream]](https://github.com/textmate/git.tmbundle/commit/5870cf3f8abad3a6637bdf69250b5d2ded427dc4)
-| Go | file-extensions="go" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/go) [[upstream]](https://github.com/jeff-hykin/better-go-syntax/commit/6175663a7a0e23d58ccf9aab95054cb6e5c92aff)
-| Groovy | file-extensions="gradle, groovy, gvy, jenkinsfile, nf"
file-names="Jenkinsfile"
file-patterns="Jenkinsfile\*" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/groovy) [[upstream]](https://github.com/textmate/groovy.tmbundle/commit/85d8f7c97ae473ccb9473f6c8d27e4ec957f4be1)
-| Handlebars | file-extensions="handlebars, hbs, hjs" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/handlebars) [[upstream]](https://github.com/daaain/Handlebars/commit/85a153a6f759df4e8da7533e1b3651f007867c51)
-| HLSL (High-Level Shader Language) | file-extensions="cginc, compute, fx, fxh, hlsl, hlsli, psh, vsh" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/hlsl) [[upstream]](https://github.com/tgjones/shaders-tmLanguage/commit/87c0dca3a39170dbd7ee7e277db4f915fb2de14a)
-| HTML | file-extensions="asp, aspx, ejs, htm, html, jshtm, jsp, mdoc, rhtml, shtml, volt, xht, xhtml" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/html) [[upstream]](https://github.com/textmate/html.tmbundle/commit/390c8870273a2ae80244dae6db6ba064a802f407)
-| INI Config File | file-extensions="ini" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/ini) [[upstream]](https://github.com/textmate/ini.tmbundle/commit/2af0cbb0704940f967152616f2f1ff0aae6287a6)
-| Java | file-extensions="jav, java" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/java) [[upstream]](https://github.com/redhat-developer/vscode-java/commit/5d224a552cf5f0f8ebccf69e43e2575ed2c13839)
-| JavaScript | file-extensions="cjs, es6, js, mjs, pac"
file-names="jakefile" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/javascript) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/8c7482b94b548eab56da64dbfb30b82589b3f747)
-| JavaScript JSX | file-extensions="jsx" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/javascript) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/8c7482b94b548eab56da64dbfb30b82589b3f747)
-| JSON | file-extensions="bowerrc, css.map, geojson, har, ipynb, js.map, jscsrc, jslintrc, json, jsonld, ts.map, vuerc, webmanifest"
file-names=".watchmanconfig, composer.lock" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
-| JSON Lines | file-extensions="jsonl" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
-| JSON with Comments | file-extensions="babelrc, eslintrc, eslintrc.json, hintrc, jsfmtrc, jshintrc, jsonc, swcrc"
file-names=".babelrc.json, .ember-cli, babel.config.json, typedoc.json" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
-| Julia | file-extensions="jl" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/julia) [[upstream]](https://github.com/JuliaEditorSupport/atom-language-julia/commit/85cf3ef2ddcb7bc9b2b17b2a5f1fc664e1f1e718)
-| LaTeX | file-extensions="ctx, ltx, tex" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/221a2443a5e8ac029685a0f872af39b23cc2b634)
-| Less | file-extensions="less" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/less) [[upstream]](https://github.com/atom/language-less/commit/87d4d59e8de6796b506b81a16e1dc1fafc99d30f)
-| Lua | file-extensions="lua" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/lua) [[upstream]](https://github.com/sumneko/lua.tmbundle/commit/3a18700941737c3ab66ac5964696f141aee61800)
-| Makefile | file-extensions="mak, mk"
file-names="GNUmakefile, Makefile, OCamlMakefile, makefile" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/make) [[upstream]](https://github.com/fadeevab/make.tmbundle/commit/1d4c0b541959995db098df751ffc129da39a294b)
-| Markdown | file-extensions="markdn, markdown, md, mdown, mdtext, mdtxt, mdwn, mkd, workbook" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/markdown-basics) [[upstream]](https://github.com/microsoft/vscode-markdown-tm-grammar/commit/0a4b23580308fdcfb4ab7b526e3e13ba17d436fb)
-| Objective-C | file-extensions="m" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/objective-c) [[upstream]](https://github.com/jeff-hykin/better-objc-syntax/commit/119b75fb1f4d3e8726fa62588e3b935e0b719294)
-| Objective-C++ | file-extensions="mm" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/objective-c) [[upstream]](https://github.com/jeff-hykin/better-objcpp-syntax/commit/5a7eb15eee382dd5aa388bc04fdb60a0d2128e14)
-| Perl | file-extensions="PL, pl, pm, pod, psgi, t" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/perl) [[upstream]](https://github.com/textmate/perl.tmbundle/commit/a85927a902d6e5d7805f56a653f324d34dfad53a)
-| PHP | file-extensions="ctp, php, php4, php5, phtml" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/php) [[upstream]](https://github.com/KapitanOczywisty/language-php/commit/5e8f000cb5a20f44f7a7a89d07ad0774031c53f3)
-| PowerShell | file-extensions="ps1, psd1, psm1, psrc, pssc" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/powershell) [[upstream]](https://github.com/PowerShell/EditorSyntax/commit/742f0b5d4b60f5930c0b47fcc1f646860521296e)
-| Pug | file-extensions="jade, pug" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/pug) [[upstream]](https://github.com/davidrios/pug-tmbundle/commit/ae1dd60ca4aa4b45617f236d584216cd8d19eecf)
-| Python | file-extensions="cpy, gyp, gypi, ipy, py, pyi, pyt, pyw, rpy"
file-names="SConscript, SConstruct" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/python) [[upstream]](https://github.com/MagicStack/MagicPython/commit/7d0f2b22a5ad8fccbd7341bc7b7a715169283044)
-| R | file-extensions="r, rhistory, rprofile, rt" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/r) [[upstream]](https://github.com/REditorSupport/vscode-R/commit/ad966f3b2de8a83594f90aa5b51f5b569cf02c08)
-| Raku (Perl 6) | file-extensions="nqp, p6, pl6, pm6, raku, rakudoc, rakumod, rakutest" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/perl) [[upstream]](https://github.com/textmate/perl.tmbundle/commit/d9841a0878239fa43f88c640f8d458590f97e8f5)
-| reStructuredText | file-extensions="rst" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/restructuredtext) [[upstream]](https://github.com/trond-snekvik/vscode-rst/commit/7f2d6bb4e20642b60f2979afcb594cfe4b48117a)
-| Ruby | file-extensions="erb, gemspec, podspec, rake, rb, rbi, rbx, rjs, ru"
file-names="appfile, appraisals, berksfile, berksfile.lock, brewfile, capfile, cheffile, dangerfile, deliverfile, fastfile, gemfile, guardfile, gymfile, hobofile, matchfile, podfile, puppetfile, rakefile, rantfile, scanfile, snapfile, thorfile, vagrantfile" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/ruby) [[upstream]](https://github.com/textmate/ruby.tmbundle/commit/efcb8941c701343f1b2e9fb105c678152fea6892)
-| Rust | file-extensions="rs" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/rust) [[upstream]](https://github.com/dustypomerleau/rust-syntax/commit/20730dff3c367cb40a7edd278fdaf0239ea50833)
-| SCSS | file-extensions="scss" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/scss) [[upstream]](https://github.com/atom/language-sass/commit/f52ab12f7f9346cc2568129d8c4419bd3d506b47)
-| ShaderLab | file-extensions="shader" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/shaderlab) [[upstream]](https://github.com/tgjones/shaders-tmLanguage/commit/c72c8b39380ba5a86c58ceed053b5d965ebf38b3)
-| Shell Script | file-extensions="Xsession, bash, bash_aliases, bash_login, bash_logout, bash_profile, bashrc, csh, cshrc, ebuild, fish, ksh, profile, sh, tcshrc, xprofile, xsession, xsessionrc, yash_profile, yashrc, zlogin, zlogout, zprofile, zsh, zsh-theme, zshenv, zshrc"
file-names=".envrc, .hushlogin, APKBUILD, PKGBUILD, bashrc_Apple_Terminal, zlogin, zlogout, zprofile, zshenv, zshrc, zshrc_Apple_Terminal"
file-patterns=".env.\*" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/shellscript) [[upstream]](https://github.com/jeff-hykin/better-shell-syntax/commit/a3de7b32f1537194a83ee848838402fbf4b67424)
-| SQL | file-extensions="dsql, sql" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/sql) [[upstream]](https://github.com/microsoft/vscode-mssql/commit/9cb3529a978ddf599bf5bdd228f21bbcfe2914f5)
-| Swift | file-extensions="swift" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/swift) [[upstream]](https://github.com/jtbandes/swift-tmlanguage/commit/806e024d8ea2478596d7e0ab871d2b1436e6fead)
-| TeX | file-extensions="bbx, cbx, cls, sty" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/3ae82b457c28f0368cbbb47024b0245ef1ff3d33)
-| TypeScript | file-extensions="cts, mts, ts" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/typescript-basics) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/8c7482b94b548eab56da64dbfb30b82589b3f747)
-| TypeScript JSX | file-extensions="tsx" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/typescript-basics) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/8c7482b94b548eab56da64dbfb30b82589b3f747)
-| Visual Basic | file-extensions="bas, brs, vb, vba, vbs" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/vb) [[upstream]](https://github.com/textmate/asp.vb.net.tmbundle/commit/72d44550b3286d0382d7be0624140cf97857ff69)
-| VS Code Search Result | file-extensions="code-search" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/search-result)
-| XML | file-extensions="ascx, atom, axaml, axml, bpmn, cpt, csl, csproj, csproj.user, dita, ditamap, dtd, dtml, ent, fsproj, fxml, iml, isml, jmx, launch, menu, mod, mxml, nuspec, opml, owl, proj, props, pt, publishsettings, pubxml, pubxml.user, rbxlx, rbxmx, rdf, rng, rss, shproj, storyboard, svg, targets, tld, tmx, vbproj, vbproj.user, vcxproj, vcxproj.filters, wsdl, wxi, wxl, wxs, xaml, xbl, xib, xlf, xliff, xml, xoml, xpdl, xsd, xul" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/xml) [[upstream]](https://github.com/atom/language-xml/commit/7bc75dfe779ad5b35d9bf4013d9181864358cb49)
-| XSL | file-extensions="xsl, xslt" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/xml) [[upstream]](https://github.com/atom/language-xml/commit/507de2ee7daca60cf02e9e21fbeb92bbae73e280)
-| YAML | file-extensions="cff, eyaml, eyml, yaml, yaml-tmlanguage, yaml-tmpreferences, yaml-tmtheme, yml" | [1.85.2@microsoft/vscode](https://github.com/microsoft/vscode/tree/8b3775030ed1a69b13e4f4c628c612102e30a681/extensions/yaml) [[upstream]](https://github.com/textmate/yaml.tmbundle/commit/e54ceae3b719506dba7e481a77cea4a8b576ae46)
+| ASP.NET Razor | file-extensions="cshtml, razor" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/razor) [[upstream]](https://github.com/dotnet/razor/commit/b44d0a906d054d2d343adc3f58cbea11d97d7488)
+| Batch File | file-extensions="bat, cmd" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/bat) [[upstream]](https://github.com/mmims/language-batchfile/commit/6154ae25a24e01ac9329e7bcf958e093cd8733a9)
+| BibTeX | file-extensions="bib" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/36411b38cf4ed18e02050249e2162b1316488686)
+| C | file-extensions="c, i" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/cpp) [[upstream]](https://github.com/jeff-hykin/better-c-syntax/commit/34712a6106a4ffb0a04d2fa836fd28ff6c5849a4)
+| C# | file-extensions="cake, cs, csx" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/csharp) [[upstream]](https://github.com/dotnet/csharp-tmLanguage/commit/7a7482ffc72a6677a87eb1ed76005593a4f7f131)
+| C++ | file-extensions="c++, cc, cpp, cxx, h, h++, h.in, hh, hpp, hpp.in, hxx, ii, inl, ino, ipp, ixx, tpp, txx" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/cpp) [[upstream]](https://github.com/jeff-hykin/better-cpp-syntax/commit/f1d127a8af2b184db570345f0bb179503c47fdf6)
+| Clojure | file-extensions="clj, cljc, cljs, cljx, clojure, edn" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/clojure) [[upstream]](https://github.com/atom/language-clojure/commit/45bdb881501d0b8f8b707ca1d3fcc8b4b99fca03)
+| Code Snippets | file-extensions="code-snippets"
file-patterns="\*\*/User/profiles/\*/snippets/\*.json, \*\*/User/snippets/\*.json" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/json) [[upstream]](https://github.com/jeff-hykin/better-snippet-syntax/commit/2b1bb124cb2b9c75c3c80eae1b8f3a043841d654)
+| CoffeeScript | file-extensions="coffee, cson, iced" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/coffeescript) [[upstream]](https://github.com/atom/language-coffee-script/commit/0f6db9143663e18b1ad00667820f46747dba495e)
+| CSS | file-extensions="css" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/css) [[upstream]](https://github.com/microsoft/vscode-css/commit/c216f777497265700ff336f739328e5197e012cd)
+| CUDA C++ | file-extensions="cu, cuh" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/cpp) [[upstream]](https://github.com/NVIDIA/cuda-cpp-grammar/commit/81e88eaec5170aa8585736c63627c73e3589998c)
+| Dart | file-extensions="dart" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/dart) [[upstream]](https://github.com/dart-lang/dart-syntax-highlight/commit/0a6648177bdbb91a4e1a38c16e57ede0ccba4f18)
+| Docker | file-extensions="containerfile, dockerfile"
file-names="Containerfile, Dockerfile"
file-patterns="Containerfile.\*, Dockerfile.\*" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/docker) [[upstream]](https://github.com/moby/moby/commit/abd39744c6f3ed854500e423f5fabf952165161f)
+| F# | file-extensions="fs, fsi, fsscript, fsx" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/fsharp) [[upstream]](https://github.com/ionide/ionide-fsgrammar/commit/7d029a46f17637228b2ee85dd02e511c3e8039b3)
+| Git Commit Message | file-names="COMMIT_EDITMSG, MERGE_MSG" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/git-base) [[upstream]](https://github.com/walles/git-commit-message-plus/commit/35a079dea5a91b087021b40c01a6bb4eb0337a87)
+| Git Ignore | file-extensions="git-blame-ignore-revs, gitignore, gitignore_global"
file-names=".gitignore" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/git-base)
+| Git Rebase Message | file-names="git-rebase-todo"
file-patterns="\*\*/rebase-merge/done" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/git-base) [[upstream]](https://github.com/textmate/git.tmbundle/commit/5870cf3f8abad3a6637bdf69250b5d2ded427dc4)
+| Go | file-extensions="go" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/go) [[upstream]](https://github.com/worlpaker/go-syntax/commit/de0edabe11035e7035155c68eddc5817d5ec4af9)
+| Groovy | file-extensions="gradle, groovy, gvy, jenkinsfile, nf"
file-names="Jenkinsfile"
file-patterns="Jenkinsfile\*" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/groovy) [[upstream]](https://github.com/textmate/groovy.tmbundle/commit/85d8f7c97ae473ccb9473f6c8d27e4ec957f4be1)
+| Handlebars | file-extensions="handlebars, hbs, hjs" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/handlebars) [[upstream]](https://github.com/daaain/Handlebars/commit/85a153a6f759df4e8da7533e1b3651f007867c51)
+| HLSL (High-Level Shader Language) | file-extensions="cginc, compute, fx, fxh, hlsl, hlsli, psh, vsh" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/hlsl) [[upstream]](https://github.com/tgjones/shaders-tmLanguage/commit/87c0dca3a39170dbd7ee7e277db4f915fb2de14a)
+| HTML | file-extensions="asp, aspx, ejs, htm, html, jshtm, jsp, mdoc, rhtml, shtml, volt, xht, xhtml" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/html) [[upstream]](https://github.com/textmate/html.tmbundle/commit/390c8870273a2ae80244dae6db6ba064a802f407)
+| INI Config File | file-extensions="ini" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/ini) [[upstream]](https://github.com/textmate/ini.tmbundle/commit/2af0cbb0704940f967152616f2f1ff0aae6287a6)
+| Java | file-extensions="jav, java" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/java) [[upstream]](https://github.com/redhat-developer/vscode-java/commit/f09b712f5d6d6339e765f58c8dfab3f78a378183)
+| JavaScript | file-extensions="cjs, es6, js, mjs, pac"
file-names="jakefile" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/javascript) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/b80b7509a78e642f789c567e144ed951ab98b4e3)
+| JavaScript JSX | file-extensions="jsx" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/javascript) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/b80b7509a78e642f789c567e144ed951ab98b4e3)
+| JSON | file-extensions="bowerrc, css.map, geojson, har, ipynb, js.map, jscsrc, jslintrc, json, jsonld, ts.map, vuerc, webmanifest"
file-names=".watchmanconfig, composer.lock" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
+| JSON Lines | file-extensions="jsonl" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
+| JSON with Comments | file-extensions="babelrc, eslintrc, eslintrc.json, hintrc, jsfmtrc, jshintrc, jsonc, swcrc"
file-names=".babelrc.json, .ember-cli, babel.config.json, typedoc.json" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/json) [[upstream]](https://github.com/microsoft/vscode-JSON.tmLanguage/commit/9bd83f1c252b375e957203f21793316203f61f70)
+| Julia | file-extensions="jl" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/julia) [[upstream]](https://github.com/JuliaEditorSupport/atom-language-julia/commit/ca657621631c568fdce35fb583c97b8d0b7a226c)
+| LaTeX | file-extensions="ctx, ltx, tex" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/c863108952ce5c695c066ea8dc498135abb19e0a)
+| Less | file-extensions="less" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/less) [[upstream]](https://github.com/radium-v/Better-Less/commit/05de79f600227201e35f07a49f07acce80e49dbf)
+| Lua | file-extensions="lua" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/lua) [[upstream]](https://github.com/sumneko/lua.tmbundle/commit/94ce82cc4d45f82641a5252d7a7fd9e28c875adc)
+| Makefile | file-extensions="mak, mk"
file-names="GNUmakefile, Makefile, OCamlMakefile, makefile" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/make) [[upstream]](https://github.com/fadeevab/make.tmbundle/commit/1d4c0b541959995db098df751ffc129da39a294b)
+| Markdown | file-extensions="markdn, markdown, md, mdown, mdtext, mdtxt, mdwn, mkd, workbook" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/markdown-basics) [[upstream]](https://github.com/microsoft/vscode-markdown-tm-grammar/commit/0b36cbbf917fb0188e1a1bafc8287c7abf8b0b37)
+| Objective-C | file-extensions="m" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/objective-c) [[upstream]](https://github.com/jeff-hykin/better-objc-syntax/commit/119b75fb1f4d3e8726fa62588e3b935e0b719294)
+| Objective-C++ | file-extensions="mm" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/objective-c) [[upstream]](https://github.com/jeff-hykin/better-objcpp-syntax/commit/5a7eb15eee382dd5aa388bc04fdb60a0d2128e14)
+| Perl | file-extensions="PL, pl, pm, pod, psgi, t" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/perl) [[upstream]](https://github.com/textmate/perl.tmbundle/commit/a85927a902d6e5d7805f56a653f324d34dfad53a)
+| PHP | file-extensions="ctp, php, php4, php5, phtml" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/php) [[upstream]](https://github.com/KapitanOczywisty/language-php/commit/5e8f000cb5a20f44f7a7a89d07ad0774031c53f3)
+| PowerShell | file-extensions="ps1, psd1, psm1, psrc, pssc" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/powershell) [[upstream]](https://github.com/PowerShell/EditorSyntax/commit/742f0b5d4b60f5930c0b47fcc1f646860521296e)
+| Pug | file-extensions="jade, pug" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/pug) [[upstream]](https://github.com/davidrios/pug-tmbundle/commit/ae1dd60ca4aa4b45617f236d584216cd8d19eecf)
+| Python | file-extensions="cpy, gyp, gypi, ipy, py, pyi, pyt, pyw, rpy"
file-names="SConscript, SConstruct" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/python) [[upstream]](https://github.com/MagicStack/MagicPython/commit/7d0f2b22a5ad8fccbd7341bc7b7a715169283044)
+| R | file-extensions="r, rhistory, rprofile, rt" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/r) [[upstream]](https://github.com/REditorSupport/vscode-R/commit/ad966f3b2de8a83594f90aa5b51f5b569cf02c08)
+| Raku (Perl 6) | file-extensions="nqp, p6, pl6, pm6, raku, rakudoc, rakumod, rakutest" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/perl) [[upstream]](https://github.com/textmate/perl.tmbundle/commit/d9841a0878239fa43f88c640f8d458590f97e8f5)
+| reStructuredText | file-extensions="rst" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/restructuredtext) [[upstream]](https://github.com/trond-snekvik/vscode-rst/commit/7f2d6bb4e20642b60f2979afcb594cfe4b48117a)
+| Ruby | file-extensions="erb, gemspec, podspec, rake, rb, rbi, rbx, rjs, ru"
file-names="appfile, appraisals, berksfile, berksfile.lock, brewfile, capfile, cheffile, dangerfile, deliverfile, fastfile, gemfile, guardfile, gymfile, hobofile, matchfile, podfile, puppetfile, rakefile, rantfile, scanfile, snapfile, thorfile, vagrantfile" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/ruby) [[upstream]](https://github.com/textmate/ruby.tmbundle/commit/efcb8941c701343f1b2e9fb105c678152fea6892)
+| Rust | file-extensions="rs" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/rust) [[upstream]](https://github.com/dustypomerleau/rust-syntax/commit/ffa06ae9d52ea5464d3047cdbdc6bb970a665d23)
+| SCSS | file-extensions="scss" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/scss) [[upstream]](https://github.com/atom/language-sass/commit/f52ab12f7f9346cc2568129d8c4419bd3d506b47)
+| ShaderLab | file-extensions="shader" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/shaderlab) [[upstream]](https://github.com/tgjones/shaders-tmLanguage/commit/c72c8b39380ba5a86c58ceed053b5d965ebf38b3)
+| Shell Script | file-extensions="Xsession, bash, bash_aliases, bash_login, bash_logout, bash_profile, bashrc, csh, cshrc, ebuild, fish, ksh, profile, sh, tcshrc, xprofile, xsession, xsessionrc, yash_profile, yashrc, zlogin, zlogout, zprofile, zsh, zsh-theme, zshenv, zshrc"
file-names=".envrc, .hushlogin, APKBUILD, PKGBUILD, bashrc_Apple_Terminal, zlogin, zlogout, zprofile, zshenv, zshrc, zshrc_Apple_Terminal"
file-patterns=".env.\*" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/shellscript) [[upstream]](https://github.com/jeff-hykin/better-shell-syntax/commit/a3de7b32f1537194a83ee848838402fbf4b67424)
+| SQL | file-extensions="dsql, sql" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/sql) [[upstream]](https://github.com/microsoft/vscode-mssql/commit/49eff02f68b6ee73025c6665c672ca1c93385dde)
+| Swift | file-extensions="swift" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/swift) [[upstream]](https://github.com/jtbandes/swift-tmlanguage/commit/ab893c684dd7eeb7c249139e29e931334316fda7)
+| TeX | file-extensions="bbx, cbx, cls, sty" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/latex) [[upstream]](https://github.com/jlelong/vscode-latex-basics/commit/69915f318570484ef40ed8798c73c63c58704183)
+| TypeScript | file-extensions="cts, mts, ts" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/typescript-basics) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/b80b7509a78e642f789c567e144ed951ab98b4e3)
+| TypeScript JSX | file-extensions="tsx" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/typescript-basics) [[upstream]](https://github.com/microsoft/TypeScript-TmLanguage/commit/b80b7509a78e642f789c567e144ed951ab98b4e3)
+| Visual Basic | file-extensions="bas, brs, vb, vba, vbs" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/vb) [[upstream]](https://github.com/textmate/asp.vb.net.tmbundle/commit/72d44550b3286d0382d7be0624140cf97857ff69)
+| VS Code Search Result | file-extensions="code-search" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/search-result)
+| XML | file-extensions="ascx, atom, axaml, axml, bpmn, cpt, csl, csproj, csproj.user, dita, ditamap, dtd, dtml, ent, fsproj, fxml, iml, isml, jmx, launch, menu, mod, mxml, nuspec, opml, owl, proj, props, pt, publishsettings, pubxml, pubxml.user, rbxlx, rbxmx, rdf, rng, rss, shproj, storyboard, svg, targets, tld, tmx, vbproj, vbproj.user, vcxproj, vcxproj.filters, wsdl, wxi, wxl, wxs, xaml, xbl, xib, xlf, xliff, xml, xoml, xpdl, xsd, xul" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/xml) [[upstream]](https://github.com/atom/language-xml/commit/7bc75dfe779ad5b35d9bf4013d9181864358cb49)
+| XSL | file-extensions="xsl, xslt" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/xml) [[upstream]](https://github.com/atom/language-xml/commit/507de2ee7daca60cf02e9e21fbeb92bbae73e280)
+| YAML | file-extensions="cff, eyaml, eyml, yaml, yaml-tmlanguage, yaml-tmpreferences, yaml-tmtheme, yml" | [1.87.0@microsoft/vscode](https://github.com/microsoft/vscode/tree/019f4d1419fbc8219a181fab7892ebccf7ee29a2/extensions/yaml) [[upstream]](https://github.com/textmate/yaml.tmbundle/commit/e54ceae3b719506dba7e481a77cea4a8b576ae46)
diff --git a/org.eclipse.tm4e.language_pack/about.html b/org.eclipse.tm4e.language_pack/about.html
index b6d99b2e2..01faf90cf 100644
--- a/org.eclipse.tm4e.language_pack/about.html
+++ b/org.eclipse.tm4e.language_pack/about.html
@@ -40,302 +40,302 @@
About This Content
ASP.NET Razor |
file-extensions="cshtml, razor" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Batch File |
file-extensions="bat, cmd" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
BibTeX |
file-extensions="bib" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
C |
file-extensions="c, i" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
C# |
file-extensions="cake, cs, csx" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
C++ |
file-extensions="c++, cc, cpp, cxx, h, h++, h.in, hh, hpp, hpp.in, hxx, ii, inl, ino, ipp, ixx, tpp, txx" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Clojure |
file-extensions="clj, cljc, cljs, cljx, clojure, edn" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Code Snippets |
file-extensions="code-snippets" file-patterns="**/User/profiles/*/snippets/*.json, **/User/snippets/*.json" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
CoffeeScript |
file-extensions="coffee, cson, iced" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
CSS |
file-extensions="css" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
CUDA C++ |
file-extensions="cu, cuh" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Dart |
file-extensions="dart" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Docker |
file-extensions="containerfile, dockerfile" file-names="Containerfile, Dockerfile" file-patterns="Containerfile.*, Dockerfile.*" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
F# |
file-extensions="fs, fsi, fsscript, fsx" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Git Commit Message |
file-names="COMMIT_EDITMSG, MERGE_MSG" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Git Ignore |
file-extensions="git-blame-ignore-revs, gitignore, gitignore_global" file-names=".gitignore" |
- 1.85.2@microsoft/vscode
+ | 1.87.0@microsoft/vscode
|
Git Rebase Message |
file-names="git-rebase-todo" file-patterns="**/rebase-merge/done" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Go |
file-extensions="go" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Groovy |
file-extensions="gradle, groovy, gvy, jenkinsfile, nf" file-names="Jenkinsfile" file-patterns="Jenkinsfile*" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Handlebars |
file-extensions="handlebars, hbs, hjs" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
HLSL (High-Level Shader Language) |
file-extensions="cginc, compute, fx, fxh, hlsl, hlsli, psh, vsh" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
HTML |
file-extensions="asp, aspx, ejs, htm, html, jshtm, jsp, mdoc, rhtml, shtml, volt, xht, xhtml" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
INI Config File |
file-extensions="ini" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Java |
file-extensions="jav, java" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
JavaScript |
file-extensions="cjs, es6, js, mjs, pac" file-names="jakefile" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
JavaScript JSX |
file-extensions="jsx" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
JSON |
file-extensions="bowerrc, css.map, geojson, har, ipynb, js.map, jscsrc, jslintrc, json, jsonld, ts.map, vuerc, webmanifest" file-names=".watchmanconfig, composer.lock" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
JSON Lines |
file-extensions="jsonl" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
JSON with Comments |
file-extensions="babelrc, eslintrc, eslintrc.json, hintrc, jsfmtrc, jshintrc, jsonc, swcrc" file-names=".babelrc.json, .ember-cli, babel.config.json, typedoc.json" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Julia |
file-extensions="jl" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
LaTeX |
file-extensions="ctx, ltx, tex" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Less |
file-extensions="less" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Lua |
file-extensions="lua" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Makefile |
file-extensions="mak, mk" file-names="GNUmakefile, Makefile, OCamlMakefile, makefile" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Markdown |
file-extensions="markdn, markdown, md, mdown, mdtext, mdtxt, mdwn, mkd, workbook" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Objective-C |
file-extensions="m" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Objective-C++ |
file-extensions="mm" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Perl |
file-extensions="PL, pl, pm, pod, psgi, t" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
PHP |
file-extensions="ctp, php, php4, php5, phtml" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
PowerShell |
file-extensions="ps1, psd1, psm1, psrc, pssc" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Pug |
file-extensions="jade, pug" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Python |
file-extensions="cpy, gyp, gypi, ipy, py, pyi, pyt, pyw, rpy" file-names="SConscript, SConstruct" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
R |
file-extensions="r, rhistory, rprofile, rt" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Raku (Perl 6) |
file-extensions="nqp, p6, pl6, pm6, raku, rakudoc, rakumod, rakutest" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
reStructuredText |
file-extensions="rst" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Ruby |
file-extensions="erb, gemspec, podspec, rake, rb, rbi, rbx, rjs, ru" file-names="appfile, appraisals, berksfile, berksfile.lock, brewfile, capfile, cheffile, dangerfile, deliverfile, fastfile, gemfile, guardfile, gymfile, hobofile, matchfile, podfile, puppetfile, rakefile, rantfile, scanfile, snapfile, thorfile, vagrantfile" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Rust |
file-extensions="rs" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
SCSS |
file-extensions="scss" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
ShaderLab |
file-extensions="shader" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Shell Script |
file-extensions="Xsession, bash, bash_aliases, bash_login, bash_logout, bash_profile, bashrc, csh, cshrc, ebuild, fish, ksh, profile, sh, tcshrc, xprofile, xsession, xsessionrc, yash_profile, yashrc, zlogin, zlogout, zprofile, zsh, zsh-theme, zshenv, zshrc" file-names=".envrc, .hushlogin, APKBUILD, PKGBUILD, bashrc_Apple_Terminal, zlogin, zlogout, zprofile, zshenv, zshrc, zshrc_Apple_Terminal" file-patterns=".env.*" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
SQL |
file-extensions="dsql, sql" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Swift |
file-extensions="swift" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
TeX |
file-extensions="bbx, cbx, cls, sty" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
TypeScript |
file-extensions="cts, mts, ts" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
TypeScript JSX |
file-extensions="tsx" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
Visual Basic |
file-extensions="bas, brs, vb, vba, vbs" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
VS Code Search Result |
file-extensions="code-search" |
- 1.85.2@microsoft/vscode
+ | 1.87.0@microsoft/vscode
|
XML |
file-extensions="ascx, atom, axaml, axml, bpmn, cpt, csl, csproj, csproj.user, dita, ditamap, dtd, dtml, ent, fsproj, fxml, iml, isml, jmx, launch, menu, mod, mxml, nuspec, opml, owl, proj, props, pt, publishsettings, pubxml, pubxml.user, rbxlx, rbxmx, rdf, rng, rss, shproj, storyboard, svg, targets, tld, tmx, vbproj, vbproj.user, vcxproj, vcxproj.filters, wsdl, wxi, wxl, wxs, xaml, xbl, xib, xlf, xliff, xml, xoml, xpdl, xsd, xul" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
XSL |
file-extensions="xsl, xslt" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
YAML |
file-extensions="cff, eyaml, eyml, yaml, yaml-tmlanguage, yaml-tmpreferences, yaml-tmtheme, yml" |
- 1.85.2@microsoft/vscode [upstream]
+ | 1.87.0@microsoft/vscode [upstream]
|
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/csharp/csharp.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/csharp/csharp.tmLanguage.json
index 9b6cf2e96..96dbe0447 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/csharp/csharp.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/csharp/csharp.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/dotnet/csharp-tmLanguage/commit/6666eb1d5e6fb565a4110d6db645cc534fb3c6d2",
+ "version": "https://github.com/dotnet/csharp-tmLanguage/commit/7a7482ffc72a6677a87eb1ed76005593a4f7f131",
"name": "C#",
"scopeName": "source.cs",
"patterns": [
@@ -164,6 +164,9 @@
{
"include": "#comment"
},
+ {
+ "include": "#storage-modifier"
+ },
{
"include": "#property-declaration"
},
@@ -176,6 +179,9 @@
{
"include": "#method-declaration"
},
+ {
+ "include": "#operator-declaration"
+ },
{
"include": "#attribute-section"
},
@@ -232,7 +238,7 @@
"include": "#try-statement"
},
{
- "include": "#checked-unchecked-statement"
+ "include": "#expression-operator-expression"
},
{
"include": "#context-control-statement"
@@ -1050,6 +1056,18 @@
"name": "storage.type.struct.cs",
"match": "\\bstruct\\b"
},
+ {
+ "name": "keyword.other.constraint.default.cs",
+ "match": "\\bdefault\\b"
+ },
+ {
+ "name": "keyword.other.constraint.notnull.cs",
+ "match": "\\bnotnull\\b"
+ },
+ {
+ "name": "keyword.other.constraint.unmanaged.cs",
+ "match": "\\bunmanaged\\b"
+ },
{
"match": "(new)\\s*(\\()\\s*(\\))",
"captures": {
@@ -2632,7 +2650,7 @@
},
"patterns": [
{
- "begin": "\\G",
+ "begin": "(?=[^;\\)])",
"end": "(?=;|\\))",
"patterns": [
{
@@ -2695,22 +2713,25 @@
"include": "#intrusive"
},
{
- "match": "(?x)\n(?:\n (\\bvar\\b)|\n (?\n (?:\n (?:\n (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (? # identifier + type arguments (if any)\n \\g\\s*\n (?\\s*<(?:[^<>]|\\g)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g)* | # Are there any more names being dotted into?\n (?\\s*\\((?:[^\\(\\)]|\\g)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g)\\s+\n\\b(in)\\b",
+ "match": "(?x)\n(?:\n (?:(\\bref)\\s+)?(\\bvar\\b)| # ref local\n (?\n (?:\n (?:ref\\s+)? # ref local\n (?:\n (?:(?@?[_[:alpha:]][_[:alnum:]]*)\\s*\\:\\:\\s*)? # alias-qualification\n (? # identifier + type arguments (if any)\n \\g\\s*\n (?\\s*<(?:[^<>]|\\g)+>\\s*)?\n )\n (?:\\s*\\.\\s*\\g)* | # Are there any more names being dotted into?\n (?\\s*\\((?:[^\\(\\)]|\\g)+\\))\n )\n (?:\\s*\\?\\s*)? # nullable suffix?\n (?:\\s* # array suffix?\n \\[\n (?:\\s*,\\s*)* # commata for multi-dimensional arrays\n \\]\n \\s*\n (?:\\?)? # arrays can be nullable reference types\n \\s*\n )*\n )\n )\n)\\s+\n(\\g)\\s+\n\\b(in)\\b",
"captures": {
"1": {
- "name": "storage.type.var.cs"
+ "name": "storage.modifier.ref.cs"
},
"2": {
+ "name": "storage.type.var.cs"
+ },
+ "3": {
"patterns": [
{
"include": "#type"
}
]
},
- "7": {
+ "8": {
"name": "entity.name.variable.local.cs"
},
- "8": {
+ "9": {
"name": "keyword.control.loop.in.cs"
}
}
@@ -3824,7 +3845,7 @@
},
"char-character-escape": {
"name": "constant.character.escape.cs",
- "match": "\\\\(['\"\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4})"
+ "match": "\\\\(x[0-9a-fA-F]{1,4}|u[0-9a-fA-F]{4}|.)"
},
"string-literal": {
"name": "string.quoted.double.cs",
@@ -3851,7 +3872,7 @@
},
"string-character-escape": {
"name": "constant.character.escape.cs",
- "match": "\\\\(['\"\\\\0abfnrtv]|x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4})"
+ "match": "\\\\(x[0-9a-fA-F]{1,4}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|.)"
},
"verbatim-string-literal": {
"name": "string.quoted.double.cs",
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/dart/dart.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/dart/dart.tmLanguage.json
index af7d3f6f9..ae4db9698 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/dart/dart.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/dart/dart.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/dart-lang/dart-syntax-highlight/commit/bd0079ba7ca85cdd6400a8a467e532b539d0f285",
+ "version": "https://github.com/dart-lang/dart-syntax-highlight/commit/0a6648177bdbb91a4e1a38c16e57ede0ccba4f18",
"name": "Dart",
"scopeName": "source.dart",
"patterns": [
@@ -90,15 +90,7 @@
"end": "```"
},
{
- "match": "(`.*?`)",
- "captures": {
- "0": {
- "name": "variable.other.source.dart"
- }
- }
- },
- {
- "match": "(`.*?`)",
+ "match": "(`[^`]+?`)",
"captures": {
"0": {
"name": "variable.other.source.dart"
@@ -395,6 +387,7 @@
"string-interp": {
"patterns": [
{
+ "name": "string.interpolated.expression.dart",
"match": "\\$([a-zA-Z0-9_]+)",
"captures": {
"1": {
@@ -408,8 +401,7 @@
"end": "\\}",
"patterns": [
{
- "include": "#constants-and-special-vars",
- "name": "variable.parameter.dart"
+ "include": "#constants-and-special-vars"
},
{
"include": "#strings"
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/fsharp/fsharp.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/fsharp/fsharp.tmLanguage.json
index d51517312..5063f1c52 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/fsharp/fsharp.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/fsharp/fsharp.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/ionide/ionide-fsgrammar/commit/078bbf85225b82de3ae4c2db7ee74d9239b249ce",
+ "version": "https://github.com/ionide/ionide-fsgrammar/commit/7d029a46f17637228b2ee85dd02e511c3e8039b3",
"name": "fsharp",
"scopeName": "source.fsharp",
"patterns": [
@@ -574,6 +574,11 @@
"name": "fast-capture.comment.line.double-slash.fsharp",
"match": "//"
},
+ {
+ "comments": "Capture (*) when inside of (* *) so that it doesn't prematurely end the comment block.",
+ "name": "fast-capture.comment.line.mul-operator.fsharp",
+ "match": "\\(\\*\\)"
+ },
{
"include": "#comments"
}
@@ -600,7 +605,7 @@
},
{
"name": "comment.line.double-slash.fsharp",
- "match": "(??@^|/])//(?![!%&+-.<=>?@^|]).*$"
+ "match": "(??@^|/])//(.*$)"
}
]
},
@@ -630,7 +635,7 @@
},
"abstract_definition": {
"name": "abstract.definition.fsharp",
- "begin": "\\b(abstract)\\s+(member)?(\\s+\\[\\<.*\\>\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(:)",
+ "begin": "\\b(abstract)\\s+(member)?(\\s+\\[\\<.*\\>\\])?\\s*([_[:alpha:]0-9,\\._`\\s]+)(<)?",
"end": "\\s*(with)\\b|=|$",
"beginCaptures": {
"1": {
@@ -676,7 +681,7 @@
}
},
{
- "match": "(?!with|get|set\\b)\\b([\\w0-9'`^._]+)",
+ "match": "(?!with|get|set\\b)\\s*([\\w0-9'`^._]+)",
"comments": "Here we need the \\w modifier in order to check that the words isn't blacklisted",
"captures": {
"1": {
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-commit.language-configuration.json b/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-commit.language-configuration.json
index b61fbe63d..6ee9f77f0 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-commit.language-configuration.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-commit.language-configuration.json
@@ -7,5 +7,14 @@
["{", "}"],
["[", "]"],
["(", ")"]
+ ],
+ "autoClosingPairs": [
+ { "open": "{", "close": "}" },
+ { "open": "[", "close": "]" },
+ { "open": "(", "close": ")" },
+ { "open": "'", "close": "'", "notIn": ["string", "comment"] },
+ { "open": "\"", "close": "\"", "notIn": ["string"] },
+ { "open": "`", "close": "`", "notIn": ["string", "comment"] },
+ { "open": "/**", "close": " */", "notIn": ["string"] }
]
-}
\ No newline at end of file
+}
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-rebase.language-configuration.json b/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-rebase.language-configuration.json
index b61fbe63d..6ee9f77f0 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-rebase.language-configuration.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/git-base/git-rebase.language-configuration.json
@@ -7,5 +7,14 @@
["{", "}"],
["[", "]"],
["(", ")"]
+ ],
+ "autoClosingPairs": [
+ { "open": "{", "close": "}" },
+ { "open": "[", "close": "]" },
+ { "open": "(", "close": ")" },
+ { "open": "'", "close": "'", "notIn": ["string", "comment"] },
+ { "open": "\"", "close": "\"", "notIn": ["string"] },
+ { "open": "`", "close": "`", "notIn": ["string", "comment"] },
+ { "open": "/**", "close": " */", "notIn": ["string"] }
]
-}
\ No newline at end of file
+}
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/git-base/ignore.language-configuration.json b/org.eclipse.tm4e.language_pack/syntaxes/git-base/ignore.language-configuration.json
index b75f42e22..ad8b8ee5c 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/git-base/ignore.language-configuration.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/git-base/ignore.language-configuration.json
@@ -1,5 +1,14 @@
{
"comments": {
"lineComment": "#",
- }
+ },
+ "autoClosingPairs": [
+ { "open": "{", "close": "}" },
+ { "open": "[", "close": "]" },
+ { "open": "(", "close": ")" },
+ { "open": "'", "close": "'", "notIn": ["string", "comment"] },
+ { "open": "\"", "close": "\"", "notIn": ["string"] },
+ { "open": "`", "close": "`", "notIn": ["string", "comment"] },
+ { "open": "/**", "close": " */", "notIn": ["string"] }
+ ]
}
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/go/go.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/go/go.tmLanguage.json
index 9aa700887..3641d3edf 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/go/go.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/go/go.tmLanguage.json
@@ -1,311 +1,388 @@
{
"information_for_contributors": [
- "This file has been converted from https://github.com/jeff-hykin/better-go-syntax/blob/master/export/generated.tmLanguage.json",
+ "This file has been converted from https://github.com/worlpaker/go-syntax/blob/master/syntaxes/go.tmLanguage.json",
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/jeff-hykin/better-go-syntax/commit/6175663a7a0e23d58ccf9aab95054cb6e5c92aff",
+ "version": "https://github.com/worlpaker/go-syntax/commit/de0edabe11035e7035155c68eddc5817d5ec4af9",
"name": "Go",
"scopeName": "source.go",
"patterns": [
{
- "include": "#comments"
- },
- {
- "include": "#comments"
- },
- {
- "comment": "Interpreted string literals",
- "begin": "\"",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin.go"
- }
- },
- "end": "\"",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.go"
- }
- },
- "name": "string.quoted.double.go",
+ "include": "#statements"
+ }
+ ],
+ "repository": {
+ "statements": {
"patterns": [
{
- "include": "#string_escaped_char"
+ "include": "#package_name"
},
{
- "include": "#string_placeholder"
+ "include": "#import"
+ },
+ {
+ "include": "#syntax_errors"
+ },
+ {
+ "include": "#group-functions"
+ },
+ {
+ "include": "#group-types"
+ },
+ {
+ "include": "#group-variables"
}
]
},
- {
- "comment": "Raw string literals",
- "begin": "`",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.string.begin.go"
- }
- },
- "end": "`",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.string.end.go"
- }
- },
- "name": "string.quoted.raw.go",
+ "group-functions": {
+ "comment": "all statements related to functions",
"patterns": [
{
- "include": "#string_placeholder"
+ "include": "#function_declaration"
+ },
+ {
+ "include": "#functions_inline"
+ },
+ {
+ "include": "#functions"
+ },
+ {
+ "include": "#built_in_functions"
+ },
+ {
+ "include": "#support_functions"
}
]
},
- {
- "comment": "Syntax error receiving channels",
- "match": "<\\-([\\t ]+)chan\\b",
- "captures": {
- "1": {
- "name": "invalid.illegal.receive-channel.go"
+ "group-types": {
+ "comment": "all statements related to types",
+ "patterns": [
+ {
+ "include": "#other_struct_interface_expressions"
+ },
+ {
+ "include": "#type_assertion_inline"
+ },
+ {
+ "include": "#struct_variables_types"
+ },
+ {
+ "include": "#interface_variables_types"
+ },
+ {
+ "include": "#single_type"
+ },
+ {
+ "include": "#multi_types"
+ },
+ {
+ "include": "#struct_interface_declaration"
+ },
+ {
+ "include": "#double_parentheses_types"
+ },
+ {
+ "include": "#switch_types"
+ },
+ {
+ "include": "#type-declarations"
}
- }
+ ]
},
- {
- "comment": "Syntax error sending channels",
- "match": "\\bchan([\\t ]+)<-",
- "captures": {
- "1": {
- "name": "invalid.illegal.send-channel.go"
+ "group-variables": {
+ "comment": "all statements related to variables",
+ "patterns": [
+ {
+ "include": "#var_const_assignment"
+ },
+ {
+ "include": "#variable_assignment"
+ },
+ {
+ "include": "#label_loop_variables"
+ },
+ {
+ "include": "#slice_index_variables"
+ },
+ {
+ "include": "#property_variables"
+ },
+ {
+ "include": "#switch_select_case_variables"
+ },
+ {
+ "include": "#other_variables"
}
- }
+ ]
},
- {
- "comment": "Syntax error using slices",
- "match": "\\[\\](\\s+)",
- "captures": {
- "1": {
- "name": "invalid.illegal.slice.go"
+ "type-declarations": {
+ "comment": "includes all type declarations",
+ "patterns": [
+ {
+ "include": "#language_constants"
+ },
+ {
+ "include": "#comments"
+ },
+ {
+ "include": "#map_types"
+ },
+ {
+ "include": "#brackets"
+ },
+ {
+ "include": "#delimiters"
+ },
+ {
+ "include": "#keywords"
+ },
+ {
+ "include": "#operators"
+ },
+ {
+ "include": "#runes"
+ },
+ {
+ "include": "#storage_types"
+ },
+ {
+ "include": "#raw_string_literals"
+ },
+ {
+ "include": "#string_literals"
+ },
+ {
+ "include": "#numeric_literals"
+ },
+ {
+ "include": "#terminators"
}
- }
- },
- {
- "comment": "Syntax error numeric literals",
- "match": "\\b0[0-7]*[89]\\d*\\b",
- "name": "invalid.illegal.numeric.go"
+ ]
},
- {
- "comment": "Built-in functions",
- "match": "\\b(append|cap|close|complex|copy|delete|imag|len|make|new|panic|print|println|real|recover)\\b(?=\\()",
- "name": "support.function.builtin.go"
+ "type-declarations-without-brackets": {
+ "comment": "includes all type declarations without brackets (in some cases, brackets need to be captured manually)",
+ "patterns": [
+ {
+ "include": "#language_constants"
+ },
+ {
+ "include": "#comments"
+ },
+ {
+ "include": "#map_types"
+ },
+ {
+ "include": "#delimiters"
+ },
+ {
+ "include": "#keywords"
+ },
+ {
+ "include": "#operators"
+ },
+ {
+ "include": "#runes"
+ },
+ {
+ "include": "#storage_types"
+ },
+ {
+ "include": "#raw_string_literals"
+ },
+ {
+ "include": "#string_literals"
+ },
+ {
+ "include": "#numeric_literals"
+ },
+ {
+ "include": "#terminators"
+ }
+ ]
},
- {
- "comment": "Function declarations",
- "match": "^(\\bfunc\\b)(?:\\s+(\\([^\\)]+\\)\\s+)?(\\w+)(?=\\())?",
- "captures": {
- "1": {
- "name": "keyword.function.go"
+ "parameter-variable-types": {
+ "comment": "function and generic parameter types",
+ "patterns": [
+ {
+ "match": "\\{",
+ "name": "punctuation.definition.begin.bracket.curly.go"
},
- "2": {
- "patterns": [
- {
- "include": "#brackets"
+ {
+ "match": "\\}",
+ "name": "punctuation.definition.end.bracket.curly.go"
+ },
+ {
+ "begin": "(?:([\\w\\.\\*]+)?(\\[))",
+ "beginCaptures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
},
- {
- "include": "#operators"
+ "2": {
+ "name": "punctuation.definition.begin.bracket.square.go"
}
- ]
- },
- "3": {
+ },
+ "end": "\\]",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.square.go"
+ }
+ },
"patterns": [
{
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
- },
- {
- "match": "\\w+",
- "name": "entity.name.function.go"
+ "include": "#generic_param_types"
}
]
- }
- }
- },
- {
- "comment": "Functions",
- "match": "(\\bfunc\\b)|(\\w+)(?=\\()",
- "captures": {
- "1": {
- "name": "keyword.function.go"
},
- "2": {
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.begin.bracket.round.go"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.round.go"
+ }
+ },
"patterns": [
{
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
- },
- {
- "match": "\\w+",
- "name": "support.function.go"
+ "include": "#function_param_types"
}
]
}
- }
- },
- {
- "include": "#numeric_literals"
+ ]
},
- {
+ "language_constants": {
"comment": "Language constants",
"match": "\\b(true|false|nil|iota)\\b",
"name": "constant.language.go"
},
- {
- "begin": "\\b(package)\\s+",
- "beginCaptures": {
- "1": {
- "name": "keyword.package.go"
- }
- },
- "end": "(?!\\G)",
+ "comments": {
"patterns": [
{
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
+ "name": "comment.block.go",
+ "begin": "(\\/\\*)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.comment.go"
+ }
+ },
+ "end": "(\\*\\/)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.comment.go"
+ }
+ }
},
{
- "match": "\\w+",
- "name": "entity.name.package.go"
+ "name": "comment.line.double-slash.go",
+ "begin": "(\\/\\/)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.comment.go"
+ }
+ },
+ "end": "(?:\\n|$)"
}
]
},
- {
- "begin": "\\b(type)\\s+",
+ "map_types": {
+ "comment": "map types",
+ "begin": "(?:(\\bmap\\b)(\\[))",
"beginCaptures": {
"1": {
- "name": "keyword.type.go"
- }
- },
- "end": "(?!\\G)",
- "patterns": [
- {
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
+ "name": "keyword.map.go"
},
- {
- "match": "\\w+",
- "name": "entity.name.type.go"
- }
- ]
- },
- {
- "begin": "\\b(import)\\s+",
- "beginCaptures": {
- "1": {
- "name": "keyword.import.go"
- }
- },
- "end": "(?!\\G)",
- "patterns": [
- {
- "include": "#imports"
- }
- ]
- },
- {
- "begin": "\\b(var)\\s+",
- "beginCaptures": {
- "1": {
- "name": "keyword.var.go"
+ "2": {
+ "name": "punctuation.definition.begin.bracket.square.go"
}
},
- "end": "(?!\\G)",
- "patterns": [
- {
- "include": "#variables"
- }
- ]
- },
- {
- "match": "(?,\\s*\\w+(?:\\.\\w+)*)*)(?=\\s*=(?!=))",
- "captures": {
+ "end": "(?:(\\])((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?!(?:[\\[\\]\\*]+)?\\b(?:func|struct|map)\\b)[\\w\\.\\[\\]\\*]+)?)",
+ "endCaptures": {
"1": {
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ "2": {
"patterns": [
{
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
+ "include": "#type-declarations-without-brackets"
},
{
- "match": "\\w+(?:\\.\\w+)*",
- "name": "variable.other.assignment.go",
- "captures": {
- "0": {
- "patterns": [
- {
- "include": "#delimiters"
- }
- ]
- }
- }
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
},
{
- "include": "#delimiters"
- }
- ]
- }
- }
- },
- {
- "match": "\\b\\w+(?:,\\s*\\w+)*(?=\\s*:=)",
- "captures": {
- "0": {
- "patterns": [
- {
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
},
{
"match": "\\w+",
- "name": "variable.other.assignment.go"
- },
- {
- "include": "#delimiters"
+ "name": "entity.name.type.go"
}
]
}
- }
- },
- {
- "comment": "Terminators",
- "match": ";",
- "name": "punctuation.terminator.go"
- },
- {
- "include": "#brackets"
- },
- {
- "include": "#delimiters"
- },
- {
- "include": "#keywords"
- },
- {
- "include": "#operators"
- },
- {
- "include": "#runes"
+ },
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#generic_types"
+ },
+ {
+ "include": "#functions"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\{",
+ "name": "punctuation.definition.begin.bracket.curly.go"
+ },
+ {
+ "match": "\\}",
+ "name": "punctuation.definition.end.bracket.curly.go"
+ },
+ {
+ "match": "\\(",
+ "name": "punctuation.definition.begin.bracket.round.go"
+ },
+ {
+ "match": "\\)",
+ "name": "punctuation.definition.end.bracket.round.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
},
- {
- "include": "#storage_types"
- }
- ],
- "repository": {
"brackets": {
"patterns": [
{
- "begin": "{",
+ "begin": "\\{",
"beginCaptures": {
"0": {
"name": "punctuation.definition.begin.bracket.curly.go"
}
},
- "end": "}",
+ "end": "\\}",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.bracket.curly.go"
@@ -337,44 +414,30 @@
]
},
{
- "match": "\\[|\\]",
- "name": "punctuation.definition.bracket.square.go"
- }
- ]
- },
- "comments": {
- "patterns": [
- {
- "name": "comment.block.go",
- "begin": "(\\/\\*)",
+ "begin": "\\[",
"beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.go"
+ "0": {
+ "name": "punctuation.definition.begin.bracket.square.go"
}
},
- "end": "(\\*\\/)",
+ "end": "\\]",
"endCaptures": {
- "1": {
- "name": "punctuation.definition.comment.go"
- }
- }
- },
- {
- "name": "comment.line.double-slash.go",
- "begin": "(\\/\\/)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.definition.comment.go"
+ "0": {
+ "name": "punctuation.definition.end.bracket.square.go"
}
},
- "end": "(?:\\n|$)"
+ "patterns": [
+ {
+ "include": "$self"
+ }
+ ]
}
]
},
"delimiters": {
"patterns": [
{
- "match": ",",
+ "match": "\\,",
"name": "punctuation.other.comma.go"
},
{
@@ -387,52 +450,6 @@
}
]
},
- "imports": {
- "patterns": [
- {
- "match": "((?!\\s+\")[^\\s]*)?\\s*((\")([^\"]*)(\"))",
- "captures": {
- "1": {
- "name": "entity.alias.import.go"
- },
- "2": {
- "name": "string.quoted.double.go"
- },
- "3": {
- "name": "punctuation.definition.string.begin.go"
- },
- "4": {
- "name": "entity.name.import.go"
- },
- "5": {
- "name": "punctuation.definition.string.end.go"
- }
- }
- },
- {
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.imports.begin.bracket.round.go"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.imports.end.bracket.round.go"
- }
- },
- "patterns": [
- {
- "include": "#comments"
- },
- {
- "include": "#imports"
- }
- ]
- }
- ]
- },
"keywords": {
"patterns": [
{
@@ -448,6 +465,10 @@
"match": "\\bconst\\b",
"name": "keyword.const.go"
},
+ {
+ "match": "\\bvar\\b",
+ "name": "keyword.var.go"
+ },
{
"match": "\\bfunc\\b",
"name": "keyword.function.go"
@@ -463,6 +484,14 @@
{
"match": "\\bstruct\\b",
"name": "keyword.struct.go"
+ },
+ {
+ "match": "\\bimport\\b",
+ "name": "keyword.control.import.go"
+ },
+ {
+ "match": "\\btype\\b",
+ "name": "keyword.type.go"
}
]
},
@@ -470,7 +499,7 @@
"comment": "Note that the order here is very important!",
"patterns": [
{
- "match": "(\\*|&)(?=\\w)",
+ "match": "((?:\\*|&)+)(?:(?!\\d)(?=(?:[\\w\\[\\]])|(?:\\<\\-)))",
"name": "keyword.operator.address.go"
},
{
@@ -502,7 +531,7 @@
"name": "keyword.operator.arithmetic.go"
},
{
- "match": "(&(?!\\^)|\\||\\^|&\\^|<<|>>)",
+ "match": "(&(?!\\^)|\\||\\^|&\\^|<<|>>|\\~)",
"name": "keyword.operator.arithmetic.bitwise.go"
},
{
@@ -569,6 +598,59 @@
{
"match": "\\buintptr\\b",
"name": "storage.type.uintptr.go"
+ },
+ {
+ "match": "\\bany\\b",
+ "name": "entity.name.type.any.go"
+ }
+ ]
+ },
+ "raw_string_literals": {
+ "comment": "Raw string literals",
+ "begin": "`",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.begin.go"
+ }
+ },
+ "end": "`",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.end.go"
+ }
+ },
+ "name": "string.quoted.raw.go",
+ "patterns": [
+ {
+ "include": "#string_placeholder"
+ }
+ ]
+ },
+ "string_literals": {
+ "patterns": [
+ {
+ "comment": "Interpreted string literals",
+ "begin": "\"",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.begin.go"
+ }
+ },
+ "end": "\"",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.end.go"
+ }
+ },
+ "name": "string.quoted.double.go",
+ "patterns": [
+ {
+ "include": "#string_escaped_char"
+ },
+ {
+ "include": "#string_placeholder"
+ }
+ ]
}
]
},
@@ -592,94 +674,14 @@
}
]
},
- "variables": {
- "patterns": [
- {
- "match": "(\\w+(?:,\\s*\\w+)*)(\\s+\\*?\\w+(?:\\.\\w+)?\\s*)?(?=\\s*=)",
- "captures": {
- "1": {
- "patterns": [
- {
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
- },
- {
- "match": "\\w+",
- "name": "variable.other.assignment.go"
- },
- {
- "include": "#delimiters"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- }
- },
- {
- "match": "(\\w+(?:,\\s*\\w+)*)(\\s+(\\[(\\d*|\\.\\.\\.)\\])*\\*?(<-)?\\w+(?:\\.\\w+)?\\s*[^=].*)",
- "captures": {
- "1": {
- "patterns": [
- {
- "match": "\\d\\w*",
- "name": "invalid.illegal.identifier.go"
- },
- {
- "match": "\\w+",
- "name": "variable.other.declaration.go"
- },
- {
- "include": "#delimiters"
- }
- ]
- },
- "2": {
- "patterns": [
- {
- "include": "$self"
- }
- ]
- }
- }
- },
- {
- "begin": "\\(",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.variables.begin.bracket.round.go"
- }
- },
- "end": "\\)",
- "endCaptures": {
- "0": {
- "name": "punctuation.definition.variables.end.bracket.round.go"
- }
- },
- "patterns": [
- {
- "include": "$self"
- },
- {
- "include": "#variables"
- }
- ]
- }
- ]
- },
- "numeric_literals": {
- "match": "(?\\-]+(?:\\s*)(?:\\/(?:\\/|\\*).*)?)$)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "function_param_types": {
+ "comment": "function parameter variables and types",
+ "patterns": [
+ {
+ "include": "#struct_variables_types"
+ },
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "comment": "struct type declaration",
+ "match": "((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)\\s+(?=(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:[\\[\\]\\*]+)?\\bstruct\\b\\s*\\{)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.parameter.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "comment": "multiple parameters one type -with multilines",
+ "match": "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.parameter.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "comment": "multiple params and types | multiple params one type | one param one type",
+ "match": "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.\\[\\]]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:[\\[\\]\\*]+)?[\\w\\*\\.]+(?:\\[(?:[^\\]]+)\\])?(?:[\\w\\.\\*]+)?)+)))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.parameter.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "comment": "other types",
+ "match": "([\\w\\.]+)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "generic_param_types": {
+ "comment": "generic parameter variables and types",
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "comment": "multiple parameters one type -with multilines",
+ "match": "(?:(?:(?<=\\()|^\\s*)((?:(?:\\b\\w+\\,\\s*)+)(?:/(?:/|\\*).*)?)$)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.parameter.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "comment": "multiple params and types | multiple types one param",
+ "match": "(?:((?:(?:\\b\\w+\\,\\s*)+)?\\b\\w+)(?:\\s+)((?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:(?:(?:[\\w\\[\\]\\.\\*]+)?(?:(?:\\bfunc\\b\\((?:[^\\)]+)?\\))(?:(?:\\s*(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?(?:\\s*))+(?:(?:(?:[\\w\\*\\.]+)|(?:\\((?:[^\\)]+)?\\))))?)|(?:(?:(?:[\\w\\*\\.\\~]+)|(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\]))(?:[\\w\\.\\*]+)?)+)))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.parameter.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "comment": "other types",
+ "match": "(?:\\b([\\w\\.]+))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "functions": {
+ "comment": "Functions",
+ "begin": "(?:(\\bfunc\\b)(?=\\())",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.function.go"
+ }
+ },
+ "end": "(?:(?<=\\))(\\s*(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+)?((?:(?:\\s*(?:(?:[\\[\\]\\*]+)?[\\w\\.\\*]+)?(?:(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])|(?:\\((?:[^\\)]+)?\\)))?(?:[\\w\\.\\*]+)?)(?:\\s*)(?=\\{))|(?:\\s*(?:(?:(?:[\\[\\]\\*]+)?(?!\\bfunc\\b)(?:[\\w\\.\\*]+)(?:\\[(?:(?:[\\w\\.\\*]+)?(?:\\[(?:[^\\]]+)?\\])?(?:\\,\\s+)?)+\\])?(?:[\\w\\.\\*]+)?)|(?:\\((?:[^\\)]+)?\\)))))?)",
+ "endCaptures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ },
+ "patterns": [
+ {
+ "include": "#parameter-variable-types"
+ }
+ ]
+ },
+ "functions_inline": {
+ "comment": "functions in-line with multi return types",
+ "match": "(?:(\\bfunc\\b)((?:\\((?:[^/]*)\\))(?:\\s+)(?:\\((?:[^/]*)\\)))(?:\\s+)(?=\\{))",
+ "captures": {
+ "1": {
+ "name": "keyword.function.go"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.begin.bracket.round.go"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.round.go"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#function_param_types"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\{",
+ "name": "punctuation.definition.begin.bracket.curly.go"
+ },
+ {
+ "match": "\\}",
+ "name": "punctuation.definition.end.bracket.curly.go"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ "support_functions": {
+ "comment": "Support Functions",
+ "match": "(?:(?:((?<=\\.)\\w+)|(\\w+))(\\[(?:(?:[\\w\\.\\*\\[\\]\\{\\}\"\\']+)(?:(?:\\,\\s*(?:[\\w\\.\\*\\[\\]\\{\\}]+))*))?\\])?(?=\\())",
+ "captures": {
+ "1": {
+ "name": "entity.name.function.support.go"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\d\\w*",
+ "name": "invalid.illegal.identifier.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.function.support.go"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\{",
+ "name": "punctuation.definition.begin.bracket.curly.go"
+ },
+ {
+ "match": "\\}",
+ "name": "punctuation.definition.end.bracket.curly.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ "other_struct_interface_expressions": {
+ "comment": "struct and interface expression in-line (before curly bracket)",
+ "patterns": [
+ {
+ "comment": "after control variables must be added exactly here, do not move it! (changing may not affect tests, so be careful!)",
+ "include": "#after_control_variables"
+ },
+ {
+ "match": "(\\b[\\w\\.]+)(\\[(?:[^\\]]+)?\\])?(?=\\{)(?|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\w(?:\\+|/|\\-|\\*|\\%)|\\w(?:\\+|/|\\-|\\*|\\%)\\=|\\|\\||\\&\\&)(?:\\s*)([[:alnum:]\\-\\_\\!\\.\\[\\]\\<\\>\\=\\*/\\+\\%\\:]+)(?:\\s*)(?=\\{))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "variable.other.go"
+ }
+ ]
+ }
+ }
+ },
+ "syntax_errors": {
+ "patterns": [
+ {
+ "comment": "Syntax error using slices",
+ "match": "\\[\\](\\s+)",
+ "captures": {
+ "1": {
+ "name": "invalid.illegal.slice.go"
+ }
+ }
+ },
+ {
+ "comment": "Syntax error numeric literals",
+ "match": "\\b0[0-7]*[89]\\d*\\b",
+ "name": "invalid.illegal.numeric.go"
+ }
+ ]
+ },
+ "built_in_functions": {
+ "comment": "Built-in functions",
+ "patterns": [
+ {
+ "match": "\\b(append|cap|close|complex|copy|delete|imag|len|panic|print|println|real|recover|min|max|clear)\\b(?=\\()",
+ "name": "entity.name.function.support.builtin.go"
+ },
+ {
+ "comment": "new keyword",
+ "begin": "(?:(\\bnew\\b)(\\())",
+ "beginCaptures": {
+ "1": {
+ "name": "entity.name.function.support.builtin.go"
+ },
+ "2": {
+ "name": "punctuation.definition.begin.bracket.round.go"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.round.go"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#functions"
+ },
+ {
+ "include": "#struct_variables_types"
+ },
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "include": "#generic_types"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "entity.name.type.go"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ {
+ "comment": "make keyword",
+ "match": "(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?(?:\\[(?:[^\\]]+)?\\])?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?)?((?:\\,\\s*(?:[\\w\\.\\(\\)]+)?)+)?(\\))))",
+ "captures": {
+ "1": {
+ "name": "entity.name.function.support.builtin.go"
+ },
+ "2": {
+ "name": "punctuation.definition.begin.bracket.round.go"
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#parameter-variable-types"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ },
+ "4": {
+ "patterns": [
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "5": {
+ "name": "punctuation.definition.end.bracket.round.go"
+ }
+ }
+ }
+ ]
+ },
+ "struct_interface_declaration": {
+ "comment": "struct, interface type declarations (related to: struct_variables_types, interface_variables_types)",
+ "match": "(?:(?:^\\s*)(\\btype\\b)(?:\\s*)([\\w\\.]+))",
+ "captures": {
+ "1": {
+ "name": "keyword.type.go"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ "switch_types": {
+ "begin": "(?<=\\bswitch\\b)(?:\\s*)(?:(\\w+\\s*\\:\\=)?\\s*([\\w\\.\\*\\(\\)\\[\\]]+))(\\.\\(\\btype\\b\\)\\s*)(\\{)",
+ "beginCaptures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#operators"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "variable.other.assignment.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#support_functions"
+ },
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:\\w+)",
+ "name": "variable.other.go"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "include": "#brackets"
+ },
+ {
+ "match": "\\btype\\b",
+ "name": "keyword.type.go"
+ }
+ ]
+ },
+ "4": {
+ "name": "punctuation.definition.begin.bracket.curly.go"
+ }
+ },
+ "end": "(?:\\})",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.curly.go"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "(?:^\\s*(\\bcase\\b))(?:\\s+)([\\w\\.\\,\\*\\=\\<\\>\\!\\s]+)(:)(\\s*/(?:/|\\*)\\s*.*)?$",
+ "captures": {
+ "1": {
+ "name": "keyword.control.go"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.other.colon.go"
+ },
+ "4": {
+ "patterns": [
+ {
+ "include": "#comments"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "var_const_assignment": {
+ "comment": "variable assignment with var and const keyword",
+ "patterns": [
+ {
+ "comment": "var and const with single type assignment",
+ "match": "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.assignment.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#generic_types"
+ },
+ {
+ "match": "\\(",
+ "name": "punctuation.definition.begin.bracket.round.go"
+ },
+ {
+ "match": "\\)",
+ "name": "punctuation.definition.end.bracket.round.go"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "comment": "var and const with multi type assignment",
+ "begin": "(?:(?<=\\bvar\\b|\\bconst\\b)(?:\\s*)(\\())",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.begin.bracket.round.go"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.end.bracket.round.go"
+ }
+ },
+ "patterns": [
+ {
+ "match": "(?:(?:^\\s*)(\\b[\\w\\.]+(?:\\,\\s*[\\w\\.]+)*)(?:\\s*)((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?!(?:[\\[\\]\\*]+)?\\b(?:struct|func|map)\\b)(?:[\\w\\.\\[\\]\\*]+(?:\\,\\s*[\\w\\.\\[\\]\\*]+)*)?(?:\\s*)(?:\\=)?)?)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.assignment.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "include": "#generic_types"
+ },
+ {
+ "match": "\\(",
+ "name": "punctuation.definition.begin.bracket.round.go"
+ },
+ {
+ "match": "\\)",
+ "name": "punctuation.definition.end.bracket.round.go"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ }
+ ]
+ },
+ "variable_assignment": {
+ "comment": "variable assignment",
+ "patterns": [
+ {
+ "comment": "variable assignment with :=",
+ "match": "\\b\\w+(?:\\,\\s*\\w+)*(?=\\s*:=)",
+ "captures": {
+ "0": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "match": "\\d\\w*",
+ "name": "invalid.illegal.identifier.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.assignment.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "comment": "variable assignment with =",
+ "match": "\\b[\\w\\.\\*]+(?:\\,\\s*[\\w\\.\\*]+)*(?=\\s*=(?!=))",
+ "captures": {
+ "0": {
+ "patterns": [
+ {
+ "include": "#delimiters"
+ },
+ {
+ "include": "#operators"
+ },
+ {
+ "match": "\\d\\w*",
+ "name": "invalid.illegal.identifier.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.assignment.go"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "generic_types": {
+ "comment": "Generic support for all types",
+ "match": "(?:([\\w\\.\\*]+)(\\[(?:[^\\]]+)?\\]))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#parameter-variable-types"
+ }
+ ]
+ }
+ }
+ },
+ "switch_select_case_variables": {
+ "comment": "variables after case control keyword in switch/select expression",
+ "match": "(?:(?:^\\s*(\\bcase\\b))(?:\\s+)([\\s\\S]+(?:\\:)\\s*(?:/(?:/|\\*).*)?)$)",
+ "captures": {
+ "1": {
+ "name": "keyword.control.go"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "include": "#support_functions"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.go"
+ }
+ ]
+ }
+ }
+ },
+ "slice_index_variables": {
+ "comment": "slice index and capacity variables, to not scope them as property variables",
+ "match": "(?<=\\w\\[)((?:(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+\\:)|(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+))(?:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?(?:\\:\\b[\\w\\.\\*\\+/\\-\\*\\%\\<\\>\\|\\&]+)?)(?=\\])",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.go"
+ }
+ ]
+ }
+ }
+ },
+ "property_variables": {
+ "comment": "Property variables in struct | parameter field in struct initialization",
+ "match": "(?:(?:((?:\\b[\\w\\.]+)(?:\\:(?!\\=))))(?:(?:\\s*([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))((?:\\s*(?:\\<|\\>|\\<\\=|\\>\\=|\\=\\=|\\!\\=|\\|\\||\\&\\&|\\+|/|\\-|\\*|\\%|\\||\\&)\\s*(?:[\\w\\.\\*\\&\\[\\]]+)(?:\\.\\w+)(?![\\w\\.\\*\\&\\[\\]]*(?:\\{|\\()))*))?)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.property.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.go"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.property.field.go"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "4": {
+ "patterns": [
+ {
+ "match": "([\\w\\.\\*\\&\\[\\]]+)(\\.\\w+)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.go"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.property.field.go"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ }
+ }
+ },
+ "label_loop_variables": {
+ "comment": "labeled loop variable name",
+ "match": "((?:^\\s*\\w+:\\s*$)|(?:^\\s*(?:\\bbreak\\b|\\bgoto\\b|\\bcontinue\\b)\\s+\\w+(?:\\s*/(?:/|\\*)\\s*.*)?$))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations"
+ },
+ {
+ "match": "\\w+",
+ "name": "variable.other.label.go"
+ }
+ ]
+ }
+ }
+ },
+ "double_parentheses_types": {
+ "comment": "double parentheses types",
+ "match": "(?:(\\((?:[\\w\\.\\[\\]\\*\\&]+)\\))(?=\\())",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#type-declarations-without-brackets"
+ },
+ {
+ "match": "\\(",
+ "name": "punctuation.definition.begin.bracket.round.go"
+ },
+ {
+ "match": "\\)",
+ "name": "punctuation.definition.end.bracket.round.go"
+ },
+ {
+ "match": "\\[",
+ "name": "punctuation.definition.begin.bracket.square.go"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.end.bracket.square.go"
+ },
+ {
+ "match": "\\w+",
+ "name": "entity.name.type.go"
+ }
+ ]
+ }
+ }
+ },
+ "other_variables": {
+ "match": "(?:\\w+)",
+ "name": "variable.other.go",
+ "patterns": [
+ {
+ "include": "#storage_types"
+ },
+ {
+ "include": "$self"
+ }
+ ]
}
}
}
\ No newline at end of file
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/java/java.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/java/java.tmLanguage.json
index 7f969ccb7..54201a57c 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/java/java.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/java/java.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/redhat-developer/vscode-java/commit/5d224a552cf5f0f8ebccf69e43e2575ed2c13839",
+ "version": "https://github.com/redhat-developer/vscode-java/commit/f09b712f5d6d6339e765f58c8dfab3f78a378183",
"name": "Java",
"scopeName": "source.java",
"patterns": [
@@ -1598,11 +1598,7 @@
"name": "string.quoted.triple.java",
"patterns": [
{
- "match": "\\\\\"\"\"",
- "name": "constant.character.escape.java"
- },
- {
- "match": "\\\\.",
+ "match": "(\\\\\"\"\")(?!\")|(\\\\.)",
"name": "constant.character.escape.java"
}
]
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/javascript/javascript.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/javascript/javascript.tmLanguage.json
index 4fe09e087..bec7b9f5b 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/javascript/javascript.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/javascript/javascript.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/8c7482b94b548eab56da64dbfb30b82589b3f747",
+ "version": "https://github.com/microsoft/TypeScript-TmLanguage/commit/b80b7509a78e642f789c567e144ed951ab98b4e3",
"name": "JavaScript (with React support)",
"scopeName": "source.js",
"patterns": [
@@ -2351,12 +2351,15 @@
]
},
"import-export-assert-clause": {
- "begin": "(?(['\"])(?:[^\\\\]|\\\\.)*?(\\6)))))?\\s*(\\])",
- "name": "meta.attribute-selector.css"
+ "patterns": [
+ {
+ "begin": "\\s*((@)media)",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.control.at-rule.media.less"
+ },
+ "2": {
+ "name": "punctuation.definition.keyword.less"
+ },
+ "3": {
+ "name": "support.constant.media.less"
+ }
+ },
+ "end": "\\s*(?=\\{)",
+ "name": "meta.at-rule.media.less",
+ "patterns": [
+ {
+ "include": "#media-query-list"
+ }
+ ]
+ },
+ {
+ "begin": "\\s*(\\{)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.block.begin.less"
+ }
+ },
+ "end": "(?=\\})",
+ "patterns": [
+ {
+ "include": "#rule-list-body"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ }
+ ]
},
- {
- "begin": "((@)import\\b)",
+ "at-namespace": {
+ "begin": "\\s*((@)namespace)\\s+",
"beginCaptures": {
"1": {
- "name": "keyword.control.at-rule.import.less"
+ "name": "keyword.control.at-rule.namespace.less"
},
"2": {
"name": "punctuation.definition.keyword.less"
}
},
- "end": ";",
+ "end": "\\;",
"endCaptures": {
"0": {
- "name": "punctuation.terminator.rule.css"
+ "name": "punctuation.terminator.rule.less"
}
},
- "name": "meta.at-rule.import.css",
+ "name": "meta.at-rule.namespace.less",
"patterns": [
{
- "match": "(?<=\\(|,|\\s)\\b(reference|optional|once|multiple|less|inline)\\b(?=\\)|,)",
- "name": "keyword.control.import.option.less"
- },
- {
- "include": "#brace_round"
+ "include": "#url-function"
},
{
- "include": "source.css#commas"
+ "include": "#literal-string"
},
{
- "include": "#strings"
+ "match": "(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",
+ "name": "entity.name.constant.namespace-prefix.less"
}
]
},
- {
+ "at-page": {
"captures": {
"1": {
- "name": "keyword.control.at-rule.fontface.css"
+ "name": "keyword.control.at-rule.page.less"
},
"2": {
- "name": "punctuation.definition.keyword.css"
- }
- },
- "match": "^\\s*((@)font-face\\b)",
- "name": "meta.at-rule.fontface.css"
- },
- {
- "captures": {
- "1": {
- "name": "keyword.control.at-rule.media.css"
+ "name": "punctuation.definition.keyword.less"
},
- "2": {
- "name": "punctuation.definition.keyword.css"
- }
- },
- "match": "^\\s*((@)media\\b)",
- "name": "meta.at-rule.media.css"
- },
- {
- "include": "source.css#media-features"
- },
- {
- "match": "\\b(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)\\b",
- "name": "support.constant.media-type.media.css"
- },
- {
- "match": "\\b(portrait|landscape)\\b",
- "name": "support.constant.property-value.media-property.media.css"
- },
- {
- "captures": {
- "1": {
- "name": "support.function.less"
- }
- },
- "match": "(\\.[a-zA-Z0-9_-]+)\\s*(;|\\()"
- },
- {
- "begin": "(^[ \\t]+)?(?=//)",
- "beginCaptures": {
- "1": {
- "name": "punctuation.whitespace.comment.leading.less"
+ "3": {
+ "name": "punctuation.definition.entity.less"
+ },
+ "4": {
+ "name": "entity.other.attribute-name.pseudo-class.less"
}
},
- "end": "(?!\\G)",
+ "match": "\\s*((@)page)\\s*(?:(:)(first|left|right))?\\s*(?=\\{|$)",
+ "name": "meta.at-rule.page.less",
"patterns": [
{
- "begin": "//",
- "beginCaptures": {
- "0": {
- "name": "punctuation.definition.comment.less"
- }
- },
- "end": "\\n",
- "name": "comment.line.double-slash.less"
+ "include": "#comment-block"
+ },
+ {
+ "include": "#rule-list"
}
]
},
- {
- "match": "(@|\\-\\-)[\\w-]+(?=\\s*)",
- "name": "variable.other.less",
- "captures": {
- "1": {
- "name": "punctuation.definition.variable.less"
- }
- }
- },
- {
- "include": "#variable_interpolation"
- },
- {
- "begin": "{",
- "beginCaptures": {
- "0": {
- "name": "punctuation.section.property-list.begin.bracket.curly.css"
- }
- },
- "end": "}",
- "endCaptures": {
- "0": {
- "name": "punctuation.section.property-list.end.bracket.curly.css"
- }
- },
- "name": "meta.property-list.css",
+ "at-rules": {
"patterns": [
{
- "include": "source.css#pseudo-elements"
+ "include": "#at-charset"
},
{
- "include": "source.css#pseudo-classes"
+ "include": "#at-counter-style"
},
{
- "include": "source.css#tag-names"
+ "include": "#at-custom-media"
},
{
- "include": "source.css#commas"
+ "include": "#at-font-face"
},
{
- "include": "#variable_interpolation"
+ "include": "#at-media"
},
{
- "include": "source.css#property-names"
+ "include": "#at-import"
},
{
- "include": "#property_values"
+ "include": "#at-keyframes"
},
{
- "include": "$self"
+ "include": "#at-namespace"
+ },
+ {
+ "include": "#at-page"
+ },
+ {
+ "include": "#at-supports"
+ },
+ {
+ "include": "#at-viewport"
}
]
},
- {
- "match": "\\!\\s*important",
- "name": "keyword.other.important.css"
- },
- {
- "match": "\\*|\\/|\\-|\\+|~|=|<=|>=|<|>",
- "name": "keyword.operator.less"
- },
- {
- "match": "\\b(not|and|when)\\b",
- "name": "keyword.control.logical.operator.less"
- },
- {
- "include": "source.css#tag-names"
- },
- {
- "match": "(?)=?))\\s*"
+ },
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "include": "#less-logical-comparisons"
+ }
+ ]
+ },
+ {
+ "match": "\\btrue|false\\b",
+ "name": "constant.language.less"
+ },
+ {
+ "match": ",",
+ "name": "punctuation.separator.less"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#selectors"
+ },
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ },
+ "less-math": {
+ "patterns": [
+ {
+ "match": "[-\\+\\*\\/]",
+ "name": "keyword.operator.arithmetic.less"
+ },
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "include": "#less-math"
+ }
+ ]
+ },
+ {
+ "include": "#numeric-values"
+ },
+ {
+ "include": "#less-variables"
+ }
+ ]
+ },
+ "less-math-functions": {
+ "patterns": [
+ {
+ "begin": "\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.math.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#numeric-values"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "captures": {
+ "2": {
+ "name": "support.function.math.less"
+ },
+ "3": {
+ "name": "punctuation.definition.group.begin.less"
+ },
+ "4": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "match": "((pi)(\\()(\\)))",
+ "name": "meta.function-call.less"
+ },
+ {
+ "begin": "\\b(pow|m(od|in|ax))(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.math.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#numeric-values"
+ },
+ {
+ "include": "#comma-delimiter"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "less-misc-functions": {
+ "patterns": [
+ {
+ "begin": "\\b(color)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.color.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#literal-string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(image-(size|width|height))(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.image.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(convert|unit)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.convert.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#dimensions"
+ },
+ {
+ "include": "#numeric-values"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "match": "((c|m)?m|in|p(t|c|x)|m?s|g?rad|deg|turn|%|r?em|ex|ch)",
+ "name": "keyword.other.unit.less"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(data-uri)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.data-uri.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.less"
+ }
+ },
+ "match": "\\s*(?:(,))"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "captures": {
+ "2": {
+ "name": "punctuation.definition.group.begin.less"
+ },
+ "3": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "match": "\\b(default(\\()(\\)))\\b",
+ "name": "support.function.default.less"
+ },
+ {
+ "begin": "\\b(get-unit)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.get-unit.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#dimensions"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(svg-gradient)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.svg-gradient.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#angle-type"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#color-values"
+ },
+ {
+ "include": "#percentage-type"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "match": "\\bto\\b",
+ "name": "keyword.other.less"
+ },
+ {
+ "match": "\\b(top|right|bottom|left|center)\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "match": "\\b(at|circle|ellipse)\\b",
+ "name": "keyword.other.less"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "less-mixin-guards": {
+ "patterns": [
+ {
+ "begin": "\\s*(and|not|or)?\\s*(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.operator.logical.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "include": "#less-variable-comparison"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "meta.group.less"
+ },
+ "2": {
+ "name": "punctuation.definition.group.begin.less"
+ },
+ "3": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "match": "default((\\()(\\)))",
+ "name": "support.function.default.less"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#less-logical-comparisons"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "less-namespace-accessors": {
+ "patterns": [
+ {
+ "begin": "(?=\\s*when\\b)",
+ "end": "\\s*(?:(,)|(?=[{;]))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.block.end.less"
+ }
+ },
+ "name": "meta.conditional.guarded-namespace.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.control.conditional.less"
+ },
+ "2": {
+ "name": "punctuation.definition.keyword.less"
+ }
+ },
+ "match": "\\s*(when)(?=.*?)"
+ },
+ {
+ "include": "#less-mixin-guards"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "begin": "\\s*(\\{)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.section.property-list.begin.less"
+ }
+ },
+ "end": "(?=\\})",
+ "name": "meta.block.less",
+ "patterns": [
+ {
+ "include": "#rule-list-body"
+ }
+ ]
+ },
+ {
+ "include": "#selectors"
+ }
+ ]
+ },
+ {
+ "begin": "(\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(\\))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.group.end.less"
+ },
+ "2": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "include": "#less-variable-assignment"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "match": "\\s*(;)|(?=[})])"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#rule-list-body"
+ }
+ ]
+ }
+ ]
+ },
+ "less-number-units": {
+ "patterns": [
+ {
+ "match": "\\b((c|m)?m|in|p(t|c)|m?s|g?rad|deg|turn)\\b",
+ "name": "keyword.other.unit.less"
+ },
+ {
+ "match": "\\b(r?em|ex|ch|vw|vh|vmin|vmax|cm|mm|q|in|pt|pc|px|fr|s|ms|Hz|kHz|dpi|dpcm|dppx|deg|grad|rad|turn)\\b"
+ }
+ ]
+ },
+ "less-string-functions": {
+ "patterns": [
+ {
+ "begin": "\\b(e(scape)?)(?=\\()\\b",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.escape.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\s*(%)(?=\\()\\s*",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.format.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#property-values"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(replace)(?=\\()\\b",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.replace.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#property-values"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "less-strings": {
+ "patterns": [
+ {
+ "begin": "(~)('|\")",
+ "beginCaptures": {
+ "1": {
+ "name": "constant.character.escape.less"
+ },
+ "2": {
+ "name": "punctuation.definition.string.begin.less"
+ }
+ },
+ "contentName": "markup.raw.inline.less",
+ "end": "('|\")|(\\n)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.string.end.less"
+ },
+ "2": {
+ "name": "invalid.illegal.newline.less"
+ }
+ },
+ "name": "string.quoted.other.less",
+ "patterns": [
+ {
+ "include": "#string-content"
+ }
+ ]
+ }
+ ]
+ },
+ "less-type-functions": {
+ "patterns": [
+ {
+ "begin": "\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.type.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#property-values"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(isunit)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.type.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "match": "(?x)\\b((?i:em|ex|ch|rem)|(?i:vw|vh|vmin|vmax)|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:s|ms)|(?i:Hz|kHz)|(?i:dpi|dpcm|dppx))\\b",
+ "name": "keyword.other.unit.less"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(isdefined)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.type.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "less-variable-assignment": {
+ "patterns": [
+ {
+ "begin": "(@)(-?(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",
+ "beginCaptures": {
+ "0": {
+ "name": "variable.other.readwrite.less"
+ },
+ "1": {
+ "name": "punctuation.definition.variable.less"
+ },
+ "2": {
+ "name": "support.other.variable.less"
+ }
+ },
+ "end": "\\s*(;|(\\.{3})|(?=\\)))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ },
+ "2": {
+ "name": "keyword.operator.spread.less"
+ }
+ },
+ "name": "meta.property-value.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#property-list"
+ },
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ }
+ ]
+ },
+ "less-variable-comparison": {
+ "patterns": [
+ {
+ "begin": "(@{1,2})([-]?([_a-z]|[^\\x{00}-\\x{7F}]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",
+ "beginCaptures": {
+ "0": {
+ "name": "variable.other.readwrite.less"
+ },
+ "1": {
+ "name": "punctuation.definition.variable.less"
+ },
+ "2": {
+ "name": "support.other.variable.less"
+ }
+ },
+ "end": "\\s*(?=\\))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.operator.logical.less"
+ }
+ },
+ "match": "\\s*(=|((<|>)=?))\\s*"
+ },
+ {
+ "match": "\\btrue\\b",
+ "name": "constant.language.less"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#selectors"
+ },
+ {
+ "include": "#unquoted-string"
+ },
+ {
+ "match": ",",
+ "name": "punctuation.separator.less"
+ }
+ ]
+ }
+ ]
+ },
+ "less-variable-interpolation": {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.variable.less"
+ },
+ "2": {
+ "name": "punctuation.definition.expression.less"
+ },
+ "3": {
+ "name": "support.other.variable.less"
+ },
+ "4": {
+ "name": "punctuation.definition.expression.less"
+ }
+ },
+ "match": "(@)(\\{)([-\\w]+)(\\})",
+ "name": "variable.other.readwrite.less"
+ },
+ "less-variables": {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.variable.less"
+ },
+ "2": {
+ "name": "support.other.variable.less"
+ }
+ },
+ "match": "\\s*(@@?)([-\\w]+)",
+ "name": "variable.other.readwrite.less"
+ },
+ "literal-string": {
+ "patterns": [
+ {
+ "begin": "'",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.begin.less"
+ }
+ },
+ "end": "(')|(\\n)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.string.end.less"
+ },
+ "2": {
+ "name": "invalid.illegal.newline.less"
+ }
+ },
+ "name": "string.quoted.single.less",
+ "patterns": [
+ {
+ "include": "#string-content"
+ }
+ ]
+ },
+ {
+ "begin": "\"",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.string.begin.less"
+ }
+ },
+ "end": "(\")|(\\n)",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.string.end.less"
+ },
+ "2": {
+ "name": "invalid.illegal.newline.less"
+ }
+ },
+ "name": "string.quoted.double.less",
+ "patterns": [
+ {
+ "include": "#string-content"
+ }
+ ]
+ },
+ {
+ "include": "#less-strings"
+ }
+ ]
+ },
+ "local-function": {
+ "begin": "\\b(local)(?=\\()",
+ "beginCaptures": {
+ "0": {
+ "name": "support.function.font-face.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ }
+ ]
+ },
+ "media-query": {
+ "begin": "\\s*(only|not)?\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.operator.logic.media.less"
+ },
+ "2": {
+ "name": "support.constant.media.less"
+ }
+ },
+ "end": "\\s*(?:(,)|(?=[{;]))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.definition.arbitrary-repetition.less"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#custom-property-name"
+ },
+ {
+ "begin": "\\s*(and)?\\s*(\\()\\s*",
+ "beginCaptures": {
+ "1": {
+ "name": "keyword.operator.logic.media.less"
+ },
+ "2": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "begin": "((-webkit-|-o-)?((min|max)-)?(-moz-)?(((device-)?(height|width|aspect-ratio|pixel-ratio))|(color(-index)?)|monochrome|resolution))|grid|scan|orientation\\s*(?=[:)])",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.media.less"
+ },
+ "2": {
+ "name": "support.type.vendor-prefix.less"
+ },
+ "5": {
+ "name": "support.type.vendor-prefix.less"
+ }
+ },
+ "end": "(((\\+_?)?):)|(?=\\))",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ }
+ }
+ },
+ {
+ "match": "\\b(portrait|landscape|progressive|interlace)",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "constant.numeric.less"
+ },
+ "2": {
+ "name": "keyword.operator.arithmetic.less"
+ },
+ "3": {
+ "name": "constant.numeric.less"
+ }
+ },
+ "match": "\\s*(\\d+)(/)(\\d+)"
+ },
+ {
+ "include": "#less-math"
+ }
+ ]
+ }
+ ]
+ },
+ "media-query-list": {
+ "begin": "\\s*(?=[^{;])",
+ "end": "\\s*(?=[{;])",
+ "patterns": [
+ {
+ "include": "#media-query"
+ }
+ ]
+ },
+ "minmax-function": {
+ "begin": "\\b(minmax)(?=\\()",
+ "beginCaptures": {
+ "1": {
+ "name": "support.function.grid.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "include": "#comma-delimiter"
+ },
+ {
+ "match": "\\b(max-content|min-content)\\b",
+ "name": "support.constant.property-value.less"
+ }
+ ]
+ }
+ ]
+ },
+ "number-type": {
+ "match": "[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))",
+ "name": "constant.numeric.less"
+ },
+ "numeric-values": {
+ "patterns": [
+ {
+ "include": "#dimensions"
+ },
+ {
+ "include": "#percentage-type"
+ },
+ {
+ "include": "#number-type"
+ }
+ ]
+ },
+ "percentage-type": {
+ "captures": {
+ "1": {
+ "name": "keyword.other.unit.less"
+ }
+ },
+ "match": "[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))(%)",
+ "name": "constant.numeric.less"
+ },
+ "property-list": {
+ "patterns": [
+ {
+ "begin": "(?=(?=[^;]*)\\{)",
+ "end": "\\}",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.block.end.less"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#rule-list"
+ }
+ ]
+ }
+ ]
+ },
+ "property-value-constants": {
+ "patterns": [
+ {
+ "match": "(?x)\\b(\n absolute|active|add\n |all(-(petite|small)-caps|-scroll)?\n |alpha(betic)?\n |alternate(-reverse)?\n |always|annotation|antialiased|at\n |auto(hiding-scrollbar)?\n |avoid(-column|-page|-region)?\n |background(-color|-image|-position|-size)?\n |backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink\n |block(-line-height)?\n |blur\n |bold(er)?\n |border(-bottom|-left|-right|-top)?-(color|radius|width|style)\n |border-(bottom|top)-(left|right)-radius\n |border-image(-outset|-repeat|-slice|-source|-width)?\n |border(-bottom|-left|-right|-top|-collapse|-spacing|-box)?\n |both|bottom\n |box(-shadow)?\n |break-(all|word)\n |brightness\n |butt(on)?\n |capitalize\n |cent(er|ral)\n |char(acter-variant)?\n |cjk-ideographic|clip|clone|close-quote\n |closest-(corner|side)\n |col-resize|collapse\n |color(-stop|-burn|-dodge)?\n |column((-count|-gap|-reverse|-rule(-color|-width)?|-width)|s)?\n |common-ligatures|condensed|consider-shifts|contain\n |content(-box|s)?\n |contextual|contrast|cover\n |crisp(-e|E)dges\n |crop\n |cross(hair)?\n |da(rken|shed)\n |default|dense|diagonal-fractions|difference|disabled\n |discretionary-ligatures|disregard-shifts\n |distribute(-all-lines|-letter|-space)?\n |dotted|double|drop-shadow\n |(nwse|nesw|ns|ew|sw|se|nw|ne|w|s|e|n)-resize\n |ease(-in-out|-in|-out)?\n |element|ellipsis|embed|end|EndColorStr|evenodd\n |exclu(de(-ruby)?|sion)\n |expanded\n |(extra|semi|ultra)-(condensed|expanded)\n |farthest-(corner|side)?\n |fill(-box|-opacity)?\n |filter|fixed|flat\n |flex((-basis|-end|-grow|-shrink|-start)|box)?\n |flip|flood-color\n |font(-size(-adjust)?|-stretch|-weight)?\n |forwards\n |from(-image)?\n |full-width|geometricPrecision|glyphs|gradient|grayscale\n |grid(-height)?\n |groove|hand|hanging|hard-light|height|help|hidden|hide\n |historical-(forms|ligatures)\n |horizontal(-tb)?\n |hue\n |ideograph(-alpha|-numeric|-parenthesis|-space|ic)\n |inactive|include-ruby|infinite|inherit|initial\n |inline(-block|-box|-flex(box)?|-line-height|-table)?\n |inset|inside\n |inter(-ideograph|-word|sect)\n |invert|isolat(e|ion)|italic\n |jis(04|78|83|90)\n |justify(-all)?\n |keep-all\n |large[r]?\n |last|layout|left|letter-spacing\n |light(e[nr]|ing-color)\n |line(-edge|-height|-through)?\n |linear(-gradient|RGB)?\n |lining-nums|list-item|local|loose|lowercase|lr-tb|ltr\n |lumin(osity|ance)|manual\n |manipulation\n |margin(-bottom|-box|-left|-right|-top)?\n |marker(-offset|s)?\n |mathematical\n |max-(content|height|lines|size|width)\n |medium|middle\n |min-(content|height|width)\n |miter|mixed|move|multiply|newspaper\n |no-(change|clip|(close|open)-quote|(common|discretionary|historical)-ligatures|contextual|drop|repeat)\n |none|nonzero|normal|not-allowed|nowrap|oblique\n |offset(-after|-before|-end|-start)?\n |oldstyle-nums|opacity|open-quote\n |optimize(Legibility|Precision|Quality|Speed)\n |order|ordinal|ornaments\n |outline(-color|-offset|-width)?\n |outset|outside|over(line|-edge|lay)\n |padding(-bottom|-box|-left|-right|-top|-box)?\n |page|painted|paused\n |pan-(x|left|right|y|up|down)\n |perspective-origin\n |petite-caps|pixelated|pointer\n |pinch-zoom\n |pre(-line|-wrap)?\n |preserve-3d\n |progid:DXImageTransform.Microsoft.(Alpha|Blur|dropshadow|gradient|Shadow)\n |progress\n |proportional-(nums|width)\n |radial-gradient|recto|region|relative\n |repeat(-[xy])?\n |repeating-(linear|radial)-gradient\n |replaced|reset-size|reverse|ridge|right\n |round\n |row(-resize|-reverse)?\n |rtl|ruby|running|saturat(e|ion)|screen\n |scroll(-position|bar)?\n |separate|sepia\n |scale-down\n |shape-(image-threshold|margin|outside)\n |show\n |sideways(-lr|-rl)?\n |simplified\n |size\n |slashed-zero|slice\n |small(-caps|er)?\n |smooth|snap|solid|soft-light\n |space(-around|-between)?\n |span|sRGB\n |stack(ed-fractions)?\n |start(ColorStr)?\n |static\n |step-(end|start)\n |sticky\n |stop-(color|opacity)\n |stretch|strict\n |stroke(-box|-dash(array|offset)|-miterlimit|-opacity|-width)?\n |style(set)?\n |stylistic\n |sub(grid|pixel-antialiased|tract)?\n |super|swash\n |table(-caption|-cell|(-column|-footer|-header|-row)-group|-column|-row)?\n |tabular-nums|tb-rl\n |text((-bottom|-(decoration|emphasis)-color|-indent|-(over|under)-edge|-shadow|-size(-adjust)?|-top)|field)?\n |thi(ck|n)\n |titling-ca(ps|se)\n |to[p]?\n |touch|traditional\n |transform(-origin)?\n |under(-edge|line)?\n |unicase|unset|uppercase|upright\n |use-(glyph-orientation|script)\n |verso\n |vertical(-align|-ideographic|-lr|-rl|-text)?\n |view-box\n |viewport-fill(-opacity)?\n |visibility\n |visible(Fill|Painted|Stroke)?\n |wait|wavy|weight|whitespace|(device-)?width|word-spacing\n |wrap(-reverse)?\n |x{1,2}-(large|small)\n |z-index|zero\n |zoom(-in|-out)?\n |((?xi:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)))\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "match": "\\b(?i:sans-serif|serif|monospace|fantasy|cursive)\\b(?=\\s*[;,\\n}])",
+ "name": "support.constant.font-name.less"
+ }
+ ]
+ },
+ "property-values": {
+ "patterns": [
+ {
+ "include": "#comment-block"
+ },
+ {
+ "include": "#vendor-prefix"
+ },
+ {
+ "include": "#builtin-functions"
+ },
+ {
+ "include": "#color-functions"
+ },
+ {
+ "include": "#less-math"
+ },
+ {
+ "include": "#less-functions"
+ },
+ {
+ "include": "#less-variables"
+ },
+ {
+ "include": "#unicode-range"
+ },
+ {
+ "include": "#numeric-values"
+ },
+ {
+ "include": "#color-values"
+ },
+ {
+ "include": "#property-value-constants"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.less"
+ }
+ },
+ "match": "(\\!)\\s*important",
+ "name": "keyword.other.important.less"
+ }
+ ]
+ },
+ "pseudo-classes": {
+ "patterns": [
+ {
+ "begin": "(:)(dir|lang)(?=\\()",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "entity.other.attribute-name.pseudo-class.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#unquoted-string"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "(:)(not)(?=\\()",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "entity.other.attribute-name.pseudo-class.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#selectors"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "(:)(nth(-last)?-(child|of-type))(?=\\()",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ },
+ "2": {
+ "name": "entity.other.attribute-name.pseudo-class.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "name": "meta.group.less",
+ "patterns": [
+ {
+ "match": "\\b(even|odd)\\b",
+ "name": "keyword.other.pseudo-class.less"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.other.unit.less"
+ }
+ },
+ "match": "(?:[-+]?(?:\\d+)?(n)(\\s*[-+]\\s*\\d+)?|[-+]?\\s*\\d+)",
+ "name": "constant.numeric.less"
+ },
+ {
+ "include": "#less-math"
+ },
+ {
+ "include": "#less-strings"
+ },
+ {
+ "include": "#less-variable-interpolation"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "(:)(host-context)(?=\\()",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "entity.other.attribute-name.pseudo-class.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#selectors"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ },
+ "2": {
+ "name": "entity.other.attribute-name.pseudo-class.less"
+ }
+ },
+ "match": "(:)(active|any|checked|default|disabled|empty|enabled|first(-(child|of-type))?|fullscreen|focus|host|hover|indeterminate|in-range|invalid|last-(child|of-type)|left|link|only-(child|of-type)|optional|out-of-range|read-(only|write)|required|right|root|scope|target|valid|visited)",
+ "name": "meta.function-call.less"
+ }
+ ]
+ },
+ "pseudo-elements": {
+ "patterns": [
+ {
+ "begin": "(::)(slotted)(?=\\()",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "entity.other.attribute-name.pseudo-class.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "include": "#selectors"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ },
+ "2": {
+ "name": "punctuation.definition.entity.less"
+ },
+ "3": {
+ "name": "support.type.vendor-prefix.less"
+ }
+ },
+ "match": "(?:(:{1,2})(?:before|after|first-line|first-letter)|(::)(-(?:moz|ms|webkit)-)?(?:(-?(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)))\\b",
+ "name": "entity.other.attribute-name.pseudo-element.less"
+ }
+ ]
+ },
+ "qualified-name": {
+ "captures": {
+ "1": {
+ "name": "entity.name.constant.less"
+ },
+ "2": {
+ "name": "entity.name.namespace.wildcard.less"
+ },
+ "3": {
+ "name": "punctuation.separator.namespace.less"
+ }
+ },
+ "match": "(?:(-?(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)|(\\*))?([|])(?!=)"
+ },
+ "regexp-function": {
+ "begin": "\\b(regexp)(?=\\()",
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "support.function.regexp.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "include": "#literal-string"
+ }
+ ]
+ }
+ ]
+ },
+ "resolution-type": {
+ "captures": {
+ "1": {
+ "name": "keyword.other.unit.less"
+ }
+ },
+ "match": "(?i:[-+]?(?:(?:\\d*\\.\\d+(?:[eE](?:[-+]?\\d+))*)|(?:[-+]?\\d+))(dpi|dpcm|dppx))\\b",
+ "name": "constant.numeric.less"
+ },
+ "rule-list": {
+ "patterns": [
+ {
+ "begin": "\\{",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.block.begin.less"
+ }
+ },
+ "end": "(?=\\s*\\})",
+ "name": "meta.property-list.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "match": "\\s*(;)|(?=[})])"
+ },
+ {
+ "include": "#rule-list-body"
+ },
+ {
+ "include": "#less-extend"
+ }
+ ]
+ }
+ ]
+ },
+ "rule-list-body": {
+ "patterns": [
+ {
+ "include": "#comment-block"
+ },
+ {
+ "include": "#comment-line"
+ },
+ {
+ "include": "#at-rules"
+ },
+ {
+ "include": "#less-variable-assignment"
+ },
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "begin": "(?=[-a-z])",
+ "end": "$|(?![-a-z])",
+ "patterns": [
+ {
+ "include": "#vendor-prefix"
+ },
+ {
+ "include": "#custom-property-name"
+ },
+ {
+ "include": "#filter-function"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.other.custom-property.prefix.less"
+ },
+ "2": {
+ "name": "support.type.custom-property.name.less"
+ }
+ },
+ "match": "\\b(var-)(-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)(?=\\s)",
+ "name": "invalid.deprecated.custom-property.less"
+ },
+ {
+ "begin": "\\bfont(-family)?(?!-)\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "name": "meta.property-name.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "match": "-?(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*(\\s+-?(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)*",
+ "name": "string.unquoted.less"
+ },
+ {
+ "match": ",",
+ "name": "punctuation.separator.less"
+ }
+ ]
+ },
+ {
+ "begin": "\\banimation(-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function))?\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "patterns": [
+ {
+ "begin": "(((\\+_?)?):)(?=[\\s\\t]*)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ }
+ },
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.arbitrary-repetition.less"
+ }
+ },
+ "contentName": "meta.property-value.less",
+ "end": "(?=\\s*(;)|(?=[})]))",
+ "patterns": [
+ {
+ "match": "\\b(linear|ease(-in)?(-out)?|step-(start|end)|none|forwards|backwards|both|normal|alternate(-reverse)?|reverse|running|paused)\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "include": "#cubic-bezier-function"
+ },
+ {
+ "include": "#steps-function"
+ },
+ {
+ "include": "#time-type"
+ },
+ {
+ "include": "#number-type"
+ },
+ {
+ "match": "-?(?:[_a-zA-Z]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\s\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))(?:[-_a-zA-Z0-9]|[^\\x{00}-\\x{7F}]|(?:(:?\\\\[0-9a-f]{1,6}(\\r\\n|[\\t\\r\\n\\f])?)|\\\\[^\\r\\n\\f0-9a-f]))*",
+ "name": "variable.other.constant.animation-name.less"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "match": "\\s*(?:(,))"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(transition(-(property|duration|delay|timing-function))?)\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "meta.property-name.less"
+ },
+ "1": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "include": "#time-type"
+ },
+ {
+ "include": "#property-values"
+ },
+ {
+ "include": "#cubic-bezier-function"
+ },
+ {
+ "include": "#steps-function"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.arbitrary-repetition.less"
+ }
+ },
+ "match": "\\s*(?:(,))"
+ }
+ ]
+ },
+ {
+ "begin": "\\bfilter\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "name": "meta.property-name.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "match": "\\b(inherit|initial|unset|none)\\b",
+ "name": "meta.property-value.less"
+ },
+ {
+ "include": "#filter-functions"
+ }
+ ]
+ },
+ {
+ "begin": "\\bwill-change\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "name": "meta.property-name.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "match": "unset|initial|inherit|will-change|auto|scroll-position|contents",
+ "name": "invalid.illegal.property-value.less"
+ },
+ {
+ "match": "-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.arbitrary-repetition.less"
+ }
+ },
+ "match": "\\s*(?:(,))"
+ }
+ ]
+ },
+ {
+ "begin": "\\bcounter-(increment|(re)?set)\\b",
+ "beginCaptures": {
+ "0": {
+ "name": "support.type.property-name.less"
+ }
+ },
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "name": "meta.property-name.less",
+ "patterns": [
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "match": "(((\\+_?)?):)([\\s\\t]*)"
+ },
+ {
+ "match": "-?(?:[[-\\w][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[_a-zA-Z][^\\x{00}-\\x{9f}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*",
+ "name": "entity.name.constant.counter-name.less"
+ },
+ {
+ "include": "#integer-type"
+ },
+ {
+ "match": "unset|initial|inherit|auto",
+ "name": "invalid.illegal.property-value.less"
+ }
+ ]
+ },
+ {
+ "match": "(?x)\\b( accent-height | align-content | align-items | align-self | alignment-baseline | all | animation-timing-function | animation-play-state | animation-name | animation-iteration-count | animation-fill-mode | animation-duration | animation-direction | animation-delay | animation | appearance | ascent | azimuth | backface-visibility | background-size | background-repeat-y | background-repeat-x | background-repeat | background-position-y | background-position-x | background-position | background-origin | background-image | background-color | background-clip | background-blend-mode | background-attachment | background | baseline-shift | begin | bias | blend-mode | border-((top|right|bottom|left)-)?(width|style|color) | border-(top|bottom)-(right|left)-radius | border-image-(width|source|slice|repeat|outset) | border-(top|right|bottom|left|collapse|image|radius|spacing) | border | bottom | box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing) | break-(after|before|inside) | caption-side | clear | clip-path | clip-rule | clip | color(-(interpolation(-filters)?|profile|rendering))? | columns | column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width) | contain | content | counter-(increment|reset) | cursor | (c|d|f)(x|y) | direction | display | divisor | dominant-baseline | dur | elevation | empty-cells | enable-background | end | fallback | fill(-(opacity|rule))? | filter | flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))? | float | flood-(color|opacity) | font-display | font-family | font-feature-settings | font-kerning | font-language-override | font-size(-adjust)? | font-smoothing | font-stretch | font-style | font-synthesis | font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))? | font-weight | font | fr | glyph-orientation-(horizontal|vertical) | grid-(area|gap) | grid-auto-(columns|flow|rows) | grid-(column|row)(-(end|gap|start))? | grid-template(-(areas|columns|rows))? | height | hyphens | image-(orientation|rendering|resolution) | isolation | justify-content | kerning | left | letter-spacing | lighting-color | line-(box-contain|break|clamp|height) | list-style(-(image|position|type))? | margin(-(bottom|left|right|top))? | marker(-(end|mid|start))? | mask(-(clip||composite|image|origin|position|repeat|size|type))? | (max|min)-(height|width) | mix-blend-mode | nbsp-mode | negative | object-(fit|position) | opacity | operator | order | orphans | outline(-(color|offset|style|width))? | overflow(-(scrolling|wrap|x|y))? | pad(ding(-(bottom|left|right|top))?)? | page(-break-(after|before|inside))? | paint-order | pause(-(after|before))? | perspective(-origin(-(x|y))?)? | pitch(-range)? | pointer-events | position | prefix | quotes | range | resize | right | rotate | scale | scroll-behavior | shape-(image-threshold|margin|outside|rendering) | size | speak(-as)? | src | stop-(color|opacity) | stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))? | suffix | symbols | system | tab-size | table-layout | tap-highlight-color | text-align(-last)? | text-decoration(-(color|line|style))? | text-emphasis(-(color|position|style))? | text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|shadow|transform|underline-position) | top | touch-action | transform(-origin(-(x|y))?) | transform(-style)? | transition(-(delay|duration|property|timing-function))? | translate | unicode-(bidi|range) | user-(drag|select) | vertical-align | visibility | white-space | widows | width | will-change | word-(break|spacing|wrap) | writing-mode | z-index | zoom )\\b",
+ "name": "support.type.property-name.less"
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ {
+ "begin": "\\b(((\\+_?)?):)([\\s\\t]*)",
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.key-value.less"
+ },
+ "4": {
+ "name": "meta.property-value.less"
+ }
+ },
+ "contentName": "meta.property-value.less",
+ "end": "\\s*(;)|(?=[})])",
+ "endCaptures": {
+ "1": {
+ "name": "punctuation.terminator.rule.less"
+ }
+ },
+ "patterns": [
+ {
+ "include": "#property-values"
+ }
+ ]
+ },
+ {
+ "include": "$self"
+ }
+ ]
+ },
+ "selector": {
+ "patterns": [
+ {
+ "begin": "(?=[>~+/\\.*#a-zA-Z\\[&]|(\\:{1,2}[^\\s])|@\\{)",
+ "contentName": "meta.selector.less",
+ "end": "(?=@(?!\\{)|[{;])",
+ "patterns": [
+ {
+ "include": "#comment-line"
+ },
+ {
+ "include": "#selectors"
+ },
+ {
+ "include": "#less-namespace-accessors"
+ },
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.separator.less"
+ }
+ },
+ "match": "(\\!)\\s*important",
+ "name": "keyword.other.important.less"
+ }
+ ]
+ }
+ ]
+ },
+ "selectors": {
+ "patterns": [
+ {
+ "match": "\\b([a-z](?:(?:[-_a-z0-9\\x{00B7}]|\\\\\\.|[[\\x{00C0}-\\x{00D6}][\\x{00D8}-\\x{00F6}][\\x{00F8}-\\x{02FF}][\\x{0300}-\\x{037D}][\\x{037F}-\\x{1FFF}][\\x{200C}-\\x{200D}][\\x{203F}-\\x{2040}][\\x{2070}-\\x{218F}][\\x{2C00}-\\x{2FEF}][\\x{3001}-\\x{D7FF}][\\x{F900}-\\x{FDCF}][\\x{FDF0}-\\x{FFFD}][\\x{10000}-\\x{EFFFF}]]))*-(?:(?:[-_a-z0-9\\x{00B7}]|\\\\\\.|[[\\x{00C0}-\\x{00D6}][\\x{00D8}-\\x{00F6}][\\x{00F8}-\\x{02FF}][\\x{0300}-\\x{037D}][\\x{037F}-\\x{1FFF}][\\x{200C}-\\x{200D}][\\x{203F}-\\x{2040}][\\x{2070}-\\x{218F}][\\x{2C00}-\\x{2FEF}][\\x{3001}-\\x{D7FF}][\\x{F900}-\\x{FDCF}][\\x{FDF0}-\\x{FFFD}][\\x{10000}-\\x{EFFFF}]]))*)\\b",
+ "name": "entity.name.tag.custom.less"
+ },
+ {
+ "match": "(?x)\\b( a | abbr | acronym | address | applet | area | article | aside | audio | b | base | basefont | bdi | bdo | big | blockquote | body | br | button | canvas | caption | circle | cite | clipPath | code | col | colgroup | content | data | dataList | dd | defs | del | details | dfn | dialog | dir | div | dl | dt | element | ellipse | em | embed | eventsource | fieldset | figcaption | figure | filter | footer | foreignObject | form | frame | frameset | g | glyph | glyphRef | h1 | h2 | h3 | h4 | h5 | h6 | head | header | hgroup | hr | html | i | iframe | image | img | input | ins | isindex | kbd | keygen | label | legend | li | line | linearGradient | link | main | map | mark | marker | mask | menu | meta | meter | nav | noframes | noscript | object | ol | optgroup | option | output | p | param | path | pattern | picture | polygon | polyline | pre | progress | q | radialGradient | rect | rp | ruby | rt | rtc | s | samp | script | section | select | shadow | small | source | span | stop | strike | strong | style | sub | summary | sup | svg | switch | symbol | table | tbody | td | template | textarea | textPath | tfoot | th | thead | time | title | tr | track | tref | tspan | tt | u | ul | use | var | video | wbr | xmp )\\b",
+ "name": "entity.name.tag.less"
+ },
+ {
+ "begin": "(\\.)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",
+ "name": "entity.other.attribute-name.class.less",
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ }
+ ]
+ },
+ {
+ "begin": "(#)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",
+ "name": "entity.other.attribute-name.id.less",
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ }
+ ]
+ },
+ {
+ "begin": "(&)",
+ "beginCaptures": {
+ "1": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "contentName": "entity.other.attribute-name.parent.less",
+ "end": "(?![-\\w]|[^\\x{00}-\\x{9f}]|\\\\([A-Fa-f0-9]{1,6} ?|[^A-Fa-f0-9])|(\\@(?=\\{)))",
+ "name": "entity.other.attribute-name.parent.less",
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "include": "#selectors"
+ }
+ ]
+ },
+ {
+ "include": "#pseudo-elements"
+ },
+ {
+ "include": "#pseudo-classes"
+ },
+ {
+ "include": "#less-extend"
+ },
+ {
+ "match": "(?!\\+_?:)(?:>{1,3}|[~+])(?![>~+;}])",
+ "name": "punctuation.separator.combinator.less"
+ },
+ {
+ "match": "((?:>{1,3}|[~+])){2,}",
+ "name": "invalid.illegal.combinator.less"
+ },
+ {
+ "match": "\\/deep\\/",
+ "name": "invalid.illegal.combinator.less"
+ },
+ {
+ "begin": "\\[",
+ "captures": {
+ "0": {
+ "name": "punctuation.definition.entity.less"
+ }
+ },
+ "end": "\\]",
+ "name": "meta.attribute-selector.less",
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "include": "#qualified-name"
+ },
+ {
+ "match": "(-?(?:[[_a-zA-Z][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))(?:[[-\\w][^\\x{00}-\\x{7F}]]|(?:\\\\\\h{1,6}[\\s\\t\\n\\f]?|\\\\[^\\n\\f\\h]))*)",
+ "name": "entity.other.attribute-name.less"
+ },
+ {
+ "begin": "\\s*([~*|^$]?=)\\s*",
+ "captures": {
+ "1": {
+ "name": "keyword.operator.attribute-selector.less"
+ }
+ },
+ "end": "(?=(\\s|\\]))",
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "match": "[^\\s\\]\\['\"]",
+ "name": "string.unquoted.less"
+ },
+ {
+ "include": "#literal-string"
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "keyword.other.less"
+ }
+ },
+ "match": "(?:\\s+([iI]))?"
+ },
+ {
+ "match": "\\]",
+ "name": "punctuation.definition.entity.less"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.arbitrary-repetition.less"
+ }
+ },
+ "match": "\\s*(?:(,))"
+ },
+ {
+ "match": "\\*",
+ "name": "entity.name.tag.wildcard.less"
+ }
+ ]
},
- "strings": {
+ "shape-functions": {
"patterns": [
{
- "begin": "\"",
+ "begin": "\\b(rect)(?=\\()",
"beginCaptures": {
"0": {
- "name": "punctuation.definition.string.begin.css"
+ "name": "support.function.shape.less"
}
},
- "end": "\"",
+ "end": "\\)",
"endCaptures": {
"0": {
- "name": "punctuation.definition.string.end.css"
+ "name": "punctuation.definition.group.end.less"
}
},
- "name": "string.quoted.double.css",
+ "name": "meta.function-call.less",
"patterns": [
{
- "match": "\\\\([0-9A-Fa-f]{1,6}|.)",
- "name": "constant.character.escape.css"
- },
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "match": "\\bauto\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "include": "#comma-delimiter"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(inset)(?=\\()",
+ "beginCaptures": {
+ "0": {
+ "name": "support.function.shape.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
{
- "include": "#variable_interpolation"
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "match": "\\bround\\b",
+ "name": "keyword.other.less"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "include": "#percentage-type"
+ }
+ ]
}
]
},
{
- "begin": "'",
+ "begin": "\\b(circle|ellipse)(?=\\()",
+ "beginCaptures": {
+ "0": {
+ "name": "support.function.shape.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "match": "\\bat\\b",
+ "name": "keyword.other.less"
+ },
+ {
+ "match": "\\b(top|right|bottom|left|center|closest-side|farthest-side)\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "include": "#percentage-type"
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "begin": "\\b(polygon)(?=\\()",
"beginCaptures": {
"0": {
- "name": "punctuation.definition.string.begin.css"
+ "name": "support.function.shape.less"
}
},
- "end": "'",
+ "end": "\\)",
"endCaptures": {
"0": {
- "name": "punctuation.definition.string.end.css"
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
+ }
+ },
+ "end": "(?=\\))",
+ "patterns": [
+ {
+ "match": "\\b(nonzero|evenodd)\\b",
+ "name": "support.constant.property-value.less"
+ },
+ {
+ "include": "#length-type"
+ },
+ {
+ "include": "#percentage-type"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ "steps-function": {
+ "begin": "\\b(steps)(?=\\()",
+ "beginCaptures": {
+ "0": {
+ "name": "support.function.timing.less"
+ }
+ },
+ "end": "\\)",
+ "endCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.end.less"
+ }
+ },
+ "name": "meta.function-call.less",
+ "patterns": [
+ {
+ "begin": "\\(",
+ "beginCaptures": {
+ "0": {
+ "name": "punctuation.definition.group.begin.less"
}
},
- "name": "string.quoted.single.css",
+ "end": "(?=\\))",
"patterns": [
{
- "match": "\\\\([0-9A-Fa-f]{1,6}|.)",
- "name": "constant.character.escape.css"
+ "include": "#comma-delimiter"
+ },
+ {
+ "include": "#integer-type"
},
{
- "include": "#variable_interpolation"
+ "match": "(end|middle|start)",
+ "name": "support.keyword.timing-direction.less"
}
]
}
]
},
- "brace_round": {
- "match": "\\(|\\)",
- "name": "meta.brace.round.css"
+ "string-content": {
+ "patterns": [
+ {
+ "include": "#less-variable-interpolation"
+ },
+ {
+ "match": "\\\\\\s*\\n",
+ "name": "constant.character.escape.newline.less"
+ },
+ {
+ "match": "\\\\(\\h{1,6}|.)",
+ "name": "constant.character.escape.less"
+ }
+ ]
},
- "property_values": {
- "begin": "(?"
]
],
"folding": {
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/markdown/markdown.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/markdown/markdown.tmLanguage.json
index 3f96e33b0..b5472c56c 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/markdown/markdown.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/markdown/markdown.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/0a4b23580308fdcfb4ab7b526e3e13ba17d436fb",
+ "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/0b36cbbf917fb0188e1a1bafc8287c7abf8b0b37",
"name": "Markdown",
"scopeName": "text.html.markdown",
"patterns": [
@@ -2255,12 +2255,7 @@
]
}
},
- "name": "markup.heading.markdown",
- "patterns": [
- {
- "include": "#inline"
- }
- ]
+ "name": "markup.heading.markdown"
},
"heading-setext": {
"patterns": [
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/rust/rust.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/rust/rust.tmLanguage.json
index 542e8ec1f..075400eb9 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/rust/rust.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/rust/rust.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/dustypomerleau/rust-syntax/commit/20730dff3c367cb40a7edd278fdaf0239ea50833",
+ "version": "https://github.com/dustypomerleau/rust-syntax/commit/ffa06ae9d52ea5464d3047cdbdc6bb970a665d23",
"name": "Rust",
"scopeName": "source.rust",
"patterns": [
@@ -255,12 +255,22 @@
{
"comment": "documentation comments",
"name": "comment.line.documentation.rust",
- "match": "^\\s*///.*"
+ "match": "(///).*$",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.comment.rust"
+ }
+ }
},
{
"comment": "line comments",
"name": "comment.line.double-slash.rust",
- "match": "\\s*//.*"
+ "match": "(//).*$",
+ "captures": {
+ "1": {
+ "name": "punctuation.definition.comment.rust"
+ }
+ }
}
]
},
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/sql/sql.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/sql/sql.tmLanguage.json
index ba6fac581..9db452210 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/sql/sql.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/sql/sql.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/microsoft/vscode-mssql/commit/9cb3529a978ddf599bf5bdd228f21bbcfe2914f5",
+ "version": "https://github.com/microsoft/vscode-mssql/commit/49eff02f68b6ee73025c6665c672ca1c93385dde",
"name": "SQL",
"scopeName": "source.sql",
"patterns": [
@@ -372,7 +372,7 @@
"include": "#regexps"
},
{
- "match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b",
+ "match": "\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\s+or\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\b",
"name": "keyword.other.sql"
},
{
diff --git a/org.eclipse.tm4e.language_pack/syntaxes/swift/swift.tmLanguage.json b/org.eclipse.tm4e.language_pack/syntaxes/swift/swift.tmLanguage.json
index 64aebc15b..6259b1513 100644
--- a/org.eclipse.tm4e.language_pack/syntaxes/swift/swift.tmLanguage.json
+++ b/org.eclipse.tm4e.language_pack/syntaxes/swift/swift.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/jtbandes/swift-tmlanguage/commit/806e024d8ea2478596d7e0ab871d2b1436e6fead",
+ "version": "https://github.com/jtbandes/swift-tmlanguage/commit/ab893c684dd7eeb7c249139e29e931334316fda7",
"name": "Swift",
"scopeName": "source.swift",
"comment": "See swift.tmbundle/grammar-test.swift for test cases.",
@@ -2834,7 +2834,7 @@
"match": "(?