From 902954d1cc4438e98149d72c878a4fbac3b3d7c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20Cornell=C3=A0?= <marc.cornella@live.com>
Date: Sun, 18 Oct 2020 21:14:05 +0200
Subject: [PATCH] lib: use `column` to format plugin and theme list CLI
 commands

---
 lib/cli.zsh | 42 ++++++++++++++++++------------------------
 1 file changed, 18 insertions(+), 24 deletions(-)

diff --git a/lib/cli.zsh b/lib/cli.zsh
index ff865093d..9421fd19a 100644
--- a/lib/cli.zsh
+++ b/lib/cli.zsh
@@ -135,20 +135,17 @@ function _omz::plugin::list {
     custom_plugins=("$ZSH_CUSTOM"/plugins/*(/N:t))
     builtin_plugins=("$ZSH"/plugins/*(/N:t))
 
-    {
-        (( ${#custom_plugins} )) && {
-            print -Pn "%U%BCustom plugins%b%u: "
-            print -l ${(q-)custom_plugins}
-        }
+    if (( ${#custom_plugins} )); then
+        print -P "%U%BCustom plugins%b%u:"
+        print -l ${(q-)custom_plugins} | column
+    fi
 
-        (( ${#builtin_plugins} )) && {
-            # add a line of separation
-            (( ${#custom_plugins} )) && echo
+    if (( ${#builtin_plugins} )); then
+        (( ${#custom_plugins} )) && echo # add a line of separation
 
-            print -Pn "%U%BBuilt-in plugins%b%u: "
-            print -l ${(q-)builtin_plugins}
-        }
-    } | fmt -w $COLUMNS | sed -E $'s/\e?(\\[[0-9]*m)/\e\\1/g' # deal with fmt removing ESC
+        print -P "%U%BBuilt-in plugins%b%u:"
+        print -l ${(q-)builtin_plugins} | column
+    fi
 }
 
 function _omz::pr {
@@ -308,20 +305,17 @@ function _omz::theme::list {
     custom_themes=("$ZSH_CUSTOM"/**/*.zsh-theme(.N:r:gs:"$ZSH_CUSTOM"/themes/:::gs:"$ZSH_CUSTOM"/:::))
     builtin_themes=("$ZSH"/themes/*.zsh-theme(.N:t:r))
 
-    {
-        (( ${#custom_themes} )) && {
-            print -Pn "%U%BCustom themes%b%u: "
-            print -l ${(q-)custom_themes}
-        }
+    if (( ${#custom_themes} )); then
+        print -P "%U%BCustom themes%b%u:"
+        print -l ${(q-)custom_themes} | column
+    fi
 
-        (( ${#builtin_themes} )) && {
-            # add a line of separation
-            (( ${#custom_themes} )) && echo
+    if (( ${#builtin_themes} )); then
+        (( ${#custom_themes} )) && echo # add a line of separation
 
-            print -Pn "%U%BBuilt-in themes%b%u: "
-            print -l ${(q-)builtin_themes}
-        }
-    } | fmt -w $COLUMNS | sed -E $'s/\e?(\\[[0-9]*m)/\e\\1/g' # deal with fmt removing ESC
+        print -P "%U%BBuilt-in themes%b%u:"
+        print -l ${(q-)builtin_themes} | column
+    fi
 }
 
 function _omz::theme::use {