aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--helix-view/src/commands.rs4
-rw-r--r--helix-view/src/view.rs12
2 files changed, 7 insertions, 9 deletions
diff --git a/helix-view/src/commands.rs b/helix-view/src/commands.rs
index ec22950e..7fe9609e 100644
--- a/helix-view/src/commands.rs
+++ b/helix-view/src/commands.rs
@@ -8,14 +8,12 @@ use helix_core::{
};
use once_cell::sync::Lazy;
-use crate::view::View;
+use crate::view::{View, PADDING};
/// A command is a function that takes the current state and a count, and does a side-effect on the
/// state (usually by creating and applying a transaction).
pub type Command = fn(view: &mut View, count: usize);
-const PADDING: usize = 5;
-
pub fn move_char_left(view: &mut View, count: usize) {
// TODO: use a transaction
let selection = view
diff --git a/helix-view/src/view.rs b/helix-view/src/view.rs
index 1332f11e..44f7576f 100644
--- a/helix-view/src/view.rs
+++ b/helix-view/src/view.rs
@@ -10,6 +10,8 @@ use helix_core::{
};
use tui::layout::Rect;
+pub const PADDING: usize = 5;
+
pub struct View {
pub state: State,
pub history: History,
@@ -39,16 +41,14 @@ impl View {
let line = self.state.doc().char_to_line(cursor);
let document_end = self.first_line + (self.size.1 as usize).saturating_sub(1);
- let padding = 5usize;
-
// TODO: side scroll
- if line > document_end.saturating_sub(padding) {
+ if line > document_end.saturating_sub(PADDING) {
// scroll down
- self.first_line += line - (document_end.saturating_sub(padding));
- } else if line < self.first_line + padding {
+ self.first_line += line - (document_end.saturating_sub(PADDING));
+ } else if line < self.first_line + PADDING {
// scroll up
- self.first_line = line.saturating_sub(padding);
+ self.first_line = line.saturating_sub(PADDING);
}
}