par_term_config/config/config_struct/
default_impl.rs1use crate::types::LogLevel;
7
8use super::{
9 AiInspectorConfig, AutomationConfig, BackgroundConfig, BadgeConfig, ClipboardConfig,
10 CommandSeparatorConfig, Config, CopyModeConfig, CursorConfig, FontRenderingConfig,
11 GlobalShaderConfig, ImageConfig, InputConfig, IntegrationConfig, MouseConfig,
12 NotificationConfig, PaneConfig, PowerConfig, ProgressBarConfig, RenderingConfig,
13 ScrollbackConfig, ScrollbarConfig, SearchConfig, SecurityConfig, SelectionConfig,
14 SemanticHistoryConfig, SessionLogConfig, SessionRestoreConfig, ShaderOverridesConfig,
15 ShaderWatchConfig, ShellConfig, SshConfig, StatusBarConfig, TabBarColorsConfig, TabConfig,
16 ThemeColorsConfig, TmuxConfig, UnicodeConfig, WindowConfig, WindowPlacementConfig,
17 WordSelectionConfig,
18};
19
20impl Default for Config {
21 fn default() -> Self {
22 Self {
23 cols: crate::defaults::cols(),
24 rows: crate::defaults::rows(),
25 font_size: crate::defaults::font_size(),
26 font_family: crate::defaults::font_family(),
27 font_family_bold: None,
28 font_family_italic: None,
29 font_family_bold_italic: None,
30 font_ranges: Vec::new(),
31 line_spacing: crate::defaults::line_spacing(),
32 char_spacing: crate::defaults::char_spacing(),
33 enable_text_shaping: crate::defaults::text_shaping(),
34 enable_ligatures: crate::defaults::bool_true(),
35 enable_kerning: crate::defaults::bool_true(),
36 font_rendering: FontRenderingConfig::default(),
37 copy_mode: CopyModeConfig::default(),
38 scrollback: ScrollbackConfig::default(),
39 unicode: UnicodeConfig::default(),
40 cursor: CursorConfig::default(),
41 scrollbar: ScrollbarConfig::default(),
42 window_title: crate::defaults::window_title(),
43 allow_title_change: crate::defaults::bool_true(),
44 theme_colors: ThemeColorsConfig::default(),
45 input: InputConfig::default(),
46 selection: SelectionConfig::default(),
47 mouse: MouseConfig::default(),
48 word_selection: WordSelectionConfig::default(),
49 screenshot_format: crate::defaults::screenshot_format(),
50 rendering: RenderingConfig::default(),
51 window: WindowConfig::default(),
52 placement: WindowPlacementConfig::default(),
53 background: BackgroundConfig::default(),
54 image: ImageConfig::default(),
55 download_save_location: crate::types::DownloadSaveLocation::default(),
56 last_download_directory: None,
57 shader: GlobalShaderConfig::default(),
58 shell: ShellConfig::default(),
59 semantic_history: SemanticHistoryConfig::default(),
60 command_separator: CommandSeparatorConfig::default(),
61 clipboard: ClipboardConfig::default(),
62 max_osc_data_length: crate::defaults::max_osc_data_length(),
63 command_history_max_entries: crate::defaults::command_history_max_entries(),
64 notifications: NotificationConfig::default(),
65 ssh: SshConfig::default(),
66 tabs: TabConfig::default(),
67 tab_colors: TabBarColorsConfig::default(),
68 panes: PaneConfig::default(),
69 tmux: TmuxConfig::default(),
70 power: PowerConfig::default(),
71 shader_watch: ShaderWatchConfig::default(),
72 shader_overrides: ShaderOverridesConfig::default(),
73 keybindings: crate::defaults::keybindings(),
74 custom_action_prefix_key: crate::defaults::custom_action_prefix_key(),
75 integrations: IntegrationConfig::default(),
76 updates: crate::config::config_struct::UpdateConfig::default(),
77 session_restore: SessionRestoreConfig::default(),
78 search: SearchConfig::default(),
79 session_log: SessionLogConfig::default(),
80 log_level: LogLevel::default(),
81 badge: BadgeConfig::default(),
82 status_bar: StatusBarConfig::default(),
83 progress_bar: ProgressBarConfig::default(),
84 automation: AutomationConfig::default(),
85 snippets: Vec::new(),
86 actions: Vec::new(),
87 collapsed_settings_sections: Vec::new(),
88 dynamic_profile_sources: Vec::new(),
89 security: SecurityConfig::default(),
90 ai_inspector: AiInspectorConfig::default(),
91 insecure_trigger_names: Vec::new(),
92 unaccepted_risk_trigger_names: Vec::new(),
93 }
94 }
95}