add version flag
This commit is contained in:
parent
cf4dd9ca5d
commit
9f4dbf13b0
4 changed files with 42 additions and 4807 deletions
2142
examples/worf-warden/Cargo.lock
generated
2142
examples/worf-warden/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
2648
worf/Cargo.lock
generated
2648
worf/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -180,7 +180,8 @@ impl FromStr for KeyDetectionType {
|
||||||
pub struct Config {
|
pub struct Config {
|
||||||
/// Forks the menu so you can close the terminal
|
/// Forks the menu so you can close the terminal
|
||||||
#[clap(short = 'f', long = "fork")]
|
#[clap(short = 'f', long = "fork")]
|
||||||
fork: Option<bool>,
|
#[serde(default = "default_false")]
|
||||||
|
fork: bool,
|
||||||
|
|
||||||
/// Selects a config file to use
|
/// Selects a config file to use
|
||||||
#[clap(short = 'c', long = "conf")]
|
#[clap(short = 'c', long = "conf")]
|
||||||
|
@ -188,7 +189,8 @@ pub struct Config {
|
||||||
|
|
||||||
/// Prints the version and then exits
|
/// Prints the version and then exits
|
||||||
#[clap(short = 'v', long = "version")]
|
#[clap(short = 'v', long = "version")]
|
||||||
version: Option<bool>, // todo support or drop
|
#[serde(default = "default_false")]
|
||||||
|
version: bool,
|
||||||
|
|
||||||
/// Defines the style sheet to be loaded.
|
/// Defines the style sheet to be loaded.
|
||||||
/// Defaults to `$XDG_CONF_DIR/worf/style.css`
|
/// Defaults to `$XDG_CONF_DIR/worf/style.css`
|
||||||
|
@ -225,11 +227,13 @@ pub struct Config {
|
||||||
|
|
||||||
/// Set to 'false' to disable images, defaults to true
|
/// Set to 'false' to disable images, defaults to true
|
||||||
#[clap(short = 'I', long = "allow-images")]
|
#[clap(short = 'I', long = "allow-images")]
|
||||||
allow_images: Option<bool>,
|
#[serde(default = "default_true")]
|
||||||
|
allow_images: bool,
|
||||||
|
|
||||||
/// If `true` pango markup is parsed
|
/// If `true` pango markup is parsed
|
||||||
#[clap(short = 'm', long = "allow-markup")]
|
#[clap(short = 'm', long = "allow-markup")]
|
||||||
allow_markup: Option<bool>,
|
#[serde(default = "default_true")]
|
||||||
|
allow_markup: bool,
|
||||||
|
|
||||||
#[clap(short = 'k', long = "cache-file")]
|
#[clap(short = 'k', long = "cache-file")]
|
||||||
cache_file: Option<String>, // todo support this
|
cache_file: Option<String>, // todo support this
|
||||||
|
@ -257,7 +261,8 @@ pub struct Config {
|
||||||
|
|
||||||
/// Defines whether the scrollbar is visible
|
/// Defines whether the scrollbar is visible
|
||||||
#[clap(short = 'b', long = "hide-scroll")]
|
#[clap(short = 'b', long = "hide-scroll")]
|
||||||
hide_scroll: Option<bool>,
|
#[serde(default = "default_false")]
|
||||||
|
hide_scroll: bool,
|
||||||
|
|
||||||
/// Defines the matching method, defaults to contains
|
/// Defines the matching method, defaults to contains
|
||||||
#[clap(short = 'M', long = "matching")]
|
#[clap(short = 'M', long = "matching")]
|
||||||
|
@ -266,7 +271,8 @@ pub struct Config {
|
||||||
/// Control if search is case-insensitive or not.
|
/// Control if search is case-insensitive or not.
|
||||||
/// Defaults to true
|
/// Defaults to true
|
||||||
#[clap(short = 'i', long = "insensitive")]
|
#[clap(short = 'i', long = "insensitive")]
|
||||||
insensitive: Option<bool>,
|
#[serde(default = "default_true")]
|
||||||
|
insensitive: bool,
|
||||||
|
|
||||||
#[clap(short = 'q', long = "parse-search")]
|
#[clap(short = 'q', long = "parse-search")]
|
||||||
parse_search: Option<bool>, // todo support this
|
parse_search: Option<bool>, // todo support this
|
||||||
|
@ -278,6 +284,7 @@ pub struct Config {
|
||||||
)]
|
)]
|
||||||
location: Option<Vec<Anchor>>,
|
location: Option<Vec<Anchor>>,
|
||||||
|
|
||||||
|
// todo support this
|
||||||
#[clap(short = 'a', long = "no-actions")]
|
#[clap(short = 'a', long = "no-actions")]
|
||||||
no_actions: Option<bool>,
|
no_actions: Option<bool>,
|
||||||
|
|
||||||
|
@ -344,13 +351,20 @@ pub struct Config {
|
||||||
|
|
||||||
/// If set to `true` the search field willOption<> be hidden.
|
/// If set to `true` the search field willOption<> be hidden.
|
||||||
#[clap(long = "hide-search")]
|
#[clap(long = "hide-search")]
|
||||||
hide_search: Option<bool>,
|
#[serde(default = "default_false")]
|
||||||
|
hide_search: bool,
|
||||||
|
|
||||||
#[clap(long = "dynamic-lines")]
|
#[clap(long = "dynamic-lines")]
|
||||||
dynamic_lines: Option<bool>, // todo support this
|
#[serde(default = "default_false")]
|
||||||
|
dynamic_lines: bool, // todo support this
|
||||||
|
|
||||||
layer: Option<String>, // todo support this
|
layer: Option<String>, // todo support this
|
||||||
|
|
||||||
copy_exec: Option<String>, // todo support this
|
copy_exec: Option<String>, // todo support this
|
||||||
|
|
||||||
#[clap(long = "single_click")]
|
#[clap(long = "single_click")]
|
||||||
single_click: Option<bool>, // todo support this
|
single_click: Option<bool>, // todo support this
|
||||||
|
|
||||||
#[clap(long = "pre-display-exec")]
|
#[clap(long = "pre-display-exec")]
|
||||||
pre_display_exec: Option<bool>, // todo support this
|
pre_display_exec: Option<bool>, // todo support this
|
||||||
|
|
||||||
|
@ -376,7 +390,7 @@ pub struct Config {
|
||||||
impl Config {
|
impl Config {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn fork(&self) -> bool {
|
pub fn fork(&self) -> bool {
|
||||||
self.fork.unwrap_or(false)
|
self.fork
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
@ -417,7 +431,7 @@ impl Config {
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn hide_scroll(&self) -> bool {
|
pub fn hide_scroll(&self) -> bool {
|
||||||
self.hide_scroll.unwrap_or(false)
|
self.hide_scroll
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
@ -482,7 +496,7 @@ impl Config {
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn allow_images(&self) -> bool {
|
pub fn allow_images(&self) -> bool {
|
||||||
self.allow_images.unwrap_or(true)
|
self.allow_images
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
@ -521,12 +535,12 @@ impl Config {
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn insensitive(&self) -> bool {
|
pub fn insensitive(&self) -> bool {
|
||||||
self.insensitive.unwrap_or(true)
|
self.insensitive
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn hide_search(&self) -> bool {
|
pub fn hide_search(&self) -> bool {
|
||||||
self.hide_search.unwrap_or(false)
|
self.hide_search
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
@ -536,7 +550,7 @@ impl Config {
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn allow_markup(&self) -> bool {
|
pub fn allow_markup(&self) -> bool {
|
||||||
self.allow_markup.unwrap_or(false)
|
self.allow_markup
|
||||||
}
|
}
|
||||||
|
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
@ -575,15 +589,20 @@ impl Config {
|
||||||
pub fn lines_additional_space(&self) -> i32 {
|
pub fn lines_additional_space(&self) -> i32 {
|
||||||
self.lines_additional_space.unwrap_or(0)
|
self.lines_additional_space.unwrap_or(0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
|
pub fn version(&self) -> bool {
|
||||||
|
self.version
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn default_false() -> bool {
|
fn default_false() -> bool {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
// fn default_true() -> bool {
|
fn default_true() -> bool {
|
||||||
// true
|
true
|
||||||
// }
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// // TODO
|
// // TODO
|
||||||
|
|
|
@ -20,6 +20,12 @@ fn main() -> anyhow::Result<()> {
|
||||||
args
|
args
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if config.version() {
|
||||||
|
println!("worf version {}", env!("CARGO_PKG_VERSION"));
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
|
|
||||||
fork_if_configured(&config);
|
fork_if_configured(&config);
|
||||||
|
|
||||||
if let Some(show) = &config.show() {
|
if let Some(show) = &config.show() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue