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.
27 lines
783 B
Bash
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 "$@"
|