PartiQL Rust CLI
PoC for a CLI & REPL. It should be considered experimental, subject to change, etc.
In its current state, it largely exists to test parser interface & types from the perspective of an external application. Probably the the mietter::Diagnostic stuff should be refactored and moved to the main parser crate.
CLI Commands
help: print the CLI's help message and supported commandsrepl: launches the REPLast -T<format> "<query>": outputs a rendered version of the parsed AST (see Visualization):<format>:query: the PartiQL query text
REPL
The REPL currently assumes most of the input line is a PartiQL query, which it will attempt to parse.
- For an invalid query, errors are pretty printed to the output.
- For a valid query,
- with no prefix,
Parse OK!is printed to the output - if prefixed by
\ast, a rendered AST tree image is printed to the output (see Visualization)
- with no prefix,
Features:
- Syntax highlighting of query input
- User-friendly error reporting
- Readling/editing
CTRL-D/CTRL-Cto quit.
Visualizations
In order to use any of the Graphviz-based visualizations, you will need the graphviz libraries
installed on your machine (e.g. brew install graphviz or similar).
TODO
- Use central location for syntax files rather than embedded in this crate
- Better interaction model
- commands
- more robust editing
- etc.