aboutsummaryrefslogtreecommitdiffstats
path: root/queries/udev
diff options
context:
space:
mode:
authorObserverOfTime <chronobserver@disroot.org>2023-11-03 14:20:46 +0200
committerObserverOfTime <chronobserver@disroot.org>2023-11-07 12:17:38 +0200
commit9a746b4b6a1ef215943f07e6aa2ec35fb14097d4 (patch)
treee5692466e8873f198029a05abc4975279420401b /queries/udev
parentUpdate parsers: janet_simple, perl, swift, wing (#5634) (diff)
downloadnvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar.gz
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar.bz2
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar.lz
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar.xz
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.tar.zst
nvim-treesitter-9a746b4b6a1ef215943f07e6aa2ec35fb14097d4.zip
feat: add udev rules parser
Diffstat (limited to 'queries/udev')
-rw-r--r--queries/udev/highlights.scm53
-rw-r--r--queries/udev/injections.scm12
2 files changed, 65 insertions, 0 deletions
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"))