use crate::types::LogLevel;
use super::{
AiInspectorConfig, AutomationConfig, BackgroundConfig, BadgeConfig, ClipboardConfig,
CommandSeparatorConfig, Config, CopyModeConfig, CursorConfig, FontRenderingConfig,
GlobalShaderConfig, ImageConfig, InputConfig, IntegrationConfig, MouseConfig,
NotificationConfig, PaneConfig, PowerConfig, ProgressBarConfig, RenderingConfig,
ScrollbackConfig, ScrollbarConfig, SearchConfig, SecurityConfig, SelectionConfig,
SemanticHistoryConfig, SessionLogConfig, SessionRestoreConfig, ShaderOverridesConfig,
ShaderWatchConfig, ShellConfig, SshConfig, StatusBarConfig, TabBarColorsConfig, TabConfig,
ThemeColorsConfig, TmuxConfig, UnicodeConfig, WindowConfig, WindowPlacementConfig,
WordSelectionConfig,
};
impl Default for Config {
fn default() -> Self {
Self {
cols: crate::defaults::cols(),
rows: crate::defaults::rows(),
font_size: crate::defaults::font_size(),
font_family: crate::defaults::font_family(),
font_family_bold: None,
font_family_italic: None,
font_family_bold_italic: None,
font_ranges: Vec::new(),
line_spacing: crate::defaults::line_spacing(),
char_spacing: crate::defaults::char_spacing(),
enable_text_shaping: crate::defaults::text_shaping(),
enable_ligatures: crate::defaults::bool_true(),
enable_kerning: crate::defaults::bool_true(),
font_rendering: FontRenderingConfig::default(),
copy_mode: CopyModeConfig::default(),
scrollback: ScrollbackConfig::default(),
unicode: UnicodeConfig::default(),
cursor: CursorConfig::default(),
scrollbar: ScrollbarConfig::default(),
window_title: crate::defaults::window_title(),
allow_title_change: crate::defaults::bool_true(),
theme_colors: ThemeColorsConfig::default(),
input: InputConfig::default(),
selection: SelectionConfig::default(),
mouse: MouseConfig::default(),
word_selection: WordSelectionConfig::default(),
screenshot_format: crate::defaults::screenshot_format(),
rendering: RenderingConfig::default(),
window: WindowConfig::default(),
placement: WindowPlacementConfig::default(),
background: BackgroundConfig::default(),
image: ImageConfig::default(),
download_save_location: crate::types::DownloadSaveLocation::default(),
last_download_directory: None,
shader: GlobalShaderConfig::default(),
shell: ShellConfig::default(),
semantic_history: SemanticHistoryConfig::default(),
command_separator: CommandSeparatorConfig::default(),
clipboard: ClipboardConfig::default(),
max_osc_data_length: crate::defaults::max_osc_data_length(),
command_history_max_entries: crate::defaults::command_history_max_entries(),
notifications: NotificationConfig::default(),
ssh: SshConfig::default(),
tabs: TabConfig::default(),
tab_colors: TabBarColorsConfig::default(),
panes: PaneConfig::default(),
tmux: TmuxConfig::default(),
power: PowerConfig::default(),
shader_watch: ShaderWatchConfig::default(),
shader_overrides: ShaderOverridesConfig::default(),
keybindings: crate::defaults::keybindings(),
custom_action_prefix_key: crate::defaults::custom_action_prefix_key(),
integrations: IntegrationConfig::default(),
updates: crate::config::config_struct::UpdateConfig::default(),
session_restore: SessionRestoreConfig::default(),
search: SearchConfig::default(),
session_log: SessionLogConfig::default(),
log_level: LogLevel::default(),
badge: BadgeConfig::default(),
status_bar: StatusBarConfig::default(),
progress_bar: ProgressBarConfig::default(),
automation: AutomationConfig::default(),
snippets: Vec::new(),
actions: Vec::new(),
collapsed_settings_sections: Vec::new(),
dynamic_profile_sources: Vec::new(),
security: SecurityConfig::default(),
ai_inspector: AiInspectorConfig::default(),
insecure_trigger_names: Vec::new(),
unaccepted_risk_trigger_names: Vec::new(),
}
}
}