✨ Support fish shell
Description
Currently it appears that only bash and zsh are supported shells. My default shell is fish and I can't use the terminal pane because of it. I modified the code to add fish to my local copy (not with the integration, just to allow it as an option) and it appears to work fine.
Alternatives Considered
No response
Additional Context
No response
Screenshots
No response
The big thing to support here is the terminal integration. See this code here. We'll likely need a new integration script, and to add a case to this enum and the Shell enum.
@thecoolwinter don't know much about Bundle.main here, could you explain? I'm not able to call the fish shell throws error
https://github.com/CodeEditApp/CodeEdit/pull/1908/files#diff-6aaec9c4526c8226b2f628df417695d65f9d22091b06526cd7d71cf1d35f4896R168-R173
@thecoolwinter don't know much about Bundle.main here, could you explain? I'm not able to call the fish shell throws error
https://github.com/CodeEditApp/CodeEdit/pull/1908/files#diff-6aaec9c4526c8226b2f628df417695d65f9d22091b06526cd7d71cf1d35f4896R168-R173
You can drag the file into the same folder as the other shell integration files in Xcode and Xcode will know to copy it into the bundle.
It's the ShellIntegration folder.
@thecoolwinter don't know much about Bundle.main here, could you explain? I'm not able to call the fish shell throws error https://github.com/CodeEditApp/CodeEdit/pull/1908/files#diff-6aaec9c4526c8226b2f628df417695d65f9d22091b06526cd7d71cf1d35f4896R168-R173
You can drag the file into the same folder as the other shell integration files in Xcode and Xcode will know to copy it into the bundle.
I meant can we know where we can find it? Like other shell files? Is it in Info.plist?
Sorry my bad I found out the folder that you meant, I was dumb... was thinking how you pointing me to the enum
I have exactly this same problem integrating with fish shell, I'm new to the CodeEdit ecosystem but I fell in love with the idea and the brilliant execution, I want to collaborate with this project, I would like to know how and where I start trying to solve this problem
@Juan-Severiano From what I remember, we were assuming the location of fish the last time we tried to do this. We really need to be able to add custom shells.
I'd imagine a menu item in here after a separator at the bottom of the menu that says "Manage Shells". When selected it opens a sheet with a table where you can add or remove paths to shells. Then after adding fish, it would be selectable in this menu.
What do you think?
That sounds like a solid improvement. I agree, relying on shell autodetection isn’t reliable enough, especially for users running custom shells like fish installed via Homebrew.
Adding a "Manage Shells…" item to the bottom of this menu makes a lot of sense UX-wise. A simple sheet with a table where users can add/remove paths would solve this nicely. After registering a shell path, having it listed in the dropdown would make selection seamless.
Let me know if you'd like that I can do this.
@Juan-Severiano If you are willing to do this, that would be great!
Take a look at other tables we have in Settings so that yours matches the others.
Thanks and let us know if you have any questions along the way.