diff options
author | Aram Drevekenin <aram@poor.dev> | 2019-09-15 19:04:37 +0200 |
---|---|---|
committer | Aram Drevekenin <aram@poor.dev> | 2019-09-15 19:04:37 +0200 |
commit | 2a5e51ed8066f9263bbd00969cd43240fd3a3710 (patch) | |
tree | b8d1fbf4b3bef21df3b2f15ea206b972abade887 /src/main.rs | |
parent | 993fe43c4f53e14876041da51a27c248b3ef9666 (diff) |
chore(cli): introduce structopt for reading cli opts
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 12 |
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 { |