feat: Improve editor detection with auto-discovery and better error messages #3155
+30
−7
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
Improves the
/editor
command UX by automatically detecting available editors and providing helpful error messages when none are found.Changes
Add
GetEditor()
utility function inpackages/tui/internal/util/util.go
:VISUAL
environment variable first (standard for full-screen editors)EDITOR
environment variablecode
), Cursor, Zed, Neovim (nvim
), Vim, nano, vi.cmd
extensions andnotepad.exe
on Windows)Update
/editor
command (EditorOpenCommand) to use new detectionUpdate
/export
command (SessionExportCommand) to use new detectionProvide helpful error message: "No editor found. Set EDITOR environment variable (e.g., export EDITOR=vim)"
Testing
Tested scenarios:
Related Issues
Resolves the issue where users get unhelpful "No EDITOR set" message without guidance on how to fix it.