libsubconverter/models/
extra_settings.rs1use crate::Settings;
2
3use super::RegexMatchConfigs;
4
5#[derive(Debug, Clone)]
7pub struct ExtraSettings {
8 pub enable_rule_generator: bool,
10 pub overwrite_original_rules: bool,
12 pub rename_array: RegexMatchConfigs,
14 pub emoji_array: RegexMatchConfigs,
16 pub add_emoji: bool,
18 pub remove_emoji: bool,
20 pub append_proxy_type: bool,
22 pub nodelist: bool,
24 pub sort_flag: bool,
26 pub filter_deprecated: bool,
28 pub clash_new_field_name: bool,
30 pub clash_script: bool,
32 pub surge_ssr_path: String,
34 pub managed_config_prefix: String,
36 pub quanx_dev_id: String,
38 pub udp: Option<bool>,
40 pub tfo: Option<bool>,
42 pub skip_cert_verify: Option<bool>,
44 pub tls13: Option<bool>,
46 pub clash_classical_ruleset: bool,
48 pub sort_script: String,
50 pub clash_proxies_style: String,
52 pub clash_proxy_groups_style: String,
54 pub authorized: bool,
56 pub js_context: Option<()>,
58}
59
60impl Default for ExtraSettings {
61 fn default() -> Self {
62 let global = Settings::current();
63
64 ExtraSettings {
65 enable_rule_generator: global.enable_rule_gen,
66 overwrite_original_rules: global.overwrite_original_rules,
67 rename_array: Vec::new(),
68 emoji_array: Vec::new(),
69 add_emoji: false,
70 remove_emoji: false,
71 append_proxy_type: false,
72 nodelist: false,
73 sort_flag: false,
74 filter_deprecated: false,
75 clash_new_field_name: true,
76 clash_script: false,
77 surge_ssr_path: global.surge_ssr_path.clone(),
78 managed_config_prefix: String::new(),
79 quanx_dev_id: String::new(),
80 udp: None,
81 tfo: None,
82 skip_cert_verify: None,
83 tls13: None,
84 clash_classical_ruleset: false,
85 sort_script: String::new(),
86 clash_proxies_style: if global.clash_proxies_style.is_empty() {
87 "flow".to_string()
88 } else {
89 global.clash_proxies_style.clone()
90 },
91 clash_proxy_groups_style: if global.clash_proxy_groups_style.is_empty() {
92 "flow".to_string()
93 } else {
94 global.clash_proxy_groups_style.clone()
95 },
96 authorized: false,
97 js_context: None,
98 }
99 }
100}