A simple CPU rendered GUI IDE experience.
Diffstat (limited to 'src/text.rs')
-rw-r--r--src/text.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/text.rs b/src/text.rs
index b5535e0..b3ecf1b 100644
--- a/src/text.rs
+++ b/src/text.rs
@@ -175,6 +175,22 @@ impl TextArea {
- self.rope.line_to_char(self.rope.char_to_line(self.cursor));
}
+ pub fn page_down(&mut self) {
+ self.cursor = self.rope.line_to_char(min(
+ self.rope.char_to_line(self.cursor) + self.r,
+ self.l(),
+ ));
+ self.scroll_to_cursor();
+ }
+
+ #[lower::apply(saturating)]
+ pub fn page_up(&mut self) {
+ self.cursor = self
+ .rope
+ .line_to_char(self.rope.char_to_line(self.cursor) - self.r);
+ self.scroll_to_cursor();
+ }
+
#[lower::apply(saturating)]
pub fn left(&mut self) {
self.cursor -= 1;