-
Notifications
You must be signed in to change notification settings - Fork 29
🤖 feat: add vim editor support and editors.js configuration #1051
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
0ac221a to
0e3c2fa
Compare
e5f03f6 to
d787b06
Compare
- Add ~/.mux/editors.js configuration file for editor definitions - Support two editor types: 'native' (GUI) and 'web_term' (terminal) - Ship with VS Code, Cursor, Zed, and Vim/Neovim as built-in editors - Add initialCommand support to terminal windows for vim integration - Refactor EditorService to load user-customizable JavaScript config - Add listEditors/setDefaultEditor IPC endpoints - Update Settings UI to fetch editor list from backend - Add comprehensive documentation at /docs/editor - Remove old localStorage-based editor configuration The editors.js file allows users to define custom editors with full control over how they open workspaces, supporting different behaviors for SSH vs local workspaces, browser vs desktop mode, etc. _Generated with mux_
- Add shadcn dropdown-menu component - Replace single edit button with dropdown showing all available editors - Default editor is marked with a checkmark - User can select any editor for one-off use - Update useOpenInEditor to accept optional editorId parameter
d787b06 to
aeb1c73
Compare
| export type EditorOpenResult = | ||
| | { | ||
| /** Spawn a native/detached GUI process */ | ||
| type: "native"; | ||
| /** Command to execute */ | ||
| command: string; | ||
| /** Arguments to pass */ | ||
| args: string[]; | ||
| } | ||
| | { | ||
| /** Open in web terminal with this command */ | ||
| type: "web_term"; | ||
| /** Full command string to run in terminal */ | ||
| command: string; | ||
| } | ||
| | { | ||
| /** Editor cannot handle this context */ | ||
| error: string; | ||
| }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it make sense to turn those into Zod schemas and validate on load?
Adds first-class vim/neovim support and a JavaScript-based editor configuration system.
Changes
~/.mux/editors.jsinstead of localStorageinitialCommandsupport to terminal windowsGenerated with mux