summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormintyplanet <mintyplanet@gmail.com>2018-10-02 15:41:29 -0700
committerAndrew Gallant <jamslam@gmail.com>2018-10-02 18:41:29 -0400
commitc8c3484c1fc5aa07c6290a60e6d0efcf4427d18e (patch)
tree3486e424ba6d4ab3fe0f0e172681dcebf185dec0
parent63ad0b3588ccef11293cf3f3a9116ff52922d6f5 (diff)
xsv: fix error message for invalid commands
Fixes #138
-rw-r--r--src/main.rs7
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),