Supporting shell completions (spec) #434
Replies: 50 comments 38 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.
-
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.
-
+1 for the shell autocomplete |
Beta Was this translation helpful? Give feedback.
-
The autocomplete still lacks the vitamins needed to be fully functional. I am going back to iTerm or Wezterm as they should listen to the community rather than enforce AI. This is a request of many years. |
Beta Was this translation helpful? Give feedback.
-
Same here, this is the only thing that prevent me from using warp... |
Beta Was this translation helpful? Give feedback.
-
I was used warp during several days and I really like it, but in same time I want to use shell completions, so unfortunately I switched back to iTerm2. |
Beta Was this translation helpful? Give feedback.
-
For what it's worth, I'm keeping my eye on https://www.waveterm.dev/ as it is another blocked based terminal similar to Warp. Wisely, Wave does not appear to be trying to write their own shell completion so I'm interested in it. But it's still new so it's not there yet as far as other functionality goes. |
Beta Was this translation helpful? Give feedback.
-
Adding a frustrating data point. TaskWarrior, which I do not use, nor have installed, and Task, which I heavily use, both install as So for example, in the below gif, if I type On top of interpreting actual shell completion, it'd be amazing if Warp were able to adopt a solution like Fig.io had and allow custom auto complete specs to be authored (https://fig.io/docs/concepts/cli-skeleton) (I'm still sad they shutdown). |
Beta Was this translation helpful? Give feedback.
-
I love Warp and was sure that it was my config that was playing up for autocomplete. +1 for autocompletions, they are sorely missed 🪦 |
Beta Was this translation helpful? Give feedback.
-
If this helps anybody, sourcing a shell the second time disables Warp's autocompletion wall and enables shell's autocompletion. What I do 90% of the time I need completions - type |
Beta Was this translation helpful? Give feedback.
-
Crucial for users but not for PMs :)
…On Fri, Oct 11, 2024, 6:47 PM Mohamed ***@***.***> wrote:
Why is this being ignored by the devs? It's frustrating to see this issue
continuously raised without any acknowledgment or response. This particular
problem has prevented me from using Warp altogether, which is disappointing
because I was excited about its potential.
It’s crucial for users to feel heard, especially when issues directly
impact their ability to use the software. A lack of communication on this
matter leaves us in limbo, and it would be beneficial to understand if
there are plans to address it. I hope to see more engagement from the team
regarding this concern.
—
Reply to this email directly, view it on GitHub
<#434 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKLJW26PZDOOHG7NI52RDJTZ3BWQLAVCNFSM5LRT5KV2U5DIOJSWCZC7NNSXTOSENFZWG5LTONUW63SDN5WW2ZLOOQ5TCMBZGIYDANBV>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
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