0.12.6 (Jun, 21 2026)
Thanks @realkotob for contributing vault watch system, so now, basalt will automatically update the file list according to the file system. Additionally rendering was improved to allow for single line 'synthetic' rendering instead of only complete markdown blocks. Additionally helix style bindings are now supported with <space>.
Added
- afcad08 Allow named keys in chord sequences (e.g. f) by @erikjuhani
Treat <...> as a grouping delimiter in binding strings so a named or
modified key acts as a single keystroke inside a sequence, enabling
Helix-style leader bindings like f and .The group contents are parsed exactly like a standalone key, and a group
must resolve to one keystroke (multi-key, unterminated, and empty groups
error). < and > are reserved for the syntax; bind the literals via
and .Closes #516
- 69308e5 Add debug log overlay widget by @erikjuhani
A toggleable in-TUI debug log overlay (‹g<›) shows tracing output across
all levels (trace, debug, info, warn, error) on top of the application
without interfering with normal use. A bounded ring buffer captures events
through a tracing layer; the overlay supports scrolling, clearing and a
minimum-level filter. It can also be opened on startup with--debugand
filtered with--log-level. Relevant logging was added across the app.
- 3b1b400 Watch vault filesystem for changes in Explorer by @realkotob
The Explorer now watches the vault root recursively and refreshes when
markdown files or directories change on disk, so external moves,
additions and deletions are reflected without a user-initiated refresh.
The watcher is rebuilt when the active vault changes and avoids stealing
focus from the editor.
Changed
Editing used to flip the whole block to raw on entry, and rendering it
from the AST during edits drifted from the source, so nested lists and
structural edits were unreliable.Render the active block with a line decorator that maps 1:1 to source
place. This keeps indentation, blank lines and code blocks faithful to
the source and makes editing predictable.Read mode and non-active blocks keep the AST renderer; unifying the two
is tracked in #533.
Fixed
- f40bc77 Preserve source blank lines in Edit mode by @erikjuhani
In Edit mode the visual rendering now mirrors the source's blank-line
structure. Empty lines between loose list items render as empty rows,
and block spacing matches the source byte gap instead of a fixed "one
empty line per block". Adjacent blocks with no source empty lines now
render with no visual gap, so deleting at a block's start merges into
the previous block without a misleading empty row in between.