mirror of
https://github.com/zellij-org/zellij.git
synced 2024-11-27 14:34:32 +03:00
wip: the borders are colored correctly now, need to change the color according to the mode selected next and do some cleaning up
This commit is contained in:
parent
448c426c2b
commit
3dd776834a
@ -1,7 +1,6 @@
|
|||||||
use crate::tab::Pane;
|
use crate::tab::Pane;
|
||||||
|
use ansi_term::Colour::{self, Fixed};
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use ansi_term::Colour::*;
|
|
||||||
use super::super::utils::logging::debug_log_to_file;
|
|
||||||
|
|
||||||
use std::fmt::{Display, Error, Formatter};
|
use std::fmt::{Display, Error, Formatter};
|
||||||
|
|
||||||
@ -26,7 +25,7 @@ pub struct BoundarySymbol {
|
|||||||
boundary_type: BoundaryType,
|
boundary_type: BoundaryType,
|
||||||
invisible: bool,
|
invisible: bool,
|
||||||
should_be_colored: bool,
|
should_be_colored: bool,
|
||||||
color: ansi_term::Colour
|
color: Colour,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl BoundarySymbol {
|
impl BoundarySymbol {
|
||||||
@ -35,17 +34,14 @@ impl BoundarySymbol {
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible: false,
|
invisible: false,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color: match should_be_colored {
|
color: Fixed(245),
|
||||||
true => ansi_term::Colour::Red,
|
|
||||||
false => ansi_term::Colour::White
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn invisible(mut self) -> Self {
|
pub fn invisible(mut self) -> Self {
|
||||||
self.invisible = true;
|
self.invisible = true;
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
pub fn color(mut self, color: ansi_term::Colour) -> Self {
|
pub fn color(mut self, color: Colour) -> Self {
|
||||||
self.color = color;
|
self.color = color;
|
||||||
self.should_be_colored = true;
|
self.should_be_colored = true;
|
||||||
self
|
self
|
||||||
@ -56,12 +52,10 @@ impl Display for BoundarySymbol {
|
|||||||
fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
|
fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
|
||||||
match self.invisible {
|
match self.invisible {
|
||||||
true => write!(f, " "),
|
true => write!(f, " "),
|
||||||
false => {
|
false => match self.should_be_colored {
|
||||||
match self.should_be_colored {
|
true => write!(f, "{}", self.color.paint(self.boundary_type)),
|
||||||
true => write!(f, "{}", self.color.paint(self.boundary_type)),
|
false => write!(f, "{}", self.boundary_type),
|
||||||
false => write!(f, "{}", self.boundary_type)
|
},
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,6 +68,10 @@ fn combine_symbols(
|
|||||||
let should_be_colored = current_symbol.should_be_colored || next_symbol.should_be_colored;
|
let should_be_colored = current_symbol.should_be_colored || next_symbol.should_be_colored;
|
||||||
let current_symbol = current_symbol.boundary_type;
|
let current_symbol = current_symbol.boundary_type;
|
||||||
let next_symbol = next_symbol.boundary_type;
|
let next_symbol = next_symbol.boundary_type;
|
||||||
|
let color = match should_be_colored {
|
||||||
|
true => Fixed(154),
|
||||||
|
false => Fixed(245),
|
||||||
|
};
|
||||||
match (current_symbol, next_symbol) {
|
match (current_symbol, next_symbol) {
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::TOP_RIGHT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::TOP_RIGHT) => {
|
||||||
// (┐, ┐) => Some(┐)
|
// (┐, ┐) => Some(┐)
|
||||||
@ -82,7 +80,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL) => {
|
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL) => {
|
||||||
@ -92,7 +90,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL) => {
|
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL) => {
|
||||||
@ -102,7 +100,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::TOP_LEFT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::TOP_LEFT) => {
|
||||||
@ -112,7 +110,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::BOTTOM_RIGHT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::BOTTOM_RIGHT) => {
|
||||||
@ -122,7 +120,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -132,7 +130,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -142,7 +140,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::TOP_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -152,7 +150,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -162,7 +160,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::TOP_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -172,7 +170,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_RIGHT, boundary_type::CROSS) => {
|
(boundary_type::TOP_RIGHT, boundary_type::CROSS) => {
|
||||||
@ -182,7 +180,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL) => {
|
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL) => {
|
||||||
@ -192,7 +190,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::VERTICAL) => {
|
(boundary_type::HORIZONTAL, boundary_type::VERTICAL) => {
|
||||||
@ -202,7 +200,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::TOP_LEFT) => {
|
(boundary_type::HORIZONTAL, boundary_type::TOP_LEFT) => {
|
||||||
@ -212,7 +210,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::BOTTOM_RIGHT) => {
|
(boundary_type::HORIZONTAL, boundary_type::BOTTOM_RIGHT) => {
|
||||||
@ -222,7 +220,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::HORIZONTAL, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -232,7 +230,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::HORIZONTAL, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -242,7 +240,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::HORIZONTAL, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -252,7 +250,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -262,7 +260,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::HORIZONTAL, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -272,7 +270,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL, boundary_type::CROSS) => {
|
(boundary_type::HORIZONTAL, boundary_type::CROSS) => {
|
||||||
@ -282,7 +280,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::VERTICAL) => {
|
(boundary_type::VERTICAL, boundary_type::VERTICAL) => {
|
||||||
@ -292,7 +290,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::TOP_LEFT) => {
|
(boundary_type::VERTICAL, boundary_type::TOP_LEFT) => {
|
||||||
@ -302,7 +300,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::BOTTOM_RIGHT) => {
|
(boundary_type::VERTICAL, boundary_type::BOTTOM_RIGHT) => {
|
||||||
@ -312,7 +310,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::VERTICAL, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -322,7 +320,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::VERTICAL, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -332,7 +330,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::VERTICAL, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -342,7 +340,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::VERTICAL, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -352,7 +350,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::VERTICAL, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -362,7 +360,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL, boundary_type::CROSS) => {
|
(boundary_type::VERTICAL, boundary_type::CROSS) => {
|
||||||
@ -372,7 +370,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::TOP_LEFT) => {
|
(boundary_type::TOP_LEFT, boundary_type::TOP_LEFT) => {
|
||||||
@ -382,7 +380,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::BOTTOM_RIGHT) => {
|
(boundary_type::TOP_LEFT, boundary_type::BOTTOM_RIGHT) => {
|
||||||
@ -392,7 +390,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::TOP_LEFT, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -402,7 +400,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::TOP_LEFT, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -412,7 +410,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::TOP_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -422,7 +420,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::TOP_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -432,7 +430,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::TOP_LEFT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -442,7 +440,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::TOP_LEFT, boundary_type::CROSS) => {
|
(boundary_type::TOP_LEFT, boundary_type::CROSS) => {
|
||||||
@ -452,7 +450,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::BOTTOM_RIGHT) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::BOTTOM_RIGHT) => {
|
||||||
@ -462,7 +460,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -472,7 +470,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -482,7 +480,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -492,7 +490,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -502,7 +500,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -512,7 +510,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_RIGHT, boundary_type::CROSS) => {
|
(boundary_type::BOTTOM_RIGHT, boundary_type::CROSS) => {
|
||||||
@ -522,7 +520,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::BOTTOM_LEFT) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::BOTTOM_LEFT) => {
|
||||||
@ -532,7 +530,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -542,7 +540,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -552,7 +550,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -562,7 +560,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -572,7 +570,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::BOTTOM_LEFT, boundary_type::CROSS) => {
|
(boundary_type::BOTTOM_LEFT, boundary_type::CROSS) => {
|
||||||
@ -582,7 +580,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_LEFT, boundary_type::VERTICAL_LEFT) => {
|
(boundary_type::VERTICAL_LEFT, boundary_type::VERTICAL_LEFT) => {
|
||||||
@ -592,7 +590,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::VERTICAL_LEFT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -602,7 +600,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::VERTICAL_LEFT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -612,7 +610,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_LEFT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::VERTICAL_LEFT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -622,7 +620,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_LEFT, boundary_type::CROSS) => {
|
(boundary_type::VERTICAL_LEFT, boundary_type::CROSS) => {
|
||||||
@ -632,7 +630,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
(boundary_type::VERTICAL_RIGHT, boundary_type::VERTICAL_RIGHT) => {
|
||||||
@ -642,7 +640,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::VERTICAL_RIGHT, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -652,7 +650,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::VERTICAL_RIGHT, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -662,7 +660,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::VERTICAL_RIGHT, boundary_type::CROSS) => {
|
(boundary_type::VERTICAL_RIGHT, boundary_type::CROSS) => {
|
||||||
@ -672,7 +670,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL_DOWN, boundary_type::HORIZONTAL_DOWN) => {
|
(boundary_type::HORIZONTAL_DOWN, boundary_type::HORIZONTAL_DOWN) => {
|
||||||
@ -682,7 +680,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL_DOWN, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::HORIZONTAL_DOWN, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -692,7 +690,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL_DOWN, boundary_type::CROSS) => {
|
(boundary_type::HORIZONTAL_DOWN, boundary_type::CROSS) => {
|
||||||
@ -702,7 +700,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL_UP, boundary_type::HORIZONTAL_UP) => {
|
(boundary_type::HORIZONTAL_UP, boundary_type::HORIZONTAL_UP) => {
|
||||||
@ -712,7 +710,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::HORIZONTAL_UP, boundary_type::CROSS) => {
|
(boundary_type::HORIZONTAL_UP, boundary_type::CROSS) => {
|
||||||
@ -722,7 +720,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(boundary_type::CROSS, boundary_type::CROSS) => {
|
(boundary_type::CROSS, boundary_type::CROSS) => {
|
||||||
@ -732,7 +730,7 @@ fn combine_symbols(
|
|||||||
boundary_type,
|
boundary_type,
|
||||||
invisible,
|
invisible,
|
||||||
should_be_colored,
|
should_be_colored,
|
||||||
color
|
color,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
(_, _) => None,
|
(_, _) => None,
|
||||||
@ -829,7 +827,6 @@ impl Boundaries {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn add_rect(&mut self, rect: &dyn Pane, should_be_colored: bool) {
|
pub fn add_rect(&mut self, rect: &dyn Pane, should_be_colored: bool) {
|
||||||
debug_log_to_file(format!("colored? {}", should_be_colored));
|
|
||||||
if rect.x() > 0 {
|
if rect.x() > 0 {
|
||||||
let boundary_x_coords = rect.x() - 1;
|
let boundary_x_coords = rect.x() - 1;
|
||||||
let first_row_coordinates = self.rect_right_boundary_row_start(rect);
|
let first_row_coordinates = self.rect_right_boundary_row_start(rect);
|
||||||
@ -846,6 +843,9 @@ impl Boundaries {
|
|||||||
if rect.invisible_borders() {
|
if rect.invisible_borders() {
|
||||||
symbol_to_add = symbol_to_add.invisible();
|
symbol_to_add = symbol_to_add.invisible();
|
||||||
}
|
}
|
||||||
|
if rect.colored_borders() {
|
||||||
|
symbol_to_add = symbol_to_add.color(Fixed(154));
|
||||||
|
}
|
||||||
let next_symbol = self
|
let next_symbol = self
|
||||||
.boundary_characters
|
.boundary_characters
|
||||||
.remove(&coordinates)
|
.remove(&coordinates)
|
||||||
@ -870,6 +870,9 @@ impl Boundaries {
|
|||||||
if rect.invisible_borders() {
|
if rect.invisible_borders() {
|
||||||
symbol_to_add = symbol_to_add.invisible();
|
symbol_to_add = symbol_to_add.invisible();
|
||||||
}
|
}
|
||||||
|
if rect.colored_borders() {
|
||||||
|
symbol_to_add = symbol_to_add.color(Fixed(154));
|
||||||
|
}
|
||||||
let next_symbol = self
|
let next_symbol = self
|
||||||
.boundary_characters
|
.boundary_characters
|
||||||
.remove(&coordinates)
|
.remove(&coordinates)
|
||||||
@ -886,15 +889,18 @@ impl Boundaries {
|
|||||||
for row in first_row_coordinates..last_row_coordinates {
|
for row in first_row_coordinates..last_row_coordinates {
|
||||||
let coordinates = Coordinates::new(boundary_x_coords, row);
|
let coordinates = Coordinates::new(boundary_x_coords, row);
|
||||||
let mut symbol_to_add = if row == first_row_coordinates && row != 0 {
|
let mut symbol_to_add = if row == first_row_coordinates && row != 0 {
|
||||||
BoundarySymbol::new(boundary_type::TOP_RIGHT, false)
|
BoundarySymbol::new(boundary_type::TOP_RIGHT, should_be_colored)
|
||||||
} else if row == last_row_coordinates - 1 && row != self.rows - 1 {
|
} else if row == last_row_coordinates - 1 && row != self.rows - 1 {
|
||||||
BoundarySymbol::new(boundary_type::BOTTOM_RIGHT, false)
|
BoundarySymbol::new(boundary_type::BOTTOM_RIGHT, should_be_colored)
|
||||||
} else {
|
} else {
|
||||||
BoundarySymbol::new(boundary_type::VERTICAL, false)
|
BoundarySymbol::new(boundary_type::VERTICAL, should_be_colored)
|
||||||
};
|
};
|
||||||
if rect.invisible_borders() {
|
if rect.invisible_borders() {
|
||||||
symbol_to_add = symbol_to_add.invisible();
|
symbol_to_add = symbol_to_add.invisible();
|
||||||
}
|
}
|
||||||
|
if rect.colored_borders() {
|
||||||
|
symbol_to_add = symbol_to_add.color(Fixed(154));
|
||||||
|
}
|
||||||
let next_symbol = self
|
let next_symbol = self
|
||||||
.boundary_characters
|
.boundary_characters
|
||||||
.remove(&coordinates)
|
.remove(&coordinates)
|
||||||
@ -910,15 +916,18 @@ impl Boundaries {
|
|||||||
for col in first_col_coordinates..last_col_coordinates {
|
for col in first_col_coordinates..last_col_coordinates {
|
||||||
let coordinates = Coordinates::new(col, boundary_y_coords);
|
let coordinates = Coordinates::new(col, boundary_y_coords);
|
||||||
let mut symbol_to_add = if col == first_col_coordinates && col != 0 {
|
let mut symbol_to_add = if col == first_col_coordinates && col != 0 {
|
||||||
BoundarySymbol::new(boundary_type::BOTTOM_LEFT, false)
|
BoundarySymbol::new(boundary_type::BOTTOM_LEFT, should_be_colored)
|
||||||
} else if col == last_col_coordinates - 1 && col != self.columns - 1 {
|
} else if col == last_col_coordinates - 1 && col != self.columns - 1 {
|
||||||
BoundarySymbol::new(boundary_type::BOTTOM_RIGHT, false)
|
BoundarySymbol::new(boundary_type::BOTTOM_RIGHT, should_be_colored)
|
||||||
} else {
|
} else {
|
||||||
BoundarySymbol::new(boundary_type::HORIZONTAL, false)
|
BoundarySymbol::new(boundary_type::HORIZONTAL, should_be_colored)
|
||||||
};
|
};
|
||||||
if rect.invisible_borders() {
|
if rect.invisible_borders() {
|
||||||
symbol_to_add = symbol_to_add.invisible();
|
symbol_to_add = symbol_to_add.invisible();
|
||||||
}
|
}
|
||||||
|
if rect.colored_borders() {
|
||||||
|
symbol_to_add = symbol_to_add.color(Fixed(154));
|
||||||
|
}
|
||||||
let next_symbol = self
|
let next_symbol = self
|
||||||
.boundary_characters
|
.boundary_characters
|
||||||
.remove(&coordinates)
|
.remove(&coordinates)
|
||||||
|
@ -11,6 +11,7 @@ pub struct PluginPane {
|
|||||||
pub should_render: bool,
|
pub should_render: bool,
|
||||||
pub selectable: bool,
|
pub selectable: bool,
|
||||||
pub invisible_borders: bool,
|
pub invisible_borders: bool,
|
||||||
|
pub colored_borders: bool,
|
||||||
pub position_and_size: PositionAndSize,
|
pub position_and_size: PositionAndSize,
|
||||||
pub position_and_size_override: Option<PositionAndSize>,
|
pub position_and_size_override: Option<PositionAndSize>,
|
||||||
pub send_plugin_instructions: SenderWithContext<PluginInstruction>,
|
pub send_plugin_instructions: SenderWithContext<PluginInstruction>,
|
||||||
@ -28,6 +29,7 @@ impl PluginPane {
|
|||||||
should_render: true,
|
should_render: true,
|
||||||
selectable: true,
|
selectable: true,
|
||||||
invisible_borders: false,
|
invisible_borders: false,
|
||||||
|
colored_borders: false,
|
||||||
position_and_size,
|
position_and_size,
|
||||||
position_and_size_override: None,
|
position_and_size_override: None,
|
||||||
send_plugin_instructions,
|
send_plugin_instructions,
|
||||||
@ -188,4 +190,7 @@ impl Pane for PluginPane {
|
|||||||
fn invisible_borders(&self) -> bool {
|
fn invisible_borders(&self) -> bool {
|
||||||
self.invisible_borders
|
self.invisible_borders
|
||||||
}
|
}
|
||||||
|
fn colored_borders(&self) -> bool {
|
||||||
|
self.colored_borders
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -174,6 +174,9 @@ pub trait Pane {
|
|||||||
fn invisible_borders(&self) -> bool {
|
fn invisible_borders(&self) -> bool {
|
||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
fn colored_borders(&self) -> bool {
|
||||||
|
false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Tab {
|
impl Tab {
|
||||||
@ -647,7 +650,7 @@ impl Tab {
|
|||||||
if !self.panes_to_hide.contains(&terminal.pid()) {
|
if !self.panes_to_hide.contains(&terminal.pid()) {
|
||||||
match self.active_terminal.unwrap() == terminal.pid() {
|
match self.active_terminal.unwrap() == terminal.pid() {
|
||||||
true => boundaries.add_rect(terminal.as_ref(), true),
|
true => boundaries.add_rect(terminal.as_ref(), true),
|
||||||
false => boundaries.add_rect(terminal.as_ref(), false)
|
false => boundaries.add_rect(terminal.as_ref(), false),
|
||||||
}
|
}
|
||||||
if let Some(vte_output) = terminal.render() {
|
if let Some(vte_output) = terminal.render() {
|
||||||
let vte_output = if let PaneId::Terminal(_) = kind {
|
let vte_output = if let PaneId::Terminal(_) = kind {
|
||||||
|
Loading…
Reference in New Issue
Block a user