diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/error.rs | 2 | ||||
-rw-r--r-- | src/main.rs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs index 06bfbbe..f303780 100644 --- a/src/error.rs +++ b/src/error.rs @@ -8,6 +8,7 @@ pub enum Error { BadLengths, DuplicateElems(Vec<String>), IOError(io::Error), + NoArgs, NoEditor, SpawnFailed(String, io::Error), } @@ -21,6 +22,7 @@ impl Display for Error { |d| writeln!(f, "{p}: Multiple files named \"{}\" specified", d) ), Self::IOError(e) => writeln!(f, "{p}: {e}"), + Self::NoArgs => writeln!(f, "Usage: {p} file ..."), Self::NoEditor => writeln!(f, "{p}: \"EDITOR\" environment variable is not set"), Self::SpawnFailed(ed, e) => writeln!(f, "{p}: Failed to spawn editor \"{ed}\": {e}") } diff --git a/src/main.rs b/src/main.rs index 1c0d487..f4d1d34 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,6 +29,10 @@ fn main() -> MainResult { fn work() -> Result<(), Error> { let old_files = env::args().skip(1).collect::<Vec<String>>(); + if old_files.is_empty() { + return Err(Error::NoArgs); + } + let dups = duplicate_elements(old_files.clone()); if !dups.is_empty() { return Err(Error::DuplicateElems(dups)); |