#1204·lsd

⇒ as field separator for symlinks breaks ls compatibility

Author: polijanCreated Apr 18, 2026Updated Jun 20, 2026
  • os: Linux
  • lsd --version: lsd 1.1.5
  • echo $TERM:
  • echo $LS_COLORS:

Expected behavior

As is implemented by ls and mandated by POSIX, when using the -l option, symbolic links are shown like:
<pathname_of_link> -> <contents_of_link>

Actual behavior

With lsd, symbolic links are always shown like:
<pathname_of_link> <contents_of_link>

Suggestions

Although it is admittedly a bad idea to rely on ls output, some portable scripts (prior to POSIX 2024 which standardized realpath/readlink) do to determine symlinks.

Suggestion: Replace with -> as the separator for symlinks, either always (much simpler that way), or at least when standard output isn't a terminal, and in any case always when invoked with --classic.