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 00000000000..9117c713b98 --- /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 73d2628225f..447897340cc 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 e903e1affd5..160770f3cc1 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 db0af176578..8fb9b459679 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 7bb68d760e1..52edce41779 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 987be660d3c..f79cd788d78 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 00000000000..9117c713b98 --- /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 f749aac43a7..3cca9e8e81c 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 f98e36b72d0..5321e606c11 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 00000000000..9117c713b98 --- /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 0884d8f5167..525b3efe29d 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"))