intelli_shell/widgets/
import_export.rs

1use ratatui::{buffer::Buffer, layout::Rect, widgets::Widget};
2
3use crate::widgets::{CommandWidget, VariableCompletionWidget};
4
5/// A widget for `ImportExportItem`, holding both variants
6#[derive(Clone)]
7pub enum ImportExportItemWidget<'a> {
8    Command(CommandWidget<'a>),
9    Completion(VariableCompletionWidget<'a>),
10}
11
12impl<'a> Widget for ImportExportItemWidget<'a> {
13    fn render(self, area: Rect, buf: &mut Buffer)
14    where
15        Self: Sized,
16    {
17        match self {
18            ImportExportItemWidget::Command(w) => w.render(area, buf),
19            ImportExportItemWidget::Completion(w) => w.render(area, buf),
20        }
21    }
22}