Skip to content

basalt/v0.12.1

Choose a tag to compare

@erikjuhani erikjuhani released this 26 Jan 22:06
ed5a19c

0.12.1 (Jan, 26 2026)

Bug squashing release. Cursor movement in editing mode should now be fixed, and work properly with unicode symbols like emojis. Additionally rename will now trigger wiki-link update, which will apply rename to all notes when applicable.

Wiki-link rename demo:
basalt-0-12-1

Changed

The previous 𝌆 tetragram for centre symbol had multiple issues between
different terminal emulators and recently the update of unicode-width
that changed classification on some symbols making the width differ,
from the previous version.

Without this change I cannot update to newer version of unicode-width.

  • 9716042 Remove ~beta suffix from version string

Obsolete feature as the 0. major version should tell enough about the
instability of this application.

Fixed

The cursor now correctly handles multi-byte characters (emojis, unicode
symbols) when moving left/right and when calculating visual positions.
Previously, the editor assumed 1 byte per character, causing the cursor
to land in the middle of multi-byte sequences.

Key changes:

  • Use byte lengths instead of character counts for source range tracking
  • Convert between byte offsets and character boundaries properly
  • Update insert_char and delete_char to account for variable byte
    widths
  • Fix source_offset_to_virtual_column to use byte indices instead of
    char indices

Fixes #314

The cursor could not move upwards past empty lines in code blocks in both
edit and read modes.

In edit mode, virtual_position_to_source_offset incorrectly returned
source_range.end for empty lines because cur_col included synthetic
span widths. Added content_col to track only content character widths.

In read mode, the Visual rendering of code blocks didn't account for
newlines when calculating source ranges, causing empty lines to have
empty ranges (e.g., 5..5). Now uses line_range() which properly adds 1
for newlines.

Fixes #321

  • 3f31151 Update all wiki-links in notes after rename

Now all wiki-links will be updated after renaming a note in basalt.
We call update_wiki_links in the RefreshVault message handler to
automatically update links across the vault when a note is renamed.

Also refreshed the note editor content after rename to reflect any
wiki-link changes in the currently open note, otherwise the content
would not be refreshed properly.

Fixes #307