mirror of https://github.com/Wilfred/difftastic/
|
|
||
|---|---|---|
| .. | ||
| .github/workflows | ||
| bindings | ||
| examples | ||
| queries | ||
| src | ||
| test | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| binding.gyp | ||
| grammar.js | ||
| package.json | ||
README.md
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