summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2019-09-15 19:04:37 +0200
committerAram Drevekenin <aram@poor.dev>2019-09-15 19:04:37 +0200
commit2a5e51ed8066f9263bbd00969cd43240fd3a3710 (patch)
treeb8d1fbf4b3bef21df3b2f15ea206b972abade887 /src/main.rs
parent993fe43c4f53e14876041da51a27c248b3ef9666 (diff)
chore(cli): introduce structopt for reading cli opts
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index 1d416e4..7b02b94 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -4,6 +4,15 @@ use ::std::io;
use ::termion::raw::IntoRawMode;
use ::tui::backend::TermionBackend;
+use structopt::StructOpt;
+
+#[derive(StructOpt, Debug)]
+#[structopt(name = "what")]
+struct Opt {
+ #[structopt(short, long)]
+ interface: String
+}
+
fn main () {
#[cfg(not(target_os = "linux"))]
@@ -11,11 +20,12 @@ fn main () {
use os::{KeyboardEvents, get_interface, get_datalink_channel, get_process_name, get_open_sockets};
+ let opt = Opt::from_args();
let stdout = io::stdout().into_raw_mode().unwrap();
let terminal_backend = TermionBackend::new(stdout);
let keyboard_events = Box::new(KeyboardEvents);
- let network_interface = get_interface().unwrap();
+ let network_interface = get_interface(&opt.interface).unwrap();
let network_frames = get_datalink_channel(&network_interface);
let os_input = what::OsInput {