feat(desktop): open Neovim in an external terminal - #19
Draft
kalvenschraut wants to merge 3 commits into
Draft
Conversation
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.
Opening an editor currently supports GUI launches and remote editor links, which cannot host an interactive Neovim session. This adds Neovim (Terminal) to Open and Settings → Editors, opening a separate Windows Terminal window in the project's native, WSL or saved SSH environment.
Desktop main owns discovery, executable overrides, account/runner validation, cached capability checks and deduplicated launch acceptance. WSL routes bind the concrete distro and account; SSH retains the saved native/WSL credential context. A packaged helper stages private payloads separately from interactive stdin, preserves workspace and file positions, cleans consumed payloads, and holds failures visible.
Header, keyboard, markdown, terminal links, diffs, changed files, file preview and Settings editor actions share the same environment preference and dispatch. The existing GUI server RPC remains compatible. Browser/older-desktop clients retain GUI behavior and explain the capability limit for a saved Neovim choice. Provider adapters are unaffected; native Linux terminal adapters remain a follow-up.
Depends on #2; this PR targets
feat/wsl-ssh-runner.Validation:
Real Windows validation found redirected console input in the terminal helper. The helper now waits on the packaged runtime without competing for input and opens the Windows console input device for interactive children; staging input remains separate.
Still draft: these were manual packaged-helper route tests plus an actual GUI capability probe. Full GUI-driven WSL/SSH setup, real saved-host aliases, ProxyJump, locked-key passphrases and distro/default-account transitions remain unverified. Native Windows Neovim is not installed on the test host. The remaining procedure is in
docs/operations/neovim-terminal-validation.md.Model: GPT-6. Harness: Codex.