summaryrefslogtreecommitdiffstats
path: root/default-plugins
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-02-26 10:48:02 +0100
committerAram Drevekenin <aram@poor.dev>2024-02-26 10:48:02 +0100
commit5071b54b26eb6bede1760e1dd5540c8959b108f5 (patch)
treef5a7aa488ece8f21c17350bb3ec14ceaf15f60a7 /default-plugins
parentaf17598f3d121fe0373d7f766b17cd437ce0ab49 (diff)
parent27bffbf1533b4b2d3c10b1305557c75ddd121374 (diff)
Merge branch 'main' into plugin-aliasesplugin-aliases
Diffstat (limited to 'default-plugins')
-rw-r--r--default-plugins/status-bar/src/tip/data/mod.rs9
-rw-r--r--default-plugins/status-bar/src/tip/data/move_tabs.rs69
2 files changed, 78 insertions, 0 deletions
diff --git a/default-plugins/status-bar/src/tip/data/mod.rs b/default-plugins/status-bar/src/tip/data/mod.rs
index 1354b1ab4..731fa7772 100644
--- a/default-plugins/status-bar/src/tip/data/mod.rs
+++ b/default-plugins/status-bar/src/tip/data/mod.rs
@@ -8,6 +8,7 @@ mod compact_layout;
mod edit_scrollbuffer;
mod floating_panes_mouse;
mod move_focus_hjkl_tab_switch;
+mod move_tabs;
mod quicknav;
mod send_mouse_click_to_terminal;
mod sync_tab;
@@ -88,5 +89,13 @@ lazy_static! {
full: compact_layout::compact_layout_full,
}
),
+ (
+ "move_tabs",
+ TipBody {
+ short: move_tabs::move_tabs_short,
+ medium: move_tabs::move_tabs_medium,
+ full: move_tabs::move_tabs_full,
+ }
+ )
]);
}
diff --git a/default-plugins/status-bar/src/tip/data/move_tabs.rs b/default-plugins/status-bar/src/tip/data/move_tabs.rs
new file mode 100644
index 000000000..6ad119e49
--- /dev/null
+++ b/default-plugins/status-bar/src/tip/data/move_tabs.rs
@@ -0,0 +1,69 @@
+use ansi_term::{
+ unstyled_len, ANSIString, ANSIStrings,
+ Color::{Fixed, RGB},
+ Style,
+};
+
+use zellij_tile::prelude::*;
+use zellij_tile_utils::palette_match;
+
+use crate::LinePart;
+
+macro_rules! strings {
+ ($ANSIStrings:expr) => {{
+ let strings: &[ANSIString] = $ANSIStrings;
+
+ let ansi_strings = ANSIStrings(strings);
+
+ LinePart {
+ part: format!("{}", ansi_strings),
+ len: unstyled_len(&ansi_strings),
+ }
+ }};
+}
+
+pub fn move_tabs_full(help: &ModeInfo) -> LinePart {
+ // Tip: Wrong order of tabs? You can move them to left and right with:
+ // Alt + i (left) and Alt + o (right)
+ let green_color = palette_match!(help.style.colors.green);
+
+ let bits = vec![
+ Style::new().paint(" Tip: "),
+ Style::new().paint("Wrong order of tabs? You can move them to left and right with: "),
+ Style::new().fg(green_color).bold().paint("Alt + i"),
+ Style::new().paint(" (left) and "),
+ Style::new().fg(green_color).bold().paint("Alt + o"),
+ Style::new().paint(" (right)"),
+ ];
+ strings!(&bits)
+}
+
+pub fn move_tabs_medium(help: &ModeInfo) -> LinePart {
+ // Tip: You can move tabs to left and right with:
+ // Alt + i (left) and Alt + o (right)
+ let green_color = palette_match!(help.style.colors.green);
+
+ let bits = vec![
+ Style::new().paint(" Tip: "),
+ Style::new().paint("You can move tabs to left and right with: "),
+ Style::new().fg(green_color).bold().paint("Alt + i"),
+ Style::new().paint(" (left) and "),
+ Style::new().fg(green_color).bold().paint("Alt + o"),
+ Style::new().paint(" (right)"),
+ ];
+ strings!(&bits)
+}
+
+pub fn move_tabs_short(help: &ModeInfo) -> LinePart {
+ // Move tabs with: Alt + i (left) and Alt + o (right)
+ let green_color = palette_match!(help.style.colors.green);
+
+ let bits = vec![
+ Style::new().paint(" Move tabs with: "),
+ Style::new().fg(green_color).bold().paint("Alt + i"),
+ Style::new().paint(" (left) and "),
+ Style::new().fg(green_color).bold().paint("Alt + o"),
+ Style::new().paint(" (right)"),
+ ];
+ strings!(&bits)
+}