CodeEdit icon indicating copy to clipboard operation
CodeEdit copied to clipboard

✨ Support fish shell

Open sgruby opened this issue 1 year ago • 10 comments

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

sgruby avatar Aug 17 '24 19:08 sgruby

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 avatar Aug 23 '24 03:08 thecoolwinter

@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

ghost avatar Oct 17 '24 20:10 ghost

@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.

thecoolwinter avatar Oct 17 '24 22:10 thecoolwinter

It's the ShellIntegration folder.

thecoolwinter avatar Oct 17 '24 22:10 thecoolwinter

@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?

ghost avatar Oct 18 '24 04:10 ghost

Sorry my bad I found out the folder that you meant, I was dumb... was thinking how you pointing me to the enum

ghost avatar Oct 18 '24 04:10 ghost

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 avatar Jul 15 '25 19:07 Juan-Severiano

@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.

Image

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?

austincondiff avatar Jul 15 '25 21:07 austincondiff

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 avatar Jul 17 '25 17:07 Juan-Severiano

@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.

austincondiff avatar Jul 17 '25 20:07 austincondiff