]> git.pld-linux.org Git - packages/coreutils.git/commitdiff
- cleanup and update colorls scripts for 256 color terminals
authorJan Rękorajski <baggins@pld-linux.org>
Sun, 9 Feb 2014 12:41:44 +0000 (13:41 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Sun, 9 Feb 2014 12:41:44 +0000 (13:41 +0100)
colorls.csh
colorls.sh

index 4b7249ead106e4f9d59cdd7da2ac0596105cdb0b..267470ef5d8ff7f7e6d3a4f178f99ac20eca9c36 100644 (file)
@@ -1,32 +1,32 @@
-set SYS_RC_FILE=/etc/DIR_COLORS
+# skip everything for non-interactive shells
+if (! $?prompt) exit
+
+if ( "`tty -s && tput colors 2>/dev/null`" == "256" ) then
+       set RC_FILE="/etc/DIR_COLORS.256color"
+else
+       set RC_FILE="/etc/DIR_COLORS"
+endif
 set USER_RC_FILE=$HOME/.dir_colors
-set DEF_COLOR_MODE=tty
+set DEF_COLOR_MODE=auto
 
 set COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $SYS_RC_FILE`
 
-test -r $USER_RC_FILE
-if ($status == 0) then
+if ( -r $USER_RC_FILE ) then
        set COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $USER_RC_FILE`
+       set RC_FILE=$USER_RC_FILE
 endif
 
 # 'all' argument for 'ls --color=' is no longer valid
-test "$COLOR_MODE" = all
-if ($status == 0) then
+if ( "$COLOR_MODE" == "all" ) then
        set COLOR_MODE=always
 endif
 
-test -z "$COLOR_MODE"
-if ($status == 0) then
+if ( "$COLOR_MODE" == '') then
        set COLOR_MODE=$DEF_COLOR_MODE
 endif
 
 alias ls "ls --color=$COLOR_MODE"
 
-test -r $USER_RC_FILE
-if ($status == 0) then
-       eval `/usr/bin/dircolors -c $USER_RC_FILE`
-else   
-       eval `/usr/bin/dircolors -c $SYS_RC_FILE`
-endif
+eval `/usr/bin/dircolors -c $RC_FILE`
 
-unset SYS_RC_FILE USER_RC_FILE DEF_COLOR_MODE
+unset RC_FILE USER_RC_FILE DEF_COLOR_MODE COLOR_MODE
index d28d074d9ba421cd2d505d74cb1890254c6cdc22..32d3cd39f0c877af4e83acbef872c52ff8400e10 100644 (file)
@@ -1,10 +1,20 @@
-SYS_RC_FILE=/etc/DIR_COLORS
+# Skip all for noninteractive shells.
+[ -z "$PS1" ] && return
+
+if [ "`tty -s && tput colors 2>/dev/null`" = "256" ]; then
+       RC_FILE="/etc/DIR_COLORS.256color"
+else
+       RC_FILE="/etc/DIR_COLORS"
+fi
 USER_RC_FILE=$HOME/.dir_colors
-DEF_COLOR_MODE=tty
+DEF_COLOR_MODE=auto
 
-COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $SYS_RC_FILE`
+COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $RC_FILE`
 
-[ -r $USER_RC_FILE ] && COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $USER_RC_FILE`
+if [ -r $USER_RC_FILE ]; then
+       COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $USER_RC_FILE`
+       RC_FILE=$USER_RC_FILE
+fi
 
 # 'all' argument for 'ls --color=' is no longer valid
 [ "$COLOR_MODE" = all ] && COLOR_MODE=always
@@ -13,10 +23,6 @@ COLOR_MODE=`awk '/^COLOR/{c=$2} END{print c}' $SYS_RC_FILE`
 
 alias ls="ls --color=$COLOR_MODE"
 
-if [ -r $USER_RC_FILE ]; then
-       eval `/usr/bin/dircolors -b $USER_RC_FILE`
-else   
-       eval `/usr/bin/dircolors -b $SYS_RC_FILE`
-fi
+eval `/usr/bin/dircolors -b $RC_FILE`
 
-unset SYS_RC_FILE USER_RC_FILE DEF_COLOR_MODE COLOR_MODE
+unset RC_FILE USER_RC_FILE DEF_COLOR_MODE COLOR_MODE
This page took 0.118781 seconds and 4 git commands to generate.