5e45c16701f35cee3764bde8faf2427ecff0d026

Author
Robby Russell <robby@planetargon.com>
Committer
Robby Russell <robby@planetargon.com>
Date

Message

Merge pull request #2751 from drm00/fix-openbsd-colorls

add check for colored ls on openbsd. (retry of #2225)

Diff

 1diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh
 2index 926303ca4509cd89bbc30187fd99879c1fbeb771..ebb11fb3185cef97ef29c8b6f11174c7669986ac 100644
 3--- a/lib/theme-and-appearance.zsh
 4+++ b/lib/theme-and-appearance.zsh
 5@@ -11,8 +11,11 @@ then
 6     # otherwise, leave ls as is, because NetBSD's ls doesn't support -G
 7     gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
 8   elif [[ "$(uname -s)" == "OpenBSD" ]]; then
 9-    # On OpenBSD, test if "colorls" is installed (this one supports colors);
10-    # otherwise, leave ls as is, because OpenBSD's ls doesn't support -G
11+    # On OpenBSD, "gls" (ls from GNU coreutils) and "colorls" (ls from base, 
12+    # with color and multibyte support) are available from ports.  "colorls"  
13+    # will be installed on purpose and can't be pulled in by installing 
14+    # coreutils, so prefer it to "gls".
15+    gls --color -d . &>/dev/null 2>&1 && alias ls='gls --color=tty'
16     colorls -G -d . &>/dev/null 2>&1 && alias ls='colorls -G'
17   else
18     ls --color -d . &>/dev/null 2>&1 && alias ls='ls --color=tty' || alias ls='ls -G'