feat(lang): Update Nix grammar & improve queries (#2472)

This commit is contained in:
Timothy DeHerrera 2022-05-30 12:47:18 -06:00 committed by GitHub
parent 370a16d0f0
commit eba82250bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 37 deletions

View File

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

View File

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

View File

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