dotfiles/zsh/func/init-rc-ls
Eryn Wells 329db6f6de [zsh] Configure ls(1) colors with environment variables instead of aliases
ls(1) on macOS and FreeBSD is the BSD version of the utility. As such it can be
configured to display directory contents in color using a command line argument
(-G) or environment variables (LSCOLORS). Using environment variables is nice
because it'll work regardless of the arguments you pass, so there's no need to
configure aliases.
2024-11-12 13:47:20 -08:00

27 lines
783 B
Bash

#!/usr/bin/env zsh
# Eryn Wells <eryn@erynwells.me>
function init-rc-ls
{
alias la="ls -A $ls_options"
alias ll="ls -l $ls_options"
alias l.="ls -d $ls_options .*"
# Enable ls colors
export CLICOLOR=1 COLORTERM=1
# Define colors for ls. See the LSCOLORS documentation in ls(1).
# The default is "exfxcxdxbxegedabagacadah".
export LSCOLORS=Exdxcxfxbxegedabagacadah
local dircolors_bin=$(whence -p dircolors || whence -p gdircolors)
if [[ -x "$dircolors_bin" ]]; then
if [[ -f "$HOME/.dircolors/$SYS.cfg" ]]; then
eval $dircolors_bin "$HOME/.dircolors/$SYS.cfg"
elif [[ -f "$HOME/.dircolors/default.cfg" ]]; then
eval $dircolors_bin "$HOME/.dircolors/default.cfg"
fi
fi
}
init-rc-ls "$@"