From 08ecaa3931b24931c70ddfdb2bbbb4975e2c4251 Mon Sep 17 00:00:00 2001 From: Donnie Adams Date: Mon, 20 Oct 2025 08:45:51 -0400 Subject: [PATCH] Add comment language injection for supported languages (#39884) Release Notes: - Added comment language injections for builtin languages. This enables highlighting of `TODO`s and similar notes with the comment extension installed. Signed-off-by: Donnie Adams --- crates/languages/src/bash/injections.scm | 3 +++ crates/languages/src/c/injections.scm | 4 ++++ crates/languages/src/cpp/injections.scm | 4 ++++ crates/languages/src/gitcommit/injections.scm | 4 ++++ crates/languages/src/go/injections.scm | 4 ++++ crates/languages/src/javascript/injections.scm | 4 ++++ crates/languages/src/python/injections.scm | 3 +++ crates/languages/src/tsx/injections.scm | 4 ++++ crates/languages/src/typescript/injections.scm | 4 ++++ crates/languages/src/yaml/injections.scm | 3 +++ extensions/html/languages/html/injections.scm | 4 ++++ 11 files changed, 41 insertions(+) create mode 100644 crates/languages/src/bash/injections.scm create mode 100644 crates/languages/src/python/injections.scm create mode 100644 crates/languages/src/yaml/injections.scm diff --git a/crates/languages/src/bash/injections.scm b/crates/languages/src/bash/injections.scm new file mode 100644 index 0000000000..9117c713b9 --- /dev/null +++ b/crates/languages/src/bash/injections.scm @@ -0,0 +1,3 @@ +((comment) @injection.content + (#set! injection.language "comment") +) diff --git a/crates/languages/src/c/injections.scm b/crates/languages/src/c/injections.scm index 73d2628225..447897340c 100644 --- a/crates/languages/src/c/injections.scm +++ b/crates/languages/src/c/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (preproc_def value: (preproc_arg) @injection.content (#set! injection.language "c")) diff --git a/crates/languages/src/cpp/injections.scm b/crates/languages/src/cpp/injections.scm index e903e1affd..160770f3cc 100644 --- a/crates/languages/src/cpp/injections.scm +++ b/crates/languages/src/cpp/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (preproc_def value: (preproc_arg) @injection.content (#set! injection.language "c++")) diff --git a/crates/languages/src/gitcommit/injections.scm b/crates/languages/src/gitcommit/injections.scm index db0af17657..8fb9b45967 100644 --- a/crates/languages/src/gitcommit/injections.scm +++ b/crates/languages/src/gitcommit/injections.scm @@ -1,3 +1,7 @@ +((comment) @content + (#set! injection.language "comment") +) + ((scissors) @content (#set! "language" "diff")) diff --git a/crates/languages/src/go/injections.scm b/crates/languages/src/go/injections.scm index 7bb68d760e..52edce4177 100644 --- a/crates/languages/src/go/injections.scm +++ b/crates/languages/src/go/injections.scm @@ -1,4 +1,8 @@ ; Refer to https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/go/injections.scm#L4C1-L16C41 +((comment) @injection.content + (#set! injection.language "comment") +) + (call_expression (selector_expression) @_function (#any-of? @_function diff --git a/crates/languages/src/javascript/injections.scm b/crates/languages/src/javascript/injections.scm index 987be660d3..f79cd788d7 100644 --- a/crates/languages/src/javascript/injections.scm +++ b/crates/languages/src/javascript/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (((comment) @_jsdoc_comment (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @injection.content (#set! injection.language "jsdoc")) diff --git a/crates/languages/src/python/injections.scm b/crates/languages/src/python/injections.scm new file mode 100644 index 0000000000..9117c713b9 --- /dev/null +++ b/crates/languages/src/python/injections.scm @@ -0,0 +1,3 @@ +((comment) @injection.content + (#set! injection.language "comment") +) diff --git a/crates/languages/src/tsx/injections.scm b/crates/languages/src/tsx/injections.scm index f749aac43a..3cca9e8e81 100644 --- a/crates/languages/src/tsx/injections.scm +++ b/crates/languages/src/tsx/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (((comment) @_jsdoc_comment (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @injection.content (#set! injection.language "jsdoc")) diff --git a/crates/languages/src/typescript/injections.scm b/crates/languages/src/typescript/injections.scm index f98e36b72d..5321e606c1 100644 --- a/crates/languages/src/typescript/injections.scm +++ b/crates/languages/src/typescript/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (((comment) @_jsdoc_comment (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @injection.content (#set! injection.language "jsdoc")) diff --git a/crates/languages/src/yaml/injections.scm b/crates/languages/src/yaml/injections.scm new file mode 100644 index 0000000000..9117c713b9 --- /dev/null +++ b/crates/languages/src/yaml/injections.scm @@ -0,0 +1,3 @@ +((comment) @injection.content + (#set! injection.language "comment") +) diff --git a/extensions/html/languages/html/injections.scm b/extensions/html/languages/html/injections.scm index 0884d8f516..525b3efe29 100644 --- a/extensions/html/languages/html/injections.scm +++ b/extensions/html/languages/html/injections.scm @@ -1,3 +1,7 @@ +((comment) @injection.content + (#set! injection.language "comment") +) + (script_element (raw_text) @injection.content (#set! injection.language "javascript"))