yarnpkg / yarn

The 1.x line is frozen - features and bugfixes now happen on https://github.com/yarnpkg/berry
https://classic.yarnpkg.com
Other
41.4k stars 2.72k forks source link

CLI auto completion #609

Open octref opened 7 years ago

octref commented 7 years ago

Something npm has always bugged me is auto completion.

It requires putting source <(npm completion) to my zshrc, which is extremely slow and seldom outputs useful completion.

A few examples yarn could do:

letting yarn <Tab> outputs all commands:

install -- install package
remove  -- remove package
...other commands

letting each flag output useful information: yarn install -<Tab>

-g -- install package globally
-S -- install package and save as dependency

letting yarn install <Tab> prompt a list of cached packages: yarn install r<Tab>

react@0.14
redux@3.0

letting yarn rm <Tab> list packages installed locally yarn rm r<Tab>

react@0.14
redux@3.0

Thanks for the good work!

mikelnrd commented 7 years ago

Hi I came here to suggest an auto-completion feature for yarn. Saw this so thought I'd comment here to flag my interest. Yarn like npm has a lot of commands and I often use npm's auto-completion. Would help people switching to yarn.

cjk commented 7 years ago

There is yarn-completions

There is also a completion-plugin for oh-my-zsh.

Matmo10 commented 7 years ago

@cjk How does that even work?

I installed yarn-completions - didn't work. Realized it's actually some kind of plugin for tabtab, so I installed that. Still doesn't work. Re-sourced my bash profile. Still doesn't work. Is there really more configuration required?

It'd be really nice to have this functionality included in yarn itself.

Ionaru commented 7 years ago

@cjk yarn-completions works great, thanks for the suggestion!

It would be very useful to include that plugin into Yarn itself

wavded commented 7 years ago

@Matmo10 did you ever get completions working?

Matmo10 commented 7 years ago

@wavded Yep (https://github.com/mklabs/yarn-completions/issues/8)

dsifford commented 7 years ago

Didn't see @Matmo10's comment unfortunately.

I spent the day today writing a pretty feature-complete bash completion, including computed autocomplete for scripts, local and global package names, and more.

If anybody is still in the market for it, you can find it here. https://github.com/dsifford/yarn-completion

Maintainer: If this is something you'd like for me to PR into this project directly, I'd be glad to do that as well.

Thanks 👍

pesho commented 7 years ago

Didn't see @Matmo10's comment unfortunately.

I'm thankful for that, because your solution is much better :+1:

dsifford commented 7 years ago

@pesho Thanks! Glad to hear you like it 😄

dsifford commented 7 years ago

FYI: just pushed an update which makes the completions feature-complete up to yarn v0.24.4 https://github.com/dsifford/yarn-completion/releases/tag/v0.3.0

OliverJAsh commented 6 years ago

For zsh users, the zsh-completions package (installable via brew) also has Yarn completions: https://github.com/zsh-users/zsh-completions/blob/6a2895b7f5832f006f602271aee102df46d6c965/src/_yarn

evgenymarkov commented 6 years ago

Please make developers happier! Include completions developed by @dsifford to official package. Npm has command npm completion many years.

ninrod commented 6 years ago

Yes please do.

SpainTrain commented 5 years ago

Maintainers: This issue is labeled "needs discussion". Is it possible to provide direction on what needs to be discussed for this to become a first-class feature of yarn? Or is the required discussion regarding whether it should be part of yarn? Thanks!

danielo515 commented 5 years ago

Yes, I would love to discuss this a bit more... or get it implemented. I don't understand why it is missing

lararosekelley commented 5 years ago

Any update on the status of this?

hedefalk commented 5 years ago

Is any of the suggestions above working good for zsh? Seemed to be bash specific…?

I still lean on npm to just help me with my own scripts in package.json. Hate to have cat package.json just to remind myself all the time…

~/d/p/kb-frontend ❯❯❯ npm run   [tab hit]                                                           ⏎ master ✭
backend                clean                  deploy-master-to-prod  undo-rolluot
build                  db                     dev
dsifford commented 5 years ago

@hedefalk https://github.com/zsh-users/zsh-completions/blob/master/src/_yarn

sdc224 commented 4 years ago

Guys any update on this? Any way to integrate autocomplete inside yarn?

vhscom commented 2 years ago

I found a workaround:

npm-cli-completions

:sweat_smile:

airtonix commented 1 year ago

guys we can close this finally, every one has moved to pnpm since yarn is a dead project.

ChromeQ commented 2 weeks ago

There is another alternative which I've been using a few years - https://github.com/romainberger/yarn-completion

Install globally and add bash file to somewhere like bash_completions and adjust the instructions as required.

If you run into yarn-complete: command not found then follow my instruction on https://github.com/romainberger/yarn-completion/issues/1

One other minor bug is it doesn't work well with scripts with a : in it, such as lint:fix or build:ios/build/android etc This problem is outlined in https://github.com/romainberger/yarn-completion/issues/2