diff options
Diffstat (limited to 'src/args.rs')
-rw-r--r-- | src/args.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/args.rs b/src/args.rs index 78f9ce3..dc160d0 100644 --- a/src/args.rs +++ b/src/args.rs @@ -5,6 +5,7 @@ use structopt::StructOpt; use crate::auth; use crate::errors::ContextualError; +use crate::renderer; /// Possible characters for random routes const ROUTE_ALPHABET: [char; 16] = [ @@ -66,6 +67,26 @@ struct CLIArgs { #[structopt(short = "P", long = "no-symlinks")] no_symlinks: bool, + /// Default color scheme + #[structopt( + short = "c", + long = "color-scheme", + default_value = "squirrel", + possible_values = &renderer::THEME_SLUGS, + case_insensitive = true, + )] + color_scheme: String, + + /// Default color scheme + #[structopt( + short = "d", + long = "color-scheme-dark", + default_value = "archlinux", + possible_values = &renderer::THEME_SLUGS, + case_insensitive = true, + )] + color_scheme_dark: String, + /// Enable QR code display #[structopt(short = "q", long = "qrcode")] qrcode: bool, @@ -169,6 +190,9 @@ pub fn parse_args() -> crate::MiniserveConfig { let favicon_route = nanoid::nanoid!(10, &ROUTE_ALPHABET); let css_route = nanoid::nanoid!(10, &ROUTE_ALPHABET); + let default_color_scheme = args.color_scheme; + let default_color_scheme_dark = args.color_scheme_dark; + let path_explicitly_chosen = args.path.is_some(); let port = match args.port { @@ -187,6 +211,8 @@ pub fn parse_args() -> crate::MiniserveConfig { random_route, favicon_route, css_route, + default_color_scheme, + default_color_scheme_dark, index: args.index, overwrite_files: args.overwrite_files, show_qrcode: args.qrcode, |