⚡ zsh-more-completions

May 6, 2026 · View on GitHub

 ███▄ ▄███▓ ▒█████   ██▀███  ▓█████
▓██▒▀█▀ ██▒▒██▒  ██▒▓██ ▒ ██▒▓█   ▀
▓██    ▓██░▒██░  ██▒▓██ ░▄█ ▒▒███
▒██    ▒██ ▒██   ██░▒██▀▀█▄  ▒▓█  ▄
▒██▒   ░██▒░ ████▓▒░░██▓ ▒██▒░▒████▒
░ ▒░   ░  ░░ ▒░▒░▒░ ░ ▒▓ ░▒▓░░░ ▒░ ░
░  ░      ░  ░ ▒ ▒░   ░▒ ░ ▒░ ░ ░  ░
░      ░   ░ ░ ░ ▒    ░░   ░    ░
       ░       ░ ░     ░        ░  ░
  ▄████▄   ▒█████   ███▄ ▄███▓ ██▓███   ██▓    ▓█████▄▄▄█████▓ ██▓ ▒█████   ███▄    █▓  ██████
▒██▀ ▀█  ▒██▒  ██▒▓██▒▀█▀ ██▒▓██░  ██▒▓██▒    ▓█   ▀▓  ██▒ ▓▒▓██▒▒██▒  ██▒▓██▒█   █▒▒██    ▒
▒▓█    ▄ ▒██░  ██▒▓██    ▓██░▓██░ ██▓▒▒██░    ▒███  ▒ ▓██░ ▒░▒██▒▒██░  ██▒▒██░ █  █░░ ▓██▄
▒▓▓▄ ▄██▒▒██   ██░▒██    ▒██ ▒██▄█▓▒ ▒▒██░    ▒▓█  ▄░ ▓██▓ ░ ░██░▒██   ██░░██  █  █  ▒   ██▒
▒ ▓███▀ ░░ ████▓▒░▒██▒   ░██▒▒██▒ ░  ░░██████▒░▒████▒ ▒██▒ ░ ░██░░ ████▓▒░░▒██▒ █ ██▒██████▒▒
░ ░▒ ▒  ░░ ▒░▒░▒░ ░ ▒░   ░  ░▒▓▒░ ░  ░░ ▒░▓  ░░░ ▒░ ░ ▒ ░░   ░▓  ░ ▒░▒░▒░ ░▒▓░▒▓▒ ▒ ▒▓▒ ▒ ░
  ░  ▒    ░ ▒ ▒░ ░  ░      ░░▒ ░     ░ ░ ▒  ░ ░ ░  ░   ░      ▒ ░  ░ ▒ ▒░  ░▒ ░ ░  ░ ░▒  ░ ░
░       ░ ░ ░ ▒  ░      ░   ░░         ░ ░      ░   ░        ▒ ░░ ░ ░ ▒   ░    ░  ░  ░  ░
░ ░         ░ ░         ░                 ░  ░   ░  ░         ░      ░ ░   ░       ░     ░
░                                                                                         ░

"The shell is the street. The completions are the chrome."


CI

// WHAT IS THIS

A massive zsh completions plugin — over 19.1k command completions wired into compsys. Most were auto-generated by Python scripts that jacked into --help output and man pages, ripping completion data straight from the source. But then all completions have been cleaned, verified and updated with latest command options. Many have been handwritten as well. Architecture-prefixed completions live in the architecture_src directory. A large ZUnit suite (see // STATS and // TESTING) validates structure, syntax, and coverage.

Directory layout:

src/              main completions
more_src/         additional completions
man_src/          completions parsed from man pages
override_src/     overrides (prepended to fpath)
architecture_src/ cross-architecture toolchains

// JACK IN

~/.zshrc

source "$HOME/.zinit/bin/zinit.zsh"
zinit ice lucid nocompile wait'0e' nocompletions
zinit load MenkeTechnologies/zsh-more-completions

NOTE: The nocompletions ice prevents zinit from symlinking all completions into ~/.zinit/completions. Instead the plugin directly manipulates fpath — this lets override_src completions take priority over defaults while keeping system completions untouched.

Oh My Zsh

cd "$HOME/.oh-my-zsh/custom/plugins" && git clone https://github.com/MenkeTechnologies/zsh-more-completions.git

Add zsh-more-completions to your plugins array in ~/.zshrc.

OMZ only adds plugin root to fpath, so completions in subdirectories won't load without intervention. You need to wire the nested source dirs into fpath before OMZ runs compinit:

# OMZ does not add nested comp dirs to fpath so do it here, assume *src has completions
for plug in ${plugins[@]}; do
    if [[ -d "$ZSH/custom/plugins/$plug" ]]; then
        # null glob - no error
        for dir in "$ZSH/custom/plugins/$plug/"*src(N); do
            if [[ -d "$dir" ]]; then
                if [[ -z ${fpath[(r)$dir]} ]];then
                    if [[ $dir = *override* ]]; then
                        fpath=($dir $fpath)
                    else
                        fpath=($fpath $dir)
                    fi
                fi
            fi
        done
    fi
done

Manual Install

git clone https://github.com/MenkeTechnologies/zsh-more-completions.git

Copy all _* files from the source directories to somewhere on your fpath.


// BOOT SEQUENCE

After install, initialize the completion system:

autoload -Uz compinit && compinit

For faster shell startup, cache the ~/.zcompdump:

compinit -C

This skips the security check and loads the cached dump directly — dramatically faster boot times.


// STATS

Counts change constantly; do not edit totals by hand. From the repo root:

zsh scripts/print-repo-stats.zsh

This prints _-prefixed completion file counts per directory, total_completions, and zunit_tests (number of @test entries under tests/).

MetricHow it is obtained
Completion files per dirscripts/print-repo-stats.zsh (uses find … -name '_*')
ZUnit testsgrep '^@test' tests/*.zsh | wc -l (same as script output)
Generation methodPython scripts parsing --help + man pages
LicenseSee license.md

// TESTING

From the repository root, with ZUnit on your PATH:

zunit tests/*.zsh

GitHub Actions runs the same command on Ubuntu. On macOS, a wrong-case path can still stat the file; entries in tests/t-more-src-existence.zsh must use the exact basename as on disk (e.g. _linguist, not _Linguist) so Linux CI passes. tests/t-repo-invariants.zsh locks down repo metadata: blacklist.txt integrity, .github/workflows/ci.yml contract, license.md, and absence of tracked .zwc files.


[ SIGNAL LOST ]
[ RECONNECTING... ]
[ LINK ESTABLISHED ]

Wake up, samurai. Your shell has work to do.