Add Console and File Explorer as built-in open targets#21
Merged
Conversation
Fido can now open the resolved folder in a terminal or the OS file manager, alongside the editors. Both are modelled as new EditorKinds (Console, FileExplorer) so they reuse the whole open pipeline: a secondary button, a Ctrl+1..9 shortcut, and a command-line slug (`term` for the terminal, `files` for the file explorer). Both always hand over the folder, never a .sln. Cross-platform launch/locate: - Console: Windows Terminal (-d) / PowerShell / cmd; macOS Terminal via `open -a`; Linux terminal emulators, opening in the working directory. - File Explorer: explorer.exe; Finder via `open`; xdg-open / file managers. The terminal and file-manager programs are configurable per row in Settings (path blank = OS default). Launch command construction is extracted into a pure, unit-tested BuildLaunchSpec. Existing configs are migrated forward once on load (config version 2): Console and File Explorer are appended to the editor list, preserving order and the default pointer. Docs (README, Features, CHANGELOG) updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AFP3DvYu9aiaNvtbtnBjy
Two bugs meant the Console target always opened cmd.exe on Windows: 1. A typed command name (e.g. "wt", "wt.exe", "pwsh") was ignored. Locate only honoured a path that existed verbatim on disk, so a bare command name failed File.Exists and fell back to auto-detection. Locate now resolves a bare command name on PATH (and the Windows Store-app alias folder, where wt.exe lives) before falling back. 2. Auto-detection preferred PATH-directory order over name order, so cmd.exe in System32 (early on PATH) beat wt.exe / powershell.exe in later directories. FindOnPath now tries names in the caller's preference order across all directories, so Windows Terminal / PowerShell win over cmd as intended. Docs updated to note a command name (not just a full path) is accepted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AFP3DvYu9aiaNvtbtnBjy
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
Extends Fido with two new built-in open targets alongside editors: Console (opens a terminal at the resolved folder) and File Explorer (reveals the folder in the OS file manager). Both work cross-platform on Windows, macOS, and Linux with intelligent auto-detection of the OS defaults and full configurability.
Key Changes
EditorKindenum values:ConsoleandFileExplorerto represent the new target typesLaunchSpecrecord to represent a planned process launch (program, arguments, working directory, shell-execute flag), making per-platform command construction testable without starting processeswt) / PowerShell /cmdon Windows; Terminal app on macOS;x-terminal-emulator/gnome-terminal/konsole/ etc. on Linuxexplorer.exeon Windows; Finder viaopenon macOS;xdg-openon Linux-d <folder>flag since it ignores the inherited directoryEditor.OpensFolderOnly: Now includes Console and FileExplorer alongside WebStorm, forcing folder mode and skipping the solution choosertermandfilesallow CLI invocation likefido feature/new-ui termorfido feature/new-ui filesImplementation Details
BuildLaunchSpec()is the pure core that constructs the launch plan per platform, enabling comprehensive unit testing without process execution.slnfilehttps://claude.ai/code/session_018AFP3DvYu9aiaNvtbtnBjy