diff options
Diffstat (limited to 'default-plugins/status-bar/src/tip/data')
-rw-r--r-- | default-plugins/status-bar/src/tip/data/mod.rs | 9 | ||||
-rw-r--r-- | default-plugins/status-bar/src/tip/data/move_tabs.rs | 69 |
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) +} |