Repository navigation
Re-land external editing capabilities with the qualified Neovim engine - #212
Merged
Merged
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
This was referenced Oct 30, 2026
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
1 restoration commit, 15 files, +291/−936. Re-land #208 over current Textual main (#209 included), now that the matching Toad engine at 16964a0de has exercised all seven real-Neovim qualification groups. This restores one editing engine, not a second handwritten Vim implementation.
Why the revert can now end
8c70f7f reverted #208 while Toad's paired engine could not start. Toad #1320 repaired native MessagePack handles, completion publication and RPC-only resize dispatch. Claude's retained-child run now exercises insert, motions, visual selection, undo/redo/paste, remapped keys, hidden documents and reattach/delayed paint. The one visual comparison discrepancy was the harness dropping the selected newline cell; Neovim and TextArea paint that cell identically.
That evidence belongs to 16964a0de plus the original #208 candidate. It does not claim a new run of this head after #209.
Ownership restored
EditingModeowns generic text-entry capabilities; the external engine owns Vim grammar. The 26 handwritten editor command declarations and competing mode transitions disappear again.DocumentBase.replace_linesandRangedEditResultown line mutation and its original range.TextArea.project_engine_editprojects that result;set_documentadopts the retained document. The retired widget is not a second document owner.paint_selectionprojects acknowledged engine selection, separate from input requests. The existing native binding declarations and remapped arrow boundary remain available to #1320.Current-main work retained
This reverses only 8c70f7f on top of 4ecfb67. #209's hint caption geometry, focus retirement, footer changes and
key_mode_labeloverrides remain. Comparing the restored DOM/TextArea against 7ba616b shows precisely the additional #209 label properties. Textual #211/#210 remain separate owned changes, not copied into this PR.The unfinished P3 wrap optimization is excluded. It is preserved at remote checkpoint
work/vim-neovim--P928--textual, commit 4ef5a1a, and in the retained original patch.Evidence / remaining acceptance
git diff --cached --check: passed.VimInsert,LineMotion,EditorCommand,LinewiseClipboard,apply_engine_textandapply_engine_lines: no remaining callers.branch = "main"and regenerates its Textual lock with uv. No permanent candidate revision, vendor copy or second dependency source remains.