feat!: define -d/--treat-dirs-as-files behavior, tests
Some checks are pending
Unit tests / security_audit (push) Waiting to run
Unit tests / check_if_pr (push) Waiting to run
Unit tests / no-merge-commits (push) Blocked by required conditions
Unit tests / Conventional Commits (push) Blocked by required conditions
Unit tests / unit-tests (macos-latest, beta) (push) Blocked by required conditions
Unit tests / unit-tests (macos-latest, msrv) (push) Blocked by required conditions
Unit tests / unit-tests (macos-latest, nightly) (push) Blocked by required conditions
Unit tests / unit-tests (macos-latest, stable) (push) Blocked by required conditions
Unit tests / unit-tests (ubuntu-latest, beta) (push) Blocked by required conditions
Unit tests / unit-tests (ubuntu-latest, msrv) (push) Blocked by required conditions
Unit tests / unit-tests (ubuntu-latest, nightly) (push) Blocked by required conditions
Unit tests / unit-tests (ubuntu-latest, stable) (push) Blocked by required conditions
Unit tests / unit-tests (windows-latest, beta) (push) Blocked by required conditions
Unit tests / unit-tests (windows-latest, msrv) (push) Blocked by required conditions
Unit tests / unit-tests (windows-latest, nightly) (push) Blocked by required conditions
Unit tests / unit-tests (windows-latest, stable) (push) Blocked by required conditions
Unit tests / unit-tests-freebsd (beta) (push) Blocked by required conditions
Unit tests / unit-tests-freebsd (msrv) (push) Blocked by required conditions
Unit tests / unit-tests-freebsd (nightly) (push) Blocked by required conditions
Unit tests / unit-tests-freebsd (stable) (push) Blocked by required conditions
Unit tests / unit-tests-netbsd (beta) (push) Blocked by required conditions
Unit tests / unit-tests-netbsd (msrv) (push) Blocked by required conditions
Unit tests / unit-tests-netbsd (nightly) (push) Blocked by required conditions
Unit tests / unit-tests-netbsd (stable) (push) Blocked by required conditions
Unit tests / unit-tests-openbsd (push) Blocked by required conditions
Unit tests / Check Nix Flake (push) Blocked by required conditions
Unit tests / Build Nix package (push) Blocked by required conditions

BREAKING CHANGE: The behavior of the `-d` flag has been refined to be more
consistent with `ls`. Its long flag has been changed to `--treat-dirs-as-files`
for clarity, while `--list-dirs` is retained as a backward-compatible alias to be
removed in a future release.

Based on the preious commit by cysabi, this commit addresses
inconsistencies and ambiguities related to the `-d` flag and its
long-flag variants.

The behavior of `-d` has been aligned more closely with `ls`, where it
lists directories as regular files rather than listing contents of
directories. The new, more descriptive long flag `--treat-dirs-as-files`
clarifies this intent.

A backward-compatible alias `--list-dirs` is provided to ease the
transition for existing users, with the intention of deprecating it
later.

Since cysabi's fix included addresing `eza -TL 1` not correctly
rendering the tree depth, this also includes tests to ensure that
behavior doesn't regress in the future... again.

Specifically, `powertest` integration tests have been added for `eza
-TL<value>` for levels 0 through 5, ensuring the correct tree structure
output at specified depths. This also includes tests for the updated
`-d`/`--treat-dirs-as-files` behavior.

It is also noted that for users who primarily intend to list only directories,
the `--only-dirs` (`-D`) option might be a more suitable and explicit alternative
to `--treat-dirs-as-files`. This has been added to the man page as well
as a more verbose description of the flag.

Completions have also been fixed.
This commit is contained in:
Christina Sørensen 2025-06-27 11:38:30 +02:00 committed by Christina Sørensen
parent 2864323c53
commit 7f081337bd
78 changed files with 154 additions and 134 deletions

View file

@ -58,7 +58,7 @@ _eza() {
# _parse_help doesnt pick up short options when they are on the same line than long options # _parse_help doesnt pick up short options when they are on the same line than long options
--*) --*)
# colo[u]r isnt parsed correctly so we filter these options out and add them by hand # colo[u]r isnt parsed correctly so we filter these options out and add them by hand
parse_help=$(eza --help | grep -oE ' (--[[:alnum:]@-]+)' | tr -d ' ' | grep -v '\--colo') parse_help=$(eza --help | grep -oE ' (--[[:alnum:]@-]+)' | tr -d ' ' | grep -v '\--colo' | grep -v '\--list-dirs')
completions=$(echo '--color --colour --color-scale --colour-scale --color-scale-mode --colour-scale-mode' "$parse_help") completions=$(echo '--color --colour --color-scale --colour-scale --color-scale-mode --colour-scale-mode' "$parse_help")
mapfile -t COMPREPLY < <(compgen -W "$completions" -- "$cur") mapfile -t COMPREPLY < <(compgen -W "$completions" -- "$cur")
;; ;;

View file

@ -52,7 +52,7 @@ complete -c eza -l group-directories-last -d "Sort directories after other files
complete -c eza -l git-ignore -d "Ignore files mentioned in '.gitignore'" complete -c eza -l git-ignore -d "Ignore files mentioned in '.gitignore'"
complete -c eza -s a -l all -d "Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories" complete -c eza -s a -l all -d "Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories"
complete -c eza -s A -l almost-all -d "Equivalent to --all; included for compatibility with `ls -A`" complete -c eza -s A -l almost-all -d "Equivalent to --all; included for compatibility with `ls -A`"
complete -c eza -s d -l list-dirs -d "List directories like regular files" complete -c eza -s d -l treat-dirs-as-files -d "List directories like regular files"
complete -c eza -s L -l level -d "Limit the depth of recursion" -x -a "1 2 3 4 5 6 7 8 9" complete -c eza -s L -l level -d "Limit the depth of recursion" -x -a "1 2 3 4 5 6 7 8 9"
complete -c eza -s w -l width -d "Limits column output of grid, 0 implies auto-width" complete -c eza -s w -l width -d "Limits column output of grid, 0 implies auto-width"
complete -c eza -s r -l reverse -d "Reverse the sort order" complete -c eza -s r -l reverse -d "Reverse the sort order"

View file

@ -25,7 +25,7 @@ export extern "eza" [
--git-ignore # Ignore files mentioned in '.gitignore' --git-ignore # Ignore files mentioned in '.gitignore'
--all(-a) # Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories --all(-a) # Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories
--almost-all(-A) # Equivalent to --all; included for compatibility with `ls -A` --almost-all(-A) # Equivalent to --all; included for compatibility with `ls -A`
--list-dirs(-d) # List directories like regular files --treat-dirs-as-files(-d) # List directories like regular files
--level(-L): string # Limit the depth of recursion --level(-L): string # Limit the depth of recursion
--width(-w) # Limits column output of grid, 0 implies auto-width --width(-w) # Limits column output of grid, 0 implies auto-width
--reverse(-r) # Reverse the sort order --reverse(-r) # Reverse the sort order

View file

@ -33,7 +33,7 @@ __eza() {
--git-ignore"[Ignore files mentioned in '.gitignore']" \ --git-ignore"[Ignore files mentioned in '.gitignore']" \
{-a,--all}"[Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories]" \ {-a,--all}"[Show hidden and 'dot' files. Use this twice to also show the '.' and '..' directories]" \
{-A,--almost-all}"[Equivalent to --all; included for compatibility with \'ls -A\']" \ {-A,--almost-all}"[Equivalent to --all; included for compatibility with \'ls -A\']" \
{-d,--list-dirs}"[List directories like regular files]" \ {-d,--treat-dirs-as-files}"[List directories like regular files]" \
{-D,--only-dirs}"[List only directories]" \ {-D,--only-dirs}"[List only directories]" \
--no-symlinks"[Do not show symbolic links]" \ --no-symlinks"[Do not show symbolic links]" \
--show-symlinks"[Explictly show symbolic links: for use with '--only-dirs'| '--only-files']" \ --show-symlinks"[Explictly show symbolic links: for use with '--only-dirs'| '--only-files']" \

View file

@ -139,8 +139,14 @@ Use this twice to also show the `.` and `..` directories.
`-A`, `--almost-all` `-A`, `--almost-all`
: Equivalent to --all; included for compatibility with `ls -A`. : Equivalent to --all; included for compatibility with `ls -A`.
`-d`, `--list-dirs` `-d`, `--treat-dirs-as-files`
: List directories as regular files, rather than recursing and listing their contents. : This flag, inherited from `ls`, changes how `eza` handles directory arguments.
: Instead of recursing into directories and listing their contents (the default behavior), it treats directories as regular files and lists information about the directory entry itself.
: This is useful when you want to see metadata about the directory (e.g., permissions, size, modification time) rather than its contents.
: For simply listing only directories and not files, consider using the `--only-dirs` (`-D`) option as an alternative.
`-L`, `--level=DEPTH` `-L`, `--level=DEPTH`
: Limit the depth of recursion. : Limit the depth of recursion.

View file

@ -91,12 +91,16 @@ commands:
- --almost-all - --almost-all
: :
? - -d ? - -d
- --treat-dirs-as-files
:
? - null
- --list-dirs - --list-dirs
: :
? - -L ? - -L # Hidden alias
- --level - --level
: prefix: --tree : prefix: -T
values: values:
- 0
- 1 - 1
- 2 - 2
- 3 - 3

View file

@ -277,9 +277,7 @@ impl Exa<'_> {
continue; continue;
} }
if f.points_to_directory() if f.points_to_directory() && !self.options.dir_action.treat_dirs_as_files() {
&& (f.name == "." || !self.options.dir_action.treat_dirs_as_files())
{
trace!("matching on new Dir"); trace!("matching on new Dir");
dirs.push(f.to_dir()); dirs.push(f.to_dir());
} else { } else {

View file

@ -18,7 +18,8 @@ impl DirAction {
/// to both be present, but the `--list-dirs` flag is used separately. /// to both be present, but the `--list-dirs` flag is used separately.
pub fn deduce(matches: &MatchedFlags<'_>, can_tree: bool) -> Result<Self, OptionsError> { pub fn deduce(matches: &MatchedFlags<'_>, can_tree: bool) -> Result<Self, OptionsError> {
let recurse = matches.has(&flags::RECURSE)?; let recurse = matches.has(&flags::RECURSE)?;
let as_file = matches.has(&flags::LIST_DIRS)?; let as_file =
matches.has(&flags::TREAT_DIRS_AS_FILES)? || matches.has(&flags::LIST_DIRS)?;
let tree = matches.has(&flags::TREE)?; let tree = matches.has(&flags::TREE)?;
if matches.is_strict() { if matches.is_strict() {
@ -30,9 +31,15 @@ impl DirAction {
&flags::TREE, &flags::TREE,
)); ));
} else if recurse && as_file { } else if recurse && as_file {
return Err(OptionsError::Conflict(&flags::RECURSE, &flags::LIST_DIRS)); return Err(OptionsError::Conflict(
&flags::RECURSE,
&flags::TREAT_DIRS_AS_FILES,
));
} else if tree && as_file { } else if tree && as_file {
return Err(OptionsError::Conflict(&flags::TREE, &flags::LIST_DIRS)); return Err(OptionsError::Conflict(
&flags::TREE,
&flags::TREAT_DIRS_AS_FILES,
));
} }
} }
@ -93,7 +100,7 @@ mod test {
static TEST_ARGS: &[&Arg] = &[ static TEST_ARGS: &[&Arg] = &[
&flags::RECURSE, &flags::RECURSE,
&flags::LIST_DIRS, &flags::TREAT_DIRS_AS_FILES,
&flags::TREE, &flags::TREE,
&flags::LEVEL, &flags::LEVEL,
]; ];
@ -110,8 +117,8 @@ mod test {
test!(empty: DirAction <- []; Both => Ok(DirAction::List)); test!(empty: DirAction <- []; Both => Ok(DirAction::List));
// Listing files as directories // Listing files as directories
test!(dirs_short: DirAction <- ["-d"]; Both => Ok(DirAction::AsFile)); test!(dirs_short: DirAction <- ["-d"]; Both => Ok(DirAction::AsFile));
test!(dirs_long: DirAction <- ["--list-dirs"]; Both => Ok(DirAction::AsFile)); test!(dirs_long: DirAction <- ["--treat-dirs-as-files"]; Both => Ok(DirAction::AsFile));
// Recursing // Recursing
use self::DirAction::Recurse; use self::DirAction::Recurse;
@ -126,12 +133,12 @@ mod test {
test!(rec_short_tree: DirAction <- ["-TR"]; Both => Ok(Recurse(RecurseOptions { tree: true, max_depth: None }))); test!(rec_short_tree: DirAction <- ["-TR"]; Both => Ok(Recurse(RecurseOptions { tree: true, max_depth: None })));
// Overriding --list-dirs, --recurse, and --tree // Overriding --list-dirs, --recurse, and --tree
test!(dirs_recurse: DirAction <- ["--list-dirs", "--recurse"]; Last => Ok(Recurse(RecurseOptions { tree: false, max_depth: None }))); test!(dirs_recurse: DirAction <- ["--treat-dirs-as-files", "--recurse"]; Last => Ok(Recurse(RecurseOptions { tree: false, max_depth: None })));
test!(dirs_tree: DirAction <- ["--list-dirs", "--tree"]; Last => Ok(Recurse(RecurseOptions { tree: true, max_depth: None }))); test!(dirs_tree: DirAction <- ["--treat-dirs-as-files", "--tree"]; Last => Ok(Recurse(RecurseOptions { tree: true, max_depth: None })));
test!(just_level: DirAction <- ["--level=4"]; Last => Ok(DirAction::List)); test!(just_level: DirAction <- ["--level=4"]; Last => Ok(DirAction::List));
test!(dirs_recurse_2: DirAction <- ["--list-dirs", "--recurse"]; Complain => Err(OptionsError::Conflict(&flags::RECURSE, &flags::LIST_DIRS))); test!(dirs_recurse_2: DirAction <- ["--treat-dirs-as-files", "--recurse"]; Complain => Err(OptionsError::Conflict(&flags::RECURSE, &flags::TREAT_DIRS_AS_FILES)));
test!(dirs_tree_2: DirAction <- ["--list-dirs", "--tree"]; Complain => Err(OptionsError::Conflict(&flags::TREE, &flags::LIST_DIRS))); test!(dirs_tree_2: DirAction <- ["--treat-dirs-as-files", "--tree"]; Complain => Err(OptionsError::Conflict(&flags::TREE, &flags::TREAT_DIRS_AS_FILES)));
test!(just_level_2: DirAction <- ["--level=4"]; Complain => Err(OptionsError::Useless2(&flags::LEVEL, &flags::RECURSE, &flags::TREE))); test!(just_level_2: DirAction <- ["--level=4"]; Complain => Err(OptionsError::Useless2(&flags::LEVEL, &flags::RECURSE, &flags::TREE)));
// Overriding levels // Overriding levels

View file

@ -38,20 +38,22 @@ const SCALES: Values = &["all", "size", "age"];
const COLOR_SCALE_MODES: Values = &["fixed", "gradient"]; const COLOR_SCALE_MODES: Values = &["fixed", "gradient"];
// filtering and sorting options // filtering and sorting options
pub static ALL: Arg = Arg { short: Some(b'a'), long: "all", takes_value: TakesValue::Forbidden }; pub static ALL: Arg = Arg { short: Some(b'a'), long: "all", takes_value: TakesValue::Forbidden };
pub static ALMOST_ALL: Arg = Arg { short: Some(b'A'), long: "almost-all", takes_value: TakesValue::Forbidden }; pub static ALMOST_ALL: Arg = Arg { short: Some(b'A'), long: "almost-all", takes_value: TakesValue::Forbidden };
pub static LIST_DIRS: Arg = Arg { short: Some(b'd'), long: "list-dirs", takes_value: TakesValue::Forbidden }; pub static TREAT_DIRS_AS_FILES: Arg = Arg { short: Some(b'd'), long: "treat-dirs-as-files", takes_value: TakesValue::Forbidden };
pub static LEVEL: Arg = Arg { short: Some(b'L'), long: "level", takes_value: TakesValue::Necessary(None) }; pub static LIST_DIRS: Arg = Arg { short: None, long: "list-dirs", takes_value: TakesValue::Forbidden };
pub static REVERSE: Arg = Arg { short: Some(b'r'), long: "reverse", takes_value: TakesValue::Forbidden }; pub static LEVEL: Arg = Arg { short: Some(b'L'), long: "level", takes_value: TakesValue::Necessary(None) };
pub static SORT: Arg = Arg { short: Some(b's'), long: "sort", takes_value: TakesValue::Necessary(Some(SORTS)) }; pub static REVERSE: Arg = Arg { short: Some(b'r'), long: "reverse", takes_value: TakesValue::Forbidden };
pub static IGNORE_GLOB: Arg = Arg { short: Some(b'I'), long: "ignore-glob", takes_value: TakesValue::Necessary(None) }; pub static SORT: Arg = Arg { short: Some(b's'), long: "sort", takes_value: TakesValue::Necessary(Some(SORTS)) };
pub static GIT_IGNORE: Arg = Arg { short: None, long: "git-ignore", takes_value: TakesValue::Forbidden }; pub static IGNORE_GLOB: Arg = Arg { short: Some(b'I'), long: "ignore-glob", takes_value: TakesValue::Necessary(None) };
pub static DIRS_FIRST: Arg = Arg { short: None, long: "group-directories-first", takes_value: TakesValue::Forbidden }; pub static GIT_IGNORE: Arg = Arg { short: None, long: "git-ignore", takes_value: TakesValue::Forbidden };
pub static DIRS_LAST: Arg = Arg { short: None, long: "group-directories-last", takes_value: TakesValue::Forbidden }; pub static DIRS_FIRST: Arg = Arg { short: None, long: "group-directories-first", takes_value: TakesValue::Forbidden };
pub static ONLY_DIRS: Arg = Arg { short: Some(b'D'), long: "only-dirs", takes_value: TakesValue::Forbidden }; pub static DIRS_LAST: Arg = Arg { short: None, long: "group-directories-last", takes_value: TakesValue::Forbidden };
pub static ONLY_FILES: Arg = Arg { short: Some(b'f'), long: "only-files", takes_value: TakesValue::Forbidden }; pub static ONLY_DIRS: Arg = Arg { short: Some(b'D'), long: "only-dirs", takes_value: TakesValue::Forbidden };
pub static NO_SYMLINKS: Arg = Arg { short: None, long: "no-symlinks", takes_value: TakesValue::Forbidden }; pub static ONLY_FILES: Arg = Arg { short: Some(b'f'), long: "only-files", takes_value: TakesValue::Forbidden };
pub static SHOW_SYMLINKS: Arg = Arg { short: None, long: "show-symlinks", takes_value: TakesValue::Forbidden }; pub static NO_SYMLINKS: Arg = Arg { short: None, long: "no-symlinks", takes_value: TakesValue::Forbidden };
pub static SHOW_SYMLINKS: Arg = Arg { short: None, long: "show-symlinks", takes_value: TakesValue::Forbidden };
const SORTS: Values = &[ "name", "Name", "size", "extension", const SORTS: Values = &[ "name", "Name", "size", "extension",
"Extension", "modified", "changed", "accessed", "Extension", "modified", "changed", "accessed",
"created", "inode", "type", "none" ]; "created", "inode", "type", "none" ];
@ -103,7 +105,7 @@ pub static ALL_ARGS: Args = Args(&[
&COLOR, &COLOUR, &COLOR_SCALE, &COLOUR_SCALE, &COLOR_SCALE_MODE, &COLOUR_SCALE_MODE, &COLOR, &COLOUR, &COLOR_SCALE, &COLOUR_SCALE, &COLOR_SCALE_MODE, &COLOUR_SCALE_MODE,
&WIDTH, &NO_QUOTES, &ABSOLUTE, &WIDTH, &NO_QUOTES, &ABSOLUTE,
&ALL, &ALMOST_ALL, &LIST_DIRS, &LEVEL, &REVERSE, &SORT, &DIRS_FIRST, &DIRS_LAST, &ALL, &ALMOST_ALL, &TREAT_DIRS_AS_FILES, &LIST_DIRS, &LEVEL, &REVERSE, &SORT, &DIRS_FIRST, &DIRS_LAST,
&IGNORE_GLOB, &GIT_IGNORE, &ONLY_DIRS, &ONLY_FILES, &IGNORE_GLOB, &GIT_IGNORE, &ONLY_DIRS, &ONLY_FILES,
&BINARY, &BYTES, &GROUP, &NUMERIC, &HEADER, &ICONS, &INODE, &LINKS, &MODIFIED, &CHANGED, &BINARY, &BYTES, &GROUP, &NUMERIC, &HEADER, &ICONS, &INODE, &LINKS, &MODIFIED, &CHANGED,

View file

@ -41,7 +41,7 @@ FILTERING AND SORTING OPTIONS
-a, --all show hidden and 'dot' files. Use this twice to also -a, --all show hidden and 'dot' files. Use this twice to also
show the '.' and '..' directories show the '.' and '..' directories
-A, --almost-all equivalent to --all; included for compatibility with `ls -A` -A, --almost-all equivalent to --all; included for compatibility with `ls -A`
-d, --list-dirs list directories as files; don't list their contents -d, --treat-dirs-as-files list directories as files; don't list their contents
-D, --only-dirs list only directories -D, --only-dirs list only directories
-f, --only-files list only files -f, --only-files list only files
--show-symlinks explicitly show symbolic links (for use with --only-dirs | --only-files) --show-symlinks explicitly show symbolic links (for use with --only-dirs | --only-files)

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 2"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -29,7 +29,7 @@ FILTERING AND SORTING OPTIONS
-a, --all show hidden and 'dot' files. Use this twice to also -a, --all show hidden and 'dot' files. Use this twice to also
show the '.' and '..' directories show the '.' and '..' directories
-A, --almost-all equivalent to --all; included for compatibility with `ls -A` -A, --almost-all equivalent to --all; included for compatibility with `ls -A`
-d, --list-dirs list directories as files; don't list their contents -d, --treat-dirs-as-files list directories as files; don't list their contents
-D, --only-dirs list only directories -D, --only-dirs list only directories
-f, --only-files list only files -f, --only-files list only files
--show-symlinks explicitly show symbolic links (for use with --only-dirs | --only-files) --show-symlinks explicitly show symbolic links (for use with --only-dirs | --only-files)

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree --level 5"

View file

@ -0,0 +1 @@
tests/test_dir

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 0"

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree -L 2"

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 1"

View file

@ -1,8 +1,5 @@
git time git size
grid grid specials
group group symlinks
icons icons time
perms perms
size
specials
symlinks

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 3"

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree --level 3"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree --level 4"

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 4"

View file

@ -0,0 +1 @@
tests/test_dir

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir --treat-dirs-as-files "

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 3"

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T -L 5"

View file

@ -0,0 +1 @@
tests/test_dir

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 0"

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 5"

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 4"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree -L 4"

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree -L 1"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree --level 1"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 perms drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 size drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 grid
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 icons drwxr-xr-x - nixbld 1 Jan 1970 icons

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 1"

View file

@ -1,3 +1,3 @@
eza - A modern, maintained replacement for ls eza - A modern, maintained replacement for ls
v0.20.13 [+git] (pre-release debug build!) v0.21.4 [+git] (pre-release debug build!)
https://github.com/eza-community/eza https://github.com/eza-community/eza

View file

@ -1,8 +1,5 @@
git time git size
grid grid specials
group group symlinks
icons icons time
perms perms
size
specials
symlinks

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,3 +1,3 @@
eza - A modern, maintained replacement for ls eza - A modern, maintained replacement for ls
v0.20.13 [+git] (pre-release debug build!) v0.21.4 [+git] (pre-release debug build!)
https://github.com/eza-community/eza https://github.com/eza-community/eza

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 perms drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 size drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 grid
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 icons drwxr-xr-x - nixbld 1 Jan 1970 icons

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree --level 2"

View file

@ -1,9 +1,9 @@
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 time drwxr-xr-x - nixbld 1 Jan 1970 time
drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 symlinks drwxr-xr-x - nixbld 1 Jan 1970 symlinks
drwxr-xr-x - nixbld 1 Jan 1970 perms
drwxr-xr-x - nixbld 1 Jan 1970 specials drwxr-xr-x - nixbld 1 Jan 1970 specials
drwxr-xr-x - nixbld 1 Jan 1970 git drwxr-xr-x - nixbld 1 Jan 1970 size
drwxr-xr-x - nixbld 1 Jan 1970 icons
drwxr-xr-x - nixbld 1 Jan 1970 group drwxr-xr-x - nixbld 1 Jan 1970 group
drwxr-xr-x - nixbld 1 Jan 1970 git
drwxr-xr-x - nixbld 1 Jan 1970 grid drwxr-xr-x - nixbld 1 Jan 1970 grid

View file

@ -0,0 +1,2 @@
bin.name = "eza"
args = "tests/test_dir -T --level 2"

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree -L 5"

View file

@ -1,2 +0,0 @@
bin.name = "eza"
args = "tests/test_dir --tree -L 3"