mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-25 20:33:08 +00:00
brew.fish: added cask completion & tweaks
This commit is contained in:
parent
7b88187310
commit
fde647214d
1 changed files with 190 additions and 31 deletions
|
@ -6,18 +6,6 @@ function __fish_brew_get_cmd
|
|||
end
|
||||
end
|
||||
|
||||
function __fish_brew_is_subcommand_services
|
||||
if __fish_brew_using_command services
|
||||
for action in $argv
|
||||
if __fish_brew_using_command $action 3
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_needs_command
|
||||
set cmd (__fish_brew_get_cmd)
|
||||
if not set -q cmd[2]
|
||||
|
@ -26,20 +14,6 @@ function __fish_brew_needs_command
|
|||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_needs_services_action
|
||||
if __fish_brew_using_command services
|
||||
set cmd (__fish_brew_get_cmd)
|
||||
if not set -q cmd[3]
|
||||
return 0
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_services
|
||||
brew services list | awk '{if (NR>1) print $1}'
|
||||
end
|
||||
|
||||
function __fish_brew_using_command
|
||||
set index 2
|
||||
|
||||
|
@ -91,10 +65,79 @@ function __fish_brew_taps
|
|||
end
|
||||
|
||||
|
||||
###########################
|
||||
# subcommand initializing #
|
||||
###########################
|
||||
|
||||
########
|
||||
# cask #
|
||||
########
|
||||
|
||||
function __fish_brew_is_subcommand_cask
|
||||
if __fish_brew_using_command cask
|
||||
for action in $argv
|
||||
if __fish_brew_using_command $action 3
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_needs_cask_action
|
||||
if __fish_brew_using_command cask
|
||||
set cmd (__fish_brew_get_cmd)
|
||||
if not set -q cmd[3]
|
||||
return 0
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_casks
|
||||
brew cask search
|
||||
end
|
||||
|
||||
function __fish_brew_casks_installed
|
||||
brew cask list
|
||||
end
|
||||
|
||||
|
||||
############
|
||||
# commands #
|
||||
# services #
|
||||
############
|
||||
|
||||
function __fish_brew_is_subcommand_services
|
||||
if __fish_brew_using_command services
|
||||
for action in $argv
|
||||
if __fish_brew_using_command $action 3
|
||||
return 0
|
||||
end
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_needs_services_action
|
||||
if __fish_brew_using_command services
|
||||
set cmd (__fish_brew_get_cmd)
|
||||
if not set -q cmd[3]
|
||||
return 0
|
||||
end
|
||||
end
|
||||
return 1
|
||||
end
|
||||
|
||||
function __fish_brew_services
|
||||
brew services list | awk '{if (NR>1) print $1}'
|
||||
end
|
||||
|
||||
|
||||
#####################
|
||||
# brew commands #
|
||||
# (brew cask below) #
|
||||
#####################
|
||||
|
||||
# audit
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -a audit -d 'Check formula'
|
||||
complete -f -c brew -n '__fish_brew_using_command audit' -a '(__fish_brew_formulae)'
|
||||
|
@ -107,6 +150,9 @@ complete -f -c brew -n '__fish_brew_using_command bottle' -l 'rb' -d 'Write bott
|
|||
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'write' -d 'Write bottle block to formula file'
|
||||
complete -f -c brew -n '__fish_brew_using_command bottle' -l 'merge' -d 'Merge multiple bottle outputs'
|
||||
|
||||
# cask
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -a cask -d 'Manage installed casks'
|
||||
|
||||
# cat
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -a cat -d 'Display formula'
|
||||
complete -f -c brew -n '__fish_brew_using_command cat' -a '(__fish_brew_formulae)'
|
||||
|
@ -216,7 +262,7 @@ complete -f -c brew -n '__fish_brew_using_command list' -l versions -d 'Show the
|
|||
complete -f -c brew -n '__fish_brew_using_command list' -l pinned -d 'Show the versions of pinned formulae'
|
||||
complete -c brew -n '__fish_brew_using_command list' -a '(__fish_brew_formulae)'
|
||||
|
||||
#ls
|
||||
# ls
|
||||
complete -f -c brew -n '__fish_brew_using_command ls' -l unbrewed -d 'List all files in the Homebrew prefix not installed by brew'
|
||||
complete -f -c brew -n '__fish_brew_using_command ls' -l versions -d 'Show the version number'
|
||||
complete -f -c brew -n '__fish_brew_using_command ls' -l pinned -d 'Show the versions of pinned formulae'
|
||||
|
@ -321,9 +367,10 @@ complete -f -c brew -n '__fish_brew_using_command uses' -l recursive -d 'Resolve
|
|||
complete -c brew -n '__fish_brew_using_command uses' -a '(__fish_brew_formulae)'
|
||||
|
||||
|
||||
############
|
||||
# switches #
|
||||
############
|
||||
#################
|
||||
# brew switches #
|
||||
#################
|
||||
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -a '-v --version' -d 'Print version number of brew'
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -l env -x -d 'Show Homebrew a summary of the build environment'
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -l repository -x -d 'Display where Homebrew\'s .git directory is located'
|
||||
|
@ -340,3 +387,115 @@ complete -f -c brew -n '__fish_brew_needs_command' -n '__fish_brew_using_command
|
|||
# --cellar
|
||||
complete -f -c brew -n '__fish_brew_needs_command' -l cellar -d 'Display Homebrew\'s Cellar path'
|
||||
complete -f -c brew -n '__fish_brew_using_command --cellar' -a '(__fish_brew_formulae)' -d 'Display formula\'s install path in Cellar'
|
||||
|
||||
|
||||
######################
|
||||
# brew cask commands #
|
||||
#####################
|
||||
|
||||
# audit
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a audit -d 'Audit casks, add token to audit specific cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask audit' -a '(__fish_brew_casks)'
|
||||
|
||||
# cat
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a cat -d 'Display cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask cat' -a '(__fish_brew_casks)'
|
||||
|
||||
|
||||
# cleanup
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a cleanup -d 'Cleans up cached downloads and tracker symlinks'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask cleanup' -l outdated -d 'Only clean cached downloads older than 10 days'
|
||||
|
||||
# create
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a create -d 'Create a new cask'
|
||||
|
||||
# doctor/dr
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'doctor dr' -d 'Checks for configuration issues'
|
||||
|
||||
# edit
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a edit -d 'Edit cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask edit' -a '(__fish_brew_casks)'
|
||||
|
||||
# fetch
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a fetch -d 'Fetch cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask fetch' -l force -d 'Force a redownload of cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask fetch' -a '(__fish_brew_casks)'
|
||||
|
||||
# home
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'home homepage' -d 'Open cask/cask\'s homepage'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask home' -a '(__fish_brew_casks)'
|
||||
|
||||
# homepage
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask homepage' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
# info
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'info abv' -d 'Dislay info about cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask info' -a '(__fish_brew_casks)'
|
||||
# adv
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask abv' -a '(__fish_brew_casks)'
|
||||
|
||||
# install
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a install -d 'Install cask indentified by token'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l force -d 'Force install of cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l require-sha -d 'Require SHA, fails otherwise'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask install' -l skip-cask-deps -d 'Skip any cask dependencies'
|
||||
complete -c brew -n '__fish_brew_is_subcommand_cask install' -a '(__fish_brew_casks)'
|
||||
|
||||
# list
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'list ls' -d 'List installed casks'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -s 1 -d 'Format output as a single column'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -l versions -d 'Show all installed versions'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask list' -a '(__fish_brew_casks_installed)' -d 'List staged files'
|
||||
|
||||
# ls
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -s 1 -d 'Format output as a single column'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -l versions -d 'Show all installed versions'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask ls' -a '(__fish_brew_casks_installed)' -d 'List staged files'
|
||||
|
||||
# outdated
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a outdated -d 'List outdated casks'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l greedy -d 'Include casks having auto_updates true or version :latest'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l quiet -d 'Suppresses the display of versions'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -l verbose -d 'Forces the display of the outdated and latest version'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask outdated' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
# reinstall
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a reinstall -d 'Reinstall cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask reinstall' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
# search
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'search -S' -d 'Search all known casks. RexEx by delimiting using /regex/'
|
||||
|
||||
# style
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a style -d 'Check all or the given casks for correct style using RuboCop'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask style' -l fix -d 'Auto-correct any style errors if possible'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask style' -a '(__fish_brew_casks)'
|
||||
|
||||
# uninstall
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a 'remove rm uninstall' -d 'Uninstall cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask uninstall' -l force -d 'Force the uninstall'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask uninstall' -a '(__fish_brew_casks_installed)'
|
||||
# remove
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask remove' -l force -d 'Force the uninstall'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask remove' -a '(__fish_brew_casks_installed)'
|
||||
# rm
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask rm' -l force -d 'Force the uninstall'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask rm' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
# upgrade
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a upgrade -d 'Upgrade all or given cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -l force -d 'Force upgrade'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -l greedy -d 'Include casks having auto_updates true or version :latest'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask upgrade' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
# zap
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a zap -d 'Unconditionally remove all files associated with the given Cask'
|
||||
complete -f -c brew -n '__fish_brew_is_subcommand_cask zap' -a '(__fish_brew_casks_installed)'
|
||||
|
||||
|
||||
######################
|
||||
# brew cask switches #
|
||||
######################
|
||||
|
||||
# version
|
||||
complete -f -c brew -n '__fish_brew_needs_cask_action' -a --version -d 'Print version number of Caskroom'
|
||||
|
|
Loading…
Reference in a new issue