| Crates.io | asterism |
| lib.rs | asterism |
| version | 0.5.5 |
| created_at | 2025-11-08 19:38:56.979741+00 |
| updated_at | 2025-11-09 18:49:01.723764+00 |
| description | Hyperbolic navigation for tree data |
| homepage | https://github.com/lmmx/asterism |
| repository | https://github.com/lmmx/asterism |
| max_upload_size | |
| id | 1923205 |
| size | 228,555 |
Hyperbolic navigation for tree data
You are here
asterism uses ratatui to give a hierarchical tree navigator for markdown documents, and edtui to emulate a vim editor in which to edit section content.
Regular cargo install or (recommended) install the pre-built binary with:
cargo binstall asterism
Edit markdown files in the current directory:
asterism
Edit a specific file:
asterism README.md
asterism can display and navigate difftastic structural diffs:
DFT_DISPLAY=json DFT_UNSTABLE=yes difft file1.rs file2.rs > diff.json
asterism -d diff.json
DFT_DISPLAY=json DFT_UNSTABLE=yes difft file1.rs file2.rs | asterism --stdin
DFT_DISPLAY=json DFT_UNSTABLE=yes git -c diff.external=difft diff --cached | asterism -d --stdin
# In .gitconfig:
[diff]
tool = asterism-difft
[difftool "asterism-difft"]
cmd = difft --display json \"$LOCAL\" \"$REMOTE\" | asterism --stdin
In difftastic mode:
When moving, the selected section displays in orange, then turns red after being repositioned to indicate unsaved changes.
Create an asterism.toml file in your project directory:
wrap_width = 100
file_extensions = ["md", "markdown"]
Asterism is MIT licensed, a permissive open source license.