0.2.11
Features
-
Whitespace Indicators: Granular control over whitespace visibility — configure space (·) and tab (→) indicators independently for leading, inner, and trailing positions. Master toggle, per-language overrides, and a new
whitespace_indicator_fgtheme color. -
Indent-Based Code Folding: Code folding now works in large file mode and for files without LSP folding ranges, using indentation analysis as a fallback. Fold from any line within a block (not just the header). Unified byte-offset pipeline for consistent gutter indicators.
-
Session Open-File Enhancements:
--waitflag blocks the CLI until the user dismisses a popup or closes the buffer — enables use asgit core.editor. Range selection syntax (file:L-EL,file:L:C-EL:EC) and hover messages (file:L@"markdown msg") for annotated file opening. Auto-attaches a client whenopen-filestarts a new session. -
GUI: macOS Native Integration (experimental): Native menu bar with dynamic when/checkbox conditions, Cmd keybindings (
macos-guikeymap), app icon, and.appbundle resources. Menu tracking detection prevents state mutations from causing menu jumps. -
Platform Icons: Application icons for Windows
.exe, Linux.deb/.rpmpackages, and macOS app bundles.
Bug Fixes
-
Bracket Highlight Hanging on Large Files: Bracket matching now caps scanning at 1MB and uses 16KB bulk reads instead of byte-at-a-time, preventing hangs on large files.
-
Markdown Plugin Activation: Plugin now activates based on buffer language (not just file extension), fixing cases where
Set Languageto markdown didn't enable smart editing (#1117). Reverse bullet cycling on Shift+Tab now works correctly (#1116). -
Settings UI: Fixed Save button mouse click not closing the dialog. Fixed Reset button not showing confirmation dialog. Fixed Discard dialog persisting on reopen.
-
Active Tab Styling Bleed: Fixed active tab border color bleeding through dropdown menus.
-
Cursor Corruption on Tab Click: Fixed hardware cursor appearing at wrong position when clicking a tab in an inactive split.
-
Comment Delimiter Colors: Fixed comment delimiter characters (e.g.
//) using the wrong color in syntax highlighting. -
Scroll Events Routing: Fixed mouse scroll events going to the file explorer panel regardless of mouse position.
-
File Explorer Border: Fixed hover/drag bugs on the file explorer resize border.
-
Windows Named Pipe Crash: Fixed crash in
Server::handle_new_connectionon Windows. -
Bar/Underline Cursor Invisible: Fixed bar and underline cursor styles being invisible on characters due to REVERSED modifier creating a block-like highlight (#851).
-
Wrapped Line Viewport Scroll: Fixed viewport scroll limit counting logical lines instead of visual rows, causing erratic scrolling, skipped wrapped rows, and stuck End key with line wrap enabled (#1147).
-
Search on Large Files: Fixed multi-GB memory consumption, O(N²) offset accumulation, and search scan never completing when capped at max matches. Chunked incremental search, viewport-only overlays, and 100K match cap (#1146).
-
macOS Menu Hover Jump: Fixed menu bar jumping to leftmost menu during hover by using
WaitUntilinstead ofPolland caching menu item states.
Improvements
- Status log and warning log buffers are now read-only.
- Replaced
buffer_modifiedJS plugin with native Rust diff indicators, eliminating JS↔Rust round-trips on every edit/scroll.
Internal
- Folding system refactored to use byte offsets instead of line numbers for gutter indicators, fixing consistency issues in large file mode.
- Unified fold indicator pipeline shared between LSP-based and indent-based folding.
- Fixed Nix build: include PNG files in source filter for GUI icon resources.