Effortlessly add intelligent autocomplete support to your Commander.js CLI app using Carapace. Supports Bash, Zsh, Fish, Nushell and more
npm install @gutenye/commander-completion-carapace   
Effortlessly add intelligent autocomplete support to your Commander.js CLI app using Carapace.
It works with a wide range of shells, making your CLI tools more intuitive and user-friendly.
Show your β€οΈ and support by starring this project and following the author, Guten Ye!
- β Multiple Shells Support: Works with Bash, Zsh, Fish, Nushell, and more.
- π Blazing Fast Completion: Experience instantaneous completion with no delays.
- π Carapace Integration: Unlock all the powerful features of Carapace, including advanced shell completions.
- π§βπ» Effortless Integration: Easily add completion support to your Commander.js based CLI app.
First, make sure Carapace is installed, as it powers the completion functionality:
``sh`
bun add @gutenye/commander-completion-carapace commander
Now, integrate completion support into your Commander.js application by adding the following code:
`ts
import { program, Option } from '@gutenye/commander-completion-carapace'
program
.name('hello')
.enableCompletion()
program.command('cmd1 [...files]')
.description('Description')
.option('--option1', 'Description')
.completion({ // pass to carapace
positonalany: ['$files'] // dynamic completion
})
.action(() => {})
await program.installCompletion() // Creates hello.yaml Carapace spec file
program.parse()
`
`sh``
hello # Will create the Carapace spec file the first time it runs
hello
We welcome contributions! Whether itβs bug reports, feature suggestions, or pull requests, your involvement makes this project better.
How to Contribute:
1. Fork the Repository
2. Open a Pull Request on Github
---
Thank you for using Commander Completion Carapace! β¨ If you found it helpful, please βοΈ star the project οΈοΈβ on GitHub. If you encounter any issues, feel free to report an issue on Github.
Special thanks to all the contributors:
