Skip to content
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

Support pwsh (PowerShell) #880

Closed
mandel-macaque opened this issue Apr 4, 2022 · 67 comments
Closed

Support pwsh (PowerShell) #880

mandel-macaque opened this issue Apr 4, 2022 · 67 comments
Labels
Feature requests Feature Requests

Comments

@mandel-macaque
Copy link

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

@pkutaj
Copy link

pkutaj commented Apr 6, 2022

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

@sgiddings-kunzleigh
Copy link

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 😬

@elviskahoro elviskahoro changed the title Warp does not understand other shells Warp does not understand other shells like powershell May 10, 2022
@warpdotdev warpdotdev deleted a comment from warpdotdev-devx May 10, 2022
@elviskahoro
Copy link

Gonna keep this open here actually.

@bmitc
Copy link

bmitc commented May 19, 2022

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

@sgiddings-kunzleigh
Copy link

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.

@warpdotdev-devx
Copy link
Member

warpdotdev-devx commented May 30, 2022 via email

@bbusschots-mu
Copy link

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

@gisantiago
Copy link

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

@dannyneira dannyneira changed the title Warp does not understand other shells like powershell Warp does not understand other shells like powershell / nushell Nov 28, 2022
@dannyneira dannyneira changed the title Warp does not understand other shells like powershell / nushell Warp does not understand other shells like powershell / nushell / ksh Nov 28, 2022
@dannyneira
Copy link
Member

Adding XONsh to the list

@Xjs
Copy link

Xjs commented Jan 5, 2023

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

@warpdotdev-devx warpdotdev-devx bot added the Feature requests Feature Requests label Jan 9, 2023
@thomrad
Copy link

thomrad commented Feb 16, 2023

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

@dannyneira dannyneira changed the title Warp does not understand other shells like powershell / nushell / ksh Warp does not understand other shells like powershell / nushell / ksh / xonsh Mar 17, 2023
@dannyneira dannyneira changed the title Warp does not understand other shells like powershell / nushell / ksh / xonsh Support other shells like powershell / nushell / ksh / xonsh / elvish Mar 17, 2023
@f1rstC0de
Copy link

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

@dannyneira dannyneira changed the title Support other shells like powershell / nushell / ksh / xonsh / elvish Support other shells like powershell / nushell / ksh / xonsh / elvish / tcsh Apr 24, 2023
@dannyneira
Copy link
Member

added tcsh to the list based on user feedback

@Manbearpiet
Copy link

pwsh would be lovely indeed!

@standard-librarian
Copy link

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

@atl-ggregson
Copy link

I'm not sure how relevant it might be, but there are tools such as Out-ConsoleGridView and Out-ObjectTree that let you view and interact with objects on the pipeline, see https://github.com/PowerShell/ConsoleGuiTools.

There's also an Out-HtmlView cmdlet which is part of this module: https://github.com/EvotecIT/PSWriteHTML.

There's also a (very old) tool that was part of Windows PowerShell called Out-GridView (the ConsoleGuiTools' Out-ConsoleGridView was inspired by it), but the port to PowerShell Core was abandoned years ago and hasn't been picked up.

@glcraft
Copy link

glcraft commented Apr 17, 2024

Nushell has built-ins commands to format the output with the to command

@itpropro
Copy link

itpropro commented May 2, 2024

Hey all! We're experimenting with Warp on Windows. As part of the effort, we're looking into Powershell. Here's a demo of a Powershell session running on my Mac:

demo demo

This is only experimental at the moment, as there's still a lot to do to make sure it works with Warp's other features.

This looks fantastic! If you are looking for someone who uses PowerShell on Windows and MacOS as primary shell and has a PowerShell profile customized over years and develops PS projects on both OS', I am happy to provide feedback :)

@noahzweben
Copy link

Hi all! We've made progress on our Warp on Windows build and have a 5 question follow-up survey about Windows and Powershell functionality to inform our roadmap here!

Thank you for your support!

@B4RN154N
Copy link

I would LOVE Nushell support as I'm leaving Zsh/PowerShell in favor of Nushell to consolidate scripts/workflows over OS-es. Please make that happen 🙏🏻

@dannyneira dannyneira pinned this issue Aug 6, 2024
@Gonkers
Copy link

Gonkers commented Aug 8, 2024

Hey all! We're experimenting with Warp on Windows. As part of the effort, we're looking into Powershell. Here's a demo of a Powershell session running on my Mac:

This is only experimental at the moment, as there's still a lot to do to make sure it works with Warp's other features.

I can't wait to get my hands on this! Thanks for working towards pwsh support. I fully admit I'm one of those weirdos using Powershell on MacOS.

@daUnknownCoder
Copy link

hey @dannyneira, what are the updates on nushell ?

@dannyneira
Copy link
Member

dannyneira commented Sep 13, 2024

@daUnknownCoder There is no official nushell support in Warp yet as we're working actively on pwsh support.

FWIW, a Warp user has created a WIP script to support it nushell here, but your experience may vary.

@damianpowell
Copy link

Here's a demo of a Powershell session running on my Mac:

Can we enable that to have a play?

@Shoehorner
Copy link

Is there any ETA on when Pwsh support will come to macOS?

@acarl005
Copy link

acarl005 commented Sep 13, 2024

We are planning on putting PowerShell support for MacOS/Linux behind an experiment feature flag. Should be out within a few weeks! Stay tuned on this issue! We'll put the command for how to toggle the hidden option on this issue.

@ActuallyHappening
Copy link

I would love if Nushell was supported. Its also made in Rust

@acarl005
Copy link

Hey all. We've put experimental PowerShell support into the latest release v0.2024.09.17.08.02.stable_00. However, you must manually opt-in.

MacOS

In a terminal, enter this command and then restart Warp:

defaults write dev.warp.Warp-Stable ExperimentOverrides PowerShellTester::Experiment

Linux

Edit the user preferences file at ${XDG_CONFIG_HOME:-$HOME/.config}/warp-terminal/user_preferences.json and add the following key-value pair and then restart Warp:

{
  "prefs": {
    "ExperimentOverrides": "PowerShellTester::Experiment"
  }
}

Requirements

Warp does not install PowerShell for you. You must have it installed. See Microsoft's docs for installation instructions.
If PowerShell is your default shell, new sessions will use it. If it isn't, you must change your Warp settings to tell it to use PowerShell:

Screenshot 2024-09-19 at 14 58 51

Please note that our "warpify subshells" feature doesn't yet support PowerShell. That means, if you have a session in a different shell and then run pwsh, that will be a "raw" experience which cannot be warpified.

Feedback

Please try it out and let us know what you think! For bugs, please don't comment on this issue. File a new issue instead.

Alternatively, you can post on our Discord channel #warp-powershell-feedback.

Thank you!

@Khayoann2
Copy link

Khayoann2 commented Sep 26, 2024

pwsh is there, Thank you.

Just a little trick about binaries. You will be directly in pwsh so you will not inherit everything from zsh like before. So you will need to enrich the env:PATH variable using that kind of thing in your powershell profile :
Using zsh, i did echo $PATH

# Define additional paths to be added to the PATH environment variable
$additionalPaths = "/opt/homebrew/bin:/opt/homebrew/sbin" # copy paste the echo $PATH result from zsh

# Append the additional paths to the existing PATH environment variable
$env:PATH += [System.IO.Path]::PathSeparator + $additionalPaths

@JustBarnt
Copy link

Here to show my interest in seeing nushell get added as a valid shell. I use it daily and would love to see it be usable with Warp

@ActuallyHappening
Copy link

Still interested in Nushell being added as a supported shell for warp. Would allow me to use epic AI with scripting I understand

@archcorsair
Copy link

I’ve noticed a lot of people adding their +1s for nushell, which is awesome since we’re all pumped about it. I’m particularly curious if the warp team is interested in the idea of it. Sorry if I missed it, but I didn’t see any responses about nushell support, just powershell, etc. I’m sure everyone here would be thrilled to know that it’s on Warp’s radar, so we can finally stop bugging you so much :)

@dannyneira
Copy link
Member

hey folks, regarding nushell support, it's not currently on the roadmap as it would require a significant amount of engineering work. We encourage you to continue to 👍 the top nushell comment as it helps us gauge interest in that particular shell. The more interest the higher likelihood we can dedicate the resources to making it happen.

@dannyneira dannyneira changed the title Support other shells like powershell / nushell / ksh / xonsh / elvish / tcsh Support other shells like nushell / ksh / xonsh / elvish / tcsh Dec 18, 2024
@MilesCranmer
Copy link

MilesCranmer commented Dec 24, 2024

@dannyneira nushell seems to have some of the most +1s on this entire repository for what it's worth!

378 in this thread alone. By comparison, it looks like only Windows support seems to generate more interest: https://github.com/warpdotdev/Warp/issues?q=is:issue+is:open+sort:reactions-+1-desc 🙂 (Nushell is cross-platform, so it might even mean you get Windows support for free?)

Given the explosive popularity of Nushell, I think it is really important to add to the roadmap, if not prioritize. Given the fact that nushell is so much unlike traditional bash/zsh/fish syntax (even despite using nushell for months, I still am reliant on the docs for a lot of stuff!), I really think that something like warp would be hugely and enduringly popular.

If more data would be helpful, here are the GitHub stars over time for different shells, aligned to their start date. GH stars are certainly far from a perfect metric but clearly nushell has a big fanbase despite being new!

Screenshot 2024-12-24 at 17 20 55

(from https://star-history.com/#nushell/nushell&PowerShell/PowerShell&xonsh/xonsh&elves/elvish&fish-shell/fish-shell&warpdotdev/Warp&Timeline)

@diversable
Copy link

diversable commented Dec 25, 2024

Personally, I've stopped using the Warp terminal and started using Rio instead (another terminal that's written in Rust and is working on compiling to Wasm so it can be used on the web). Paired with Zellij (a Tmux alternative written in Rust), it's a pretty great experience!

I used to like using Warp, but the lack of NuShell support is a deal-breaker for me.

So, +1 for NuShell support...

@Alexander-Zyurkalov
Copy link

+1 for NuShell support!

@MolotovCherry
Copy link

MolotovCherry commented Jan 17, 2025

+1 for NuShell. I do love basically everything about Warp; no NuShell is my only deal breaker left.

@dannyneira
Copy link
Member

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

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)

@dannyneira dannyneira changed the title Support other shells like nushell / ksh / xonsh / elvish / tcsh Support pwsh (PowerShell) Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature requests Feature Requests
Projects
None yet
Development

No branches or pull requests