fn draw()

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, "─");
    }