Skip to content

v0.3.2: tree-sitter upgrade, extensions UX, terminal install, F1 palette - #4

Merged
JDonaghy merged 5 commits into
mainfrom
develop
Mar 11, 2026
Merged

v0.3.2: tree-sitter upgrade, extensions UX, terminal install, F1 palette#4
JDonaghy merged 5 commits into
mainfrom
develop

Conversation

@JDonaghy

@JDonaghy JDonaghy commented Mar 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Tree-sitter upgrade from 0.20 to 0.24 with all grammar crates updated
  • YAML and HTML syntax highlighting added (17 languages total)
  • TUI fixes — tab rendering (literal tab expansion, visual-column positioning), activity bar icon readability, C# grammar query updates
  • VSCode Mode Gap Closure — ~20 missing shortcuts across 3 phases (Alt key routing, line operations, multi-cursor Ctrl+D/Ctrl+Shift+L, indentation, panel toggles, quick navigation, Ctrl+K chord prefix)
  • Extensions UX overhaul — Enter shows README preview, i key installs, all 16 extension READMEs rewritten, new EXTENSIONS.md development guide, commentary Lua extension removed (native :Comment replaces it)
  • Terminal-based extension install — install scripts run in a visible terminal pane (real-time output, sudo support, exit status display) instead of silently in the background
  • F1 command palette — opens Command Palette in both Vim and VSCode modes (fixes Ctrl+Shift+P not working in many terminals)
  • Word-boundary wrappingcompute_word_wrap_segments() in render.rs
  • Workspace session isolation — global session open_files cleared to prevent cross-workspace bleed
  • LSP kickstart after extension installlsp_did_open called on active buffer after install completes

Test plan

  • All 3995 tests pass
  • cargo clippy -- -D warnings clean
  • cargo fmt --check clean
  • cargo build succeeds

🤖 Generated with Claude Code

JDonaghy and others added 2 commits March 9, 2026 16:59
Archive sessions 155-157 to SESSION_HISTORY.md, update test count
(2941), trim PROJECT_STATE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 1 — Line Operations + Alt Key Routing:
Alt encoding in TUI/GTK backends for VSCode mode (Alt+key → "Alt_Up" etc.),
Alt+Up/Down move line, Alt+Shift+Up/Down duplicate line, Ctrl+Shift+K delete
line, Ctrl+Enter/Ctrl+Shift+Enter insert blank line, Ctrl+L select line.

Phase 2 — Multi-Cursor + Indentation:
Ctrl+D progressive word select with extra cursors at next occurrence,
Ctrl+Shift+L select all occurrences (new vscode_select_all_occurrences()),
multi-cursor typing/backspace using char-index descending sort for same-line
correctness, extra selections rendering in both backends, Ctrl+]/[ indent/
outdent with multi-cursor support, Shift+Tab outdent.

Phase 3 — Panels + Quick Navigation:
Ctrl+G go to line (with ensure_cursor_visible), Ctrl+P fuzzy finder,
Ctrl+Shift+P command palette, Ctrl+B toggle sidebar, Ctrl+J/Ctrl+` toggle
terminal (returns EngineAction::OpenTerminal), Ctrl+, settings, Ctrl+K
chord prefix.

Bug fixes:
- GTK terminal panel mouse off-by-one (term_px +1→+2 for tab bar row)
- GTK terminal + button not working (toolbar row misidentified)
- :N go-to-line not scrolling (missing ensure_cursor_visible)

UI polish:
- Bottom panel tab bar uses sans-serif UI_FONT with uppercase labels
- Terminal toolbar uses sans-serif font matching VSCode style

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JDonaghy
JDonaghy force-pushed the develop branch 3 times, most recently from c78558f to f449920 Compare March 10, 2026 20:02
….3.2

Upgrade tree-sitter stack from 0.20 to 0.24 with all grammar crates.
Add YAML and HTML syntax highlighting (17 languages total). Fix YAML
key/value color distinction, TUI tab rendering (expand tabs to spaces),
and TUI activity bar icon readability (off-white + accent bar).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…verhaul

Extension install scripts now run in a visible terminal pane instead of
silently in the background — users see real-time output, errors, and can
enter sudo passwords. F1 opens Command Palette in both Vim and VSCode
modes (fixes Ctrl+Shift+P not working in many terminals). Extensions UX:
Enter shows README preview, 'i' installs, word-boundary wrapping, workspace
session isolation fix, LSP kickstart after install, commentary extension
removed (native :Comment replaces it), all extension READMEs rewritten,
EXTENSIONS.md development guide. 3995 tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JDonaghy JDonaghy changed the title v0.3.2: tree-sitter upgrade, YAML/HTML highlighting, TUI fixes v0.3.2: tree-sitter upgrade, extensions UX, terminal install, F1 palette Mar 10, 2026
Pasting large text in insert mode caused 100% CPU / UI freeze because
each character was fed through handle_key() individually, triggering
tree-sitter reparse + bracket match + auto-completion per character.

New Engine::paste_in_insert_mode() does a single insert_with_undo()
and runs expensive post-processing once. Also adds safety guard in
compute_word_wrap_segments() to prevent potential infinite loops.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant