elio 1.5.0

Snappy, batteries-included terminal file manager with rich previews, inline images, bulk actions, and trash support.
Documentation
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub(crate) enum SyntaxSource {
    BundledDefault,
    Vendored,
}

#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub(crate) struct CuratedSyntax {
    pub canonical_id: &'static str,
    pub lookup_token: &'static str,
    pub source: SyntaxSource,
}

pub(crate) const CURATED_SYNTAXES: &[CuratedSyntax] = &[
    CuratedSyntax {
        canonical_id: "html",
        lookup_token: "html",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "xml",
        lookup_token: "xml",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "css",
        lookup_token: "css",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "scss",
        lookup_token: "scss",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "sass",
        lookup_token: "sass",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "less",
        lookup_token: "less",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "javascript",
        lookup_token: "js",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "jsx",
        lookup_token: "jsx",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "typescript",
        lookup_token: "typescript",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "tsx",
        lookup_token: "tsx",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "qml",
        lookup_token: "qml",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "sql",
        lookup_token: "sql",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "diff",
        lookup_token: "diff",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "dockerfile",
        lookup_token: "dockerfile",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "hcl",
        lookup_token: "hcl",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "terraform",
        lookup_token: "tf",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "groovy",
        lookup_token: "groovy",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "scala",
        lookup_token: "scala",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "perl",
        lookup_token: "pl",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "haskell",
        lookup_token: "hs",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "julia",
        lookup_token: "jl",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "r",
        lookup_token: "r",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "just",
        lookup_token: "just",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "rust",
        lookup_token: "rs",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "go",
        lookup_token: "go",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "c",
        lookup_token: "c",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "cpp",
        lookup_token: "cpp",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "cs",
        lookup_token: "cs",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "java",
        lookup_token: "java",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "dart",
        lookup_token: "dart",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "zig",
        lookup_token: "zig",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "php",
        lookup_token: "php",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "swift",
        lookup_token: "swift",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "kotlin",
        lookup_token: "kotlin",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "elixir",
        lookup_token: "elixir",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "fortran",
        lookup_token: "fortran",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "cobol",
        lookup_token: "cobol",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "clojure",
        lookup_token: "clj",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "ruby",
        lookup_token: "rb",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "python",
        lookup_token: "py",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "lua",
        lookup_token: "lua",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "make",
        lookup_token: "makefile",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "sh",
        lookup_token: "sh",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "bash",
        lookup_token: "bash",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "zsh",
        lookup_token: "sh",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "ksh",
        lookup_token: "sh",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "fish",
        lookup_token: "fish",
        source: SyntaxSource::BundledDefault,
    },
    CuratedSyntax {
        canonical_id: "powershell",
        lookup_token: "ps1",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "nix",
        lookup_token: "nix",
        source: SyntaxSource::Vendored,
    },
    CuratedSyntax {
        canonical_id: "cmake",
        lookup_token: "cmake",
        source: SyntaxSource::Vendored,
    },
];

#[allow(dead_code)]
pub(crate) fn curated_syntax(code_syntax: &str) -> Option<&'static CuratedSyntax> {
    CURATED_SYNTAXES
        .iter()
        .find(|syntax| syntax.canonical_id == code_syntax)
}