Files
zed/crates/vim/test_data/test_matching_comments.json
T
Juan Pablo Briones fcac255570 vim: Fix % for multiline comments and preprocessor directives (#53148)
Implements:
[49806](https://github.com/zed-industries/zed/discussions/49806)
Closes: [24820](https://github.com/zed-industries/zed/issues/24820)

Zeds impl of `%` didn't handle preprocessor directives and multiline

To implement this feature for multiline comment, a tree-sitter query is
used to check if we are inside a comment range
and then replicate the logic used in brackets.

For preprocessor directives using `TextObjects` wasn't a option, so it
was implemented through a text based query
that searches for the next preprocessor directives. Using text based
queries might not be the best for performance, so I'm open to any
suggestions.

Release Notes:

- Fixed vim's matching '%' to handle multiline comments `/* */` and
preprocessor directives `#if #else #endif`.
2026-04-07 02:51:54 +00:00

11 lines
378 B
JSON

{"Put":{"state":"ˇ/*\n this is a comment\n*/"}}
{"Key":"%"}
{"Get":{"state":"/*\n this is a comment\nˇ*/","mode":"Normal"}}
{"Key":"%"}
{"Get":{"state":"ˇ/*\n this is a comment\n*/","mode":"Normal"}}
{"Key":"%"}
{"Get":{"state":"/*\n this is a comment\nˇ*/","mode":"Normal"}}
{"Put":{"state":"ˇ// comment"}}
{"Key":"%"}
{"Get":{"state":"ˇ// comment","mode":"Normal"}}