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:
jirgn 2021-12-23 17:18:15 +01:00 committed by GitHub
parent 56634f49ab
commit 6b5b37cc3e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 73 additions and 26 deletions

View file

@ -69,7 +69,7 @@
"revision": "f0f2f100952a353e64e26b0fa710b4c296d7af13"
},
"fusion": {
"revision": "f588d2cba166de2dbf5e2b7f848e7a2e82b803ce"
"revision": "016ce4a7695ebad5eeebfbe07525a2ec0639d78d"
},
"gdscript": {
"revision": "eed1595d830407b49775aa33b871a9400e5a44e6"

View file

@ -135,7 +135,7 @@ list.rust = {
list.fusion = {
install_info = {
url = "https://gitlab.com/jirgn/tree-sitter-fusion.git",
files = { "src/parser.c" },
files = { "src/parser.c", "src/scanner.c" },
branch = "main",
},
maintainers = { "@jirgn" },

View file

@ -1,7 +1,24 @@
(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
(eel_object_path
(eel_path_identifier) @variable.builtin
(#match? @variable.builtin "^(this|props)$")
)
(eel_object_path
(eel_path_identifier) @variable)
@ -12,7 +29,6 @@
(eel_parameter) @variable
; identifiers fusion
; -----------
@ -38,38 +54,47 @@
; tokens
; ------
(afx_opening_element
[
"<"
">"
] @punctuation.bracket)
(afx_closing_element
[
"<"
">"
"/"
] @punctuation.bracket)
(afx_element_self_closing
[
"<"
"/>"
] @punctuation.bracket)
[
(package_name)
(alias_namespace)
] @namespace
[
"="
"<"
"&&"
"and"
"||"
"or"
"*"
"/"
"%"
"+"
"-"
"!"
"not"
(deletion)
] @operator
(namespace_declaration "=" @operator)
(assignment "=" @operator)
(copy "<" @operator)
(deletion) @operator
(eel_binary_expression
operator: _ @operator)
(eel_not_expression
[
"!"
"not"
] @operator)
(string) @string
(number) @number
(boolean) @boolean
(null) @constant.builtin
; punctuation
; ----------
[
"("
")"
@ -84,5 +109,3 @@
"."
"?"
] @punctuation.delimiter

View 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 -->
`

View file

@ -1,6 +1,5 @@
include: SomeFile.fusion
//<- include
// ^punctuation.delimiter
// ^text.uri
namespace: ns = Neos.Fusion.Space

View file

@ -23,6 +23,14 @@ propertyPath = ${property.path}
// ^variable
// ^variable
thisorProps = ${this.path}
// ^variable.builtin
// ^variable
thisorProps = ${props.path}
// ^variable.builtin
// ^variable
array = ${[]}
// ^punctuation.bracket