crates/languages/src/javascript/injections.scm 🔗
@@ -1,4 +1,5 @@
-((comment) @content
+(((comment) @_jsdoc_comment
+ (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @content
(#set! "language" "jsdoc"))
((regex) @content
José Olórtegui created
This PR improves JSDoc injection for syntax highlighting. Now we are
only injecting JSDoc in block comments. The regex was mostly adapted
from nvim-treesitter's implementation (lua) to a rust regex.
https://github.com/nvim-treesitter/nvim-treesitter/blob/eb93c3b2fbe9ca55d70e9297d5c037880b997559/queries/ecma/injections.scm#L1-L6
**Before:**
<img width="441" alt="Screenshot 2024-04-20 at 5 51 04 AM"
src="https://github.com/zed-industries/zed/assets/20072509/8e77851d-22ad-4dc4-8e10-9ac558d3cf40">
**After:**
<img width="441" alt="Screenshot 2024-04-20 at 5 52 05 AM"
src="https://github.com/zed-industries/zed/assets/20072509/a607c219-6973-40c3-958c-44a003d008c3">
Release Notes:
- Changed detection of JSDoc to only do syntax highlighting in block
comments. Improved previous work done in #7826.
crates/languages/src/javascript/injections.scm | 3 ++-
crates/languages/src/tsx/injections.scm | 3 ++-
crates/languages/src/typescript/injections.scm | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
@@ -1,4 +1,5 @@
-((comment) @content
+(((comment) @_jsdoc_comment
+ (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @content
(#set! "language" "jsdoc"))
((regex) @content
@@ -1,4 +1,5 @@
-((comment) @content
+(((comment) @_jsdoc_comment
+ (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @content
(#set! "language" "jsdoc"))
((regex) @content
@@ -1,4 +1,5 @@
-((comment) @content
+(((comment) @_jsdoc_comment
+ (#match? @_jsdoc_comment "(?s)^/[*][*][^*].*[*]/$")) @content
(#set! "language" "jsdoc"))
(((comment) @reference