refactors
This commit is contained in:
parent
895976367f
commit
aa995f1d7d
3 changed files with 75 additions and 62 deletions
127
src/main.rs
127
src/main.rs
|
@ -6,8 +6,8 @@ use crate::{powerline::Powerline, util::to_owo};
|
|||
mod powerline;
|
||||
mod util;
|
||||
|
||||
// There's really no good palette color to use for this in zellij. I'll add this is a custom plugin
|
||||
// option once that's possible.
|
||||
// There's really no good palette color to use for this in zellij. I'll add this
|
||||
// as a custom plugin option once that's possible.
|
||||
const ALT_BG: PaletteColor = PaletteColor::Rgb((68, 71, 90));
|
||||
|
||||
register_plugin!(State);
|
||||
|
@ -35,72 +35,79 @@ impl ZellijPlugin for State {
|
|||
|
||||
match self.mode.mode {
|
||||
InputMode::Locked => {
|
||||
powerline.segment(Segment::palette_colors("<C-g> ", pal.red, pal.black))
|
||||
powerline.segment(Segment::from_palette("<C-g> ", pal.red, pal.black))
|
||||
},
|
||||
|
||||
InputMode::Normal => powerline
|
||||
.segment(Segment::palette_colors("Normal", pal.black, pal.yellow))
|
||||
.segment(Segment::palette_colors("<C-g> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-p> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-t> | ﴵ ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-n> | ﭕ ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-h> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-s> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-o> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<C-q> | ", pal.blue, ALT_BG))
|
||||
.segment(Segment::palette_colors("<M- >", pal.green, ALT_BG))
|
||||
.segment(Segment::palette_colors("<M-n> | ", pal.green, ALT_BG))
|
||||
.segment(Segment::palette_colors("<M-+/-> | ﭔ ", pal.green, ALT_BG)),
|
||||
InputMode::Normal => powerline.segments([
|
||||
Segment::from_palette("Normal", pal.black, pal.yellow),
|
||||
Segment::from_palette("<C-g> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-p> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-t> | ﴵ ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-n> | ﭕ ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-h> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-s> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-o> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<C-q> | ", pal.blue, ALT_BG),
|
||||
Segment::from_palette("<M- >", pal.green, ALT_BG),
|
||||
Segment::from_palette("<M-n> | ", pal.green, ALT_BG),
|
||||
Segment::from_palette("<M-+/-> | ﭔ ", pal.green, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Pane => powerline
|
||||
.segment(Segment::palette_colors("Pane", pal.black, pal.blue))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("p | 怜", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("n | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("d | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("r | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("x | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("f | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("z | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("c | 凜 ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("w | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("e | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Pane => powerline.segments([
|
||||
Segment::from_palette("Pane", pal.black, pal.blue),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("p | 怜", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("n | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("d | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("r | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("x | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("f | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("z | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("c | 凜 ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("w | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("e | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Tab => powerline
|
||||
.segment(Segment::palette_colors("Tab", pal.black, pal.cyan))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("⇋", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("n | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("x | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("r | 凜 ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("s | מּ ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Tab => powerline.segments([
|
||||
Segment::from_palette("Tab", pal.black, pal.cyan),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("⇋", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("n | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("x | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("r | 凜 ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("s | מּ ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Resize => powerline
|
||||
.segment(Segment::palette_colors("Resize", pal.black, pal.red))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("+-", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Resize => powerline.segments([
|
||||
Segment::from_palette("Resize", pal.black, pal.red),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("+-", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Move => powerline
|
||||
.segment(Segment::palette_colors("Move", pal.black, pal.gray))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("⇋/n | ⇋", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Move => powerline.segments([
|
||||
Segment::from_palette("Move", pal.black, pal.gray),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("⇋/n | ⇋", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Scroll => powerline
|
||||
.segment(Segment::palette_colors("Scroll", pal.black, pal.green))
|
||||
.segment(Segment::palette_colors("", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors("u/d | ﯕ ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Scroll => powerline.segments([
|
||||
Segment::from_palette("Scroll", pal.black, pal.green),
|
||||
Segment::from_palette("", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette("u/d | ﯕ ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
InputMode::Session => powerline
|
||||
.segment(Segment::palette_colors("Session", pal.black, pal.red))
|
||||
.segment(Segment::palette_colors("d | ", pal.magenta, ALT_BG))
|
||||
.segment(Segment::palette_colors(" | ", pal.magenta, ALT_BG)),
|
||||
InputMode::Session => powerline.segments([
|
||||
Segment::from_palette("Session", pal.black, pal.red),
|
||||
Segment::from_palette("d | ", pal.magenta, ALT_BG),
|
||||
Segment::from_palette(" | ", pal.magenta, ALT_BG),
|
||||
]),
|
||||
|
||||
_ => &mut powerline,
|
||||
};
|
||||
|
|
|
@ -28,6 +28,13 @@ impl Powerline {
|
|||
self
|
||||
}
|
||||
|
||||
pub fn segments(&mut self, segs: impl IntoIterator<Item = Segment>) -> &mut Self {
|
||||
for seg in segs {
|
||||
self.segment(seg);
|
||||
}
|
||||
self
|
||||
}
|
||||
|
||||
pub fn render(&self, max_width: usize) -> String {
|
||||
let mut buf = String::new();
|
||||
let mut max_segs = 0;
|
||||
|
@ -90,7 +97,7 @@ pub struct Segment {
|
|||
}
|
||||
|
||||
impl Segment {
|
||||
pub fn palette_colors(txt: impl ToString, fg: PaletteColor, bg: PaletteColor) -> Self {
|
||||
pub fn from_palette(txt: impl ToString, fg: PaletteColor, bg: PaletteColor) -> Self {
|
||||
Self {
|
||||
txt: txt.to_string(),
|
||||
fg: to_owo(fg),
|
||||
|
|
|
@ -7,4 +7,3 @@ pub fn to_owo(color: PaletteColor) -> DynColors {
|
|||
PaletteColor::EightBit(n) => DynColors::Xterm(n.into()),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue