mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 09:26:19 +04:00
feat(lang): Update Nix grammar & improve queries (#2472)
This commit is contained in:
parent
370a16d0f0
commit
eba82250bb
@ -439,7 +439,7 @@ indent = { tab-width = 2, unit = " " }
|
||||
|
||||
[[grammar]]
|
||||
name = "nix"
|
||||
source = { git = "https://github.com/cstrahan/tree-sitter-nix", rev = "50f38ceab667f9d482640edfee803d74f4edeba5" }
|
||||
source = { git = "https://github.com/cstrahan/tree-sitter-nix", rev = "6b71a810c0acd49b980c50fc79092561f7cee307" }
|
||||
|
||||
[[language]]
|
||||
name = "ruby"
|
||||
|
@ -1,15 +1,16 @@
|
||||
(comment) @comment
|
||||
|
||||
[
|
||||
"if"
|
||||
"if"
|
||||
"then"
|
||||
"else"
|
||||
"let"
|
||||
"inherit"
|
||||
"in"
|
||||
"rec"
|
||||
"with"
|
||||
"with"
|
||||
"assert"
|
||||
"or"
|
||||
] @keyword
|
||||
|
||||
((identifier) @variable.builtin
|
||||
@ -21,25 +22,25 @@
|
||||
(#is-not? local))
|
||||
|
||||
[
|
||||
(string)
|
||||
(indented_string)
|
||||
(string_expression)
|
||||
(indented_string_expression)
|
||||
] @string
|
||||
|
||||
[
|
||||
(path)
|
||||
(hpath)
|
||||
(spath)
|
||||
(path_expression)
|
||||
(hpath_expression)
|
||||
(spath_expression)
|
||||
] @string.special.path
|
||||
|
||||
(uri) @string.special.uri
|
||||
(uri_expression) @string.special.uri
|
||||
|
||||
; boolean
|
||||
((identifier) @constant.builtin.boolean (#match? @constant.builtin.boolean "^(true|false)$")) @constant.builtin.boolean
|
||||
; null
|
||||
((identifier) @constant.builtin (#eq? @constant.builtin "null")) @constant.builtin
|
||||
|
||||
(integer) @constant.numeric.integer
|
||||
(float) @constant.numeric.float
|
||||
(integer_expression) @constant.numeric.integer
|
||||
(float_expression) @constant.numeric.float
|
||||
|
||||
(interpolation
|
||||
"${" @punctuation.special
|
||||
@ -47,7 +48,7 @@
|
||||
|
||||
(escape_sequence) @constant.character.escape
|
||||
|
||||
(function
|
||||
(function_expression
|
||||
universal: (identifier) @variable.parameter
|
||||
)
|
||||
|
||||
@ -55,27 +56,36 @@
|
||||
name: (identifier) @variable.parameter
|
||||
"?"? @punctuation.delimiter)
|
||||
|
||||
(app
|
||||
(select_expression
|
||||
attrpath: (attrpath (identifier)) @variable.other.member)
|
||||
|
||||
(apply_expression
|
||||
function: [
|
||||
(identifier) @function
|
||||
(select
|
||||
(variable_expression (identifier)) @function
|
||||
(select_expression
|
||||
attrpath: (attrpath
|
||||
attr: (attr_identifier) @function .))])
|
||||
attr: (identifier) @function .))])
|
||||
|
||||
|
||||
(unary
|
||||
(unary_expression
|
||||
operator: _ @operator)
|
||||
|
||||
(binary
|
||||
(binary_expression
|
||||
operator: _ @operator)
|
||||
|
||||
(attr_identifier) @variable.other.member
|
||||
(inherit attrs: (attrs_inherited (identifier) @variable.other.member) )
|
||||
(variable_expression (identifier) @variable)
|
||||
|
||||
(binding
|
||||
attrpath: (attrpath (identifier)) @variable.other.member)
|
||||
|
||||
(identifier) @variable.other.member
|
||||
|
||||
(inherit_from attrs: (inherited_attrs attr: (identifier) @variable.other.member) )
|
||||
|
||||
[
|
||||
";"
|
||||
"."
|
||||
","
|
||||
"="
|
||||
] @punctuation.delimiter
|
||||
|
||||
[
|
||||
@ -85,6 +95,4 @@
|
||||
"]"
|
||||
"{"
|
||||
"}"
|
||||
] @punctuation.bracket
|
||||
|
||||
(identifier) @variable
|
||||
] @punctuation.bracket
|
@ -1,18 +1,25 @@
|
||||
|
||||
[
|
||||
; "function",
|
||||
(bind)
|
||||
(assert)
|
||||
(with)
|
||||
; Bracket like
|
||||
(let)
|
||||
(if)
|
||||
|
||||
(attrset)
|
||||
(list)
|
||||
(indented_string)
|
||||
(rec_attrset)
|
||||
(let_attrset)
|
||||
(parenthesized)
|
||||
] @indent
|
||||
(list)
|
||||
|
||||
[
|
||||
"}"
|
||||
"]"
|
||||
] @outdent
|
||||
; Binding
|
||||
(bind)
|
||||
(inherit)
|
||||
(inherit_from)
|
||||
(formal)
|
||||
|
||||
; Binary operations
|
||||
(binary)
|
||||
(has_attr)
|
||||
(select)
|
||||
(app)
|
||||
|
||||
; Conditional
|
||||
(if)
|
||||
] @indent
|
Loading…
Reference in New Issue
Block a user