Conversation
Implement 4 missing Vim commands to reach 414/417 (99%) compatibility: - [#/]# preprocessor directive navigation with depth tracking - gR virtual replace mode (tab expansion to spaces) - g+/g- chronological undo timeline navigation - q:/q//q? command-line and search history window 31 new tests (4422 total) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Explorer context menu with different items for files vs folders (Open to Side, Rename, Delete, Copy Path, etc.). Tab bar context menu (Close, Close Others, Close to Right, Close Saved, Split Right/Down, etc.). Engine data model with ContextMenuState/ContextMenuTarget. GTK native PopoverMenu with gio::Menu sections and SimpleActionGroup actions. TUI overlay with box-drawing borders and mouse hover highlighting. GLib log handler suppresses non-fatal gtk_css_node_insert_after assertion. 38 new tests (4460 total). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ns, update extensions icon Fix GTK/TUI split behavior mismatch: "Split Right/Down" now consistently creates Vim window splits in both backends. Add "Split Right/Down to New Group" for VSCode-style editor group splits. Update extensions activity bar icon to nf-cod-extensions (U+EAE6) for proper rendering. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sessions 188-191: centralized context menus (engine-driven for GTK+TUI), VSCode-style editor right-click menu (9 items, mode-aware shortcuts), LSP go-to-definition fix (message not cleared after jump), Kitty keyboard shift_map_us() fix, LSP response robustness (string ID fallback), and subprocess stderr safety audit (fixed registry.rs curl inheriting stderr). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
JDonaghy
added a commit
that referenced
this pull request
Jul 31, 2026
…biguity Six render snapshot tests (snapshot_normal_mode, snapshot_insert_mode, snapshot_visual_selection, snapshot_command_line, snapshot_split_panes, snapshot_line_numbers) passed locally but failed in CI on identical source, off by one column around nerd-font glyphs. Investigation ruled out both candidate root causes empirically, not just by inspection: - Toolchain skew: installed rustc 1.97.1 (CI's exact build, 8bab26f4f 2026-07-14) locally and ran the literal CI commands (`cargo test --verbose`, default features including `gui`) — all 6 pass, byte-identical to the 1.95.0 baseline. - unicode-width version drift: force-resolved unicode-width down to 0.2.0 (the floor allowed by the vendored vt100 patch) via `cargo update --precise` — output is byte-identical to the locked 0.2.2. Verified directly that `UnicodeWidthChar::width()` returns `Some(1)` for the specific Nerd Font PUA codepoints in both versions. - Confirmed vimcode source is bit-identical between this branch and the actual failing CI run: the issue-613 branch that ran CI is this exact commit plus only workflow-file and Cargo.toml-comment changes (verified via `git diff`). Given both mechanisms are ruled out, and quadraui's own `cell_width()` doc comment already documents that these exact codepoints (Nerd Font Supplement PUA) fall into Unicode's "Ambiguous" East Asian Width category — which by UAX #11 permits either 1- or 2-column rendering — the columns around these glyphs are not something the rendering code can guarantee across otherwise-compatible builds. Asserting exact padding there tests the environment, not the renderer. Rewrite the snapshot assertions per the issue's second sanctioned outcome: collapse whitespace runs only on rows that actually contain a PUA glyph before snapshotting, so the tests assert on content and ordering rather than the exact column count separating them. Rows without nerd-font glyphs (editor content, gutters, dividers) are untouched and still asserted byte-for-byte. Pre-existing, unrelated: `cargo clippy -- -D warnings` currently fails repo-wide on ~90 snake_case naming violations in test files (e.g. tests/new_vim_features.rs, tests/nvim_conformance.rs, src/core/engine/tests.rs) that predate this change and are out of scope for #615. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
JDonaghy
added a commit
that referenced
this pull request
Jul 31, 2026
…biguity Six render snapshot tests (snapshot_normal_mode, snapshot_insert_mode, snapshot_visual_selection, snapshot_command_line, snapshot_split_panes, snapshot_line_numbers) passed locally but failed in CI on identical source, off by one column around nerd-font glyphs. Investigation ruled out both candidate root causes empirically, not just by inspection: - Toolchain skew: installed rustc 1.97.1 (CI's exact build, 8bab26f4f 2026-07-14) locally and ran the literal CI commands (`cargo test --verbose`, default features including `gui`) — all 6 pass, byte-identical to the 1.95.0 baseline. - unicode-width version drift: force-resolved unicode-width down to 0.2.0 (the floor allowed by the vendored vt100 patch) via `cargo update --precise` — output is byte-identical to the locked 0.2.2. Verified directly that `UnicodeWidthChar::width()` returns `Some(1)` for the specific Nerd Font PUA codepoints in both versions. - Confirmed vimcode source is bit-identical between this branch and the actual failing CI run: the issue-613 branch that ran CI is this exact commit plus only workflow-file and Cargo.toml-comment changes (verified via `git diff`). Given both mechanisms are ruled out, and quadraui's own `cell_width()` doc comment already documents that these exact codepoints (Nerd Font Supplement PUA) fall into Unicode's "Ambiguous" East Asian Width category — which by UAX #11 permits either 1- or 2-column rendering — the columns around these glyphs are not something the rendering code can guarantee across otherwise-compatible builds. Asserting exact padding there tests the environment, not the renderer. Rewrite the snapshot assertions per the issue's second sanctioned outcome: collapse whitespace runs only on rows that actually contain a PUA glyph before snapshotting, so the tests assert on content and ordering rather than the exact column count separating them. Rows without nerd-font glyphs (editor content, gutters, dividers) are untouched and still asserted byte-for-byte. Pre-existing, unrelated: `cargo clippy -- -D warnings` currently fails repo-wide on ~90 snake_case naming violations in test files (e.g. tests/new_vim_features.rs, tests/nvim_conformance.rs, src/core/engine/tests.rs) that predate this change and are out of scope for #615. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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
gd/gi/gyappearing to hang (message persisted after jump); string ID fallback;unwrap_oron empty responsesshift_map_us()translates base key + SHIFT modifier to correct shifted characterCommand::new()sites; fixedregistry.rscurl inheriting stderr (TUI corruption risk)[#/]#,gR,g+/g-,q:/q?Test plan
cargo fmt— cleancargo clippy -- -D warnings— zero warningscargo test— 4511 tests passcargo build— compiles🤖 Generated with Claude Code