From 904f8685f75ff5dd3f544f8c6f2cabb8e5952e9a Mon Sep 17 00:00:00 2001 From: Ming Aldrich-Gan Date: Fri, 17 Dec 2021 18:15:39 -0600 Subject: [PATCH] feat(brew): improve `brews` list layout (#10135) This is an improvement (in my opinion) to the `brews` command that prints each leaf formula (in white), followed by its dependencies (in blue), on each line. Compared to the existing flat list of formulae, the new layout is both more compact and more informative, by differentiating leaves from dependencies at a glance. Screenshot: --- plugins/brew/brew.plugin.zsh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugins/brew/brew.plugin.zsh b/plugins/brew/brew.plugin.zsh index 532dd9be7..070a083d0 100644 --- a/plugins/brew/brew.plugin.zsh +++ b/plugins/brew/brew.plugin.zsh @@ -1,5 +1,4 @@ alias brewp='brew pin' -alias brews='brew list -1' alias brewsp='brew list --pinned' alias bubo='brew update && brew outdated' alias bubc='brew upgrade && brew cleanup' @@ -7,3 +6,16 @@ alias bubu='bubo && bubc' alias buf='brew upgrade --formula' alias bcubo='brew update && brew outdated --cask' alias bcubc='brew upgrade --cask && brew cleanup' + +function brews() { + local formulae="$(brew leaves | xargs brew deps --installed --for-each)" + local casks="$(brew list --cask)" + + local blue="$(tput setaf 4)" + local bold="$(tput bold)" + local off="$(tput sgr0)" + + echo "${blue}==>${off} ${bold}Formulae${off}" + echo "${formulae}" | sed "s/^\(.*\):\(.*\)$/\1${blue}\2${off}/" + echo "\n${blue}==>${off} ${bold}Casks${off}\n${casks}" +}