diff options
author | Yves Biener <56591091+yves-biener@users.noreply.github.com> | 2023-01-24 13:51:11 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-24 21:51:11 +0900 |
commit | 650aeb12bed057572cb806e9324647dd35a05e98 (patch) | |
tree | 5da0d6d5176f2a9f457c630167d7eb11864c4d8c /zellij-utils | |
parent | beddfb77a8ef8a5b90db084ad8030d1168f77352 (diff) |
feat: add ScrollToTop action (#2110)
Diffstat (limited to 'zellij-utils')
-rw-r--r-- | zellij-utils/src/cli.rs | 2 | ||||
-rw-r--r-- | zellij-utils/src/errors.rs | 1 | ||||
-rw-r--r-- | zellij-utils/src/input/actions.rs | 3 | ||||
-rw-r--r-- | zellij-utils/src/kdl/mod.rs | 4 |
4 files changed, 10 insertions, 0 deletions
diff --git a/zellij-utils/src/cli.rs b/zellij-utils/src/cli.rs index 1d62e7d07..82c34eecd 100644 --- a/zellij-utils/src/cli.rs +++ b/zellij-utils/src/cli.rs @@ -216,6 +216,8 @@ pub enum CliAction { ScrollDown, /// Scroll down to bottom in focus pane. ScrollToBottom, + /// Scroll up to top in focus pane. + ScrollToTop, /// Scroll up one page in focus pane. PageScrollUp, /// Scroll down one page in focus pane. diff --git a/zellij-utils/src/errors.rs b/zellij-utils/src/errors.rs index b56bd79a1..50c8f9b28 100644 --- a/zellij-utils/src/errors.rs +++ b/zellij-utils/src/errors.rs @@ -261,6 +261,7 @@ pub enum ScreenContext { ScrollDown, ScrollDownAt, ScrollToBottom, + ScrollToTop, PageScrollUp, PageScrollDown, HalfPageScrollUp, diff --git a/zellij-utils/src/input/actions.rs b/zellij-utils/src/input/actions.rs index 7bb13540c..1207023aa 100644 --- a/zellij-utils/src/input/actions.rs +++ b/zellij-utils/src/input/actions.rs @@ -128,6 +128,8 @@ pub enum Action { ScrollDownAt(Position), /// Scroll down to bottom in focus pane. ScrollToBottom, + /// Scroll up to top in focus pane. + ScrollToTop, /// Scroll up one page in focus pane. PageScrollUp, /// Scroll down one page in focus pane. @@ -226,6 +228,7 @@ impl Action { CliAction::ScrollUp => Ok(vec![Action::ScrollUp]), CliAction::ScrollDown => Ok(vec![Action::ScrollDown]), CliAction::ScrollToBottom => Ok(vec![Action::ScrollToBottom]), + CliAction::ScrollToTop => Ok(vec![Action::ScrollToTop]), CliAction::PageScrollUp => Ok(vec![Action::PageScrollUp]), CliAction::PageScrollDown => Ok(vec![Action::PageScrollDown]), CliAction::HalfPageScrollUp => Ok(vec![Action::HalfPageScrollUp]), diff --git a/zellij-utils/src/kdl/mod.rs b/zellij-utils/src/kdl/mod.rs index db001fb5f..2a81300ca 100644 --- a/zellij-utils/src/kdl/mod.rs +++ b/zellij-utils/src/kdl/mod.rs @@ -43,6 +43,7 @@ macro_rules! parse_kdl_action_arguments { "ScrollUp" => Ok(Action::ScrollUp), "ScrollDown" => Ok(Action::ScrollDown), "ScrollToBottom" => Ok(Action::ScrollToBottom), + "ScrollToTop" => Ok(Action::ScrollToTop), "PageScrollUp" => Ok(Action::PageScrollUp), "PageScrollDown" => Ok(Action::PageScrollDown), "HalfPageScrollUp" => Ok(Action::HalfPageScrollUp), @@ -636,6 +637,9 @@ impl TryFrom<&KdlNode> for Action { "ScrollToBottom" => { parse_kdl_action_arguments!(action_name, action_arguments, kdl_action) }, + "ScrollToTop" => { + parse_kdl_action_arguments!(action_name, action_arguments, kdl_action) + }, "PageScrollUp" => { parse_kdl_action_arguments!(action_name, action_arguments, kdl_action) }, |