Targets of symbolic links should be highlighted as individual files
Current behaviour was observed across the following systems:
- os: macOS 12.6
- `lsd --version`: lsd 0.23.1
- `echo $TERM`: xterm-256color
- `echo $LS_COLORS`: fi=0:ex=1;32:su=1;4;32:sg=1;4;32:di=1;34:st=1;34:tw=1;4;34:ow=1;4;34:ln=1;36:or=1;4;36:mi=1;31:pi=35:bd=1;35:cd=1;35:so=1;35
- os: Alpine Linux edge (3.17_alpha20220715)
- `lsd --version`: lsd 0.23.1
- `echo $TERM`: xterm
- `echo $LS_COLORS`: fi=0:ex=1;32:su=1;4;32:sg=1;4;32:di=1;34:st=1;34:tw=1;4;34:ow=1;4;34:ln=1;36:or=1;4;36:mi=1;31:pi=35:bd=1;35:cd=1;35:so=1;35
Expected behaviour
When doing a long list of files in a directory (ls -l) GNU ls uses mi attribute of LS_COLORS to highlight an invalid target of a link. For valid links, the target is highlighted as per LS_COLORS, as if it was just another directory item.
This makes it very easy to identify what kind of item the link is pointing to, eg: a normal file, a socket, a directory, or another symlink.
It would be nice if lsd followed the same highlighting pattern.
Actual behaviour
lsd behaves correctly when highlighting invalid links target, ie: it follows the colours defined for mi in LS_COLORS. However, a target of a valid link is always highlighted as a link (ln in LS_COLORS), irrespective of what item the link is actually pointing to.
+1 This would be a very nice enhancement.