Update slint grammar (#7893)

This commit is contained in:
Erasin Wang 2023-08-13 15:18:57 +08:00 committed by GitHub
parent b0c270f8e6
commit 19dff5c3a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 129 additions and 80 deletions

View File

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

View File

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

View File

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

View File

@ -0,0 +1,2 @@
((comment) @injection.content
(#set! injection.language "comment"))

View File

@ -1,3 +1,3 @@
; locals.scm
(component_definition) @local.scope
(component_item) @local.scope