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

pull/2619/head
Timothy DeHerrera 2 years ago committed by GitHub
parent 370a16d0f0
commit eba82250bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -439,7 +439,7 @@ indent = { tab-width = 2, unit = " " }
[[grammar]] [[grammar]]
name = "nix" 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]] [[language]]
name = "ruby" name = "ruby"

@ -1,15 +1,16 @@
(comment) @comment (comment) @comment
[ [
"if" "if"
"then" "then"
"else" "else"
"let" "let"
"inherit" "inherit"
"in" "in"
"rec" "rec"
"with" "with"
"assert" "assert"
"or"
] @keyword ] @keyword
((identifier) @variable.builtin ((identifier) @variable.builtin
@ -21,25 +22,25 @@
(#is-not? local)) (#is-not? local))
[ [
(string) (string_expression)
(indented_string) (indented_string_expression)
] @string ] @string
[ [
(path) (path_expression)
(hpath) (hpath_expression)
(spath) (spath_expression)
] @string.special.path ] @string.special.path
(uri) @string.special.uri (uri_expression) @string.special.uri
; boolean ; boolean
((identifier) @constant.builtin.boolean (#match? @constant.builtin.boolean "^(true|false)$")) @constant.builtin.boolean ((identifier) @constant.builtin.boolean (#match? @constant.builtin.boolean "^(true|false)$")) @constant.builtin.boolean
; null ; null
((identifier) @constant.builtin (#eq? @constant.builtin "null")) @constant.builtin ((identifier) @constant.builtin (#eq? @constant.builtin "null")) @constant.builtin
(integer) @constant.numeric.integer (integer_expression) @constant.numeric.integer
(float) @constant.numeric.float (float_expression) @constant.numeric.float
(interpolation (interpolation
"${" @punctuation.special "${" @punctuation.special
@ -47,7 +48,7 @@
(escape_sequence) @constant.character.escape (escape_sequence) @constant.character.escape
(function (function_expression
universal: (identifier) @variable.parameter universal: (identifier) @variable.parameter
) )
@ -55,27 +56,36 @@
name: (identifier) @variable.parameter name: (identifier) @variable.parameter
"?"? @punctuation.delimiter) "?"? @punctuation.delimiter)
(app (select_expression
attrpath: (attrpath (identifier)) @variable.other.member)
(apply_expression
function: [ function: [
(identifier) @function (variable_expression (identifier)) @function
(select (select_expression
attrpath: (attrpath attrpath: (attrpath
attr: (attr_identifier) @function .))]) attr: (identifier) @function .))])
(unary (unary_expression
operator: _ @operator) operator: _ @operator)
(binary (binary_expression
operator: _ @operator) operator: _ @operator)
(attr_identifier) @variable.other.member (variable_expression (identifier) @variable)
(inherit attrs: (attrs_inherited (identifier) @variable.other.member) )
(binding
attrpath: (attrpath (identifier)) @variable.other.member)
(identifier) @variable.other.member
(inherit_from attrs: (inherited_attrs attr: (identifier) @variable.other.member) )
[ [
";" ";"
"." "."
"," ","
"="
] @punctuation.delimiter ] @punctuation.delimiter
[ [
@ -85,6 +95,4 @@
"]" "]"
"{" "{"
"}" "}"
] @punctuation.bracket ] @punctuation.bracket
(identifier) @variable

@ -1,18 +1,25 @@
[ [
; "function", ; Bracket like
(bind)
(assert)
(with)
(let) (let)
(if)
(attrset) (attrset)
(list) (rec_attrset)
(indented_string) (let_attrset)
(parenthesized) (parenthesized)
] @indent (list)
[ ; Binding
"}" (bind)
"]" (inherit)
] @outdent (inherit_from)
(formal)
; Binary operations
(binary)
(has_attr)
(select)
(app)
; Conditional
(if)
] @indent
Loading…
Cancel
Save