summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorCanop <cano.petrole@gmail.com>2022-01-31 17:09:50 +0100
committerCanop <cano.petrole@gmail.com>2022-01-31 17:09:50 +0100
commit8ca1c3d09aaab7883f8ce9394fe7c43d96308903 (patch)
treec8bee4f1bdb1cae6dde61ea1510fb6f497dcb786 /src
parent17fe0eeb4fa4c1a9024447d8b46e635c0994c4af (diff)
keep selected line visible when resizing preview
Diffstat (limited to 'src')
-rw-r--r--src/preview/preview_state.rs8
-rw-r--r--src/syntactic/syntactic_view.rs1
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);