diff options
| author | Jędrzej Boczar <yendreij@gmail.com> | 2021-02-10 22:18:38 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-10 22:18:38 +0100 |
| commit | 517c62d3e5a1966fc710d947224dc6ad1dfa383a (patch) | |
| tree | d879af25069b4ddfee9ad6863defda9f74c7b238 | |
| parent | 98127bded69adc6f466cfa3eaeeb8131da6c9221 (diff) | |
Add devicetree parser with queries (#900)
* Add devicetree parser with queries
* [docgen] Update README.md
skip-checks: true
* queries/devicetree: update highlight capture groups
* minor fix in CONTRIBUTING.md
* Revert "minor fix in CONTRIBUTING.md"
This reverts commit 23622b49dbb9eace471e036c0f94fc64b5fda951.
* queries/devicetree: add self as maintainer
* [docgen] Update README.md
skip-checks: true
Co-authored-by: Github Actions <actions@github>
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 10 | ||||
| -rw-r--r-- | queries/devicetree/folds.scm | 1 | ||||
| -rw-r--r-- | queries/devicetree/highlights.scm | 35 | ||||
| -rw-r--r-- | queries/devicetree/indents.scm | 14 | ||||
| -rw-r--r-- | queries/devicetree/locals.scm | 4 |
6 files changed, 65 insertions, 0 deletions
@@ -139,6 +139,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [cpp](https://github.com/tree-sitter/tree-sitter-cpp) (maintained by @theHamsta) - [x] [css](https://github.com/tree-sitter/tree-sitter-css) (maintained by @TravonteD) - [x] [dart](https://github.com/UserNobody14/tree-sitter-dart) (maintained by @Akin909) +- [x] [devicetree](https://github.com/joelspadin/tree-sitter-devicetree) (maintained by @jedrzejboczar) - [ ] [elm](https://github.com/elm-tooling/tree-sitter-elm) - [x] [erlang](https://github.com/AbstractMachinesLab/tree-sitter-erlang) (maintained by @ostera) - [x] [fennel](https://github.com/travonted/tree-sitter-fennel) (maintained by @TravonteD) diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 7be10c84..547556cd 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -416,6 +416,16 @@ list.turtle = { maintainers = { "@bonabeavis" }, } +list.devicetree = { + install_info = { + url = "https://github.com/joelspadin/tree-sitter-devicetree", + files = { "src/parser.c" }, + branch = "main", + }, + filetype = 'dts', + maintainers = { "@jedrzejboczar" }, +} + local M = { list = list } diff --git a/queries/devicetree/folds.scm b/queries/devicetree/folds.scm new file mode 100644 index 00000000..206c4bed --- /dev/null +++ b/queries/devicetree/folds.scm @@ -0,0 +1 @@ +(node) @fold diff --git a/queries/devicetree/highlights.scm b/queries/devicetree/highlights.scm new file mode 100644 index 00000000..e3140a5d --- /dev/null +++ b/queries/devicetree/highlights.scm @@ -0,0 +1,35 @@ +(comment) @comment + +[ + (preproc_include) + (dtsi_include) +] @include + +(preproc_def) @constant.macro +(preproc_function_def) @function.macro + +[ + (memory_reservation) + (file_version) +] @attribute + +[ + (string_literal) + (byte_string_literal) + (system_lib_string) +] @string + +(integer_literal) @number + +(identifier) @variable +(node (identifier) @namespace) +(property (identifier) @property) +(labeled_item (identifier) @label) +(call_expression (identifier) @function.macro) + +(reference) @label ; referencing labeled_item.identifier +(unit_address) @constant + +[ "=" ] @operator +[ "(" ")" "[" "]" "{" "}" "<" ">" ] @punctuation.bracket +[ ";" ":" "," "@" ] @punctuation.delimiter diff --git a/queries/devicetree/indents.scm b/queries/devicetree/indents.scm new file mode 100644 index 00000000..cd7c8fcd --- /dev/null +++ b/queries/devicetree/indents.scm @@ -0,0 +1,14 @@ +[ + (node) + (property) + (integer_cells) +] @indent + +[ + "}" + ">" +] @branch + +[ + (comment) +] @ignore diff --git a/queries/devicetree/locals.scm b/queries/devicetree/locals.scm new file mode 100644 index 00000000..95b124bd --- /dev/null +++ b/queries/devicetree/locals.scm @@ -0,0 +1,4 @@ +[ + (node) + (integer_cells) +]@scope |
