bernardo-tui 0.2.7

A keyboard-only, distraction-free TUI widget library
Documentation
use std::fmt::{Display, Formatter};

use serde::{Deserialize, Serialize};

#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
pub enum LangId {
    BASH,
    C,
    CPP,
    CSS,
    CSV,
    HASKELL,
    GO,
    JAVA,
    JAVASCRIPT,
    MARKDOWN,
    PYTHON3,
    RON,
    RUST,
    TOML,
    TYPESCRIPT,
    HTML,
    XML,
    YAML,
}

impl LangId {
    pub fn to_lsp_lang_id_string(&self) -> &'static str {
        match self {
            LangId::BASH => "bash",
            LangId::C => "c",
            LangId::CPP => "c++",
            LangId::CSS => "css",
            LangId::CSV => "csv",
            LangId::HASKELL => "haskell",
            LangId::JAVA => "java",
            LangId::JAVASCRIPT => "javascript",
            LangId::GO => "go",
            LangId::MARKDOWN => "markdown",
            LangId::PYTHON3 => "python3",
            LangId::RON => "ron",
            LangId::RUST => "rust",
            LangId::TOML => "toml",
            LangId::TYPESCRIPT => "typescript",
            LangId::HTML => "html",
            LangId::XML => "xml",
            LangId::YAML => "yaml",
        }
    }
}

impl Display for LangId {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        write!(f, "{:?}", self)
    }
}