diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/theme-and-appearance.zsh | 36 | 
1 files changed, 17 insertions, 19 deletions
| diff --git a/lib/theme-and-appearance.zsh b/lib/theme-and-appearance.zsh index d8859b04c..96bdb00e5 100644 --- a/lib/theme-and-appearance.zsh +++ b/lib/theme-and-appearance.zsh @@ -20,10 +20,25 @@ if command diff --color /dev/null{,} &>/dev/null; then    }  fi -  # Don't set ls coloring if disabled  [[ "$DISABLE_LS_COLORS" != true ]] || return 0 +# Default coloring for BSD-based ls +export LSCOLORS="Gxfxcxdxbxegedabagacad" + +# Default coloring for GNU-based ls +if [[ -z "$LS_COLORS" ]]; then +  # Define LS_COLORS via dircolors if available. Otherwise, set a default +  # equivalent to LSCOLORS (generated via https://geoff.greer.fm/lscolors) +  if (( $+commands[dircolors] )); then +    [[ -f "$HOME/.dircolors" ]] \ +      && source <(dircolors -b "$HOME/.dircolors") \ +      || source <(dircolors -b) +  else +    export LS_COLORS="di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43" +  fi +fi +  function test-ls-args {    local cmd="$1"          # ls, gls, colorls, ...    local args="${@[2,-1]}" # arguments except the first one @@ -50,7 +65,7 @@ case "$OSTYPE" in      test-ls-args ls -G && alias ls='ls -G'      # Only use GNU ls if installed and there are user defaults for $LS_COLORS,      # as the default coloring scheme is not very pretty -    [[ -n "$LS_COLORS" || -f "$HOME/.dircolors" ]] \ +    zstyle -T ':omz:lib:theme-and-appearance' gnu-ls \        && test-ls-args gls --color \        && alias ls='gls --color=tty'      ;; @@ -64,20 +79,3 @@ case "$OSTYPE" in  esac  unfunction test-ls-args - - -# Default coloring for BSD-based ls -export LSCOLORS="Gxfxcxdxbxegedabagacad" - -# Default coloring for GNU-based ls -if [[ -z "$LS_COLORS" ]]; then -  # Define LS_COLORS via dircolors if available. Otherwise, set a default -  # equivalent to LSCOLORS (generated via https://geoff.greer.fm/lscolors) -  if (( $+commands[dircolors] )); then -    [[ -f "$HOME/.dircolors" ]] \ -      && source <(dircolors -b "$HOME/.dircolors") \ -      || source <(dircolors -b) -  else -    export LS_COLORS="di=1;36:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43" -  fi -fi | 
