From d618ef58fbe5db1a9c58e1a755191b26ea547463 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 27 Sep 2023 06:11:47 +0100 Subject: [PATCH] ls: Display results in long format when `-n` or `-o` are used --- Base/usr/share/man/man1/ls.md | 4 ++-- Userland/Utilities/ls.cpp | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Base/usr/share/man/man1/ls.md b/Base/usr/share/man/man1/ls.md index ae967a3dff..72e3556c14 100644 --- a/Base/usr/share/man/man1/ls.md +++ b/Base/usr/share/man/man1/ls.md @@ -30,8 +30,8 @@ If no *path* argument is provided the current working directory is used. * `-G`: Use pretty colors * `-i`, `--inode`: Show inode ids * `-I`, `--raw-inode`: Show raw inode ids if possible (see Notes to understand when this will not work) -* `-n`, `--numeric-uid-gid`: In long format, display numeric UID/GID -* `-o`, In long format, do not show group information +* `-n`, `--numeric-uid-gid`: In long format, display numeric UID/GID. Implies `-l` +* `-o`: In long format, do not show group information. Implies `-l` * `-h`, `--human-readable`: Print human-readable sizes * `--si`: Print human-readable sizes in SI units * `-K`, `--no-hyperlinks`: Disable hyperlinks diff --git a/Userland/Utilities/ls.cpp b/Userland/Utilities/ls.cpp index 89a39447e9..cb29ebba74 100644 --- a/Userland/Utilities/ls.cpp +++ b/Userland/Utilities/ls.cpp @@ -131,8 +131,8 @@ ErrorOr serenity_main(Main::Arguments arguments) args_parser.add_option(flag_colorize, "Use pretty colors", nullptr, 'G'); args_parser.add_option(flag_show_inode, "Show inode ids", "inode", 'i'); args_parser.add_option(flag_show_raw_inode, "Show raw inode ids if possible", "raw-inode", 'I'); - args_parser.add_option(flag_print_numeric, "In long format, display numeric UID/GID", "numeric-uid-gid", 'n'); - args_parser.add_option(flag_hide_group, "In long format, do not show group information", nullptr, 'o'); + args_parser.add_option(flag_print_numeric, "In long format, display numeric UID/GID. Implies '-l'", "numeric-uid-gid", 'n'); + args_parser.add_option(flag_hide_group, "In long format, do not show group information. Implies '-l'", nullptr, 'o'); args_parser.add_option(flag_human_readable, "Print human-readable sizes", "human-readable", 'h'); args_parser.add_option(flag_human_readable_si, "Print human-readable sizes in SI units", "si", 0); args_parser.add_option(flag_disable_hyperlinks, "Disable hyperlinks", "no-hyperlinks", 'K'); @@ -141,6 +141,9 @@ ErrorOr serenity_main(Main::Arguments arguments) args_parser.add_positional_argument(paths, "Directory to list", "path", Core::ArgsParser::Required::No); args_parser.parse(arguments); + if (flag_print_numeric || flag_hide_group) + flag_long = true; + if (flag_show_almost_all_dotfiles) flag_show_dotfiles = true;