From: Ian Jackson Date: Thu, 13 Aug 2020 18:32:59 +0000 (+0100) Subject: before subcommand as fn X-Git-Tag: otter-0.2.0~1131 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6b788de94b361b7978530b091540e55055e91ec4;p=otter.git before subcommand as fn --- diff --git a/src/bin/otter.rs b/src/bin/otter.rs index 31b7edad..b5f245d6 100644 --- a/src/bin/otter.rs +++ b/src/bin/otter.rs @@ -181,9 +181,10 @@ fn main() { type Conn = MgmtChannel; #[throws(E)] -fn connect(ma: &MainOpts) -> MgmtChannel { +fn connect(_ma: &MainOpts) -> MgmtChannel { let unix = UnixStream::connect(SOCKET_PATH).context("connect to server")?; let chan = MgmtChannel::new(unix)?; + // xxx set scope chan } @@ -207,8 +208,27 @@ inventory::submit!{Subcommand( Ok(()) }, None); + let spec = (||{ + let mut f = File::open(&args.file).context("open")?; + let mut buf = String::new(); + f.read_to_string(&mut buf).context("read")?; + let spec : TableSpec = toml::de::from_str(&buf).context("parse")?; + >::Ok(spec) + })().context("game spec toml").context(&args.file)?; + let chan = connect(&mainopts)?; + /* + + chan.cmd(MgmtCommand::CreateGame { + CreateGame { + name: args.name, + insns: vec![ + MgmtGameInstruction { + + }, + ]*/ + eprintln!("CREATE-TABLE {:?} {:?}", &mainopts, &args); Ok(()) }