tui-framework-experiment 0.4.0

An set of harmonious Ratatui widgets with a goal of building a proper widget framework.
Documentation
use termwiz::input::KeyCode as TermwizKeyCode;

use super::Key;

impl From<TermwizKeyCode> for Key {
    fn from(key_code: TermwizKeyCode) -> Self {
        use Key::*;
        match key_code {
            TermwizKeyCode::Char(c) => Char(c),
            // TermwizKeyCode::Hyper => Hyper,
            // TermwizKeyCode::Super => Super,
            // TermwizKeyCode::Meta => Meta,
            // TermwizKeyCode::Cancel => Cancel,
            TermwizKeyCode::Backspace => Backspace,
            TermwizKeyCode::Tab => Tab,
            // TermwizKeyCode::Clear => Clear,
            TermwizKeyCode::Enter => Enter,
            // TermwizKeyCode::Shift => Shift,
            TermwizKeyCode::Escape => Esc,
            // TermwizKeyCode::LeftShift => LeftShift,
            // TermwizKeyCode::RightShift => RightShift,
            // TermwizKeyCode::Control => Control,
            // TermwizKeyCode::LeftControl => LeftControl,
            // TermwizKeyCode::RightControl => RightControl,
            // TermwizKeyCode::Alt => Alt,
            // TermwizKeyCode::LeftAlt => LeftAlt,
            // TermwizKeyCode::RightAlt => RightAlt,
            // TermwizKeyCode::Menu => Menu,
            // TermwizKeyCode::LeftMenu => LeftMenu,
            // TermwizKeyCode::RightMenu => RightMenu,
            // TermwizKeyCode::Pause => Pause,
            // TermwizKeyCode::CapsLock => CapsLock,
            TermwizKeyCode::PageUp => PageUp,
            TermwizKeyCode::PageDown => PageDown,
            TermwizKeyCode::End => End,
            TermwizKeyCode::Home => Home,
            // TermwizKeyCode::LeftArrow => LeftArrow,
            // TermwizKeyCode::RightArrow => RightArrow,
            // TermwizKeyCode::UpArrow => UpArrow,
            // TermwizKeyCode::DownArrow => DownArrow,
            // TermwizKeyCode::Select => Select,
            // TermwizKeyCode::Print => Print,
            // TermwizKeyCode::Execute => Execute,
            // TermwizKeyCode::PrintScreen => PrintScreen,
            TermwizKeyCode::Insert => Insert,
            TermwizKeyCode::Delete => Delete,
            // TermwizKeyCode::Help => Help,
            // TermwizKeyCode::LeftWindows => LeftWindows,
            // TermwizKeyCode::RightWindows => RightWindows,
            // TermwizKeyCode::Applications => Applications,
            // TermwizKeyCode::Sleep => Sleep,
            // TermwizKeyCode::Numpad0 => Numpad0,
            // TermwizKeyCode::Numpad1 => Numpad1,
            // TermwizKeyCode::Numpad2 => Numpad2,
            // TermwizKeyCode::Numpad3 => Numpad3,
            // TermwizKeyCode::Numpad4 => Numpad4,
            // TermwizKeyCode::Numpad5 => Numpad5,
            // TermwizKeyCode::Numpad6 => Numpad6,
            // TermwizKeyCode::Numpad7 => Numpad7,
            // TermwizKeyCode::Numpad8 => Numpad8,
            // TermwizKeyCode::Numpad9 => Numpad9,
            // TermwizKeyCode::Multiply => Multiply,
            // TermwizKeyCode::Add => Add,
            // TermwizKeyCode::Separator => Separator,
            // TermwizKeyCode::Subtract => Subtract,
            // TermwizKeyCode::Decimal => Decimal,
            // TermwizKeyCode::Divide => Divide,
            // TermwizKeyCode::Function(n) => Function(n),
            // TermwizKeyCode::NumLock => NumLock,
            // TermwizKeyCode::ScrollLock => ScrollLock,
            // TermwizKeyCode::Copy => Copy,
            // TermwizKeyCode::Cut => Cut,
            // TermwizKeyCode::Paste => Paste,
            // TermwizKeyCode::BrowserBack => BrowserBack,
            // TermwizKeyCode::BrowserForward => BrowserForward,
            // TermwizKeyCode::BrowserRefresh => BrowserRefresh,
            // TermwizKeyCode::BrowserStop => BrowserStop,
            // TermwizKeyCode::BrowserSearch => BrowserSearch,
            // TermwizKeyCode::BrowserFavorites => BrowserFavorites,
            // TermwizKeyCode::BrowserHome => BrowserHome,
            // TermwizKeyCode::VolumeMute => VolumeMute,
            // TermwizKeyCode::VolumeDown => VolumeDown,
            // TermwizKeyCode::VolumeUp => VolumeUp,
            // TermwizKeyCode::MediaNextTrack => MediaNextTrack,
            // TermwizKeyCode::MediaPrevTrack => MediaPrevTrack,
            // TermwizKeyCode::MediaStop => MediaStop,
            // TermwizKeyCode::MediaPlayPause => MediaPlayPause,
            // TermwizKeyCode::ApplicationLeftArrow => ApplicationLeftArrow,
            // TermwizKeyCode::ApplicationRightArrow => ApplicationRightArrow,
            // TermwizKeyCode::ApplicationUpArrow => ApplicationUpArrow,
            // TermwizKeyCode::ApplicationDownArrow => ApplicationDownArrow,
            // TermwizKeyCode::KeyPadHome => KeyPadHome,
            // TermwizKeyCode::KeyPadEnd => KeyPadEnd,
            // TermwizKeyCode::KeyPadPageUp => KeyPadPageUp,
            // TermwizKeyCode::KeyPadPageDown => KeyPadPageDown,
            // TermwizKeyCode::KeyPadBegin => KeyPadBegin,
            _ => todo!(),
        }
    }
}