in below/view/src/tab_view.rs [39:70]
fn draw(&self, printer: &Printer) {
let mut current_offset = 0;
let mut current_offset_idx = self.current_offset_idx;
for idx in 0..self.tabs.len() {
// Skip the hide item
if idx != 0 && current_offset_idx > 0 {
current_offset_idx -= 1;
continue;
}
let content = self.tabs[idx].to_string();
if idx == self.current_selected {
let trimed = &content.trim_end();
printer.with_effects(Effect::Bold | Effect::Underline, |printer| {
printer.print((current_offset, 0), trimed);
});
printer.print_hline(
(current_offset + trimed.len(), 0),
content.len() - trimed.len(),
" ",
);
} else {
printer.print((current_offset, 0), &content);
}
current_offset += content.len();
printer.print((current_offset, 0), &self.separator);
current_offset += self.separator.len();
}
printer.print_hline((0, 1), printer.size.x, "─");
}