summaryrefslogtreecommitdiffhomepage
path: root/mullvad_daemon/src/cli.rs
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2017-07-13 16:09:41 +0200
committerLinus Färnstrand <linus@mullvad.net>2017-07-13 16:09:41 +0200
commitf5a69fb98a891107522fb9507cc3d98de5551325 (patch)
treeecb7bcc0ae6594546ee8c64fc77f2e57a31123b9 /mullvad_daemon/src/cli.rs
parent7c265e30b3a3a19cc2bf931b7d41fe62ae701803 (diff)
downloadmullvadvpn-f5a69fb98a891107522fb9507cc3d98de5551325.tar.xz
mullvadvpn-f5a69fb98a891107522fb9507cc3d98de5551325.zip
Add clap and parse verbosity argument
Diffstat (limited to 'mullvad_daemon/src/cli.rs')
-rw-r--r--mullvad_daemon/src/cli.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/mullvad_daemon/src/cli.rs b/mullvad_daemon/src/cli.rs
new file mode 100644
index 0000000000..cdc2f5fd81
--- /dev/null
+++ b/mullvad_daemon/src/cli.rs
@@ -0,0 +1,32 @@
+use clap::{App, Arg};
+use log;
+
+pub struct Config {
+ pub log_level: log::LogLevelFilter,
+}
+
+pub fn get_config() -> Config {
+ let app = create_app();
+ let matches = app.get_matches();
+
+ let log_level = match matches.occurrences_of("v") {
+ 0 => log::LogLevelFilter::Info,
+ 1 => log::LogLevelFilter::Debug,
+ _ => log::LogLevelFilter::Trace,
+ };
+
+ Config {
+ log_level,
+ }
+}
+
+fn create_app() -> App<'static, 'static> {
+ App::new("mullvadd")
+ .version(crate_version!())
+ .author(crate_authors!())
+ .about(crate_description!())
+ .arg(Arg::with_name("v")
+ .short("v")
+ .multiple(true)
+ .help("Sets the level of verbosity."))
+}