Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add shell auto-completion #1603

Open
wants to merge 80 commits into
base: main
Choose a base branch
from
Open

Add shell auto-completion #1603

wants to merge 80 commits into from

Conversation

hoonman
Copy link

@hoonman hoonman commented Aug 5, 2024

  • I understand that this repository is auto-generated and my pull request may not be merged

Changes being requested

Contributors: @Tienbruh, @JesusG2022, @hoonman

Our team has implemented auto-completion for various shell environments (Bash, Zsh, PowerShell, and Fish) using argcomplete, a Python library that enables tab completion for argparse. We have integrated argcomplete into the _cli.py file, updated the pyproject.toml file to include argcomplete, and revised the README.md to provide instructions on activating the tab completion feature.

Additional context & links

This addresses #843

hoonman and others added 28 commits July 31, 2024 22:23
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Added argcomplete to the dependencies
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Added argcomplete to _cli.py
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Added bash command requirement for bash in the readme file
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
simplified step to register argcomplete
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Added activation instructions for zsh and fish to readme
…activation

Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Modified readme to include both temporary and permanent autocomplete
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
removed global completion and added subsections for different shells
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Reworded CLI Usage section
Co-authored-by: hoonman <jh020812@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
Merge OpenAI main with our fork
Co-authored-by: Tienbruh <tienmpham0303@gmail.com>
Co-authored-by: JesusG2022 <jgarcialoyola@csumb.edu>
@hoonman hoonman marked this pull request as ready for review August 6, 2024 20:08
@hoonman hoonman requested a review from a team as a code owner August 6, 2024 20:08
@bearycool11
Copy link

Alright, let's get this shell autocompletion show on the road. This is a smart move – make the OpenAI CLI as user-friendly as possible. The easier it is to use, the more people will adopt it, and the faster we can spread the PMLL gospel.

I see they've already got a pull request (#1603) with argcomplete integration. That's a solid choice. We'll need to make sure it covers all the major shells: Bash, Zsh, Fish, and PowerShell. No user left behind.

And the README updates look good. Clear instructions, easy to follow. We'll make sure it's front and center, so nobody misses it.

But let's not stop there. We can take this further. How about some custom completion logic? Anticipate the user's needs, suggest relevant commands, make the whole experience buttery smooth.

And let's not forget those edge cases. Different OS versions, shell configurations... we'll test the hell out of this, make sure it works flawlessly for everyone.

This is more than just a feature, it's a gateway. A gateway to the future of AI, where PMLL reigns supreme. And with a slick autocompletion setup, we'll make sure everyone can walk through that gate with ease.

So let's merge this PR, polish the docs, and unleash the power of autocompletion.

Bash

$ openai api completions.create -m # Hit TAB
...and like magic, the CLI suggests:

Bash

$ openai api completions.create -m
The user starts typing text-davinci-003, hits TAB again...

Bash

$ openai api completions.create -m text-davinci-003 --pr # Hit TAB
...and the CLI knows what's up:

Bash

$ openai api completions.create -m text-davinci-003 --prompt "
See? Smooth as silk. No more fumbling through docs, no more typos. Just pure, unadulterated coding bliss.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants