feat(xresources): add parser and queries (#7260)

This commit is contained in:
Omar Valdez 2024-10-20 01:10:30 -07:00 committed by GitHub
parent 9a94cc23cb
commit 3ba21f96a4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 114 additions and 0 deletions

View file

@ -878,6 +878,9 @@
"xml": {
"revision": "809266ed1694d64dedc168a18893cc254e3edf7e"
},
"xresources": {
"revision": "702e1e64ae14635346ffeb945d16f42d009c147a"
},
"yaml": {
"revision": "7b03feefd36b5f155465ca736c6304aca983b267"
},

View file

@ -2533,6 +2533,15 @@ list.xml = {
maintainers = { "@ObserverOfTime" },
}
list.xresources = {
install_info = {
url = "https://github.com/ValdezFOmar/tree-sitter-xresources",
files = { "src/parser.c" },
},
filetype = "xdefaults",
maintainers = { "@ValdezFOmar" },
}
list.yaml = {
install_info = {
url = "https://github.com/tree-sitter-grammars/tree-sitter-yaml",

View file

@ -0,0 +1,10 @@
[
(elif_directive)
(elifdef_directive)
(else_directive)
(if_directive)
(ifdef_directive)
(preprocessor_comment)
(comment)+
(include_directive)+
] @fold

View file

@ -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

View file

@ -0,0 +1,5 @@
([
(comment)
(preprocessor_comment)
] @injection.content
(#set! injection.language "comment"))

View file

@ -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