Skip to content

Externally available completions

Ville Skyttä edited this page Aug 4, 2024 · 36 revisions

This is a list of known "external" completions, i.e. ones that are not shipped with the bash-completion project but in respective upstream projects along with the executables they provide completions for, or repositories dedicated to just shipping completions. The list is probably never complete or completely up to date, but hopefully useful nevertheless.

Please keep the table sorted by the first listed executable.

Executables that can output their completion script to stdout are not listed here; rather we should add a "fallback 3rd party completion loader" for them in the repo, search for "fallback 3rd party" in git logs for examples. A part of the information is given in the next table.

Executables Upstream (available versions) Path to completion script(s) Requires bash-completion
adb Android SDK, adb /adb.bash
bat sharkdp/bat (> 0.18.1) /assets/completions/bat.bash.in
bpftool libbpf/bpftool /bash-completion/bpftool
dmidecode,biosdecode,ownership,vpidecode dmidecode (>= 3.6) /completion/*
fzf junegunn/fzf (>= 0.5.0 (fa5617e0)) /shell/completion.bash
git git/git (>= 1.4.3) /contrib/completion/git-completion.bash
hub github/hub (>= 1.8.4 eadde0a7) /etc/hub.bash_completion.sh
make TobiasFaller/custom-makefile-completion (all) /custom-makefile-completion.patch
mock rpm-software-management/mock (> 1.1.0) /mock/etc/bash_completion.d/mock
module, ml cea-hpc/modules (>= 3.2.7) /init/bash_completion.in
nmcli NetworkManager/NetworkManager (>= 0.9.8.0) /src/nmcli/nmcli-completion
osslsigncode mtrojnar/osslsigncode (> 2.2) /osslsigncode.bash
p11-kit, trust p11-glue/p11-kit (>= 0.23.19) /bash-completion/{p11-kit,trust}
reptyr nelhage/reptyr (>= 0.7.0) /reptyr.bash
ruby, etc. mernen/completion-ruby /completion-*
slackpkg rworkman/slackpkg (>= 15.0.4) /files/shell-completion/slackpkg.bash
stunnel mtrojnar/stunnel (>= 5.62) /tools/stunnel.bash
svn, various svn* subversion (>= 0.12.0) /tools/client-side/bash_completion
systemctl, many more systemd/systemd (>= 196) /shell-completion/bash
whois, mkpasswd rfc1036/whois (>= 5.5.16) /whois.bash, /mkpasswd.bash ⬜ (uses _known_hosts_real if available)
yum rpm-software-management/yum (>= 3.2.26) /etc/yum.bash
(many) Bash-it/bash-it (>= 2010-10-03 (initial commit)) /completion/available/*
(many) ohmybash/oh-my-bash (>= 2017-10-10 (e65c390b)) /completions/*
(many) karelzak/util-linux (>= 2.23) /bash-completion/*
(many) rpm-software-management/yum-utils (>= 1.1.24) /yum-utils.bash
(many) OpenSC/OpenSC (>= 0.15.0) /doc/tools/* generated from ./{completion-template,Makefile.am}
(generator) kislyuk/argcomplete /argcomplete/shell_integration.py, /argcomplete/bash_completion.d/python-argcomplete
  • The checkbox in the last column shows whether the completion script has dependencies on bash-completion. The standalone completion scripts, which don't have dependencies on bash-completion, are listed to avoid possible name collisions with bash-completion. Also, some of the standalone completion scripts are forks of bash-completions, so it may be useful for porting fixes in bash-completion to these scripts.
  • The items with the first column being (generator) are automatic generators for completion scripts. They can be considered as an upstream of many automatically-generated completions.

Fallback 3rd-party completions

The following is a table of fallback 3rd-party completions that the bash-completion loader supports. This is maintained to keep the version and dependency information and is not a complete list.

Executables Upstream (available versions) Path to completion script(s) Requires bash-completion
op op (1Password) (>= 1.2.0) N/A (not open source); op completion bash outputs
(generator, upstream list (last seen)) spf13/cobra (>= 2015-04-08 (9b2e6822, older than 0.0.5)) /bash_completions.go, /bash_completionsV2.go
(generator, dependents) clap_complete /src/shells/bash.rs
Clone this wiki locally