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" "revision": "f0f2f100952a353e64e26b0fa710b4c296d7af13"
}, },
"fusion": { "fusion": {
"revision": "f588d2cba166de2dbf5e2b7f848e7a2e82b803ce" "revision": "016ce4a7695ebad5eeebfbe07525a2ec0639d78d"
}, },
"gdscript": { "gdscript": {
"revision": "eed1595d830407b49775aa33b871a9400e5a44e6" "revision": "eed1595d830407b49775aa33b871a9400e5a44e6"

View file

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

View file

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

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: SomeFile.fusion
//<- include //<- include
// ^punctuation.delimiter
// ^text.uri // ^text.uri
namespace: ns = Neos.Fusion.Space namespace: ns = Neos.Fusion.Space

View file

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