use super::super::types::{RegistryEntry, entry, language};
use crate::file_info::CodeBackend;
pub(super) const LANGUAGES: &[RegistryEntry] = &[
entry(
language("perl", "Perl", CodeBackend::Syntect, None),
&["pl", "pm", "pod", "t"],
&["cpanfile"],
&["perl"],
&["perl", "pl", "pm"],
&["perl", "pl", "pm"],
),
entry(
language("haskell", "Haskell", CodeBackend::Syntect, None),
&["hs", "lhs"],
&[],
&["runhaskell"],
&["haskell", "hs", "lhs"],
&["haskell", "hs", "lhs"],
),
entry(
language("julia", "Julia", CodeBackend::Syntect, None),
&["jl"],
&[],
&["julia"],
&["julia", "jl"],
&["julia", "jl"],
),
entry(
language("r", "R", CodeBackend::Syntect, None),
&["r"],
&[".rprofile"],
&["rscript"],
&["r"],
&["r", "rscript"],
),
entry(
language("rust", "Rust", CodeBackend::Syntect, None),
&["rs"],
&[],
&[],
&["rust", "rs"],
&["rust", "rs"],
),
entry(
language("go", "Go", CodeBackend::Syntect, None),
&["go"],
&[],
&[],
&["go", "golang"],
&["go", "golang"],
),
entry(
language("c", "C", CodeBackend::Syntect, None),
&["c", "h"],
&[],
&[],
&["c", "h"],
&["c", "h"],
),
entry(
language("cpp", "C++", CodeBackend::Syntect, None),
&["cpp", "cc", "cxx", "hpp", "hh", "hxx"],
&[],
&[],
&["cpp", "c++", "cc", "cxx", "hpp", "hh", "hxx"],
&["cpp", "c++", "cc", "cxx", "hpp", "hh", "hxx"],
),
entry(
language("cs", "C#", CodeBackend::Syntect, None),
&["cs", "csx"],
&[],
&[],
&["cs", "csharp", "c#"],
&["cs", "csharp", "c#"],
),
entry(
language("java", "Java", CodeBackend::Syntect, None),
&["java"],
&[],
&[],
&["java"],
&["java"],
),
entry(
language("dart", "Dart", CodeBackend::Syntect, None),
&["dart"],
&[],
&[],
&["dart"],
&["dart"],
),
entry(
language("zig", "Zig", CodeBackend::Syntect, None),
&["zig"],
&[],
&[],
&["zig"],
&["zig"],
),
entry(
language("php", "PHP", CodeBackend::Syntect, None),
&["php"],
&[],
&[],
&["php"],
&["php"],
),
entry(
language("swift", "Swift", CodeBackend::Syntect, None),
&["swift"],
&[],
&[],
&["swift"],
&["swift"],
),
entry(
language("kotlin", "Kotlin", CodeBackend::Syntect, None),
&["kt", "kts"],
&[],
&[],
&["kotlin", "kt", "kts"],
&["kotlin", "kt", "kts"],
),
entry(
language("elixir", "Elixir", CodeBackend::Syntect, None),
&["ex", "exs"],
&[],
&["elixir"],
&["elixir", "ex", "exs"],
&["elixir", "ex", "exs"],
),
entry(
language("fortran", "Fortran", CodeBackend::Syntect, None),
&["f", "for", "f90", "f95", "f03", "f08", "fpp"],
&[],
&[],
&["fortran", "f90", "f95", "f03", "f08"],
&["fortran", "f90", "f95", "f03", "f08"],
),
entry(
language("cobol", "COBOL", CodeBackend::Syntect, None),
&["cbl", "cob", "cobol", "cpy"],
&[],
&[],
&["cobol", "cbl", "cob", "cpy"],
&["cobol", "cbl", "cob", "cpy"],
),
entry(
language("clojure", "Clojure", CodeBackend::Syntect, None),
&["clj", "cljs", "cljc", "edn"],
&["project.clj", "deps.edn", "bb.edn", "shadow-cljs.edn"],
&["clojure", "clj", "bb"],
&["clojure", "clj", "cljs", "cljc", "edn"],
&["clojure", "clj", "cljs", "cljc", "edn"],
),
entry(
language("ruby", "Ruby", CodeBackend::Syntect, None),
&["rb"],
&[],
&[],
&["ruby", "rb"],
&["ruby", "rb"],
),
entry(
language("python", "Python", CodeBackend::Syntect, None),
&["py", "pyi", "pyw", "pyx"],
&[],
&[],
&["python", "py"],
&["python", "py"],
),
entry(
language("lua", "Lua", CodeBackend::Syntect, None),
&["lua"],
&[],
&[],
&["lua"],
&["lua"],
),
];