From 8cd868104a2081ae8b2c7f5a867efd4258441792 Mon Sep 17 00:00:00 2001 From: may <63159454+m4rch3n1ng@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:14:10 +0100 Subject: [PATCH] adjust and extend the json-related queries (#15263) --- book/src/generated/lang-support.md | 6 +++--- runtime/queries/json-ld/injections.scm | 1 + runtime/queries/json-ld/rainbows.scm | 1 + runtime/queries/json/highlights.scm | 4 +++- runtime/queries/json/injections.scm | 2 ++ runtime/queries/json/textobjects.scm | 3 +++ runtime/queries/json5/highlights.scm | 2 +- runtime/queries/json5/indents.scm | 9 +++++++++ runtime/queries/json5/injections.scm | 1 - runtime/queries/json5/rainbows.scm | 9 +++++++++ runtime/queries/json5/textobjects.scm | 8 ++++++++ runtime/queries/jsonc/highlights.scm | 1 - runtime/queries/jsonc/injections.scm | 2 -- runtime/queries/jsonc/textobjects.scm | 1 + 14 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 runtime/queries/json-ld/injections.scm create mode 100644 runtime/queries/json-ld/rainbows.scm create mode 100644 runtime/queries/json/injections.scm create mode 100644 runtime/queries/json5/indents.scm create mode 100644 runtime/queries/json5/rainbows.scm create mode 100644 runtime/queries/json5/textobjects.scm create mode 100644 runtime/queries/jsonc/textobjects.scm diff --git a/book/src/generated/lang-support.md b/book/src/generated/lang-support.md index 6c9412cf..fe1ac1b2 100644 --- a/book/src/generated/lang-support.md +++ b/book/src/generated/lang-support.md @@ -144,9 +144,9 @@ | jq | ✓ | ✓ | | | | `jq-lsp` | | jsdoc | ✓ | | | | | | | json | ✓ | ✓ | ✓ | | ✓ | `vscode-json-language-server` | -| json-ld | ✓ | ✓ | ✓ | | | `vscode-json-language-server` | -| json5 | ✓ | | | | | | -| jsonc | ✓ | | ✓ | | ✓ | `vscode-json-language-server` | +| json-ld | ✓ | ✓ | ✓ | | ✓ | `vscode-json-language-server` | +| json5 | ✓ | ✓ | ✓ | | ✓ | | +| jsonc | ✓ | ✓ | ✓ | | ✓ | `vscode-json-language-server` | | jsonnet | ✓ | | | | | `jsonnet-language-server` | | jsx | ✓ | ✓ | ✓ | ✓ | ✓ | `typescript-language-server` | | julia | ✓ | ✓ | ✓ | | | `julia` | diff --git a/runtime/queries/json-ld/injections.scm b/runtime/queries/json-ld/injections.scm new file mode 100644 index 00000000..41269219 --- /dev/null +++ b/runtime/queries/json-ld/injections.scm @@ -0,0 +1 @@ +; inherits: json diff --git a/runtime/queries/json-ld/rainbows.scm b/runtime/queries/json-ld/rainbows.scm new file mode 100644 index 00000000..41269219 --- /dev/null +++ b/runtime/queries/json-ld/rainbows.scm @@ -0,0 +1 @@ +; inherits: json diff --git a/runtime/queries/json/highlights.scm b/runtime/queries/json/highlights.scm index 554d3b2b..7a108e0c 100644 --- a/runtime/queries/json/highlights.scm +++ b/runtime/queries/json/highlights.scm @@ -11,7 +11,9 @@ (pair key: (_) @variable.other.member) -"," @punctuation.delimiter +(comment) @comment + +["," ":"] @punctuation.delimiter [ "[" "]" diff --git a/runtime/queries/json/injections.scm b/runtime/queries/json/injections.scm new file mode 100644 index 00000000..321c90ad --- /dev/null +++ b/runtime/queries/json/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/runtime/queries/json/textobjects.scm b/runtime/queries/json/textobjects.scm index a8fd57c9..b850704e 100644 --- a/runtime/queries/json/textobjects.scm +++ b/runtime/queries/json/textobjects.scm @@ -3,3 +3,6 @@ (array (_) @entry.around) + +(comment) @comment.inside +(comment)+ @comment.around diff --git a/runtime/queries/json5/highlights.scm b/runtime/queries/json5/highlights.scm index a19b3072..6119c658 100644 --- a/runtime/queries/json5/highlights.scm +++ b/runtime/queries/json5/highlights.scm @@ -11,7 +11,7 @@ (member name: (_) @variable.other.member) -"," @punctuation.delimiter +["," ":"] @punctuation.delimiter [ "[" "]" diff --git a/runtime/queries/json5/indents.scm b/runtime/queries/json5/indents.scm new file mode 100644 index 00000000..f756e609 --- /dev/null +++ b/runtime/queries/json5/indents.scm @@ -0,0 +1,9 @@ +[ + (object) + (array) +] @indent + +[ + "]" + "}" +] @outdent diff --git a/runtime/queries/json5/injections.scm b/runtime/queries/json5/injections.scm index f722f6d2..321c90ad 100644 --- a/runtime/queries/json5/injections.scm +++ b/runtime/queries/json5/injections.scm @@ -1,3 +1,2 @@ -; inherits: json ((comment) @injection.content (#set! injection.language "comment")) diff --git a/runtime/queries/json5/rainbows.scm b/runtime/queries/json5/rainbows.scm new file mode 100644 index 00000000..5c21bdcc --- /dev/null +++ b/runtime/queries/json5/rainbows.scm @@ -0,0 +1,9 @@ +[ + (object) + (array) +] @rainbow.scope + +[ + "[" "]" + "{" "}" +] @rainbow.bracket diff --git a/runtime/queries/json5/textobjects.scm b/runtime/queries/json5/textobjects.scm new file mode 100644 index 00000000..70adb47c --- /dev/null +++ b/runtime/queries/json5/textobjects.scm @@ -0,0 +1,8 @@ +(member + (_) @entry.inside) @entry.around + +(array + (_) @entry.around) + +(comment) @comment.inside +(comment)+ @comment.around diff --git a/runtime/queries/jsonc/highlights.scm b/runtime/queries/jsonc/highlights.scm index 0164321b..41269219 100644 --- a/runtime/queries/jsonc/highlights.scm +++ b/runtime/queries/jsonc/highlights.scm @@ -1,2 +1 @@ ; inherits: json -(comment) @comment diff --git a/runtime/queries/jsonc/injections.scm b/runtime/queries/jsonc/injections.scm index f722f6d2..41269219 100644 --- a/runtime/queries/jsonc/injections.scm +++ b/runtime/queries/jsonc/injections.scm @@ -1,3 +1 @@ ; inherits: json -((comment) @injection.content - (#set! injection.language "comment")) diff --git a/runtime/queries/jsonc/textobjects.scm b/runtime/queries/jsonc/textobjects.scm new file mode 100644 index 00000000..41269219 --- /dev/null +++ b/runtime/queries/jsonc/textobjects.scm @@ -0,0 +1 @@ +; inherits: json -- 2.51.2