ratatui_toolkit/widgets/code_diff/widget/constructors/
new.rs1use std::collections::HashMap;
2
3use crate::primitives::resizable_split::ResizableSplit;
4use crate::services::theme::AppTheme;
5use crate::widgets::code_diff::code_diff::CodeDiff;
6use crate::widgets::code_diff::diff_config::DiffConfig;
7use crate::widgets::code_diff::diff_file_tree::DiffFileTree;
8
9impl CodeDiff {
10 pub fn new() -> Self {
25 let config = DiffConfig::new();
26 let mut sidebar_split = ResizableSplit::new(config.sidebar_default_width);
27 sidebar_split.min_percent = config.sidebar_min_width;
28 sidebar_split.max_percent = config.sidebar_max_width;
29 Self {
30 file_path: None,
31 hunks: Vec::new(),
32 scroll_offset: 0,
33 file_tree: DiffFileTree::new(),
34 file_diffs: HashMap::new(),
35 show_sidebar: config.sidebar_enabled,
36 sidebar_split,
37 sidebar_focused: true,
38 config,
39 theme: AppTheme::default(),
40 }
41 }
42}