add locals query to resolve object id

pull/361/head
Yuya Nishihara 2021-12-28 17:53:39 +07:00
parent c96c6426b3
commit a33e1049b0
5 changed files with 23 additions and 1 deletions

@ -41,6 +41,7 @@
"node_modules/tree-sitter-javascript/queries/highlights.scm"
],
"locals": [
"queries/locals.scm",
"node_modules/tree-sitter-typescript/queries/locals.scm",
"node_modules/tree-sitter-javascript/queries/locals.scm"
],

@ -21,6 +21,12 @@
(nested_identifier (identifier) @property)
])
; locals query appears not working unless id: <ref> isn't a parameter.
(ui_binding
name: (identifier) @property
(#match? @property "^id$")
value: (expression_statement (identifier) @variable.parameter))
(ui_property
name: (identifier) @property)

@ -0,0 +1,6 @@
; Definitions
(ui_binding
name: (identifier) @property
(#match? @property "^id$")
value: (expression_statement (identifier) @local.definition))

@ -10,7 +10,7 @@ Item {
Component {
// <- type
id: component
// ^ variable
// ^ variable.parameter
Item {}
}

@ -3,6 +3,7 @@ import QtQuick
Item {
id: root
// <- property
// ^ variable.parameter
property MyItem myItem: MyItem {}
// <- keyword
@ -53,4 +54,12 @@ Item {
// <- keyword
// ^ property
}
x: 123
// ^ number
Rectangle {
anchors.fill: root
// ^ variable.parameter
}
}