diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lockfile.json | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 9 | ||||
| -rw-r--r-- | queries/udev/highlights.scm | 53 | ||||
| -rw-r--r-- | queries/udev/injections.scm | 12 |
5 files changed, 78 insertions, 0 deletions
@@ -389,6 +389,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [twig](https://github.com/gbprod/tree-sitter-twig) (maintained by @gbprod) - [x] [typescript](https://github.com/tree-sitter/tree-sitter-typescript) (maintained by @steelsojka) - [x] [typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) (maintained by @Teddytrombone) +- [x] [udev](https://github.com/ObserverOfTime/tree-sitter-udev) (maintained by @ObserverOfTime) - [x] [ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) (maintained by @Philipp-M, @amaanq) - [x] [unison](https://github.com/kylegoetz/tree-sitter-unison) (maintained by @tapegram) - [x] [usd](https://github.com/ColinKennedy/tree-sitter-usd) (maintained by @ColinKennedy) diff --git a/lockfile.json b/lockfile.json index 5e0079c62..b67877270 100644 --- a/lockfile.json +++ b/lockfile.json @@ -647,6 +647,9 @@ "typoscript": { "revision": "43b221c0b76e77244efdaa9963e402a17c930fbc" }, + "udev": { + "revision": "e3ad4cb3c59e4c71a177cd4af62958749e53a8bd" + }, "ungrammar": { "revision": "debd26fed283d80456ebafa33a06957b0c52e451" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index ac0cda658..17e59046a 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1898,6 +1898,15 @@ list.typoscript = { maintainers = { "@Teddytrombone" }, } +list.udev = { + install_info = { + url = "https://github.com/ObserverOfTime/tree-sitter-udev", + files = { "src/parser.c" }, + }, + filetype = "udevrules", + maintainers = { "@ObserverOfTime" }, +} + list.ungrammar = { install_info = { url = "https://github.com/Philipp-M/tree-sitter-ungrammar", diff --git a/queries/udev/highlights.scm b/queries/udev/highlights.scm new file mode 100644 index 000000000..1a8514ea8 --- /dev/null +++ b/queries/udev/highlights.scm @@ -0,0 +1,53 @@ +(match key: _ @keyword) + +(assignment key: _ @property) + +(value) @string + +; NOTE: higher priorities override bash highlights + +((fmt_sub . _ @character.special) + (#set! "priority" 101)) + +((var_sub . _ @variable.builtin) + (#set! "priority" 101)) + +[ + (system_const) + (run_type) + (import_type) + (kernel_param) + (seclabel) +] @attribute + +((attribute) @attribute + (#set! "priority" 101)) + +((env_var) @constant + (#set! "priority" 101)) + +((pattern) @string.special + (#set! "priority" 101)) + +([ "\\\"" (c_escape) ] @string.escape + (#set! "priority" 101)) + +(octal) @number + +((number) @number + (#set! "priority" 101)) + +[ + (match_op) + (assignment_op) +] @operator + +("+" @punctuation.special + (#set! "priority" 101)) + +([ "{" "}" ] @punctuation.bracket + (#set! "priority" 101)) + +[ "," (linebreak) ] @punctuation.delimiter + +(comment) @comment @spell diff --git a/queries/udev/injections.scm b/queries/udev/injections.scm new file mode 100644 index 000000000..5618e65de --- /dev/null +++ b/queries/udev/injections.scm @@ -0,0 +1,12 @@ +((comment) @injection.content + (#set! injection.language "comment")) + +((match + key: "PROGRAM" + (value (content) @injection.content)) + (#set! injection.language "bash")) + +((assignment + key: "RUN" + (value (content) @injection.content)) + (#set! injection.language "bash")) |
