summaryrefslogtreecommitdiff
path: root/queries
diff options
context:
space:
mode:
authorJędrzej Boczar <yendreij@gmail.com>2021-02-10 22:18:38 +0100
committerGitHub <noreply@github.com>2021-02-10 22:18:38 +0100
commit517c62d3e5a1966fc710d947224dc6ad1dfa383a (patch)
treed879af25069b4ddfee9ad6863defda9f74c7b238 /queries
parent98127bded69adc6f466cfa3eaeeb8131da6c9221 (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>
Diffstat (limited to 'queries')
-rw-r--r--queries/devicetree/folds.scm1
-rw-r--r--queries/devicetree/highlights.scm35
-rw-r--r--queries/devicetree/indents.scm14
-rw-r--r--queries/devicetree/locals.scm4
4 files changed, 54 insertions, 0 deletions
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