1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
//! Terminal component use crate::Component; use termcolor::ColorChoice; /// Abscissa terminal subsystem component #[derive(Component, Debug)] #[component(core)] pub struct Terminal {} impl Terminal { /// Create a new [`Terminal`] component with the given [`ColorChoice`] pub fn new(color_choice: ColorChoice) -> Terminal { // TODO(tarcieri): handle terminal reinit (without panicking) super::init(color_choice); if color_choice != ColorChoice::Never { // TODO(tarcieri): avoid panicking here color_eyre::install().expect("couldn't install color-eyre"); } Self {} } }