v0.4.7
[0.4.7] - 2025-12-07
Added
-
Command palette - Press
:to open a fuzzy-searchable command palette (#32)- Type to filter commands with fuzzy matching
- Navigate with
j/kor arrow keys, execute withEnter - Commands include: Save width, Toggle outline, Toggle help, Toggle raw source, Jump to top/bottom, Quit
- Each command has aliases (e.g.,
w/write/savefor save width)
-
Save outline width with confirmation - Press
Sto save current outline width to config with modal confirmation (#32)- Shows confirmation dialog before saving
- Respects power users: manual config values are session-only until explicitly saved
- New users with default config get auto-save behavior
-
Document search with n/N navigation - Full in-document search with match highlighting (#30)
- Press
/in content pane to search within the document - Press
nfor next match,Nfor previous match - Matches highlighted in content view
- Status bar shows match count and current position
- Press
Fixed
-
File creation modal not appearing - Fixed issue where following links to non-existent files would say "file opened" but not show the creation prompt
exit_interactive_mode()andexit_link_follow_mode()were overwriting theConfirmFileCreatemode- Now checks if file creation is pending before resetting mode
-
Double
.mdextension on wikilinks - Fixed wikilinks like[[file.md]]creatingfile.md.md- Now detects if wikilink target already has a markdown extension
- Only adds
.mdif not already present
-
Anchor links in interactive mode - Following anchor links to headings in current file now works correctly (#29)
- Changed from
select_by_text()tojump_to_anchor()for proper anchor handling - Anchor links like
#installationnow jump to correct heading
- Changed from
-
Wikilinks with path separators - Wikilinks containing
/now work correctly (#28)- Removed overly restrictive check that blocked all paths with
/ - Still blocks
..for security (prevents directory traversal) [[docs/guide]]now resolves todocs/guide.md
- Removed overly restrictive check that blocked all paths with
-
Checkbox toggle scroll jump - Toggling checkboxes no longer causes page to jump to top (#31)
- Saves and restores scroll position and element index on file reload
- Interactive mode state preserved after checkbox toggle
-
Config value protection - Outline width cycling no longer overwrites custom config values (#32)
- Tracks whether config has custom outline width at startup
- Power users with custom values: cycling is session-only
- New users with standard values: auto-save for convenience
Technical
-
Command palette system (
src/tui/app.rs)CommandActionenum for available actionsPaletteCommandstruct with fuzzy matching and scoringPALETTE_COMMANDSconstant with all commands and aliases- Filter/navigation/execution methods for palette state
-
Save confirmation modal (
src/tui/ui/popups.rs)render_save_width_confirm()for confirmation dialogrender_command_palette()for command palette UI
-
Config tracking (
src/tui/app.rs)config_has_custom_outline_widthflag to detect power user configs- Standard widths: 20%, 30%, 40% - anything else is custom
Special Thanks
@firecat53 for all the support!
Full Changelog: v0.4.6...v0.4.7