Typing a backtick over selected text in Rust, C, and C++ comments replaced the selection instead of wrapping it. Markdown already supports this via its backtick bracket pair. Add a backtick bracket pair for these languages: - `surround = true` wraps selections in backticks - `close = false` avoids auto-closing lone backticks - `not_in = ["string"]` enables it in comments but not strings Self-Review Checklist: - [X] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [X] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [X] Tests cover the new/changed behavior - [X] Performance impact has been considered and is acceptable Closes #58538 Release Notes: - Added support for surrounding selected text with backticks in Rust, C, and C++ --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
22 lines
1.0 KiB
TOML
22 lines
1.0 KiB
TOML
name = "C"
|
|
grammar = "c"
|
|
path_suffixes = ["c"]
|
|
line_comments = ["// "]
|
|
decrease_indent_patterns = [
|
|
{ pattern = "^\\s*\\{.*\\}?\\s*$", valid_after = ["if", "for", "while", "do", "switch", "else"] },
|
|
{ pattern = "^\\s*else\\b", valid_after = ["if"] }
|
|
]
|
|
autoclose_before = ";:.,=}])>"
|
|
brackets = [
|
|
{ start = "{", end = "}", close = true, newline = true },
|
|
{ start = "[", end = "]", close = true, newline = true },
|
|
{ start = "(", end = ")", close = true, newline = true },
|
|
{ start = "\"", end = "\"", close = true, newline = false, not_in = ["string"] },
|
|
{ start = "`", end = "`", close = false, newline = false, not_in = ["string"] },
|
|
{ start = "'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
|
|
{ start = "/*", end = " */", close = true, newline = false, not_in = ["string", "comment"] },
|
|
]
|
|
debuggers = ["CodeLLDB", "GDB"]
|
|
block_comment = { start = "/*", prefix = "", end = "*/", tab_size = 1 }
|
|
documentation_comment = { start = "/*", prefix = "* ", end = "*/", tab_size = 1 }
|