feat(lang): add devicetree (Flattened Device Tree Source) (#2329)

This commit is contained in:
unrelentingtech 2022-04-29 23:08:00 +03:00 committed by GitHub
parent 030e7ab988
commit 8e77e3388c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 92 additions and 0 deletions

View file

@ -8,6 +8,7 @@
| cpp | ✓ | ✓ | ✓ | `clangd` |
| css | ✓ | | | `vscode-css-language-server` |
| dart | ✓ | | ✓ | `dart` |
| devicetree | ✓ | | ✓ | |
| dockerfile | ✓ | | | `docker-langserver` |
| eex | ✓ | | | |
| ejs | ✓ | | | |

View file

@ -1263,3 +1263,16 @@ indent = { tab-width = 4, unit = "\t" }
[[grammar]]
name = "hare"
source = { git = "https://git.sr.ht/~ecmma/tree-sitter-hare", rev = "bc26a6a949f2e0d98b7bfc437d459b250900a165" }
[[language]]
name = "devicetree"
scope = "source.devicetree"
injection-regex = "(dtsi?|devicetree|fdt)"
file-types = ["dts", "dtsi"]
roots = []
comment-token = "//"
indent = { tab-width = 4, unit = "\t" }
[[grammar]]
name = "devicetree"
source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "877adbfa0174d25894c40fa75ad52d4515a36368" }

View file

@ -0,0 +1,66 @@
[
"/dts-v1/"
"/memreserve/"
"/delete-node/"
"/delete-property/"
] @keyword
[
"#define"
"#include"
] @keyword.directive
[
"!"
"~"
"-"
"+"
"*"
"/"
"%"
"||"
"&&"
"|"
"^"
"&"
"=="
"!="
">"
">="
"<="
">"
"<<"
">>"
] @operator
[
","
";"
] @punctuation.delimiter
[
"("
")"
"{"
"}"
"<"
">"
] @punctuation.bracket
(string_literal) @string
(integer_literal) @constant.numeric.integer
(call_expression
function: (identifier) @function)
(labeled_item
label: (identifier) @label)
(identifier) @variable
(unit_address) @tag
(reference) @constant
(comment) @comment

View file

@ -0,0 +1,12 @@
[
(node)
(byte_string_literal)
(parenthesized_expression)
(argument_list)
] @indent
[
"}"
"]"
")"
] @outdent