Supporting shell completions (spec) #434
Replies: 41 comments 23 replies
-
Makes sense as a request. Our current approach is to try move this logic into Warp by building out our own completion grammar and library, with the rationale being:
That said, we are missing a bunch of context right now from the shell which is making our completions worse than they should be. And we just have a number of bugs. I think we will see how far we can get without delegating to the shell, and add that as a fallback if we can't make it great. Thanks for the report. |
Beta Was this translation helpful? Give feedback.
-
Maybe a hybrid aproach works best, where if you know about a tool (npm, etc) you provide native support, but if not, you can delegate to the underlying shell (ninja, r2, rg etc). Some of the more basic stuff (starting with |
Beta Was this translation helpful? Give feedback.
-
Yup, we will explore that. We actually started with an approach of delegating the shell, but it did introduce extra latency. As a fallback though it might be acceptable. Appreciate the feedback. |
Beta Was this translation helpful? Give feedback.
-
Completion using variables is also broken, e.g. |
Beta Was this translation helpful? Give feedback.
-
Throwing my +1 into the mix on this that the autocomplete issues definitely hinder my ability to use Warp as a primary driver right now. I also source an open source git_completion.sh script to get autocomplete for git branches and commands, but that doesn't seem to work with warp either. Would definitely like a fallback to native autocompletion when warp has no suggestions. |
Beta Was this translation helpful? Give feedback.
-
I think the lack of |
Beta Was this translation helpful? Give feedback.
-
While it's a beta (and pretty impressive so far - I find very little of what it actually does that I don't like a lot!), not having some sort of command completion at least for filenames working is really going to make things difficult to continue. Maybe my setup (bash) is interfering, but even just '. ~/.bash_al' doesn't do anything - no list of files, no default pick, nothing. I have no choice but to retype in the file name completely. Anybody reported anything in bash that might interfere with what you're building (so I could at least get the minimal file completion?) |
Beta Was this translation helpful? Give feedback.
-
I definitely think that the shell needs to take precedence here over any autocompletion by the terminal. I have my shell configured exactly how I want it to be, with the autocomplete that I want it to have. Regardless of if I'm using Warp, iTerm2, Terminal.app, or any other terminal, I don't want to have a difference experience. The terminal should enhance the shell, not replace it. |
Beta Was this translation helpful? Give feedback.
-
+1 for this! Having default autocompletion included in the terminal is fine, but I think that users must have the ability to customize it exactly the way they want is very important. Being able to simply use what was already made at the shell level would be best, but another acceptable possibility, imo, would be to be able to customize it with a config file for Warp. As someone else mentioned already, this is the single thing that prevents me to daily test Warp. |
Beta Was this translation helpful? Give feedback.
-
I think a JOSN like command structure would be of great help. More info here: #585 |
Beta Was this translation helpful? Give feedback.
-
From @arunkumar413 Hi Team, Most of the Linux commands don't have a common structure. Each command has its own options and flags. I recommend a JSON like structure for the commands and their options. For example:
This JSON like structure should be parsed into the regular Linux commands and executed. We'll have a terminal feature like text editor that takes JSON input, interprets the JSON like structure into regular commands and outputs the result. This feature would make the documentation, linting, code completion easier. Each command option would be self explanatory and easier to understand. Note: This wont be a complete replace of the existing command line but just an addition to the existing command line which takes a JSON structure as a command.
|
Beta Was this translation helpful? Give feedback.
-
Had a ticket related to this discussion here: #622. I was having issues using commands like For |
Beta Was this translation helpful? Give feedback.
-
From ChrisVarenChris via Discord: https://discord.com/channels/851854972600451112/852251449068486773/900932342653255700 i assume a shell's native completion system is just incompatible, so you need to write new ones for Warp? At the moment, this 100% what's stopping me from using Warp for the majority of work. A crowd sourced repository of open source completions wouldn't solve it since we have completions for internal tools that are used all the time. Though most of these completions are autogenerated from getopt-style help texts so just the ability to have custom user completions would be enough. (I believe fish shell auto-magically generates completions in a similar way) |
Beta Was this translation helpful? Give feedback.
-
It doesn't autocomplete functions defined .zshrc, e.g. |
Beta Was this translation helpful? Give feedback.
-
From blitz2145 via Discord: https://discord.com/channels/851854972600451112/906269689116770304/908912605232529418
|
Beta Was this translation helpful? Give feedback.
-
For me I've loved transitioning to warp except that in iTerm2 (with oh my zsh) git completes my remote branches when I type |
Beta Was this translation helpful? Give feedback.
-
related #3801
|
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Good - I thought I was on crazy pills when I first started playing with warp. It surely seems like some enable/disable logic, or prioritizing logic would be useful here. It's the main reason I use |
Beta Was this translation helpful? Give feedback.
-
I was super enthusiast about Warp on Linux, I installed it, save one Configuration to have a one-click workspace ready to use, started to type a command, hit TAB and 💥 I missed my ZSH completions. Instant uninstall of Warp. Too bad to get rid of a basic standard usage as shell completions. |
Beta Was this translation helpful? Give feedback.
-
loving warp, but not supporting fish completions is a big issue. for some commands there is no auto-complete (e.g. i think an ideal solution would be to both:
not sure how complex these tasks are, but in my opinion they are urgent. this is on the border of being a deal breaker for me, and based on this thread and common sense, it's a deal breaker for many users. thanks and keep up the good work! |
Beta Was this translation helpful? Give feedback.
-
Nobody uses the terminal as often as people who write CLI utilities for their tasks. If you do this, you're probably spending more time in the terminal than the average developer running mvn build. Writing completions for your utilities is a very common situation. It's a shame that the Warp developers have been ignoring this for years. But this is not surprising. I have had a bug since the first days, with long lines that do not fit into the block and cannot be scrolled to the end (just try writing No, thanks. |
Beta Was this translation helpful? Give feedback.
-
How is this not addressed yet. Isn't autocomplete a very fundamental part of CLI experiences now. Of course I am a bash shell user, who likes fish likes suggestion, I mostly expect |
Beta Was this translation helpful? Give feedback.
-
I was thinking that autocomplete do not work by my mistake in some configuration. What a surprise that this is native "feature". What a disappointment - uninstall follows now 👎 |
Beta Was this translation helpful? Give feedback.
-
Going on 3 years and Nada. It's such bad form the way the dev team seem to write this off and try to convince us it's not such a problem, or that we should use workarounds. I'm subscribed to the big pile of tickets about this, but until this is fixed, I'm outta here. |
Beta Was this translation helpful? Give feedback.
-
One of the main reasons I'm still using the old terminal is the lack of autocomplete functionality in Warp. Autocomplete saves me a lot of time and helps me avoid typos, especially when working with long commands. For example, when using sudo apt install, autocomplete lets me see a list of available programs after typing the first few letters. So, if I start typing sudo apt install py, and then press Tab, it would show me suggestions like python3, python3-dev, pylint, etc. This saves me time from typing out the entire program name and helps avoid typos. Implementing autocomplete would be a major improvement for Warp's usability and would definitely encourage me to switch over. |
Beta Was this translation helpful? Give feedback.
-
Should this be closed? |
Beta Was this translation helpful? Give feedback.
-
The lack of auto-completion does hinder users from migrating to warp from other shells. The completion menu and autosuggestion functions that come with warp are not perfect, and as a result, they are not enough to replace auto-completion. I'm using zsh and then installed a bunch of plugins, as well as sourced some auto-completion scripts. It's really a pity that warp can't reuse this part of the work. |
Beta Was this translation helpful? Give feedback.
-
We are in 2024, 3 years have passed since the start of this thread and we still don't have any news on the subject. |
Beta Was this translation helpful? Give feedback.
-
I got some feedback recently from the Warp team when I posted on Discord and referenced this thread. The answer was (quote):
so it looks like we need to wait for the day when Windows users will become a little happy-er first. As for me, I moved back to iTerm2 after using Warp for about 2 years... |
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem? Please describe.
Ex. I'm always frustrated when autocomplete doesnt work.
Eg:
touch
TAB doesnt work~/pre
TAB doesnt work (should expand to~/prefix
ninja ins
TAB completes toninja install_manifest.txt
, notninja install
cd rustd
TAB completes tocd rustdoc/
, notcd rustdoc
, where I can then specify I wanted to go torustdoc-json
, (in rustcsrc/test
dirman cla
TAB doesn't comlete (zsh shows clang clang++ clang++-12 clang-12 classes.conf)Describe the solution you'd like
I'd like to be able to deligate to the underlying shell to provide autocompletion.
Beta Was this translation helpful? Give feedback.
All reactions