diff options
author | Alan Pearce | 2013-09-15 18:04:02 +0100 |
---|---|---|
committer | Alan Pearce | 2013-09-15 18:04:02 +0100 |
commit | 4315126ae683a32d3310f565629309c98cd11f97 (patch) | |
tree | b9b514d92599b89b074eeea0ce37213504722d2d | |
parent | 273902cebbd5a2ded8905ab117341fca05627657 (diff) | |
download | dotfiles-4315126ae683a32d3310f565629309c98cd11f97.tar.lz dotfiles-4315126ae683a32d3310f565629309c98cd11f97.tar.zst dotfiles-4315126ae683a32d3310f565629309c98cd11f97.zip |
zsh: Refactor and improve cross-platform handling of ls options
-rwxr-xr-x | zsh/zshrc | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/zsh/zshrc b/zsh/zshrc index d6ae52e..bbfa930 100755 --- a/zsh/zshrc +++ b/zsh/zshrc @@ -83,13 +83,9 @@ fi case $OSTYPE in *gnu*) os=gnu - ls_options="-v --group-directories-first --color=auto" - ls_isodate="--time-style=long-iso" ;; freebsd*) os=freebsd - ls_options="-p" - ls_isodate="-D '%F %k:%M'" ;; darwin*) os=osx @@ -264,12 +260,33 @@ alias md='mkdir -p' alias rd='rmdir' alias .='source' -if [[ $os == osx ]] -then - ls='\gls' -else - ls='\ls' -fi +ls='\ls' +gnu_ls_options="-v --group-directories-first --color=auto" +gnu_ls_isodate="--time-style=long-iso" +bsd_ls_options="-p" +bsd_ls_isodate="-D '%F %k:%M'" + +case $os in + osx) + if [[ -n $commands[gls] ]] + then + ls='\gls' + ls_options=$gnu_ls_options + ls_isodate=$gnu_ls_isodate + else + ls_options=$bsd_ls_options + ls_isodate=$bsd_ls_isodate + fi + ;; + freebsd) + ls_options=$bsd_ls_options + ls_isodate=$bsd_ls_isodate + ;; + gnu) + ls_options=$gnu_ls_options + ls_isodate=$gnu_ls_isodate + ;; +esac alias l="${ls} ${ls_options} -Bp" alias l1="${ls} ${ls_options} -1" alias ls="${ls} ${ls_options} -hF" |