diff options
author | Kamil Dudka <kdudka@redhat.com> | 2009-03-24 12:16:20 +0100 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2009-03-24 16:11:00 +0000 |
commit | 2827bb5704a153a0b4ac9c4af8b83ed015012f68 (patch) | |
tree | e22a1019643c9de53f2e20af99edc07ee1d47ebb | |
parent | d1df6ef183a651c82b719c3eef6f81b899109a7e (diff) | |
download | coreutils-2827bb5704a153a0b4ac9c4af8b83ed015012f68.tar.xz |
ls: make it possible to disable coloring of hard links
* src/ls.c (print_color_indicator): Don't color hard links if disabled
(when there is an empty hl= in the LS_COLORS environment variable).
* tests/ls/hardlink: Add test case for disabled hard link highlighting.
* NEWS: Mention the change.
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | src/ls.c | 2 | ||||
-rwxr-xr-x | tests/ls/hardlink | 22 |
3 files changed, 24 insertions, 4 deletions
@@ -38,6 +38,10 @@ GNU coreutils NEWS -*- outline -*- cp -a now tries to preserve extended attributes (xattr), but does not diagnose xattr-preservation failure. However, cp --preserve=all still does. + ls --color: hard link highlighting can be now disabled by changing the + LS_COLORS environment variable. To disable it you can add something like + this to your profile: eval `dircolors | sed s/hl=[^:]*:/hl=:/` + * Noteworthy changes in release 7.1 (2009-02-21) [stable] @@ -4008,7 +4008,7 @@ print_color_indicator (const char *name, mode_t mode, int linkok, type = C_CAP; else if ((mode & S_IXUGO) != 0) type = C_EXEC; - else if (1 < nlink) + else if (is_colored (C_HARDLINK) && (1 < nlink)) type = C_HARDLINK; } else if (S_ISDIR (mode)) diff --git a/tests/ls/hardlink b/tests/ls/hardlink index d65bb7a95..b12091466 100755 --- a/tests/ls/hardlink +++ b/tests/ls/hardlink @@ -26,19 +26,35 @@ working_umask_or_skip_ touch file file1 || framework_failure ln file1 file2 || skip_test_ "can't create hard link" -code='44;37' +code_hl='44;37' +code_png='01;35' fail=0 # regular file - not hard linked -LS_COLORS="hl=$code" ls -U1 --color=always file > out || fail=1 +LS_COLORS="hl=$code_hl" ls -U1 --color=always file > out || fail=1 printf "file\n" > out_ok || fail=1 compare out out_ok || fail=1 # hard links -LS_COLORS="hl=$code" ls -U1 --color=always file1 file2 > out || fail=1 +LS_COLORS="hl=$code_hl" ls -U1 --color=always file1 file2 > out || fail=1 printf "\033[0m\033[44;37mfile1\033[0m \033[44;37mfile2\033[0m \033[m" > out_ok || fail=1 compare out out_ok || fail=1 +# hard links and png +mv file2 file2.png || framework_failure +LS_COLORS="hl=$code_hl:*.png=$code_png" ls -U1 --color=always file1 file2.png > out || fail=1 +printf "\033[0m\033[44;37mfile1\033[0m +\033[44;37mfile2.png\033[0m +\033[m" > out_ok || fail=1 +compare out out_ok || fail=1 + +# hard links and png (hard links highlighting disabled) +LS_COLORS="hl=:*.png=$code_png" ls -U1 --color=always file1 file2.png > out || fail=1 +printf "file1 +\033[0m\033[01;35mfile2.png\033[0m +\033[m" > out_ok || fail=1 +compare out out_ok || fail=1 + Exit $fail |