Giter Site home page Giter Site logo

Comments (5)

Advait-M avatar Advait-M commented on June 27, 2024

Hey @onecrayon

Thanks for reporting this!

So, first off - to address how to return to the prior state:

  • The provided command generally applied to "vanilla" prompts rather than custom prompt plugins, such as Starship, which generally have their own configurations.
  • I checked the command myself against Zsh and Bash's Starship. Verified it actually does work in Zsh, however, it does not work in Bash (due to differences in how the shells pass around their prompts I believe). This command was largely meant to tackle the "simple prompt" case of something like PS1="foo".
  • Could you please provide your starship.toml? I can help with modifying it to revert to the previous behavior. More generally, add_newline is the Starship config option for adding a newline or not (see https://starship.rs/config/#options). Feel free to let me know if you'd like to email it to me instead and I can follow up with that (to avoid posting here)!

With respect to Warp's updating behavior:

  • The behavior for PS1s within Warp was actually a broken experience. We were not respecting user's custom prompts. We were artificially adding a "newline" at the end of their prompts in Warp.
  • We've received a lot of feedback about this being an issue at #2304.
  • Hence, we'd made the decision to fix this behavior within Warp and truly respect your PS1/custom prompt. However, we wanted to make it easy for folks to revert their experience if they'd wanted to, hence offering a command to help (in the simple cases).

Why did we not offer an option within the app to revert the behavior?

This was a major refactor of core Warp code to support this feature. At a high-level, there'd be a lot of product and tech debt for us to maintain a setting like this within Warp. At the end of the day, the existing PS1 experience within Warp was broken, and this is what it should've been from the start. We do realize the friction it causes folks that want to have the legacy experience, hence our efforts to alleviate this.

Also note that we have not changed default Warp prompt (non-PS1) behavior. It still uses 2 lines by default (opt-in experience into same line prompt).

That being said, we really appreciate your feedback here - please keep it coming!

from warp.

onecrayon avatar onecrayon commented on June 27, 2024

@Advait-M The vast majority of my starship.toml is just disabling a bunch of output that I don't want to see, along with custom symbols using a nerd font for some of the formatting for other sub-commands. If you remove all of that, it boils down to just this:

[line_break]
disabled = true

add_newline is true by default, and I didn't override that (plus I would expect this to have no impact either way, because it has to do with adding newlines before the prompt, not after it). However, before filing this issue, I attempted the following:

add_newline = true
format = "$all$line_break"

[line_break]
disabled = false

But this also made no difference. I can verify that the other elements in my TOML file are not interferring, because when I comment them all out and just leave the above options the behavior is identical (the specific prompt contents just change a little bit).

from warp.

Advait-M avatar Advait-M commented on June 27, 2024

@Advait-M The vast majority of my starship.toml is just disabling a bunch of output that I don't want to see, along with custom symbols using a nerd font for some of the formatting for other sub-commands. If you remove all of that, it boils down to just this:

[line_break]
disabled = true

add_newline is true by default, and I didn't override that (plus I would expect this to have no impact either way, because it has to do with adding newlines before the prompt, not after it). However, before filing this issue, I attempted the following:

add_newline = true
format = "$all$line_break"

[line_break]
disabled = false

But this also made no difference. I can verify that the other elements in my TOML file are not interferring, because when I comment them all out and just leave the above options the behavior is identical (the specific prompt contents just change a little bit).

Thanks for the info! Got it - agreed re add_newline. Yep, so line_break affects this:

Default state - just $all (or with line_break set to disabled = false):
image

$all with line_break set to disabled = true:
image

I believe the top version is what you desire for a 2 line prompt? Let me know if I'm wrong here (with regards to the goal state) or I missed something!

from warp.

onecrayon avatar onecrayon commented on June 27, 2024

@Advait-M Found it! Apparently if you disable the character module, then it doesn't matter if your line_break module is enabled or not; it will never output a linebreak. I'm not too sure what is going on there since those two should be inter-related based on their documentation, but this looks like something that deserves to be filed in the Starship issues rather than here.

from warp.

Advait-M avatar Advait-M commented on June 27, 2024

@Advait-M Found it! Apparently if you disable the character module, then it doesn't matter if your line_break module is enabled or not; it will never output a linebreak. I'm not too sure what is going on there since those two should be inter-related based on their documentation, but this looks like something that deserves to be filed in the Starship issues rather than here.

Ooh interesting - yeah that does sound weird, I wouldn't expect those two to be interconnected 🤔 .

Gotcha - agreed! Thanks for digging into this!

And again, thanks for raising this! I'll explore how to make the onboarding block that we show to Warp users better for Starship users on Bash too - want to make sure we can make it as easy as possible to go back to the previous experience, if users would like to! 😄

from warp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.