Repository navigation
Supporting shell completions (spec) #434
Replies: 86 comments 65 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. |
|
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 |
|
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. |
Completion using variables is also broken, e.g. |
|
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. |
|
I think the lack of |
|
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?) |
|
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. |
+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. |
|
I think a JOSN like command structure would be of great help. More info here: #585 |
|
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. |
|
Had a ticket related to this discussion here: #622. I was having issues using commands like For |
|
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) |
|
It doesn't autocomplete functions defined .zshrc, e.g. |
|
From blitz2145 via Discord: https://discord.com/channels/851854972600451112/906269689116770304/908912605232529418
|
|
+1 - Without shell completions, Warp, which otherwise looks great, is a not-starter. |
|
Agreed, this is kinda a deal breaker for custom workflows, and really breaks a corner stone of CLI :/ |
|
Is this still not implemented? |
|
I was not expecting this. This is really bad and unfortunately breaks too much for me to be able to use this :/ It's good to be different, but you should try to keep some basics around that people rely on :) |
|
+1. This thread seems to have got a little hostile. But I think the ability to add your own completion specs would be great. |
|
There is one positive thing about that. I somehow managed to learn every command's "commands". 😂 |
|
Damn I tried to implement my own custom tab completion for a program I write. |
|
This has been rubbing me the wrong way and I've been thinking of switching for a long time now. But, inertia is a powerful thing so I kept using Warp. Today, it updated and shoved in my face notifications about a bunch of AI features I never wanted in my terminal. At the same time, this is just getting ignored. So congratulations, you finally managed to change me from someone recommending warp to others to switching away from it today. Clap ... clap ... clap ... |
|
Time walks away and still no autocompletion. |
|
The features are flashy, but the basic functionality is riddled with bugs. |
|
looks like this is happening 🥳 |
|
Hey all! We just released support for this in the Warp Preview build version |


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Is your feature request related to a problem? Please describe.
Ex. I'm always frustrated when autocomplete doesnt work.
Eg:
touchTAB doesnt work~/preTAB doesnt work (should expand to~/prefixninja insTAB completes toninja install_manifest.txt, notninja installcd rustdTAB completes tocd rustdoc/, notcd rustdoc, where I can then specify I wanted to go torustdoc-json, (in rustcsrc/testdirman claTAB 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.
All reactions