Skip to main content

QML grammar for tree-sitter

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tree_sitter_qmljs-0.3.1.tar.gz (440.1 kB view details)

Uploaded Source

File details

Details for the file tree_sitter_qmljs-0.3.1.tar.gz.

File metadata

  • Download URL: tree_sitter_qmljs-0.3.1.tar.gz
  • Upload date:
  • Size: 440.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.6

File hashes

Hashes for tree_sitter_qmljs-0.3.1.tar.gz
Algorithm Hash digest
SHA256 8cf59d0a94fb4d593db2cfe5b66eb90e1accb98f47d10abe4b10ff78438716b0
MD5 38520b45b876111dac6a419cf0cb7efb
BLAKE2b-256 1b7a6299e4da0a02b6a792c28caaf03c128f42349a0c154cf77ab16fd5627ffc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page