| Crates.io | tree-sitter-actions |
| lib.rs | tree-sitter-actions |
| version | 0.3.45 |
| created_at | 2025-03-04 06:04:37.341729+00 |
| updated_at | 2025-07-14 06:59:18.36356+00 |
| description | parser for the actions file as defined by the specification therein |
| homepage | |
| repository | https://github.com/clearheadtodo-devs/tree-sitter-actions |
| max_upload_size | |
| id | 1576800 |
| size | 237,174 |
This is intended to be a small, purpose-built parser in alignment with the specification describes in the specification file
Please read the specification for more in-depth coverage on what is available within the format and why it was designed the way it was
Taking a step back, these action files can be used in a few ways:
todo.txt complete with a parser that can be used as structured data while still allowing for a document-first workflowWhile I am trying to be relatively minimal with the parser, only supporting what is needed, there is still a need to support features that may be needed by others to increase longevity in the future:
So far, there are two usecases i know I will be using this for:
All features of the parser should be covered by tests within the tests folder and can be run using the standard tree-sitter test if you have the cli installed locally
One deviation we have made from other implementations is that tests actually reside split between three files:
test/test_descriptions.json file which contains 3 layers:examples file of the same name of the testtest/sexp which shows the expected output tree in s-exp formatwe use scripts/generate_tests to read these files and generate the corpus tests themselves
Ive really tried to keep this as simple as possible, relying entirely on basic treesitter rules and careful grammer design instead of funky priority rules
we handle special characters by escaping them with \ instead of making precedence rules. this makes is harder to write but easier to parse from a grammar perspective
But contributions are welcomed via pull requests!