4 releases
new 0.2.0 | Jan 2, 2025 |
---|---|
0.1.2 | Oct 12, 2022 |
0.1.1 | Jul 7, 2022 |
0.1.0 | Dec 29, 2021 |
#100 in Text editors
179 downloads per month
10MB
317K
SLoC
tree-sitter-qmljs
QML grammar for the tree-sitter parsing library.
References
Pitfalls
Since grouped binding notation is syntactically ambiguous, it is parsed as an object definition.
// (ui_object_definition type_name: (identifier "Button") ...)
Button {
// (ui_object_definition type_name: (identifier "icon") ...)
icon { source: "foo.png"; color: "transparent" }
}
Building
Use the master
branch, which contains all generated files.
$ git checkout master
$ npm install
$ cargo build --release
Hacking
Use the dev
branch, but you'll first need to run npm install
in the
master
branch.
$ git checkout master
$ npm install
$ git checkout dev
Generate code and run tests:
$ make generate tests
Make sure example QML files can be parsed:
$ make fetch-examples parse-examples
Dependencies
~2.8–4MB
~79K SLoC