Add brew casks command

This commit is contained in:
Kid 2020-12-25 22:32:48 +08:00
parent ff931c2f2c
commit 98c968ea2f
8 changed files with 42 additions and 7 deletions

View File

@ -55,6 +55,7 @@ case "$*" in
--cache) echo "$HOMEBREW_CACHE"; exit 0 ;;
shellenv) source "$HOMEBREW_LIBRARY/Homebrew/cmd/shellenv.sh"; homebrew-shellenv; exit 0 ;;
formulae) source "$HOMEBREW_LIBRARY/Homebrew/cmd/formulae.sh"; homebrew-formulae; exit 0 ;;
casks) source "$HOMEBREW_LIBRARY/Homebrew/cmd/casks.sh"; homebrew-casks; exit 0 ;;
esac
#####

View File

@ -0,0 +1,29 @@
#: * `casks`
#:
#: List all locally installable casks including short names.
#:
homebrew-casks() {
local casks
local sed_extended_regex_flag
if [[ -n "$HOMEBREW_MACOS" ]]; then
sed_extended_regex_flag="-E"
else
sed_extended_regex_flag="-r"
fi
casks="$( \
find "$HOMEBREW_REPOSITORY/Library/Taps" \
-maxdepth 4 -path '*/Casks/*.rb' | \
sed "$sed_extended_regex_flag" \
-e 's/\.rb//g' \
-e 's_.*/Taps/(.*)/(home|linux)brew-_\1/_' \
-e 's|/Casks/|/|' \
)"
local shortnames
shortnames="$(echo "$casks" | cut -d "/" -f 3)"
echo -e "$casks\n$shortnames" | \
grep -v '^homebrew/cask' | \
sort -uf
}

View File

@ -656,12 +656,9 @@ __brew_caskcomp ()
__brew_cask_complete_formulae ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
local lib=$(brew --repository)/Library
local taps=${lib}/Taps
local casks=${lib}/Taps/homebrew/homebrew-cask/Casks
local ff=$(\ls ${casks} 2>/dev/null | \sed 's/\.rb//g')
local casks=$(brew casks)
COMPREPLY=($(compgen -W "$ff" -- "$cur"))
COMPREPLY=($(compgen -W "$casks" -- "$cur"))
}
__brew_cask_complete_installed ()

View File

@ -206,7 +206,7 @@ function __fish_brew_suggest_casks_outdated -d "Lists outdated casks with the in
end
function __fish_brew_suggest_casks_all -d "Lists locally available casks"
brew search --cask
brew casks
end

View File

@ -20,6 +20,7 @@ bump-formula-pr
bump-revision
bump-unversioned-casks
cask
casks
cat
cleanup
command

View File

@ -18,7 +18,7 @@ __brew_all_casks() {
local comp_cachename=brew_casks
if ! _retrieve_cache $comp_cachename; then
list=( $(brew search --cask) )
list=( $(brew casks) )
_store_cache $comp_cachename list
fi

View File

@ -65,6 +65,10 @@ Uninstall formulae that were only installed as a dependency of another formula a
* `-n`, `--dry-run`:
List what would be uninstalled, but do not actually uninstall anything.
### `casks`
List all locally installable casks including short names.
### `cleanup` [*`options`*] [*`formula`*|*`cask`*]
Remove stale lock files and outdated downloads for all formulae and casks,

View File

@ -60,6 +60,9 @@ Uninstall formulae that were only installed as a dependency of another formula a
\fB\-n\fR, \fB\-\-dry\-run\fR
List what would be uninstalled, but do not actually uninstall anything\.
.
.SS "\fBcasks\fR"
List all locally installable casks including short names\.
.
.SS "\fBcleanup\fR [\fIoptions\fR] [\fIformula\fR|\fIcask\fR]"
Remove stale lock files and outdated downloads for all formulae and casks, and remove old versions of installed formulae\. If arguments are specified, only do this for the given formulae and casks\. Removes all downloads more than 120 days old\. This can be adjusted with \fBHOMEBREW_CLEANUP_MAX_AGE_DAYS\fR\.
.