From dfd0acc162d203efe3144aeb0e496ba4b124e009 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konrad=20G=C4=85dek?= Date: Fri, 10 Jun 2022 09:43:31 +0200 Subject: [PATCH] mst: use split_first on args --- src/main.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main.rs b/src/main.rs index 471e605..3424ed5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,15 +15,16 @@ where } fn main() -> Result<(), Box> { - let args: Vec<_> = env::args().skip(1).collect(); // args without binary name - let source_path = args - .first() - .ok_or("first argument needs to be a file path")?; - let template = mustache::compile_path(source_path)?; + let all_args: Vec = env::args().skip(1).collect(); + let (source_path, kv_args) = all_args + .split_first() + .ok_or("Requires at least 1 argument: path to template file")?; + + let template = mustache::compile_path(&source_path)?; let data = { let mut data = MapBuilder::new(); - for (k, v) in pairs(args.iter().skip(1)) { + for (k, v) in pairs(kv_args.iter()) { data = data.insert_str(k, v); }