warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
20.3k stars 338 forks source link

Prompt in one line / Cursor in the same line with the prompt #2304

Open AMATEURTOSS opened 1 year ago

AMATEURTOSS commented 1 year ago

[WARP] Note to all users opening this issue:


is there any option to make prompt in one line?

current behavior

~/some/location
something command -option

one line prompt

~/some/location > something command -option

How important is this feature to you?

1 (Not too important)

unbreakabl3 commented 1 year ago

+1 for the same feature

dannyneira commented 1 year ago

Thanks for this feature request! Please :+1: and subscribe to this request as it helps us gauge interest. We will post any updates here.

One of the main features of Warp is its multi-line input editor which works like an IDE or modern text editor. This allows you to write/modify commands with the help of a keyboard/mouse, Autocompletion, A.I. Command Search, etc before you run it.

CleanShot 2022-12-06 at 09 35 34

B0Y3R commented 1 year ago

+1 this would be great to have

bryanlatten commented 1 year ago

@dannyneira totally understood - and we thank you for an excellent terminal++! my issue, a blinking cursor on a new line in any other terminal (which i'll still have to use elsewhere) means there is a long-running process happening. Hard to shake that feeling! 🀞 there's a cheap and easy way to bring the standard behavior back.

dannyneira commented 1 year ago

@bryanlatten We've released the option to disable the blinking cursor, see more on this here: https://docs.warp.dev/appearance/text-fonts-cursor#cursor Hope that helps!

Noamko commented 1 year ago

Thanks for this feature request! Please πŸ‘ and subscribe to this request as it helps us gauge interest. We will post any updates here.

One of the main features of Warp is its multi-line input editor which works like an IDE or modern text editor. This allows you to write/modify commands with the help of a keyboard/mouse, Autocompletion, A.I. Command Search, etc before you run it. The prompt is in its own separate line because if needs to be rendered/updated before every command is run, so the two are separate, unlike with traditional terminals where the prompt and input are on the same line (not as feature-rich) CleanShot 2022-12-06 at 09 35 34

With a busy terminal - inputs, prompts and headers gets combined and it gets really messy and confusing, so switching to one-line will be very useful in this case.

Also for people trying to switch to warp from iTerm (90% of people most likely) its kinda hard to get used to the multiline editor.

IDEA: Default will be one-line editor and when the user hits cmd+enter or shift+enter it switches to the multiline editor with the input that was already typed beforehand. or Default will be the multiline with an option to swap the default in preferences.

Please let me know what you think. Thanks for the great terminal! :)

bryanlatten commented 1 year ago

^^ love the idea of a toggle. feature-rich vs. not feature-rich

tmlane commented 1 year ago

+1 would be nice to have. Make or break from switching over

GreenPatrick2 commented 1 year ago

+1

reimund commented 1 year ago

+1

I've lost valuable time by committing stuff to the wrong branch simply because I don't read the line above as much as the line with the input. This feature is very dear to me. I do not use multi-line that much (yet?).

MarkoTurunen commented 1 year ago

+1, I tried to find option to keep prompt on one line and that is not possible??

NIVJAIN commented 1 year ago

+1, important for me, this is one of the main reason sometimes i switch to iterm.

code-yeongyu commented 1 year ago

+1, Very annoying for me to use warp.

cedricpuddy commented 1 year ago

+1. While the "2 line prompt" and "multi-line" feature is interesting and has it's place, 95% of my terminal use happens on one line, and compromises required to support this "convienient 5% of the time" are really big, for me at least.

IMHO, not having a prompt followed by a cursor has always meant "the computer is not ready for input". I look the left of the cursor to check my context always (am I in the right directory/context? the right user? the right host? ... Yes? OK, start typing. Done typing... check again, hit enter.).

This matters very much when you spend a lot of time in root/priveledged contexts. This multiline thing breaks that basic understanding, which makes it harder for me to use as a daily driver terminal.

Making it harder to use as a daily driver means that it's harder to learn and benefit from the code blocks, multiline editing, ai suggestions, and so on - simply because you are less likely to be in Warp when the situation comes up, so you solve it the way you always have in the past.

It's especially confusing to me that it still functions like a single-line terminal by default -- you type a command, you hit enter, it runs -- so that "multi-line" stuff that people keep talking about still requires active learning -- if you are really trying to sell the world on multiline editing, why isn't it SHIFT-ENTER to actually run the command(s) you've just typed, and enter to just move to the next line?

I also HATE that so much vertical space is taken up by all this prompt/context stuff -- most folks I know have a short prompt with just key context. If having 40+ characters of Context Stuff is darn important, why not just the current context "float" above the current prompt, and then STICK it in the scroll-back log only WHEN IT CHANGES -- that way, when you scroll back, you could have a clean lists of commands, and only have the extra junk when contexts change? (I grew up on 25 line terminals though, and I recognize that I might be more jealous of that vertical space than others!)

I would LOVE this thing 1000x more if, as @Noamko suggested above, it could be 1 line by default, and cmd-enter or shift-enter or something to bump it into multiline mode on the fly.

You guys have written a truly fast nifty terminal, and I love it, but I can't daily drive it :( Apple Terminal remains my daily driver because this 2-line prompt thing is such constant sandpaper on my brain.

Hope that's helpful, and regardless, mad props to all y'all for doing some mighty fine software engineering. It's been a long time since anything this exciting has happened in the terminal space.

SebiBasti commented 1 year ago

I just started using warp and this is super confusing and I would like to have it all in one line.

zkl94 commented 1 year ago

Having prompt in two lines is very confusing as I have been using one line prompt all my life. Should acknowledge that people have different habits and give users different options.

MarkoTurunen commented 1 year ago

I’ve been using warp several months and now switching back to iterm2 because of this. I cannot get used to two line prompt, it still feels weird. Warp is great product, but I cannot believe that this kind of design flaw still exists. I’ll be tagged to this CR and hopefully it gets fixed/implemented so I can switch back. Thanks!

umutbasal commented 1 year ago

+1 and How important is this feature to you? VERY IMPORTANT

JINWOO-J commented 1 year ago

+1, I love to this feature

usatenko commented 1 year ago

yes, it should have capabilities of a normal terminal also, +1

Pyrathar commented 1 year ago

This is the only thing blocking me from using it everyday, it kinda throws me off thats not in the same line

usatenko commented 1 year ago

it would be good if it would have the option to use it as a regular terminal without any additional beautifializers, just standard terminal with one key dropdown option enabled, it would be veeeery convenient

MarkoTurunen commented 1 year ago

This issue been here since Dec 2022, so better look at other options. Luckily there are other options.

Bryant-Yang commented 1 year ago

p10k has this config, will Warp have this option when p10k supported?

image
dannyneira commented 1 year ago

We don't currently support P10K, but we're working on it.

Please add aΒ :+1:Β to the original post at the top to signal that you want this feature (we take this factor into account when deciding what to work on next), and then hit the subscribe button if you'd like to be notified.

NIVJAIN commented 1 year ago

+1 was looking for this since day 1 for warp.

aibangjuxin commented 12 months ago

+1

ZeKap commented 12 months ago

+1

carlosfrodriguez commented 11 months ago

+1

zakiaziz commented 11 months ago

I'm looking to switch to warp from iterm2 and unfortunately without a 1 line prompt I can't switch to warp as my daily driver

warpdotdev-devx[bot] commented 11 months ago

Hey folks, thanks for your feedback! This is on our radar as it's a top 10 issue (ranked by πŸ‘'s). We'll post an update on this thread once there is a fix released (no official ETA).

Advait-M commented 10 months ago

Hey folks πŸ‘‹ - Advait from Warp here! Excited to say that we've started working on implementing this feature πŸŽ‰ - wanted to share a behind-the-scenes look at a very early prototype πŸ‘€ :

Same Line Prompt Early Prototype - Watch Video (Loom)

Note that we cannot promise any specific ETA for this, but I just wanted to share a quick progress update. There's quite a few nuances to consider with this feature that we'll be working to address as we work on the implementation (such as right-side prompts).

Let us know if you have any feedback that can help inform how we build this out as well (e.g. the scrollable prompt behavior mentioned in the Loom above)! Thanks for all the ideas and comments in this thread so far - super helpful!

usatenko commented 10 months ago

Thank you for your attention on this. Can Warp actually have a setting that allows it not to use any specific internal editors and behave as a dumb standard Linux terminal? I may be wrong but I believe many people here requested especially this.

On Wed, Aug 23, 2023 at 2:04β€―AM Advait Maybhate @.***> wrote:

Hey folks πŸ‘‹ - Advait from Warp here! Excited to say that we've started working on implementing this feature πŸŽ‰ - wanted to share a behind-the-scenes look at a very early prototype πŸ‘€ :

https://www.loom.com/share/6ffe75eac6584d7facf71d6dab5432e2?sid=a9356ca7-e7bc-4bd2-a9c2-8c1fc1278031

Note that we cannot promise any specific ETA for this, but I just wanted to share a quick progress update. There's quite a few nuances to consider with this feature that we'll be working to address as we work on the implementation (such as right-side prompts).

Let us know if you have any feedback that can help inform how we build this out as well (e.g. the scrollable prompt behavior mentioned in the Loom above)! Thanks for all the ideas and comments in this thread so far - super helpful!

β€” Reply to this email directly, view it on GitHub https://github.com/warpdotdev/Warp/issues/2304#issuecomment-1689113784, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANBSCATDZVVRSBSNRBB7OTXWVJKZANCNFSM6AAAAAASVMBPTA . You are receiving this because you commented.Message ID: @.***>

Advait-M commented 10 months ago

Thank you for your attention on this. Can Warp actually have a setting that allows it not to use any specific internal editors and behave as a dumb standard Linux terminal? I may be wrong but I believe many people here requested especially this.

Hmm, to clarify, you mean disabling Warp's input editor entirely (see https://docs.warp.dev/features/editor for what I'm referring to)? Not sure if I've seen many requests for that - on this thread specifically, users have been requesting the ability to have the same-line prompt within the Warp input editor.

Currently, we don't have any plans to add an option to disable the input editor since it's one of Warp's core features and it's required to enable/support other features e.g. command inspector, autosuggestions, completions, syntax highlighting, multi-cursor editing, etc.

But feel free to open a separate issue on this front if you'd like so we can track this request!

nathanblair commented 10 months ago

Currently, we don't have any plans to add an option to disable the input editor since it's one of Warp's core features and it's required to enable/support other features e.g. command inspector, autosuggestions, completions, syntax highlighting, multi-cursor editing, etc.

Getting rid of some of those core features would go a long way in making warp more usable for me and the others wanting the option to disable the warp "autocompletions" et al. in favor of the native shell's capabilities :)

Advait-M commented 10 months ago

Getting rid of some of those core features would go a long way in making warp more usable for me and the others wanting the option to disable the warp "autocompletions" et al. in favor of the native shell's capabilities :)

As a sidenote, note that you can disable many of these features such as autosuggestions, completions-as-you-type, error underlining, and syntax highlighting via Command Palette.

Could you please open a separate issue for this, since I think we're touching on a different request/topic here; thanks? Can continue the conversation there and use that to gauge interest (via πŸ‘ on the first post of the issue)!

usatenko commented 10 months ago

Hmm, to clarify, you mean disabling Warp's input editor entirely (see https://docs.warp.dev/features/editor for what I'm referring to)? Not sure if I've seen many requests for that - on this thread specifically, users have been requesting the ability to have the same-line prompt within the Warp input editor.

Yes, I came to this thread because I was looking for exactly a standard behavior when your terminal works the same way on every remote server as on the local laptop. So when you are used to how it works on remote servers then you do not have to switch to some enhanced one when you disconnect.

Currently, we don't have any plans to add an option to disable the input editor

This is why I do not use Warp (I tried two times already)

davidcelis commented 10 months ago

@Advait-M stoked to see that the team is working on this and that you even have a prototype going! IMO, after watching your loom, i think it makes sense for the prompt to scroll away with the rest of the inputted text in the case that you have so much text that things become scrollable. i think i'd be surprised by the behavior shown in the video where the prompt is "sticky" and the scrolled text bumps into it. it seems a lot simpler and less clever to have the prompt scroll away as well

out of curiosity, have you already done any testing a single-line prompt that has a right prompt as well?

Advait-M commented 10 months ago

@Advait-M stoked to see that the team is working on this and that you even have a prototype going! IMO, after watching your loom, i think it makes sense for the prompt to scroll away with the rest of the inputted text in the case that you have so much text that things become scrollable. i think i'd be surprised by the behavior shown in the video where the prompt is "sticky" and the scrolled text bumps into it. it seems a lot simpler and less clever to have the prompt scroll away as well

out of curiosity, have you already done any testing a single-line prompt that has a right prompt as well?

Thanks for chiming in @davidcelis ! Agreed, that's the current approach we're leaning towards (having the prompt scroll with the text) though there's some fun technical nuances to figure out there πŸ˜… .

Yep, right prompt is certainly another important piece of the puzzle here! We are planning to support it - our current plan is to match existing shell behavior and have the right prompt disappear if users start typing into that area!

KingMob commented 9 months ago

This might sound weird, but -1 on this from me.

It's odd at first, but a native input is a major improvement over manipulating a grid of characters, once you get used to it. Seriously, why shouldn't a command-line input work more like everything else on your system?

zachbai commented 9 months ago

Hey @KingMob, to be clear, the work we're doing for this feature is mainly cosmetic.

@Advait-M's work will enable an option where a custom configured shell prompt is rendered on the same line as the input buffer, visually similar to existing terminals. But the input itself is still implemented as a native UI component, and the same-line prompt display will be opt-in.

Seriously, why shouldn't a command-line input work more like everything else on your system?

100% agree - it's questions like this that motivate us to build Warp!

KingMob commented 9 months ago

I get that for a lot of people it's a familiarity issue, and it definitely was for me. Hopefully, people will get used to it, and eventually stop asking. But I can't really begrudge work on this :)

I know that, for those of us with super-long Starship prompts, existing terminals were effectively multi-line anyway, so it wasn't that hard to switch.

On Fri Sep 15, 2023, 04:41 PM GMT, Zach Bai @.***> wrote:

Hey @KingMob https://github.com/KingMob, to be clear, the work we're doing for this feature is mainly cosmetic.

@Advait-M https://github.com/Advait-M's work will enable an option where a custom configured shell prompt is rendered on the same line as the input buffer, visually similar to existing terminals. But the input itself is still implemented as a native UI component, and the same-line prompt display will be opt-in.

Seriously, why shouldn't a command-line input work more like everything else on your system?

100% agree - it's questions like this that motivate us to build Warp!

β€” Reply to this email directly, view it on GitHub https://github.com/warpdotdev/Warp/issues/2304#issuecomment-1721563353, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHHB5NJMQDKY5XEEEEOUEDX2SAKVANCNFSM6AAAAAASVMBPTA . You are receiving this because you were mentioned.Message ID: @.***>

marc-brouard commented 7 months ago

+1 would be great to have this feature

codeinred commented 7 months ago

I really enjoy using warp, and this feature would be a small but appreciated change!

TiagoLopesGomes commented 6 months ago

+1 for this feature

13zebras commented 6 months ago

I'm glad the approach you are taking is supporting 1 line and 2 line. I'm firmly in the 2 line camp. I used 1 line for years, but 2 lines keeps everything much clearer to me. I have more context, etc., by using a 2 line starship prompt that shows shell, user, cwd, git, and more. 2 lines also gives more separation between commands vs the often crowded single line, no vertical spacing terminals I had used in the past.

I'm not trying to dismiss the comments and preferences of others. Rather, I'm voicing support for both/and vs either/or. For those of us with older eyes and weak vision, more space and ability to configure to our needs is a HUGE plus.

Alonski commented 6 months ago

Chiming in to say that the issue with newline after PROMPT is only when using your Shell prompt (Settings -> Appearance -> Prompt) Going back to the Warp prompt "fixes" the issue.

If the Warp prompt allowed more customization I would be happy to use that over my custom Prompt.

This is my current custom Prompt:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='%F{208}${vcs_info_msg_0_}%f'
zstyle ':vcs_info:git:*' formats '%b'
PROMPT='%F{208}%4~%f %F{255}->%f '

The important thing for me here is the use of RPROMPT to keep Git info on the right and not take up too much left real estate as well as the folder path being truncated to 4 levels.

Thanks for Warp!

ncushing commented 6 months ago

Chiming in to say that the issue with newline after PROMPT is only when using your Shell prompt (Settings -> Appearance -> Prompt) Going back to the Warp prompt "fixes" the issue.

If the Warp prompt allowed more customization I would be happy to use that over my custom Prompt.

This is my current custom Prompt:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='%F{208}${vcs_info_msg_0_}%f'
zstyle ':vcs_info:git:*' formats '%b'
PROMPT='%F{208}%4~%f %F{255}->%f '

The important thing for me here is the use of RPROMPT to keep Git info on the right and not take up too much left real estate as well as the folder path being truncated to 4 levels.

Thanks for Warp!

+1 for me on this as well. I have a prompt that shows the information I care about in the format I like, and without the extra newlines, it'd work perfect for Warp as well.

Advait-M commented 6 months ago

Chiming in to say that the issue with newline after PROMPT is only when using your Shell prompt (Settings -> Appearance -> Prompt) Going back to the Warp prompt "fixes" the issue.

If the Warp prompt allowed more customization I would be happy to use that over my custom Prompt.

This is my current custom Prompt:

autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT='%F{208}${vcs_info_msg_0_}%f'
zstyle ':vcs_info:git:*' formats '%b'
PROMPT='%F{208}%4~%f %F{255}->%f '

The important thing for me here is the use of RPROMPT to keep Git info on the right and not take up too much left real estate as well as the folder path being truncated to 4 levels.

Thanks for Warp!

Hey @Alonski thanks for the context and suggestion to allow Warp's built-in prompt to have an rprompt as well. Definitely agree this would be useful - we've actually had this idea brought up internally too, for the Git case exactly haha!

I've opened https://github.com/warpdotdev/Warp/issues/4001 to track this as a feature request, since it's a bit separate from this issue. Please :+1: there to indicate interest and feel free to add info/details on the request thread so we can prioritize accordingly!

fujohnwang commented 5 months ago

+1, current behavior is annoying.