aboutsummaryrefslogtreecommitdiffstats
path: root/queries
diff options
context:
space:
mode:
authorOmar Valdez <omarantoniovaldezf2@gmail.com>2024-10-20 01:10:30 -0700
committerGitHub <noreply@github.com>2024-10-20 10:10:30 +0200
commit3ba21f96a434facb306f9fbe2f2e106859b28ba4 (patch)
treed62ab44f51273cb96e8755ed74d86f8969806ef5 /queries
parentbot(lockfile): update devicetree, editorconfig, json, markdown, markdown_inli... (diff)
downloadnvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar.gz
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar.bz2
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar.lz
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar.xz
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.tar.zst
nvim-treesitter-3ba21f96a434facb306f9fbe2f2e106859b28ba4.zip
feat(xresources): add parser and queries (#7260)
Diffstat (limited to 'queries')
-rw-r--r--queries/xresources/folds.scm10
-rw-r--r--queries/xresources/highlights.scm75
-rw-r--r--queries/xresources/injections.scm5
-rw-r--r--queries/xresources/locals.scm12
4 files changed, 102 insertions, 0 deletions
diff --git a/queries/xresources/folds.scm b/queries/xresources/folds.scm
new file mode 100644
index 000000000..9cc7d5cec
--- /dev/null
+++ b/queries/xresources/folds.scm
@@ -0,0 +1,10 @@
+[
+ (elif_directive)
+ (elifdef_directive)
+ (else_directive)
+ (if_directive)
+ (ifdef_directive)
+ (preprocessor_comment)
+ (comment)+
+ (include_directive)+
+] @fold
diff --git a/queries/xresources/highlights.scm b/queries/xresources/highlights.scm
new file mode 100644
index 000000000..4bf394788
--- /dev/null
+++ b/queries/xresources/highlights.scm
@@ -0,0 +1,75 @@
+[
+ (comment)
+ (preprocessor_comment)
+] @comment @spell
+
+"#include" @keyword.import
+
+[
+ "#define"
+ "#undef"
+] @keyword.directive.define
+
+[
+ "#if"
+ "#ifdef"
+ "#ifndef"
+ "#elif"
+ "#elifdef"
+ "#elifndef"
+ "#else"
+ "#endif"
+ (directive)
+] @keyword.directive
+
+(identifier) @variable
+
+(define_directive
+ name: (identifier) @constant.macro)
+
+(define_function_directive
+ name: (identifier) @function.macro)
+
+(parameters
+ (identifier) @variable.parameter)
+
+"..." @variable.parameter.builtin
+
+(undef_directive
+ name: (identifier) @constant.macro)
+
+(ifdef_directive
+ condition: (identifier) @constant.macro)
+
+(elifdef_directive
+ condition: (identifier) @constant.macro)
+
+(expansion) @markup.raw
+
+(component) @variable.member
+
+(components
+ (component) @property .)
+
+[
+ (string)
+ (resource_value)
+] @string
+
+(escape_sequence) @string.escape
+
+[
+ "*"
+ (any_component)
+] @character.special
+
+[
+ "."
+ ","
+ ":"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+] @punctuation.bracket
diff --git a/queries/xresources/injections.scm b/queries/xresources/injections.scm
new file mode 100644
index 000000000..1f12a2148
--- /dev/null
+++ b/queries/xresources/injections.scm
@@ -0,0 +1,5 @@
+([
+ (comment)
+ (preprocessor_comment)
+] @injection.content
+ (#set! injection.language "comment"))
diff --git a/queries/xresources/locals.scm b/queries/xresources/locals.scm
new file mode 100644
index 000000000..a7f932418
--- /dev/null
+++ b/queries/xresources/locals.scm
@@ -0,0 +1,12 @@
+(define_directive
+ name: (identifier) @local.definition.macro)
+
+(define_function_directive
+ name: (identifier) @local.definition.macro)
+
+(parameters
+ (identifier) @local.definition.parameter)
+
+(identifier) @local.reference
+
+(resources) @local.scope