mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-18 11:20:07 -04:00
feat: add dhall
This commit is contained in:
parent
1e8ad621a5
commit
fceb4ed0ec
5 changed files with 200 additions and 0 deletions
|
|
@ -71,6 +71,9 @@
|
||||||
"devicetree": {
|
"devicetree": {
|
||||||
"revision": "ea30a05d0f0446a96d8b096ad11828ad4f8ad849"
|
"revision": "ea30a05d0f0446a96d8b096ad11828ad4f8ad849"
|
||||||
},
|
},
|
||||||
|
"dhall": {
|
||||||
|
"revision": "affb6ee38d629c9296749767ab832d69bb0d9ea8"
|
||||||
|
},
|
||||||
"diff": {
|
"diff": {
|
||||||
"revision": "f69bde8e56f431863eba2fe4bab23e7d9692855f"
|
"revision": "f69bde8e56f431863eba2fe4bab23e7d9692855f"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -275,6 +275,14 @@ list.devicetree = {
|
||||||
maintainers = { "@jedrzejboczar" },
|
maintainers = { "@jedrzejboczar" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.dhall = {
|
||||||
|
install_info = {
|
||||||
|
url = "https://github.com/jbellerb/tree-sitter-dhall",
|
||||||
|
files = { "src/parser.c", "src/scanner.c" },
|
||||||
|
},
|
||||||
|
maintainers = { "@amaanq" },
|
||||||
|
}
|
||||||
|
|
||||||
list.diff = {
|
list.diff = {
|
||||||
install_info = {
|
install_info = {
|
||||||
url = "https://github.com/the-mikedavis/tree-sitter-diff",
|
url = "https://github.com/the-mikedavis/tree-sitter-diff",
|
||||||
|
|
|
||||||
14
queries/dhall/folds.scm
Normal file
14
queries/dhall/folds.scm
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
[
|
||||||
|
(let_binding)
|
||||||
|
|
||||||
|
(application_expression)
|
||||||
|
(lambda_expression)
|
||||||
|
|
||||||
|
(record_type)
|
||||||
|
(union_type)
|
||||||
|
|
||||||
|
(list_literal)
|
||||||
|
(record_literal)
|
||||||
|
|
||||||
|
(block_comment)
|
||||||
|
] @fold
|
||||||
171
queries/dhall/highlights.scm
Normal file
171
queries/dhall/highlights.scm
Normal file
|
|
@ -0,0 +1,171 @@
|
||||||
|
;; Text
|
||||||
|
|
||||||
|
;; Imports
|
||||||
|
|
||||||
|
(missing_import) @include
|
||||||
|
|
||||||
|
(local_import) @string.special.path
|
||||||
|
|
||||||
|
(http_import) @string @text.uri
|
||||||
|
|
||||||
|
[
|
||||||
|
(env_variable)
|
||||||
|
(import_hash)
|
||||||
|
] @string.special
|
||||||
|
|
||||||
|
[ (import_as_location) (import_as_text) ] @type
|
||||||
|
|
||||||
|
;; Types
|
||||||
|
|
||||||
|
([
|
||||||
|
(let_binding (label) @type)
|
||||||
|
(union_type_entry (label) @type)
|
||||||
|
] (#match? @type "^[A-Z]"))
|
||||||
|
|
||||||
|
((primitive_expression
|
||||||
|
(identifier (label) @type)
|
||||||
|
(selector (label) @type)) @variable
|
||||||
|
(#vim-match? @variable "^[A-Z][^.]*$"))
|
||||||
|
|
||||||
|
;; Parameters
|
||||||
|
|
||||||
|
(lambda_expression label: (label) @parameter)
|
||||||
|
|
||||||
|
;; Variables
|
||||||
|
|
||||||
|
(label) @variable
|
||||||
|
|
||||||
|
(identifier [
|
||||||
|
(label) @variable
|
||||||
|
(de_bruijn_index) @operator
|
||||||
|
])
|
||||||
|
|
||||||
|
(let_binding label: (label) @variable)
|
||||||
|
|
||||||
|
; Fields
|
||||||
|
|
||||||
|
(record_literal_entry (label) @field)
|
||||||
|
|
||||||
|
(record_type_entry (label) @field)
|
||||||
|
|
||||||
|
(selector
|
||||||
|
(selector_dot)
|
||||||
|
(_) @field)
|
||||||
|
|
||||||
|
;; Keywords
|
||||||
|
|
||||||
|
(env_import) @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"let"
|
||||||
|
"in"
|
||||||
|
"assert"
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
[
|
||||||
|
"using"
|
||||||
|
"as"
|
||||||
|
"with"
|
||||||
|
] @keyword.operator
|
||||||
|
|
||||||
|
;; Operators
|
||||||
|
|
||||||
|
[
|
||||||
|
(type_operator)
|
||||||
|
(assign_operator)
|
||||||
|
(lambda_operator)
|
||||||
|
(arrow_operator)
|
||||||
|
(infix_operator)
|
||||||
|
(completion_operator)
|
||||||
|
(assert_operator)
|
||||||
|
(forall_operator)
|
||||||
|
(empty_record_literal)
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
;; Builtins
|
||||||
|
|
||||||
|
(builtin_function) @function.builtin
|
||||||
|
(builtin [
|
||||||
|
"Natural"
|
||||||
|
"Natural/build"
|
||||||
|
"Natural/fold"
|
||||||
|
"Natural/isZero"
|
||||||
|
"Natural/even"
|
||||||
|
"Natural/odd"
|
||||||
|
"Natural/subtract"
|
||||||
|
"Natural/toInteger"
|
||||||
|
"Natural/show"
|
||||||
|
"Integer"
|
||||||
|
"Integer/toDouble"
|
||||||
|
"Integer/show"
|
||||||
|
"Integer/negate"
|
||||||
|
"Integer/clamp"
|
||||||
|
"Double"
|
||||||
|
"Double/show"
|
||||||
|
"List"
|
||||||
|
"List/build"
|
||||||
|
"List/fold"
|
||||||
|
"List/length"
|
||||||
|
"List/head"
|
||||||
|
"List/last"
|
||||||
|
"List/indexed"
|
||||||
|
"List/reverse"
|
||||||
|
"Text"
|
||||||
|
"Text/show"
|
||||||
|
"Text/replace"
|
||||||
|
"Optional"
|
||||||
|
"Date"
|
||||||
|
"Time"
|
||||||
|
"TimeZone"
|
||||||
|
"Type"
|
||||||
|
"Kind"
|
||||||
|
"Sort"
|
||||||
|
] @type.builtin)
|
||||||
|
|
||||||
|
;; Punctuation
|
||||||
|
|
||||||
|
[ "," "|" ] @punctuation.delimiter
|
||||||
|
(selector_dot) @punctuation.delimiter
|
||||||
|
|
||||||
|
[ "{" "}" ] @punctuation.bracket
|
||||||
|
|
||||||
|
[ "[" "]" ] @punctuation.bracket
|
||||||
|
|
||||||
|
[ "(" ")" ] @punctuation.bracket
|
||||||
|
|
||||||
|
[ "<" ">" ] @punctuation.bracket
|
||||||
|
|
||||||
|
;; Conditionals
|
||||||
|
|
||||||
|
[
|
||||||
|
"if"
|
||||||
|
"then"
|
||||||
|
"else"
|
||||||
|
] @conditional
|
||||||
|
|
||||||
|
;; Literals
|
||||||
|
|
||||||
|
(text_literal) @string
|
||||||
|
(interpolation "}" @string)
|
||||||
|
[
|
||||||
|
(double_quote_escaped)
|
||||||
|
(single_quote_escaped)
|
||||||
|
] @string.escape
|
||||||
|
|
||||||
|
[
|
||||||
|
(integer_literal)
|
||||||
|
(natural_literal)
|
||||||
|
] @number
|
||||||
|
|
||||||
|
(double_literal) @float
|
||||||
|
|
||||||
|
(boolean_literal) @boolean
|
||||||
|
|
||||||
|
(builtin "None") @constant.builtin
|
||||||
|
|
||||||
|
;; Comments
|
||||||
|
|
||||||
|
[
|
||||||
|
(line_comment)
|
||||||
|
(block_comment)
|
||||||
|
] @comment @spell
|
||||||
4
queries/dhall/injections.scm
Normal file
4
queries/dhall/injections.scm
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
[
|
||||||
|
(line_comment)
|
||||||
|
(block_comment)
|
||||||
|
] @comment
|
||||||
Loading…
Add table
Add a link
Reference in a new issue