chiark / gitweb /
wip create table
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Aug 2020 22:24:52 +0000 (23:24 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Aug 2020 22:24:52 +0000 (23:24 +0100)
src/bin/otter.rs

index fc7bf5aea856b99b0c24f5b19bac50c7b8d00882..76cabe81661f500817f9a3bf6bdf438294b4c5c3 100644 (file)
@@ -96,16 +96,10 @@ struct MainOpts {
 struct Subcommand (
   &'static str, // command
   &'static str, // desc
-  fn(&Subcommand, MainOpts, &[String]),
+  fn(&Subcommand, MainOpts, Vec<String>),
 );
 inventory::collect!(Subcommand);
 
-inventory::submit!{Subcommand(
-  "create-table", "Create a new table", |_sc, mainopts, args|{
-    eprintln!("CREATE-TABLE {:?} {:?}", &mainopts, &args);
-  }
-)}
-
 #[derive(Error,Debug)]
 struct ArgumentParseError(String);
 display_as_debug!(ArgumentParseError);
@@ -213,5 +207,17 @@ fn main() {
     });
   let Subcommand(_,_,call) = sc;
 
-  call(sc, ma.opts, &ma.subargs);
+  let mut subargs = ma.subargs;
+  subargs.insert(0, format!("{} {}",
+                            env::args().next().unwrap(),
+                            &ma.subcommand));
+
+  call(sc, ma.opts, subargs);
 }
+
+inventory::submit!{Subcommand(
+  "create-table", "Create a new table", |_sc, mainopts, args|{
+    
+    eprintln!("CREATE-TABLE {:?} {:?}", &mainopts, &args);
+  }
+)}