Warp icon indicating copy to clipboard operation
Warp copied to clipboard

Support other shells like powershell / nushell / ksh / xonsh / elvish / tcsh

Open mandel-macaque opened this issue 3 years ago • 60 comments

Discord username (optional)

mandel

Describe the bug

One of the uses cases is to allow developers that are not happy with zsh to change to a different shell. This can be rolling back to bash w(hich was the original default Mac OS X terminal) or other shells such as pwsh. 

Pwsh is a common scenario for two type of developers:

1. Windows developers that need to work on OS X.
2. Dotnet developers that are used to pwsh due to windows.

Another use case is to switch back to bash because there are some small differences between zsh and bash and in some cases, moving to zsh from bash makes certain scripts fail. As an example, we in xamarin-macios always ensure that Make does call bash and not zsh.

To Reproduce

  1. Install pwsh on the Mac using https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-macos?view=powershell-7.2
  2. Ensure that pwsh is in your /etc/shells
  3. Change the default shell via chsh -s /usr/local/bin/pwsh
  4. Open a new Warp windows. It should load with pwsh, it does not, instead it uses zsh.

Expected behaviour

When setting the default shell of my user to a diff shell app present in /etc/shells my configuration should be respected.

Screenshots

No response

Operating System

MacOS

OS Version

12.2.1

Additional context

No response

mandel-macaque avatar Apr 04 '22 18:04 mandel-macaque

+1, I use powershell core for basic interaction with both win/mac; looking forward to warp.dev with posh support, else staying with oh-my-posh and iterm / windows terminal (both great, btw).

Also I suggest putting PowerShell in the name of the issue for SEO purposes, took some effort to find this issue.

pkutaj avatar Apr 06 '22 17:04 pkutaj

I also use PowerShell quite heavily on macOS as a DevOps Engineer working in Azure all day. I would love for some native PowerShell 7 support in Warp. I also use oh-my-posh for a custom prompt and Warp doesn't seem to like ti very much 😬

sgiddings-kunzleigh avatar Apr 07 '22 14:04 sgiddings-kunzleigh

Gonna keep this open here actually.

elviskahoro avatar May 10 '22 17:05 elviskahoro

I found this issue by searching for it, as I too would like to use PowerShell with Warp.

There may be other issues, but the first one I noticed was the differences in how the shell prompts are handled.

For zsh: image

For pwsh: image

This also means that the command "blocks" (not sure exactly what Warp calls them) do not work. The entire shell history is treated as a single block: image

bmitc avatar May 19 '22 14:05 bmitc

I found this issue by searching for it, as I too would like to use PowerShell with Warp.

There may be other issues, but the first one I noticed was the differences in how the shell prompts are handled.

For zsh: image

For pwsh: image

This also means that the command "blocks" (not sure exactly what Warp calls them) do not work. The entire shell history is treated as a single block: image

Yeah that is because Warp doesn't natively understand other shells, so when you spin up PowerShell or Nushell it considers that a single command. And the entire block is the "one" command of running that other shell, until you exit and return to zsh or some other shell at Warp understands.

sgiddings-kunzleigh avatar May 19 '22 15:05 sgiddings-kunzleigh

Shuan's correct, we have to make a custom parser for each shell to enable Blocks, etc. Check out here GitHub discussion on creating a generic shell API: https://github.com/warpdotdev/Warp/discussions/641

warpdotdev-devx avatar May 30 '22 21:05 warpdotdev-devx

In the light theme many PowerShell prompts are all but invisible. Overall running pwsh in a Warp terminal is a recipe for crankiness!

bbusschots-mu avatar Jun 14 '22 11:06 bbusschots-mu

+1, I use powershell to manage MS 365 and Azure functions. As a Mac user, please add powershell to warp for mac.

gisantiago avatar Nov 15 '22 17:11 gisantiago

Hi Folks,

Thanks for your patience and for supporting Warp! Sorry for any inconvenience, but to track interest in other shells more accurately, we've decided to have separate GitHub feature requests for each of the major shells. We will now close this issue and begin tracking all the other shells Warp doesn't yet support in the following GitHub feature requests:

Shell | Feature Request

  • Nushell | https://github.com/warpdotdev/Warp/issues/2038
  • Xonsh | https://github.com/warpdotdev/Warp/issues/4568
  • Elvish | https://github.com/warpdotdev/Warp/issues/5730
  • tcsh | https://github.com/warpdotdev/Warp/issues/3665
  • KornShell | https://github.com/warpdotdev/Warp/issues/2219

Please 👍 on top of each of the shells GitHub requests and subscribe to the ones you're interested in, as it will help us prioritize support accordingly. Also, please avoid comments like "+1" or "👍" on the threads to reduce the amount of spam in folks' inboxes.

Finally, Warp does support the following shells out of the box (bash | zsh | fish | pwsh | git bash | wsl)

dannyneira avatar Nov 29 '22 16:11 dannyneira

I use Elvish (https://elv.sh) and it would be really cool if it would be possible to write integrations for it.

Xjs avatar Jan 05 '23 15:01 Xjs

As a heavy powershell user, I am very looking forward to use it with warp!

thomrad avatar Feb 16 '23 07:02 thomrad

+1 for NuShell support! Adding this to support list please

f1rstC0de avatar Mar 17 '23 21:03 f1rstC0de

added tcsh to the list based on user feedback

dannyneira avatar Apr 24 '23 21:04 dannyneira

pwsh would be lovely indeed!

Manbearpiet avatar May 08 '23 11:05 Manbearpiet

can't wait for nushell. guys, i love warp ❤️.

standard-librarian avatar May 26 '23 15:05 standard-librarian

excited for nutshell support

spotandjake avatar Jul 06 '23 05:07 spotandjake

excited for nutshell support

:shipit: 🥜

Explosion-Scratch avatar Jul 06 '23 15:07 Explosion-Scratch

I really like this terminal. The first day I started with Warp, I just abandon others. But please support other shells like tcsh so I can continue with it in my remote server.

Josiah1 avatar Sep 15 '23 01:09 Josiah1

added tcsh to the list based on user feedback

But my Warp still can't work well with a remote server in tcsh env

Josiah1 avatar Sep 15 '23 01:09 Josiah1

@Josiah1 That is because Warp only supports bash|zsh|fish at this time, even on remote servers that must be the default shell in order for Warp to function as normal. Any updates or changes to this will be posted on this thread.

dannyneira avatar Oct 13 '23 20:10 dannyneira

Here for nushell support, would love to see more shells added ^^

AstroOrbis avatar Oct 21 '23 19:10 AstroOrbis

I'd love nushell support too! ❤️

AucaCoyan avatar Nov 22 '23 21:11 AucaCoyan

I love Warp, but the absence of nushell support is critical.

susl avatar Dec 10 '23 22:12 susl

I have to use Mac for work, just found Warp and it is so nice! It's perfect, but I was soooo so disappointed to find out it doesn't support Powershell. Please add Powershell! And Xonsh and whatever (thank you @dannyneira , I had never heard of Xonsh).

raaaaaymond avatar Dec 15 '23 10:12 raaaaaymond

I'd personally love Nu but see an enterprise case for PS too:

Shell 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩
PowerShell 42K 🟩🟩🟩🟩🟩🟩🟩8️⃣🟢
Nushell 28K 🟩🟩🟩🟩5️⃣🟢
Xonsh 7400 1️⃣🟢
Elvish 5200 1️⃣
tcsh 200 [^1]
KornShell 150 [^1]

[^1]: Not indicative of legacy usage

texastoland avatar Dec 27 '23 21:12 texastoland

@texastoland "We also intend to build support for Powershell as part of building Warp on Windows." source. The plan is to build Windows version along with pwsh support after a Linux version. No firm ETA on this but we're aiming for Linux in 2024.

dannyneira avatar Dec 27 '23 22:12 dannyneira

we do plan on building Warp for Windows once we've wrapped up building Linux (no concrete timeline just yet). We also intend to build support for PowerShell as part of building Warp on Windows.

Great news and makes sense! It also sounds like Nu isn't a possibility in the near future 🥲

texastoland avatar Dec 28 '23 00:12 texastoland

Not 100% sure about any eta, but Nushell does look very powerful and is one of Warps dependencies.

dannyneira avatar Dec 28 '23 19:12 dannyneira

Wiiild thanks so much for sharing 🙌🏼

texastoland avatar Dec 28 '23 21:12 texastoland

Nushell for Warp: https://github.com/UserSv4/nushell-warp

UserSv4 avatar Jan 09 '24 03:01 UserSv4