Conversation
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… line, full-height TUI sidebar Bug fixes: - Settings button unclickable when bottom panel open (TUI bar_height mismatch) - Spell/diagnostic underlines misaligned on lines with tabs (char index vs visual column) - No way to close debug output panel after DAP session ends (Ctrl+J toggle, × close button on bottom panel tab bar, :DapBottomPanel close command) - GTK command line drawn off-screen with per-window status lines - Terminal > New Terminal menu does nothing in GTK (missing OpenTerminal action handler) - GTK bottom panel click zones wrong with per-window status (hardcoded 2.0 status_h) - Debug toolbar icons render as boxes in GTK (use text labels instead of glyphs) - Bottom panel tab bar shows Terminal tab when no terminal is running Layout changes: - TUI sidebar now spans full height (activity bar + sidebar extend to bottom), matching GTK layout — status/command line sit under editor column only - GTK status_h calculations account for window_status_line setting Also includes: clickable status bar segments, LSP status indicator, line ending detection/switching, per-window status lines, and other prior uncommitted work. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Force ratatui full redraw on terminal resize (reflow desync) and when picker/folder-picker popups are dismissed (incremental diff miss). Also removed already-fixed debug panel close bug from BUGS.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…overhaul Session 245: Three major features plus numerous bug fixes. Editor action menu (⋯) button: - 8-item dropdown at right edge of each tab bar group (Close All/Others/ Saved/Right/Left, Toggle Wrap, Change Language, Reveal in File Explorer) - ContextMenuTarget::EditorActionMenu, close_all_tabs(), ActionBtnMap - Both GTK (PopoverMenu) and TUI backends with full click handling - Split-down icon fix (pushpin→caret-down), midline ellipsis ⋯ Richer tree-sitter highlight queries: - 12 new Theme fields: control_flow, operator, punctuation, macro_call, attribute, lifetime, constant, escape, boolean, property, parameter, module - All 6 built-in themes updated + VSCode JSON theme importer - scope_color() expanded from 8 to 23 capture names - All 20 language queries expanded with operators, punctuation, numbers, booleans, method calls, field access, parameters, escape sequences - Keywords split into storage (@Keyword) vs control flow (@keyword.control) - semantic_token_style() handles controlFlow modifier for keyword tokens - Fixed tree-sitter reparse: always full parse (old tree without tree.edit() produced garbled byte offsets on incremental reparse) - Insert mode now does immediate re-parse instead of 150ms debounce Explorer color overhaul: - Folders and files use same base color (removed explorer_dir_fg distinction) - Git status + diagnostic colors propagate recursively to parent directories - Modified files use git_modified color matching the M indicator - GTK indicator column split into own TreeViewColumn (no longer clipped) Additional fixes: - GTK tab bar clip height (line_height→tab_row_height) - gtk_editor_bottom() shared helper eliminates layout coordinate mismatches - Divider drag excluded from tab bar regions (capture-phase + click handler) - GTK menu dropdown padding (removed blank header row) - LSP status no longer downgrades Running→Initializing when semantic tokens are temporarily empty (cleared on edit, re-requested asynchronously) - Removed Pinned Tabs from roadmap - 7 new tests (5282 total) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add infrastructure for extensions to provide custom tree-sitter highlight queries, decoupling language-specific knowledge from the core. - `highlights: Option<String>` field on `ExtensionManifest` - `highlight_overrides: HashMap<String, String>` on Engine, populated from installed extensions at plugin init via `populate_highlight_overrides()` - Override-aware Syntax constructors: `new_for_language_with_query()`, `new_from_path_with_overrides()`, `new_from_language_id_with_overrides()` - Malformed override queries fall back to built-in queries gracefully - `SyntaxLanguage::language_id()` for reverse language ID lookup - All Syntax creation sites in engine thread the override map - Built-in queries in `query_source()` remain as compile-time fallbacks - 4 new tests (override used, malformed fallback, map lookup, round-trip) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove explorer toolbar (redundant with context menus) - Right-click in empty explorer space → root context menu - Inline rename improvements (pre-select filename, horizontal scroll) - GTK rename disappears immediately (new bug report) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Explorer: remove toolbar buttons and TUI header row; right-click in empty space opens root context menu; inline rename with stem pre-selection, Ctrl-C/V/X/A, horizontal scroll; GTK name ellipsis + fixed column sizing; case-insensitive sort setting (esci, default on). Diagnostics: filter error-severity diagnostics from ignored sources (ignore_error_sources) at storage time; refilter on registry update; ext_refresh() at startup; initialization_options field on LspConfig for per-server LSP init configuration. Tree UX: explorer_file_fg theme field (muted grey); TUI indent guide lines; aligned icon columns for dirs and files. Fixes: GTK inline edit cancelled by indicator update (skip while is_editing()); SIGSEGV on marker rows; popover focus steal; TUI context menu from empty space; LineEnding::detect() byte-boundary crash on multi-byte chars at 8KB mark. 10 new tests (5292 total). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…explorer improvements - Fix LSP status indicator stuck on "Initializing" for servers without semantic tokens (e.g. marksman) by marking responsive on Initialized event and removing empty-result guards on hover/definition handlers - Fix GTK spell underline misalignment (preserve Pango font_scale attrs) - Fix spell checker not initializing from Settings sidebar/reload - Fix inline rename test for macOS CI (cursor at stem end) - Explorer diagnostic filtering, tree UX improvements - GTK theme CSS improvements, hardcoded color cleanup Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add clickable nerd-font icon segments (sidebar, panel, menu bar) to the right side of each active window's status bar. Icons dim when their panel is inactive. Menu bar toggle only shown in TUI (GTK menu bar is the window title bar). GTK click detection overhauled: Pango-measured StatusSegmentMap cache replaces char_width approximation for accurate hit zones with variable-width nerd font glyphs. 4 new tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
set_cell()/set_cell_wide() only reset char/fg/bg but not cell.modifier or cell.underline_color, so spell check underlines persisted through the picker popup clear pass. Reset both fields in all cell-setting functions. Also added remote editing research item to PLAN.md. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Spinner animation for in-progress background operations and bell icon for completed ones, shown in the per-window status bar between Ln:Col and layout toggles. Auto-dismiss after 5s, click bell to clear. Wired up for LSP install, project search, and project replace. 9 new tests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Features
…button in tab bar with Close All/Others/Saved, language mode, word wrapBug Fixes
Other
Test plan
cargo fmt— cleancargo clippy -- -D warnings— zero warningscargo build— successcargo test --no-fail-fast— 5,286 passed (10 pre-existing failures in command center debug/task tests, unrelated)Cargo.lockchanged;cargo-sources.jsonmay need regeneration🤖 Generated with Claude Code