summaryrefslogtreecommitdiffstats
path: root/source/a/coreutils/coreutils-dircolors.sh
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/coreutils/coreutils-dircolors.sh')
-rw-r--r--source/a/coreutils/coreutils-dircolors.sh47
1 files changed, 18 insertions, 29 deletions
diff --git a/source/a/coreutils/coreutils-dircolors.sh b/source/a/coreutils/coreutils-dircolors.sh
index 728ea7452..fc848c6fc 100644
--- a/source/a/coreutils/coreutils-dircolors.sh
+++ b/source/a/coreutils/coreutils-dircolors.sh
@@ -6,13 +6,7 @@
# -F = show '/' for dirs, '*' for executables, etc.
# -T 0 = don't trust tab spacing when formatting ls output.
# -b = better support for special characters
-if [ "$SHELL" != "/bin/zsh" ]; then
- # Edit options below for all sh-like shells except zsh:
- OPTIONS="-F -b -T 0"
-else
- # If you use zsh, edit the options below instead:
- OPTIONS=( -F -b -T 0 )
-fi
+OPTIONS="-F -b -T 0"
# COLOR needs one of these arguments:
# 'auto' colorizes output to ttys, but not pipes.
@@ -20,14 +14,11 @@ fi
# 'never' shuts colorization off.
COLOR=auto
+
# This section shouldn't require any user adjustment since it is
# simply setting the LS_OPTIONS variable using the information
# already given above:
-if [ "$SHELL" = "/bin/zsh" ]; then
- LS_OPTIONS=( $OPTIONS --color=$COLOR );
-else
- LS_OPTIONS=" $OPTIONS --color=$COLOR ";
-fi
+LS_OPTIONS="$OPTIONS --color=$COLOR";
export LS_OPTIONS;
unset COLOR
unset OPTIONS
@@ -36,23 +27,21 @@ unset OPTIONS
# aliases like 'dir', 'vdir', etc, are some ancient artifacts
# from 1992 or so... possibly they should be disabled, but maybe
# someone out there is actually using them? :-)
-# Assume shell aliases are supported. Ash is going to freak out
-# when it sees zsh syntax anyway, so whatever.
-alias ls='/bin/ls $LS_OPTIONS';
-alias dir='/bin/ls $LS_OPTIONS --format=vertical';
-alias vdir='/bin/ls $LS_OPTIONS --format=long';
-alias d=dir;
-alias v=vdir;
-
-# Just for fun, here are the old sh/ash style shell functions.
-# this script isn't currently working with ash (and makes some noisy
-# error messages), but perhaps these will still be of use to
-# someone...
-#ls () { /bin/ls $LS_OPTIONS "$@" ; };
-#dir () { /bin/ls $LS_OPTIONS --format=vertical "$@" ; };
-#vdir () { /bin/ls $LS_OPTIONS --format=long "$@" ; };
-#d () { dir "$@" ; };
-#v () { vdir "$@" ; };
+# Assume shell aliases are supported.
+if [ "$SHELL" = "/bin/zsh" ] ; then
+ # By default, zsh doesn't split parameters into separate words
+ # when it encounters whitespace. The '=' flag will fix this.
+ # see zshexpn(1) man-page regarding SH_WORD_SPLIT.
+ alias ls='/bin/ls ${=LS_OPTIONS}'
+ alias dir='/bin/ls ${=LS_OPTIONS} --format=vertical'
+ alias vdir='/bin/ls ${=LS_OPTIONS} --format=long'
+else
+ alias ls='/bin/ls $LS_OPTIONS'
+ alias dir='/bin/ls $LS_OPTIONS --format=vertical'
+ alias vdir='/bin/ls $LS_OPTIONS --format=long'
+fi
+alias d=dir
+alias v=vdir
# Set up the LS_COLORS environment:
if [ -f $HOME/.dir_colors ]; then