fish-shell/share/completions/apt-get.fish
Fabian Homborg 04d7d89020 __fish_print_packages: Extract the rest
Of note: The rpm/yum thing seems to be coupled, so I put it into one
function that tries the yum helper and uses the rpm path otherwise.
Zypper is already its own thing, so this should only be used for yum
and probably dnf (does that still have the helper?)

Zypper can be dropped, as that already used a separate function in the file.

Apk can just be inlined - it's literally one line for installed and another for all packages.
2020-12-22 17:10:02 +01:00

67 lines
4.2 KiB
Fish

#completion for apt-get
function __fish_apt_no_subcommand -d 'Test if apt has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i update upgrade dselect-upgrade dist-upgrade install remove purge source build-dep check clean autoclean changelog
return 1
end
end
return 0
end
function __fish_apt_use_package -d 'Test if apt command should have packages as potential completion'
for i in (commandline -opc)
if contains -- $i contains install remove purge build-dep changelog
return 0
end
end
return 1
end
complete -c apt-get -n __fish_apt_use_package -a '(__fish_print_apt_packages)' -d Package
complete -c apt-get -s h -l help -d 'Display help and exit'
complete -f -n __fish_apt_no_subcommand -c apt-get -a update -d 'Update sources'
complete -f -n __fish_apt_no_subcommand -c apt-get -a upgrade -d 'Upgrade or install newest packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a dselect-upgrade -d 'Use with dselect front-end'
complete -f -n __fish_apt_no_subcommand -c apt-get -a dist-upgrade -d 'Distro upgrade'
complete -f -n __fish_apt_no_subcommand -c apt-get -a install -d 'Install one or more packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a changelog -d 'Display changelog of one or more packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a purge -d 'Remove and purge one or more packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a remove -d 'Remove one or more packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a source -d 'Fetch source packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a build-dep -d 'Install/remove packages for dependencies'
complete -f -n __fish_apt_no_subcommand -c apt-get -a check -d 'Update cache and check dependencies'
complete -f -n __fish_apt_no_subcommand -c apt-get -a clean -d 'Clean local caches and packages'
complete -f -n __fish_apt_no_subcommand -c apt-get -a autoclean -d 'Clean packages no longer be downloaded'
complete -f -n __fish_apt_no_subcommand -c apt-get -a autoremove -d 'Remove automatically installed packages'
complete -c apt-get -l no-install-recommends -d 'Do not install recommended packages'
complete -c apt-get -s d -l download-only -d 'Download Only'
complete -c apt-get -s f -l fix-broken -d 'Correct broken dependencies'
complete -c apt-get -s m -l fix-missing -d 'Ignore missing packages'
complete -c apt-get -l no-download -d 'Disable downloading packages'
complete -c apt-get -s q -l quiet -d 'Quiet mode'
complete -c apt-get -s s -l simulate -l just-print -l dry-run -l recon -l no-act -d 'Perform a simulation'
complete -c apt-get -s y -l yes -l assume-yes -d 'Automatic yes to prompts'
complete -c apt-get -s u -l show-upgraded -d 'Show upgraded packages'
complete -c apt-get -s V -l verbose-versions -d 'Show full versions for packages'
complete -c apt-get -s b -l compile -l build -d 'Compile source packages'
complete -c apt-get -l install-recommends -d 'Install recommended packages'
complete -c apt-get -l ignore-hold -d 'Ignore package Holds'
complete -c apt-get -l no-upgrade -d "Do not upgrade packages"
complete -c apt-get -l force-yes -d 'Force yes'
complete -c apt-get -l print-uris -d 'Print the URIs'
complete -c apt-get -l purge -d 'Use purge instead of remove'
complete -c apt-get -l reinstall -d 'Reinstall packages'
complete -c apt-get -l list-cleanup -d 'Erase obsolete files'
complete -c apt-get -s t -l target-release -l default-release -d 'Control default input to the policy engine'
complete -c apt-get -l trivial-only -d 'Only perform operations that are trivial'
complete -c apt-get -l no-remove -d 'Abort if any packages are to be removed'
complete -c apt-get -l only-source -d 'Only accept source packages'
complete -c apt-get -l diff-only -d 'Download only diff file'
complete -c apt-get -l tar-only -d 'Download only tar file'
complete -c apt-get -l arch-only -d 'Only process arch-dependant build-dependencies'
complete -c apt-get -l allow-unauthenticated -d 'Ignore non-authenticated packages'
complete -c apt-get -s v -l version -d 'Display version and exit'
complete -r -c apt-get -s c -l config-file -d 'Specify a config file'
complete -r -c apt-get -s o -l option -d 'Set a config option'