equal
deleted
inserted
replaced
7 extern crate futures; |
7 extern crate futures; |
8 extern crate log; |
8 extern crate log; |
9 extern crate tokio; |
9 extern crate tokio; |
10 extern crate tokio_hglib; |
10 extern crate tokio_hglib; |
11 |
11 |
12 use chg::locator::Locator; |
12 use chg::locator::{self, Locator}; |
13 use chg::procutil; |
13 use chg::procutil; |
14 use chg::{ChgClientExt, ChgUiHandler}; |
14 use chg::{ChgClientExt, ChgUiHandler}; |
15 use futures::sync::oneshot; |
15 use futures::sync::oneshot; |
16 use std::env; |
16 use std::env; |
17 use std::io; |
17 use std::io; |
71 }); |
71 }); |
72 process::exit(code); |
72 process::exit(code); |
73 } |
73 } |
74 |
74 |
75 fn run() -> io::Result<i32> { |
75 fn run() -> io::Result<i32> { |
76 let loc = Locator::prepare_from_env()?; |
76 let mut loc = Locator::prepare_from_env()?; |
|
77 loc.set_early_args(locator::collect_early_args(env::args_os().skip(1))); |
77 let handler = ChgUiHandler::new(); |
78 let handler = ChgUiHandler::new(); |
78 let (result_tx, result_rx) = oneshot::channel(); |
79 let (result_tx, result_rx) = oneshot::channel(); |
79 let fut = loc |
80 let fut = loc |
80 .connect() |
81 .connect() |
81 .and_then(|(_, client)| client.attach_io(io::stdin(), io::stdout(), io::stderr())) |
82 .and_then(|(_, client)| client.attach_io(io::stdin(), io::stdout(), io::stderr())) |