• Stars
    star
    153
  • Rank 236,022 (Top 5 %)
  • Language
    Shell
  • License
    MIT License
  • Created about 1 year ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Completions for any shell. Supports 1000+ commands. Automaticlly generate completion definition from help text and man page.

Argc-completions

Argc-completions provides completion definitions that work for any shell.

argc-completions

Features

  • Add 1000+ completion definitions (full list)
  • Automatically generate a completion script from the command's help text or man page.
  • Lazy completing, lower memory consumption and faster startup time
  • Support multiple shells: bash/zsh/powershell/fish/nushell/elvish/xonsh/tcsh
  • Support multiple platforms: windows/macOS/linux

Amazing features that native completion lacks or is difficult to implement

Feature Showcase
Parallel Computing complete-git-checkout
 _choice_ref() { 
   _argc_util_parallel _choice_branch ::: _choice_tag ::: _choice_head
}
Fetch remote data complete-cargo-add
Complete multiple values
(comma-spereated)
complete-dd-iflag
Complete multiple parts complete-rustup-target-add
Complete key-value pairs complete-ssh-o
Complete for plugins
(git,cargo ...)
complete-cargo-nextest
Delegate to another command
(sudo,doas,npx...)
complete-yarn-workspace
Style & color complete-xtest-color

Getting Started

git clone https://github.com/sigoden/argc-completions.git
cd argc-completions
./scripts/download-tools.sh
./scripts/setup-shell.sh bash  # bash/zsh/powershell/fish/nushell/elvish/xonsh/tcsh

For Windows, please run the above code in Git Bash.

Tools downloaded by ./scripts/download-tools.sh:

  • argc: completion engine
  • yq: YAML/JSON/XML/CSV/TOML processor
  • macOS only: brew install bash gawk gnu-sed

Uninstall easily

  1. Delete the argc-completions directory that you have downloaded.
  2. Undo the changes made to the shell rcfile (~/.bashrc, ~/.zshrc, ...).

Generate your own completion script

./scripts/generate.sh your-command

generate

To learn how generate works, see docs/generate.md

To learn various complete patterns, see docs/complete-patterns.md

License

Argc-completions is made available under the terms of the MIT License.

See the LICENSE file for license details.

More Repositories

1

dufs

A file server that supports static serving, uploading, searching, accessing control, webdav...
Rust
4,461
star
2

aichat

All-in-one CLI tool for 10+ AI platforms, including OpenAI(ChatGPT), Gemini, Claude, Mistral, LocalAI, Ollama, VertexAI, Ernie, Qianwen...
Rust
2,451
star
3

argc

Easily create feature-rich CLIs in bash.
Rust
624
star
4

window-switcher

Easily switch between windows of the same app with Alt+` (Backtick), also switch between apps with Alt+Tab.
Rust
361
star
5

upt

Universal Package-management Tool for any OS.
Rust
254
star
6

netease-music-crx

浏览器插件版网易云音乐
JavaScript
153
star
7

wechatpay

微信支付 SDK,支持刷卡支付、公众号支付、扫码支付、APP支付、H5支付,以及优惠券,红包,企业付款,微信代扣
TypeScript
112
star
8

apitest

Apitest is declarative api testing tool with JSON-like DSL.
TypeScript
106
star
9

projclean

Project dependencies & build artifacts cleanup tool.
Rust
83
star
10

htte

Document Driven API Test Framework
JavaScript
73
star
11

clii

Easily build a cli app.
TypeScript
40
star
12

dynimgen

A dynamic image generator.
Rust
30
star
13

opscan

A open port scanner.
Rust
28
star
14

chrome-extensions-manager

A snapshot based chrome extensions manager
JavaScript
25
star
15

wechat-devtools

使用 Linux, Docker 运行微信 web 开发者工具
Shell
21
star
16

runme

[Deprecatd] A shell-script based task runner.
Rust
13
star
17

tomato-timer

A terminal tomato timer with notification
Rust
10
star
18

vmprotect-keygen

vmprotect keygen for nodejs
TypeScript
8
star
19

webhook

webhook-cli is a lightweight configurable tool written in NodeJS, that allows you to easily create HTTP endpoints (hooks) on your server, which you can use to execute configured commands
JavaScript
6
star
20

a-captcha

A Lightweight Pure JavaScript Captcha for Node.js
TypeScript
5
star
21

proxyfor

A simple and portable proxy for capturing HTTP and HTTPS traffic.
Rust
5
star
22

subexpo

Block explorer for Substrate based chain
JavaScript
4
star
23

wasm-pkg-build

Build wasm js pkg from wasm-bindgen crate
TypeScript
3
star
24

node-fisheye

A opencv fisheye camera model bindings for Node.js.
C++
3
star
25

chatgpt-wechat-browser-extension

ChatGPT For Wechat FileHelper
JavaScript
2
star
26

glob-convert-encoding

Convert encoding of files that match glob
JavaScript
2
star
27

sequelize-modelgen

Generate sequelize models from sql
JavaScript
2
star
28

node-imagediff

Diff image to check whether objects have changed.
C++
2
star
29

gatsby-plugin-baidu-tongji

添加百度统计到 Gatsby 站点
JavaScript
2
star
30

deepin-wine-baidupan-arch

在Archlinux及衍生发行版上运行百度盘
Shell
2
star
31

conditions-lang

Boolean language for conditional builds, stages, jobs
TypeScript
2
star
32

xf

File-aware dynamic command runner.
Rust
2
star
33

orgdo

Command-line tool to manage the Todo lists
TypeScript
1
star
34

iredismodule

Create redis module with rust
Rust
1
star
35

dee

document-driven web framework, powered by express and openapi
TypeScript
1
star
36

trisue

Trisue是一款 REST API 调试及异常报告工具
JavaScript
1
star
37

use-services-packages

TypeScript
1
star
38

solid-color-page

Solid color page
HTML
1
star
39

fswebcam

wrap linux tool fswebcam to manipulate cameras
JavaScript
1
star
40

wasm-toml-js

TOML format for Node.js
Rust
1
star
41

alipay

蚂蚁金服开放平台 node sdk
TypeScript
1
star
42

myblog

Shell
1
star
43

toy-ipfs

Rust
1
star
44

change-case

Transform a string between camelCase, PascalCase, Capital Case, snake_case, param-case, CONSTANT_CASE and others.
Rust
1
star
45

mycrypt

Encrypt/decrypt your file
Rust
1
star
46

terminal-fonts

Big fonts for terminal display. Each character is a block formed by many dots.
Rust
1
star
47

calc-rs

A simple arithmetic calculator written in rust
Rust
1
star
48

install-gh-release

A website to automatically generate bash script to install binary published on github releases.
HTML
1
star
49

dee-swaggerize

swagger document driven route builder for dee framework
JavaScript
1
star
50

fakepty

Run a command in a fake pty.
Rust
1
star
51

fp-course

Functional Programming Course
Haskell
1
star