diff --git a/src/uu/dir/src/dir.rs b/src/uu/dir/src/dir.rs index 099ae8bf9af..c758a26e436 100644 --- a/src/uu/dir/src/dir.rs +++ b/src/uu/dir/src/dir.rs @@ -7,8 +7,7 @@ use clap::Command; use std::ffi::OsString; use std::path::Path; use uu_ls::{Config, Format, options}; -use uucore::error::UResult; -use uucore::quoting_style::QuotingStyle; +use uucore::{error::UResult, format_usage, quoting_style::QuotingStyle, translate}; #[uucore::main] pub fn uumain(args: impl uucore::Args) -> UResult<()> { @@ -63,4 +62,6 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { // an uu_app function, so we return the `ls` app. pub fn uu_app() -> Command { uu_ls::uu_app() + .override_usage(format_usage(&translate!("dir-usage"))) + .about(translate!("dir-about")) } diff --git a/src/uu/ls/locales/en-US.ftl b/src/uu/ls/locales/en-US.ftl index 004243c5ed6..0ff41830901 100644 --- a/src/uu/ls/locales/en-US.ftl +++ b/src/uu/ls/locales/en-US.ftl @@ -1,6 +1,9 @@ ls-about = List directory contents. Ignore files and directories starting with a '.' by default +dir-about = List directory contents. + Ignore files and directories starting with a '.' by default ls-usage = ls [OPTION]... [FILE]... +dir-usage = dir [OPTION]... [FILE]... ls-after-help = The TIME_STYLE argument can be full-iso, long-iso, iso, locale or +FORMAT. FORMAT is interpreted like in date. Also the TIME_STYLE environment variable sets the default style to use. # Error messages diff --git a/src/uu/ls/locales/fr-FR.ftl b/src/uu/ls/locales/fr-FR.ftl index 0ae8b06c995..a655535f782 100644 --- a/src/uu/ls/locales/fr-FR.ftl +++ b/src/uu/ls/locales/fr-FR.ftl @@ -1,6 +1,9 @@ ls-about = Lister le contenu des répertoires. Ignorer les fichiers et répertoires commençant par un '.' par défaut +dir-about = Lister le contenu des répertoires. + Ignorer les fichiers et répertoires commençant par un '.' par défaut ls-usage = ls [OPTION]... [FICHIER]... +dir-usage = dir [OPTION]... [FICHIER]... ls-after-help = L'argument TIME_STYLE peut être full-iso, long-iso, iso, locale ou +FORMAT. FORMAT est interprété comme dans date. De plus, la variable d'environnement TIME_STYLE définit le style par défaut à utiliser. # Messages d'erreur diff --git a/tests/by-util/test_dir.rs b/tests/by-util/test_dir.rs index 0d77de7a0e7..c28fa51ee47 100644 --- a/tests/by-util/test_dir.rs +++ b/tests/by-util/test_dir.rs @@ -56,3 +56,21 @@ fn test_long_output() { fn test_invalid_option_exit_code() { new_ucmd!().arg("-/").fails().code_is(2); } + +#[test] +fn test_help_shows_dir_not_ls() { + let result = new_ucmd!().arg("--help").succeeds(); + let output = result.stdout_str(); + + // Verify help text contains "dir" in the usage line + assert!( + output.contains("dir [OPTION]"), + "Help should show 'dir [OPTION]'" + ); + + // Verify help text does not incorrectly show "ls" + assert!( + !output.contains("ls [OPTION]"), + "Help should not show 'ls [OPTION]'" + ); +}