⁂ asterism
Hyperbolic navigation for tree data
vim-like document section editor
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.
Features
- Tree-sitter based markdown parsing
- Hierarchical section navigation with parent/child relationships
- Visual line wrapping with configurable width
- Multi-file support with directory tree display
- Edit sections without modifying heading markup
- Vim-like keybindings for efficient editing
Installation
Regular cargo install or (recommended) install the pre-built binary with:
Usage
Edit markdown files in the current directory:
Edit a specific file:
Configuration
Create an asterism.toml file in your project directory:
= 100
= ["md", "markdown"]
Keybindings
List View
- ↑/↓: Jump to previous/next sections
- Shift + ↑/↓: Jump to previous/next section at same level
- ←/→: Jump to parent section/next descendant
- Home/End: Jump to first/last section in document
- Shift + Home/End: Jump to first/last section at same level
- Enter: Edit section
- q: Quit (or return to file list in multi-file mode)
Editor View
- :w: Save
- :x: Save and exit
- :q: Quit (warns if unsaved)
- :q!: Force quit
- :wn: Save and go to next header
- :wp: Save and go to previous section
- Standard vim editing commands
Licensing
Asterism is MIT licensed, a permissive open source license.