mirror of
https://github.com/helix-editor/helix.git
synced 2024-11-22 01:16:18 +04:00
Update slint grammar (#7893)
This commit is contained in:
parent
b0c270f8e6
commit
19dff5c3a4
@ -2029,7 +2029,7 @@ language-servers = [ "slint-lsp" ]
|
||||
|
||||
[[grammar]]
|
||||
name = "slint"
|
||||
source = { git = "https://github.com/jrmoulton/tree-sitter-slint", rev = "0d4dda94f96623302dfc234e06be62a5717f47da" }
|
||||
source = { git = "https://github.com/jrmoulton/tree-sitter-slint", rev = "00c8a2d3645766f68c0d0460086c0a994e5b0d85" }
|
||||
|
||||
[[language]]
|
||||
name = "task"
|
||||
|
@ -1,105 +1,153 @@
|
||||
|
||||
(user_type_identifier) @type
|
||||
(identifier) @variable
|
||||
[
|
||||
(type_identifier)
|
||||
(units)
|
||||
]@type
|
||||
|
||||
(var_identifier) @variable
|
||||
|
||||
(state_identifier) @variable.other.member
|
||||
|
||||
(var_identifier
|
||||
(post_identifier) @variable)
|
||||
(array_literal
|
||||
(identifier) @type)
|
||||
|
||||
(function_identifier) @function
|
||||
[
|
||||
(image_macro)
|
||||
(children_macro)
|
||||
(radial_grad_macro)
|
||||
(linear_grad_macro)
|
||||
] @function.macro
|
||||
|
||||
(reference_identifier) @keyword.storage.modifier.ref
|
||||
(visibility_modifier) @keyword.storage.modifier
|
||||
(call_expression
|
||||
function: (identifier) @function)
|
||||
(call_expression
|
||||
function: (field_expression
|
||||
field: (identifier) @function))
|
||||
|
||||
(vis) @keyword.control.import
|
||||
|
||||
(transition_statement state: (identifier) @variable.other.member)
|
||||
(state_expression state: (identifier) @variable.other.member)
|
||||
(struct_block_definition field: (identifier) @variable.other.member)
|
||||
(assign_property (identifier) @attribute)
|
||||
|
||||
(comment) @comment
|
||||
|
||||
(string) @string
|
||||
(int_number) @constant.numeric
|
||||
(unit_type) @type.builtin
|
||||
(string_literal) @string
|
||||
(int_literal) @constant.numeric.integer
|
||||
(float_literal) @constant.numeric.float
|
||||
|
||||
[
|
||||
"struct"
|
||||
"property"
|
||||
"callback"
|
||||
"import"
|
||||
"from"
|
||||
"root"
|
||||
"parent"
|
||||
"this"
|
||||
"for"
|
||||
"in"
|
||||
"if"
|
||||
"else if"
|
||||
"else"
|
||||
"animate"
|
||||
"states"
|
||||
"when"
|
||||
"in"
|
||||
"out"
|
||||
"transitions"
|
||||
"global"
|
||||
"in"
|
||||
"in-out"
|
||||
"for"
|
||||
] @keyword.control.repeat
|
||||
|
||||
[
|
||||
"import"
|
||||
"export"
|
||||
"from"
|
||||
] @keyword.control.import
|
||||
|
||||
[
|
||||
"if"
|
||||
"else"
|
||||
"when"
|
||||
] @keyword.control.conditional
|
||||
|
||||
[
|
||||
"struct"
|
||||
"property"
|
||||
] @keyword.storage.type
|
||||
|
||||
[
|
||||
"global"
|
||||
] @keyword.storage.modifier
|
||||
|
||||
|
||||
[
|
||||
"root"
|
||||
"parent"
|
||||
"duration"
|
||||
"easing"
|
||||
] @variable.builtin
|
||||
|
||||
|
||||
[
|
||||
"callback"
|
||||
"animate"
|
||||
"states"
|
||||
"out"
|
||||
"transitions"
|
||||
"component"
|
||||
"inherits"
|
||||
] @keyword
|
||||
|
||||
[
|
||||
"black"
|
||||
"transparent"
|
||||
"blue"
|
||||
"ease"
|
||||
"ease_in"
|
||||
"ease-in"
|
||||
"ease_in_out"
|
||||
"ease-in-out"
|
||||
"ease_out"
|
||||
"ease-out"
|
||||
"end"
|
||||
"green"
|
||||
"red"
|
||||
"red"
|
||||
"start"
|
||||
"yellow"
|
||||
"true"
|
||||
"false"
|
||||
"black"
|
||||
"transparent"
|
||||
"blue"
|
||||
"ease"
|
||||
"ease_in"
|
||||
"ease-in"
|
||||
"ease_in_out"
|
||||
"ease-in-out"
|
||||
"ease_out"
|
||||
"ease-out"
|
||||
"end"
|
||||
"green"
|
||||
"red"
|
||||
"start"
|
||||
"yellow"
|
||||
"white"
|
||||
"gray"
|
||||
] @constant.builtin
|
||||
|
||||
[
|
||||
"true"
|
||||
"false"
|
||||
] @constant.builtin.boolean
|
||||
|
||||
"@" @keyword
|
||||
|
||||
; ; Punctuation
|
||||
[
|
||||
","
|
||||
"."
|
||||
";"
|
||||
":"
|
||||
] @punctuation.delimiter
|
||||
|
||||
; ; Brackets
|
||||
[
|
||||
"("
|
||||
")"
|
||||
"["
|
||||
"]"
|
||||
"{"
|
||||
"}"
|
||||
"("
|
||||
")"
|
||||
"["
|
||||
"]"
|
||||
"{"
|
||||
"}"
|
||||
] @punctuation.bracket
|
||||
|
||||
(define_property ["<" ">"] @punctuation.bracket)
|
||||
|
||||
[
|
||||
"angle"
|
||||
"bool"
|
||||
"brush"
|
||||
; "color" // This causes problems
|
||||
"duration"
|
||||
"easing"
|
||||
"float"
|
||||
"image"
|
||||
"int"
|
||||
"length"
|
||||
"percent"
|
||||
"physical-length"
|
||||
"physical_length"
|
||||
"string"
|
||||
"angle"
|
||||
"bool"
|
||||
"brush"
|
||||
"color"
|
||||
"duration"
|
||||
"easing"
|
||||
"float"
|
||||
"image"
|
||||
"int"
|
||||
"length"
|
||||
"percent"
|
||||
"physical-length"
|
||||
"physical_length"
|
||||
"string"
|
||||
] @type.builtin
|
||||
|
||||
[
|
||||
":="
|
||||
"<=>"
|
||||
"!"
|
||||
"-"
|
||||
"+"
|
||||
@ -118,8 +166,6 @@
|
||||
"*="
|
||||
"/="
|
||||
"?"
|
||||
|
||||
"=>"
|
||||
] @operator
|
||||
"=>" ] @operator
|
||||
|
||||
(ternary_expression [":" "?"] @keyword.control.conditional)
|
@ -1,11 +1,12 @@
|
||||
[
|
||||
(field_declaration_list_body)
|
||||
(list_definition_body)
|
||||
(struct_field_declaration_list_body)
|
||||
(comp_body)
|
||||
(state_statement)
|
||||
(transition_statement)
|
||||
(handler_body)
|
||||
(consequence_body)
|
||||
(global_single)
|
||||
] @indent
|
||||
|
||||
[
|
||||
"}"
|
||||
"]"
|
||||
")"
|
||||
] @outdent
|
||||
|
2
runtime/queries/slint/injections.scm
Normal file
2
runtime/queries/slint/injections.scm
Normal file
@ -0,0 +1,2 @@
|
||||
((comment) @injection.content
|
||||
(#set! injection.language "comment"))
|
@ -1,3 +1,3 @@
|
||||
; locals.scm
|
||||
|
||||
(component_definition) @local.scope
|
||||
(component_item) @local.scope
|
||||
|
Loading…
Reference in New Issue
Block a user