diff options
author | Canop <cano.petrole@gmail.com> | 2022-01-31 17:09:50 +0100 |
---|---|---|
committer | Canop <cano.petrole@gmail.com> | 2022-01-31 17:09:50 +0100 |
commit | 8ca1c3d09aaab7883f8ce9394fe7c43d96308903 (patch) | |
tree | c8bee4f1bdb1cae6dde61ea1510fb6f497dcb786 /src | |
parent | 17fe0eeb4fa4c1a9024447d8b46e635c0994c4af (diff) |
keep selected line visible when resizing preview
Diffstat (limited to 'src')
-rw-r--r-- | src/preview/preview_state.rs | 8 | ||||
-rw-r--r-- | src/syntactic/syntactic_view.rs | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/src/preview/preview_state.rs b/src/preview/preview_state.rs index 99249b5..2c3041b 100644 --- a/src/preview/preview_state.rs +++ b/src/preview/preview_state.rs @@ -177,10 +177,18 @@ impl PanelState for PreviewState { } fn set_selected_path(&mut self, path: PathBuf, con: &AppContext) { + let selected_line_number = if self.path == path { + self.preview.get_selected_line_number() + } else { + None + }; if let Some(fp) = &self.filtered_preview { self.pending_pattern = fp.pattern(); }; self.preview = Preview::new(&path, self.prefered_mode, con); + if let Some(number) = selected_line_number { + self.preview.try_select_line_number(number); + } self.path = path; } diff --git a/src/syntactic/syntactic_view.rs b/src/syntactic/syntactic_view.rs index 3d685dc..481b3c7 100644 --- a/src/syntactic/syntactic_view.rs +++ b/src/syntactic/syntactic_view.rs @@ -326,7 +326,6 @@ impl SyntacticView { let match_bg = styles.preview_match.get_bg().unwrap_or(Color::AnsiValue(28)); let code_width = area.width as usize - 1; // 1 char left for scrollbar let scrollbar = area.scrollbar(self.scroll, self.lines.len()); - debug!("scrollbar: {:#?}", scrollbar); let scrollbar_fg = styles.scrollbar_thumb.get_fg() .or_else(|| styles.preview.get_fg()) .unwrap_or(Color::White); |