feat(typoscript): updated grammar

This commit is contained in:
Teddytrombone 2025-12-12 11:53:43 +01:00
parent 2979e048b3
commit e7a2033f2a
5 changed files with 101 additions and 13 deletions

View file

@ -2422,7 +2422,7 @@ return {
},
typoscript = {
install_info = {
revision = '5d8fde870b0ded1f429ba5bb249a9d9f8589ff5f',
revision = 'e59069a4cc08b2dacccd40827fe971ca3c6821b7',
url = 'https://github.com/Teddytrombone/tree-sitter-typoscript',
},
maintainers = { '@Teddytrombone' },

View file

@ -1 +1,8 @@
(block) @fold
[
(block)
(condition_block)
(import_legacy)+
(import)+
(comment)+
(multiline_value)
] @fold

View file

@ -1,10 +1,34 @@
(identifier) @variable.member
(symfony_variable) @variable
(constant) @constant
(modifier_function) @function
(symfony_function) @function.call
(modifier_predefined) @function.builtin
(symfony_method) @function.method.call
[
(modifier_function)
(symfony_function)
] @function
[
(modifier_predefined)
(symfony_predefined_function)
] @function.builtin
[
(symfony_function_parameter)
(symfony_method_parameter)
(modifier_parameter)
] @variable.parameter
(symfony_function_parameter
(symfony_variable) @variable.parameter)
(symfony_method_parameter
(symfony_variable) @variable.parameter)
[
(condition)
@ -12,13 +36,27 @@
(condition_else)
] @keyword.conditional
(cobject) @type.builtin
((condition
"[" @keyword.conditional)
(#set! "priority" 110))
((condition
"]" @keyword.conditional)
(#set! "priority" 110))
[
"@import"
"INCLUDE_TYPOSCRIPT"
] @keyword.import
(condition_attribute) @tag.attribute
(cobject) @type.builtin
(symfony_built_in_variable) @variable.builtin
(symfony_property) @variable.member
[
(comment)
(single_line_comment)
@ -26,22 +64,48 @@
[
(string)
(multiline_value)
(multiline_value_content)
(symfony_string)
] @string
(reference_line
"=<" @operator)
(deletion_line
">" @operator)
(copy_line
"<" @operator)
(modification_line
":=" @operator)
[
"="
">"
"<"
":="
"=<"
(condition_bool)
"."
"?."
(symfony_condition_operator)
(condition_bool_legacy)
(constant_null_coalescing)
] @operator
(symfony_ternary_operator) @keyword.conditional.ternary
((symfony_condition_operator) @keyword.operator
(#match? @keyword.operator "and|or|xor|not|not in|in|contains|starts with|ends with|matches"))
"," @punctuation.delimiter
[
"("
")"
"["
"]"
(block_punctuation)
] @punctuation.bracket
(symfony_number) @number
(symfony_boolean) @boolean
(symfony_null) @constant.builtin

View file

@ -1,5 +1,13 @@
(block) @indent.begin
"}" @indent.branch @indent.end
"}" @indent.end
(comment) @indent.ignore
[
"{"
"}"
] @indent.branch
[
(comment)
(multiline_value)
] @indent.ignore

View file

@ -1,2 +1,11 @@
((multiline_line
(identifier) @_id
.
(multiline_value
(multiline_value_content) @injection.content))
(#match? @_id "_CSS_DEFAULT_STYLE$")
(#set! injection.language "css")
(#set! injection.overlay "constant"))
((comment) @injection.content
(#set! injection.language "comment"))