aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/cli.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/cli.rs')
-rw-r--r--alacritty/src/cli.rs30
1 files changed, 14 insertions, 16 deletions
diff --git a/alacritty/src/cli.rs b/alacritty/src/cli.rs
index cacffcdc..6dea3319 100644
--- a/alacritty/src/cli.rs
+++ b/alacritty/src/cli.rs
@@ -230,13 +230,17 @@ impl Options {
config.hold = self.hold;
- let dynamic_title = config.ui_config.dynamic_title() && self.title.is_none();
- config.ui_config.set_dynamic_title(dynamic_title);
-
- replace_if_some(&mut config.ui_config.window.title, self.title.clone());
- replace_if_some(&mut config.ui_config.window.class.instance, self.class_instance.clone());
- replace_if_some(&mut config.ui_config.window.class.general, self.class_general.clone());
+ if let Some(title) = self.title.clone() {
+ config.ui_config.window.title = title
+ }
+ if let Some(class_instance) = self.class_instance.clone() {
+ config.ui_config.window.class.instance = class_instance;
+ }
+ if let Some(class_general) = self.class_general.clone() {
+ config.ui_config.window.class.general = class_general;
+ }
+ config.ui_config.window.dynamic_title &= self.title.is_none();
config.ui_config.window.embed = self.embed.as_ref().and_then(|embed| embed.parse().ok());
config.ui_config.debug.print_events |= self.print_events;
config.ui_config.debug.log_level = max(config.ui_config.debug.log_level, self.log_level);
@@ -249,12 +253,6 @@ impl Options {
}
}
-fn replace_if_some<T>(option: &mut T, value: Option<T>) {
- if let Some(value) = value {
- *option = value;
- }
-}
-
/// Format an option in the format of `parent.field=value` to a serde Value.
fn option_as_value(option: &str) -> Result<Value, serde_yaml::Error> {
let mut yaml_text = String::with_capacity(option.len());
@@ -289,11 +287,11 @@ mod tests {
#[test]
fn dynamic_title_ignoring_options_by_default() {
let mut config = Config::default();
- let old_dynamic_title = config.ui_config.dynamic_title();
+ let old_dynamic_title = config.ui_config.window.dynamic_title;
Options::default().override_config(&mut config);
- assert_eq!(old_dynamic_title, config.ui_config.dynamic_title());
+ assert_eq!(old_dynamic_title, config.ui_config.window.dynamic_title);
}
#[test]
@@ -304,7 +302,7 @@ mod tests {
options.title = Some("foo".to_owned());
options.override_config(&mut config);
- assert!(!config.ui_config.dynamic_title());
+ assert!(!config.ui_config.window.dynamic_title);
}
#[test]
@@ -314,7 +312,7 @@ mod tests {
config.ui_config.window.title = "foo".to_owned();
Options::default().override_config(&mut config);
- assert!(config.ui_config.dynamic_title());
+ assert!(config.ui_config.window.dynamic_title);
}
#[test]