mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-19 12:20:09 +00:00
Check dircolors settings before using gls on darwin (#5570)
`gls` seems to be installed by default or on most macOS systems, but its default color scheme sucks. This fix will make sure to only use it if it has been customised prior to running OMZ. Related: #5516, #5520.
This commit is contained in:
parent
73591101b6
commit
1b799e9762
1 changed files with 8 additions and 1 deletions
|
@ -4,6 +4,8 @@ autoload -U colors && colors
|
||||||
# Enable ls colors
|
# Enable ls colors
|
||||||
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
export LSCOLORS="Gxfxcxdxbxegedabagacad"
|
||||||
|
|
||||||
|
# TODO organise this chaotic logic
|
||||||
|
|
||||||
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
# Find the option for using colors in ls, depending on the version
|
# Find the option for using colors in ls, depending on the version
|
||||||
if [[ "$OSTYPE" == netbsd* ]]; then
|
if [[ "$OSTYPE" == netbsd* ]]; then
|
||||||
|
@ -18,7 +20,12 @@ if [[ "$DISABLE_LS_COLORS" != "true" ]]; then
|
||||||
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
colorls -G -d . &>/dev/null && alias ls='colorls -G'
|
||||||
elif [[ "$OSTYPE" == darwin* ]]; then
|
elif [[ "$OSTYPE" == darwin* ]]; then
|
||||||
gls --color -d . &>/dev/null && alias ls='gls --color=tty' || alias ls='ls -G'
|
# this is a good alias, it works by default just using $LSCOLORS
|
||||||
|
alias ls='ls -G'
|
||||||
|
|
||||||
|
# only use coreutils ls if there is a dircolors customization present ($LS_COLORS or .dircolors file)
|
||||||
|
# otherwise, gls will use the default color scheme which is ugly af
|
||||||
|
[[ -n "$LS_COLORS" || -f "$HOME/.dircolors" ]] && gls --color -d . &>/dev/null && alias ls='gls --color=tty'
|
||||||
else
|
else
|
||||||
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
# For GNU ls, we use the default ls color theme. They can later be overwritten by themes.
|
||||||
if [[ -z "$LS_COLORS" ]]; then
|
if [[ -z "$LS_COLORS" ]]; then
|
||||||
|
|
Loading…
Reference in a new issue