diff options
author | mintyplanet <mintyplanet@gmail.com> | 2018-10-02 15:41:29 -0700 |
---|---|---|
committer | Andrew Gallant <jamslam@gmail.com> | 2018-10-02 18:41:29 -0400 |
commit | c8c3484c1fc5aa07c6290a60e6d0efcf4427d18e (patch) | |
tree | 3486e424ba6d4ab3fe0f0e172681dcebf185dec0 | |
parent | 63ad0b3588ccef11293cf3f3a9116ff52922d6f5 (diff) |
xsv: fix error message for invalid commands
Fixes #138
-rw-r--r-- | src/main.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index 64b3edc..0f9cacf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -138,6 +138,7 @@ Please choose one of the following commands:", } #[derive(Debug, Deserialize)] +#[serde(rename_all = "lowercase")] enum Command { Cat, Count, @@ -167,6 +168,12 @@ impl Command { let argv: Vec<_> = env::args().map(|v| v.to_owned()).collect(); let argv: Vec<_> = argv.iter().map(|s| &**s).collect(); let argv = &*argv; + + if !argv[1].chars().all(char::is_lowercase) { + return Err(CliError::Other(format!( + "xsv expects commands in lowercase. Did you mean '{}'?", + argv[1].to_lowercase()).to_string())); + } match self { Command::Cat => cmd::cat::run(argv), Command::Count => cmd::count::run(argv), |