fish-shell/share/completions/apt.fish

91 lines
2.7 KiB
Fish
Raw Normal View History

2015-04-08 16:49:58 +00:00
# Completions for the `apt` command
function __fish_apt_no_subcommand -d 'Test if apt has yet to be given the subcommand'
2015-04-08 16:49:58 +00:00
for i in (commandline -opc)
if contains -- $i update upgrade full-upgrade search list install show remove edit-sources purge changelog autoremove
2015-04-08 16:49:58 +00:00
return 1
end
end
return 0
end
function __fish_apt_use_package -d 'Test if apt command should have packages as potential completion'
2015-04-08 16:49:58 +00:00
for i in (commandline -opc)
if contains -- $i install remove upgrade full-upgrade show search purge changelog
2015-04-08 16:49:58 +00:00
return 0
end
end
return 1
end
function __fish_apt_subcommand
set subcommand $argv[1]
set -e argv[1]
2015-04-08 16:49:58 +00:00
complete -f -c apt -n '__fish_apt_no_subcommand' -a $subcommand $argv
end
function __fish_apt_using_subcommand -d 'Test if given subcommand is used'
for i in (commandline -opc)
if contains -- $i $argv
return 0
end
end
return 1
end
function __fish_apt_option
set subcommand $argv[1]
set -e argv[1]
complete -f -c apt -n "__fish_apt_using_subcommand $subcommand" $argv
end
complete -c apt -n '__fish_apt_use_package' -a '(__fish_print_packages)' -d 'Package'
2015-04-08 16:49:58 +00:00
# Support flags
complete -x -f -c apt -s h -l help -d 'Display help'
complete -x -f -c apt -s v -l version -d 'Display version and exit'
2015-04-08 16:49:58 +00:00
# General options
complete -f -c apt -s o -l option -d 'Set a configuration option'
complete -f -c apt -s c -l config-file -d 'Configuration file'
complete -f -c apt -s t -d 'Target release'
2015-04-08 16:49:58 +00:00
# List
__fish_apt_subcommand list -d 'List packages'
__fish_apt_option list -l installed -d 'Installed packages'
__fish_apt_option list -l upgradable -d 'Upgradable packages'
__fish_apt_option list -l all-versions -d 'Show all versions of any package'
2015-04-08 16:49:58 +00:00
# Search
__fish_apt_subcommand search -r -d 'Search for packages'
2015-04-08 16:49:58 +00:00
# Search
__fish_apt_subcommand show -r -d 'Show package information'
2015-04-08 16:49:58 +00:00
# Install
__fish_apt_subcommand install -r -d 'Install packages'
2015-04-08 16:49:58 +00:00
# Remove
__fish_apt_subcommand remove -r -d 'Remove packages'
2015-04-08 16:49:58 +00:00
# Edit sources
__fish_apt_subcommand edit-sources -d 'Edit sources list'
2015-04-08 16:49:58 +00:00
# Update
__fish_apt_subcommand update -x -d 'Update package list'
2015-04-08 16:49:58 +00:00
# Upgrade
__fish_apt_subcommand upgrade -r -d 'Upgrade packages'
2015-04-08 16:49:58 +00:00
# Full Upgrade
__fish_apt_subcommand full-upgrade -r -d 'Upgrade packages, removing others when needed'
# Purge
__fish_apt_subcommand purge -x -d 'Remove packages and delete their config files'
# Changelog
__fish_apt_subcommand changelog -r -d 'Download and display package changelog'
# Autoremove
__fish_apt_subcommand autoremove -d 'Remove packages no longer needed as dependencies'