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 ;; --cache) echo "$HOMEBREW_CACHE"; exit 0 ;;
shellenv) source "$HOMEBREW_LIBRARY/Homebrew/cmd/shellenv.sh"; homebrew-shellenv; 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 ;; 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 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 () __brew_cask_complete_formulae ()
{ {
local cur="${COMP_WORDS[COMP_CWORD]}" local cur="${COMP_WORDS[COMP_CWORD]}"
local lib=$(brew --repository)/Library local casks=$(brew casks)
local taps=${lib}/Taps
local casks=${lib}/Taps/homebrew/homebrew-cask/Casks
local ff=$(\ls ${casks} 2>/dev/null | \sed 's/\.rb//g')
COMPREPLY=($(compgen -W "$ff" -- "$cur")) COMPREPLY=($(compgen -W "$casks" -- "$cur"))
} }
__brew_cask_complete_installed () __brew_cask_complete_installed ()

View File

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

View File

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

View File

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

View File

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