Skip to content

bug: eza -alF . regressed with clap #1885

Description

@danielzgtg

My .bashrc has alias ls='eza -alF', converted from exa -alF, converted from ls -alF. Commit fc0ba14 caused that backwards compatibility with GNU ls and exa to stop working.

Expected behavior

home@daniel-desktop3:~$ gnuls -alF /
total 56
drwxr-xr-x  19 root root  4096 Jul 20 20:31 ./
drwxr-xr-x  19 root root  4096 Jul 20 20:31 ../
lrwxrwxrwx   1 root root     7 Nov  4  2022 bin -> usr/bin/
drwxr-xr-x   5 root root  4096 Jul 21 20:41 boot/
drwxr-xr-x   2 root root    60 Nov  4  2022 cdrom/
drwxr-xr-x  21 root root  4840 Jul 22 08:15 dev/
drwxr-xr-x 183 root root 12288 Jul 21 22:33 etc/
drwxr-xr-x  13 root root  4096 May 15 18:07 home/
lrwxrwxrwx   1 root root     7 Nov  4  2022 lib -> usr/lib/
lrwxrwxrwx   1 root root     9 Sep  2  2024 lib32 -> usr/lib32/
lrwxrwxrwx   1 root root     9 Nov  4  2022 lib64 -> usr/lib64/
lrwxrwxrwx   1 root root    10 Sep  2  2024 libx32 -> usr/libx32/
drwx------   2 root root 12288 Nov  4  2022 lost+found/
drwxr-xr-x   2 root root    60 Nov  4  2022 media/
drwxr-xr-x   2 root root    60 Oct 20  2022 mnt/
drwxr-xr-x  13 root root  4096 Jul 21 09:09 opt/
dr-xr-xr-x 588 root root     0 Jul 22 07:59 proc/
drwx------  12 root root  4096 Jul 21 09:01 root/
drwxr-xr-x  43 root root  1000 Jul 22 07:59 run/
lrwxrwxrwx   1 root root     8 Nov  4  2022 sbin -> usr/sbin/
drwxr-xr-x   2 root root    60 Oct 20  2022 srv/
dr-xr-xr-x  13 root root     0 Jul 22 20:14 sys/
drwxrwxrwt  58 root root  1220 Jul 22 20:10 tmp/
drwxr-xr-x  18 root root  4096 Apr 23 21:14 usr/
drwxr-xr-x  19 root root  4096 May  8 14:54 var/
home@daniel-desktop3:~/CLionProjects/eza$ git rev-parse HEAD
d6579fcc8d525be6691bc9e353182bcf890ad697
home@daniel-desktop3:~/CLionProjects/eza$ cargo run -- -alF /
[...]
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.05s
     Running `target/debug/eza -alF /`
lrwxrwxrwx - root  4 Nov  2022 bin -> usr/bin/
drwxr-xr-x - root 21 Jul 20:41 boot/
drwxr-xr-x - root  4 Nov  2022 cdrom/
drwxr-xr-x - root 22 Jul 08:15 dev/
drwxr-xr-x - root 21 Jul 22:33 etc/
drwxr-xr-x - root 15 May 18:07 home/
lrwxrwxrwx - root  4 Nov  2022 lib -> usr/lib/
lrwxrwxrwx - root  2 Sep  2024 lib32 -> usr/lib32/
lrwxrwxrwx - root  4 Nov  2022 lib64 -> usr/lib64/
lrwxrwxrwx - root  2 Sep  2024 libx32 -> usr/libx32/
drwx------ - root  4 Nov  2022 lost+found/
drwxr-xr-x - root  4 Nov  2022 media/
drwxr-xr-x - root 20 Oct  2022 mnt/
drwxr-xr-x - root 21 Jul 09:09 opt/
dr-xr-xr-x - root 22 Jul 07:59 proc/
drwx------ - root 21 Jul 09:01 root/
drwxr-xr-x - root 22 Jul 07:59 run/
lrwxrwxrwx - root  4 Nov  2022 sbin -> usr/sbin/
drwxr-xr-x - root 20 Oct  2022 srv/
dr-xr-xr-x - root 22 Jul 20:14 sys/
drwxrwxrwt - root 22 Jul 20:10 tmp/
drwxr-xr-x - root 23 Apr 21:14 usr/
drwxr-xr-x - root  8 May 14:54 var/

I noticed that previously eza: Flag -F cannot take a value, but now it can take a value. I don't know what should happen to users who installed it starting in 2026 and expect it to continue taking a value.

Actual behavior

home@daniel-desktop3:~$ eza --version
eza eza - A modern, maintained replacement for ls
v0.23.5 [+git]
https://github.com/eza-community/eza
home@daniel-desktop3:~$ eza -alF /
error: invalid value '/' for '--classify [<WHEN>]'
  [possible values: always, auto, never]

For more information, try '--help'.

I want eza to continue to be a drop-in replacement for exa, if not gnuls. Something that worked before 2025 should continue working.

  • The version of eza being used (eza --version): v0.23.5 [+git]
  • The command-line arguments you are using: eza -alF .
  • Your shell and terminal: Bash
  • Your operating system and hardware platform: Ubuntu 26.04, AMD

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working as intended

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions