mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-28 05:43:11 +00:00
04d7d89020
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.
124 lines
9.6 KiB
Fish
124 lines
9.6 KiB
Fish
# Completions for the rpm command. Insanely complicated,
|
|
# since rpm has multiple operation modes, and a perverse number of switches.
|
|
|
|
complete -c rpm -s "?" -l help -d "Display help and exit"
|
|
complete -c rpm -l version -d "Display version and exit"
|
|
complete -c rpm -l quiet -d "Quiet mode"
|
|
complete -c rpm -s v -d "Verbose mode"
|
|
complete -c rpm -l rcfile -d "List of rpm configuration files" -f
|
|
complete -c rpm -l pipe -d "Pipe output through specified command" -r
|
|
complete -c rpm -l dbpath -d "Specify directory for rpm database" -a "
|
|
(
|
|
__fish_complete_directories (commandline -ct) 'Rpm database directory'
|
|
)
|
|
"
|
|
complete -c rpm -l root -d "Specify root directory for rpm operations" -a "
|
|
(
|
|
__fish_complete_directories (commandline -ct) 'Root directory for rpm operations'
|
|
)
|
|
"
|
|
|
|
set -l rpm_install -c rpm -n "__fish_contains_opt -s i -s U -s F install upgrade freshen"
|
|
complete $rpm_install -l aid -d "Add suggested packages to the transaction set when needed"
|
|
complete $rpm_install -l allfiles -d "Installs or upgrades all the files in the package, even if they aren't needed (missingok) and don't exist"
|
|
complete $rpm_install -l badreloc -d "Used with --relocate, permit relocations on all file paths, not just those OLD-PATH's included in the binary package relocation hint(s)"
|
|
complete $rpm_install -l excludepath -d "Don't install files whose name begins with specified path" -xa "(__fish_complete_directories (commandline -ct) 'Skip installation of files in this directory')"
|
|
complete $rpm_install -l excludedocs -d "Don't install any files which are marked as documentation"
|
|
complete $rpm_install -l force -d 'Same as using --replacepkgs, --replacefiles, and --oldpackage'
|
|
complete $rpm_install -s h -l hash -d 'Print 50 hash marks as the package archive is unpacked'
|
|
complete $rpm_install -l ignoresize -d "Don't check for sufficient disk space before installation"
|
|
complete $rpm_install -l ignorearch -d "Allow installation or upgrading even if the architectures of the binary package and host don't match"
|
|
complete $rpm_install -l ignoreos -d "Allow installation or upgrading even if the operating systems of the binary package and host don't match"
|
|
complete $rpm_install -l includedocs -d 'Install documentation files (default)'
|
|
complete $rpm_install -l justdb -d 'Update only the database, not the filesystem'
|
|
complete $rpm_install -l nodigest -d "Don't verify package or header digests when reading"
|
|
complete $rpm_install -l nosignature -d "Don't verify package or header signatures when reading"
|
|
complete $rpm_install -l nodeps -d "Don't do a dependency check"
|
|
complete $rpm_install -l nosuggest -d "Don't suggest package(s) that provide a missing dependency"
|
|
complete $rpm_install -l noorder -d "Don't change the package installation order"
|
|
complete $rpm_install -l noscripts -d "Don't execute scripts"
|
|
complete $rpm_install -l nopre -d "Don't execute pre scripts"
|
|
complete $rpm_install -l nopost -d "Don't execute post scripts"
|
|
complete $rpm_install -l nopreun -d "Don't execute preun scripts"
|
|
complete $rpm_install -l nopostun -d "Don't execute postun scripts"
|
|
complete $rpm_install -l notriggers -d "Don't execute trigger scriptlets"
|
|
complete $rpm_install -l notriggerin -d "Don't execute triggerin scriptlets"
|
|
complete $rpm_install -l notriggerun -d "Don't execute triggerun scriptlets"
|
|
complete $rpm_install -l notriggerpostun -d "Don't execute triggerpostun scriptlets"
|
|
complete $rpm_install -l oldpackage -d 'Allow an upgrade to replace a newer package with an older one'
|
|
complete $rpm_install -l percent -d 'Print percentages as files are unpacked from the package archive. This is intended to make rpm easy to run from other tools'
|
|
complete $rpm_install -l prefix -d 'For relocatable binary packages, translate all file paths that start with the installation prefix in the package relocation hint(s) to NEWPATH' -xa "(__fish_complete_directories (commandline -ct) 'Directory prefix for relocatable packages')"
|
|
complete $rpm_install -l relocate -x -d "Translate all paths that start with first half of following parameter to second half of following parameter"
|
|
complete $rpm_install -l repackage -d 'Re-package the files before erasing'
|
|
complete $rpm_install -l replacefiles -d 'Install the packages even if they replace files from other, already installed, packages'
|
|
complete $rpm_install -l replacepkgs -d 'Install the packages even if some of them are already installed on this system'
|
|
complete $rpm_install -l test -d "Don't install the package, simply check for and report potential conflicts"
|
|
|
|
set -l rpm_query -c rpm -n "__fish_contains_opt -s q query"
|
|
complete $rpm_query -l changelog -d 'Display change information for the package'
|
|
complete $rpm_query -s c -l configfiles -d 'List only configuration files (implies -l)'
|
|
complete $rpm_query -s d -l docfiles -d 'List only documentation files (implies -l)'
|
|
complete $rpm_query -l dump -d 'Dump file information. Must be used with at least one of -l, -c, -d'
|
|
complete $rpm_query -l filesbypkg -d 'List all the files in each selected package'
|
|
complete $rpm_query -s i -l info -d 'Display package information, including name, version, and description. Uses --queryformat if specified'
|
|
complete $rpm_query -l last -d 'Orders the package listing by install time'
|
|
complete $rpm_query -s l -l list -d 'List files in package'
|
|
complete $rpm_query -l provides -d 'List capabilities this package provides'
|
|
complete $rpm_query -s R -l requires -d 'List packages on which this package depends'
|
|
complete $rpm_query -l scripts -d 'List the package specific scriptlets'
|
|
complete $rpm_query -s s -l state -d 'Display the states of files in the package. The state of each file is one of normal, not installed, or replaced'
|
|
complete $rpm_query -l triggers -d 'Display the trigger scripts contained in the package'
|
|
complete $rpm_query -l triggerscripts -d 'Display the trigger scripts contained in the package'
|
|
|
|
set -l rpm_select -c rpm -n "__fish_contains_opt -s q -s V query verify"
|
|
complete $rpm_select -a "(__fish_print_rpm_packages)"
|
|
complete $rpm_select -s a -l all -d 'Query all installed packages'
|
|
complete $rpm_select -s f -l file -d 'Query package owning specified file' -rF
|
|
complete $rpm_select -l fileid -d 'Query package that contains a given file identifier, i.e. the MD5 digest of the file contents' -x
|
|
complete $rpm_select -s g -l group -d 'Query packages with the specified group' -x
|
|
complete $rpm_select -l hdrid -d 'Query package that contains a given header identifier, i.e. the SHA1 digest of the immutable header region' -x
|
|
complete $rpm_select -s p -l package -d 'Query an (uninstalled) package in specified file' -xa "(__fish_complete_suffix .rpm)"
|
|
complete $rpm_select -l pkgid -d 'Query package that contains a given package identifier, i.e. the MD5 digest of the combined header and payload contents' -x
|
|
complete $rpm_select -l specfile -d 'Parse and query specified spec-file as if it were a package' -xa "(__fish_complete_suffix .spec)"
|
|
complete $rpm_select -l tid -d 'Query package(s) that have the specified TID (transaction identifier)' -x
|
|
complete $rpm_select -l triggeredby -d 'Query packages that are triggered by the specified packages' -x -a "(__fish_print_rpm_packages)"
|
|
complete $rpm_select -l whatprovides -d 'Query all packages that provide the specified capability' -x
|
|
complete $rpm_select -l whatrequires -d 'Query all packages that requires the specified capability for functioning' -x
|
|
|
|
set -l rpm_verify -c rpm -n "__fish_contains_opt -s V verify"
|
|
complete $rpm_verify -l nodeps -d "Don't verify dependencies of packages"
|
|
complete $rpm_verify -l nodigest -d "Don't verify package or header digests when reading"
|
|
complete $rpm_verify -l nofiles -d "Don't verify any attributes of package files"
|
|
complete $rpm_verify -l noscripts -d "Don't execute the %verifyscript scriptlet"
|
|
complete $rpm_verify -l nosignature -d "Don't verify package or header signatures when reading"
|
|
complete $rpm_verify -l nolinkto -d "Don't verify linkto attribute"
|
|
complete $rpm_verify -l nomd5 -d "Don't verify md5 attribute"
|
|
complete $rpm_verify -l nosize -d "Don't verify size attribute"
|
|
complete $rpm_verify -l nouser -d "Don't verify user attribute"
|
|
complete $rpm_verify -l nogroup -d "Don't verify group attribute"
|
|
complete $rpm_verify -l nomtime -d "Don't verify time attribute"
|
|
complete $rpm_verify -l nomode -d "Don't verify mode attribute"
|
|
complete $rpm_verify -l nordev -d "Don't verify dev attribute"
|
|
|
|
set -l rpm_erase -c rpm -n "__fish_contains_opt -s e erase"
|
|
complete $rpm_erase -a "(__fish_print_rpm_packages)"
|
|
complete $rpm_erase -l allmatches -d 'Remove all versions of the package which match specified string'
|
|
complete $rpm_erase -l nodeps -d "Don't check dependencies before uninstalling the packages"
|
|
complete $rpm_erase -l noscripts -d "Don't execute scriplets"
|
|
complete $rpm_erase -l nopreun -d "Don't execute preun scriptlet"
|
|
complete $rpm_erase -l nopostun -d "Don't execute postun scriptlet"
|
|
complete $rpm_erase -l notriggers -d "Don't execute trigger scriptlets"
|
|
complete $rpm_erase -l notriggerun -d "Don't execute triggerun scriptlets"
|
|
complete $rpm_erase -l notriggerpostun -d "Don't execute triggerpostun scriptlets"
|
|
complete $rpm_erase -l repackage -d 'Re-package the files before erasing'
|
|
complete $rpm_erase -l test -d "Don't really uninstall anything"
|
|
|
|
set -l rpm_mode -c rpm -n 'not __fish_contains_opt -s e -s i -s F -s V -s U -s q erase install freshen verify upgrade query'
|
|
complete $rpm_mode -s i -l install -d 'Install new package'
|
|
complete $rpm_mode -s U -l upgrade -d 'Upgrade existing package'
|
|
complete $rpm_mode -s F -l freshen -d 'Upgrade package if already installed'
|
|
complete $rpm_mode -s q -l query -d 'Query installed packages'
|
|
complete $rpm_mode -s V -l verify -d 'Verify package integrity'
|
|
complete $rpm_mode -s e -l erase -d 'Erase package'
|
|
|
|
complete -c rpm -xa '(__fish_complete_suffix .rpm)'
|