Repository navigation
rootle v0.11.0
Syntax highlighting and headless waits
- Replaced Syntect with statically linked Tree-sitter grammars. Whole-file
parsing preserves multiline context; Markdown fences and HTML scripts
highlight their embedded languages. Palette changes recolor cached files
without recompiling grammar queries. TOML, YAML and TSX are supported. --headlessnow documents its directives in--help.settle [ms]
tracks workers and queued follow-ups instead of guessing from 400ms of
silence. The default bound is 10 seconds; timeouts fail the run with a
nonzero exit before later frames or state records are sampled.
Diagnostic sessions
--log/--log=ALLcreates a private session log;--log-file PATH
andROOTLE_TRACE=PATHselect a new JSONL file. Existing files are refused,
not overwritten or appended. CLI flags also work with provider commands.- Input, actions, post-transition state, actual cell grids/cursors/resize,
worker outcomes and rejection reasons, RPC traffic metadata, HTTP/cache,
config, update, editor and clipboard activity share one bounded writer.
Operation IDs and provider session/request IDs connect the evidence. - Metadata omits typed text, file contents, rendered glyphs and provider
stderr.--log-contentexplicitly enables sensitive UI/stderr capture.
Authorization headers, environment values, command argument vectors and
RPC/HTTP bodies are never automatically recorded. - Captures have byte/event/record limits and explicit completion markers;
write/queue/cap failures surface without writing over the TUI. Panic
capture is best-effort and bounded. Headless draws retain their terminal
buffers, and stderr capture cannot wait forever on an inherited pipe.
Upgrade
- Tarball / install.sh:
rootle update - Homebrew:
brew upgrade rootle - Cargo:
cargo install rootle --locked --version 0.11.0
Linux archives are statically linked musl binaries. Four archives cover Linux and macOS on x86_64 and arm64, with SHA-256 checksums and GitHub build provenance.