tree-sitter-qmljs
v0.3.0
Published
QML grammar for the tree-sitter parsing library
Downloads
8
Readme
tree-sitter-qmljs
QML grammar for the tree-sitter parsing library.
References
- https://code.qt.io/cgit/qt/qtdeclarative.git/tree/src/qml/parser/qqmljs.g
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 --releaseHacking
Use the dev branch, but you'll first need to run npm install in the
master branch.
$ git checkout master
$ npm install
$ git checkout devGenerate code and run tests:
$ make generate testsMake sure example QML files can be parsed:
$ make fetch-examples parse-examples