mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-11 16:00:02 -04:00
update fusion to version 1.1.1 (#2148)
* feat(fusion): update tests * fix(fusion): update lockfile * fix(fusion): update to (highlight breaking) version 1.1.0 * update grammer to introduce afx support * update tests and queries * fix: revert lockfile update of unrelated grammars * fix: update to 1.1.1 and fix hightlights * fix: use @tag.attribute capture to match specs Co-authored-by: Jirgn <jirgn76@googlemail.com>
This commit is contained in:
parent
56634f49ab
commit
6b5b37cc3e
6 changed files with 73 additions and 26 deletions
|
|
@ -69,7 +69,7 @@
|
||||||
"revision": "f0f2f100952a353e64e26b0fa710b4c296d7af13"
|
"revision": "f0f2f100952a353e64e26b0fa710b4c296d7af13"
|
||||||
},
|
},
|
||||||
"fusion": {
|
"fusion": {
|
||||||
"revision": "f588d2cba166de2dbf5e2b7f848e7a2e82b803ce"
|
"revision": "016ce4a7695ebad5eeebfbe07525a2ec0639d78d"
|
||||||
},
|
},
|
||||||
"gdscript": {
|
"gdscript": {
|
||||||
"revision": "eed1595d830407b49775aa33b871a9400e5a44e6"
|
"revision": "eed1595d830407b49775aa33b871a9400e5a44e6"
|
||||||
|
|
|
||||||
|
|
@ -135,7 +135,7 @@ list.rust = {
|
||||||
list.fusion = {
|
list.fusion = {
|
||||||
install_info = {
|
install_info = {
|
||||||
url = "https://gitlab.com/jirgn/tree-sitter-fusion.git",
|
url = "https://gitlab.com/jirgn/tree-sitter-fusion.git",
|
||||||
files = { "src/parser.c" },
|
files = { "src/parser.c", "src/scanner.c" },
|
||||||
branch = "main",
|
branch = "main",
|
||||||
},
|
},
|
||||||
maintainers = { "@jirgn" },
|
maintainers = { "@jirgn" },
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,24 @@
|
||||||
(comment) @comment
|
(comment) @comment
|
||||||
|
(afx_comment) @comment
|
||||||
|
|
||||||
|
; identifiers afx
|
||||||
|
(afx_opening_element
|
||||||
|
(afx_identifier) @tag)
|
||||||
|
(afx_closing_element
|
||||||
|
(afx_identifier) @tag)
|
||||||
|
(afx_element_self_closing
|
||||||
|
(afx_identifier) @tag)
|
||||||
|
|
||||||
|
(afx_attribute
|
||||||
|
(afx_property_identifier) @tag.attribute)
|
||||||
|
|
||||||
; identifiers eel
|
; identifiers eel
|
||||||
|
|
||||||
|
(eel_object_path
|
||||||
|
(eel_path_identifier) @variable.builtin
|
||||||
|
(#match? @variable.builtin "^(this|props)$")
|
||||||
|
)
|
||||||
|
|
||||||
(eel_object_path
|
(eel_object_path
|
||||||
(eel_path_identifier) @variable)
|
(eel_path_identifier) @variable)
|
||||||
|
|
||||||
|
|
@ -12,7 +29,6 @@
|
||||||
|
|
||||||
(eel_parameter) @variable
|
(eel_parameter) @variable
|
||||||
|
|
||||||
|
|
||||||
; identifiers fusion
|
; identifiers fusion
|
||||||
; -----------
|
; -----------
|
||||||
|
|
||||||
|
|
@ -38,38 +54,47 @@
|
||||||
|
|
||||||
; tokens
|
; tokens
|
||||||
; ------
|
; ------
|
||||||
|
(afx_opening_element
|
||||||
|
[
|
||||||
|
"<"
|
||||||
|
">"
|
||||||
|
] @punctuation.bracket)
|
||||||
|
|
||||||
|
(afx_closing_element
|
||||||
|
[
|
||||||
|
"<"
|
||||||
|
">"
|
||||||
|
"/"
|
||||||
|
] @punctuation.bracket)
|
||||||
|
|
||||||
|
(afx_element_self_closing
|
||||||
|
[
|
||||||
|
"<"
|
||||||
|
"/>"
|
||||||
|
] @punctuation.bracket)
|
||||||
|
|
||||||
[
|
[
|
||||||
(package_name)
|
(package_name)
|
||||||
(alias_namespace)
|
(alias_namespace)
|
||||||
] @namespace
|
] @namespace
|
||||||
|
|
||||||
[
|
(namespace_declaration "=" @operator)
|
||||||
"="
|
(assignment "=" @operator)
|
||||||
"<"
|
(copy "<" @operator)
|
||||||
"&&"
|
(deletion) @operator
|
||||||
"and"
|
(eel_binary_expression
|
||||||
"||"
|
operator: _ @operator)
|
||||||
"or"
|
(eel_not_expression
|
||||||
"*"
|
[
|
||||||
"/"
|
"!"
|
||||||
"%"
|
"not"
|
||||||
"+"
|
] @operator)
|
||||||
"-"
|
|
||||||
"!"
|
|
||||||
"not"
|
|
||||||
(deletion)
|
|
||||||
] @operator
|
|
||||||
|
|
||||||
(string) @string
|
(string) @string
|
||||||
(number) @number
|
(number) @number
|
||||||
(boolean) @boolean
|
(boolean) @boolean
|
||||||
(null) @constant.builtin
|
(null) @constant.builtin
|
||||||
|
|
||||||
|
|
||||||
; punctuation
|
|
||||||
; ----------
|
|
||||||
|
|
||||||
[
|
[
|
||||||
"("
|
"("
|
||||||
")"
|
")"
|
||||||
|
|
@ -84,5 +109,3 @@
|
||||||
"."
|
"."
|
||||||
"?"
|
"?"
|
||||||
] @punctuation.delimiter
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
17
tests/query/highlights/fusion/afx.fusion
Normal file
17
tests/query/highlights/fusion/afx.fusion
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
property = afx`
|
||||||
|
<!-- some comment -->
|
||||||
|
<!-- ^@comment -->
|
||||||
|
|
||||||
|
<div attribute="value">text</div>
|
||||||
|
<!-- ^@tag -->
|
||||||
|
<!-- ^@tag.attribute -->
|
||||||
|
<!-- ^@string -->
|
||||||
|
<!-- ^@punctuation.bracket -->
|
||||||
|
<!-- ^@tag -->
|
||||||
|
|
||||||
|
<Namespace:Type {...spread} some={(a) => true} />
|
||||||
|
<!-- ^@tag -->
|
||||||
|
<!-- ^@variable -->
|
||||||
|
<!-- ^@variable -->
|
||||||
|
<!-- ^@boolean -->
|
||||||
|
`
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
include: SomeFile.fusion
|
include: SomeFile.fusion
|
||||||
//<- include
|
//<- include
|
||||||
// ^punctuation.delimiter
|
|
||||||
// ^text.uri
|
// ^text.uri
|
||||||
|
|
||||||
namespace: ns = Neos.Fusion.Space
|
namespace: ns = Neos.Fusion.Space
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,14 @@ propertyPath = ${property.path}
|
||||||
// ^variable
|
// ^variable
|
||||||
// ^variable
|
// ^variable
|
||||||
|
|
||||||
|
thisorProps = ${this.path}
|
||||||
|
// ^variable.builtin
|
||||||
|
// ^variable
|
||||||
|
|
||||||
|
thisorProps = ${props.path}
|
||||||
|
// ^variable.builtin
|
||||||
|
// ^variable
|
||||||
|
|
||||||
array = ${[]}
|
array = ${[]}
|
||||||
// ^punctuation.bracket
|
// ^punctuation.bracket
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue