use super::super::types::{RegistryEntry, entry, language};
use crate::file_info::{CodeBackend, CustomCodeKind, StructuredFormat};
pub(super) const LANGUAGES: &[RegistryEntry] = &[
entry(
language(
"json",
"JSON",
CodeBackend::Custom(CustomCodeKind::Json),
Some(StructuredFormat::Json),
),
&["json"],
&[
"package.json",
"package-lock.json",
"tsconfig.json",
"deno.json",
"composer.lock",
"pipfile.lock",
"flake.lock",
],
&[],
&["json"],
&["json"],
),
entry(
language(
"jsonc",
"JSONC",
CodeBackend::Custom(CustomCodeKind::Jsonc),
Some(StructuredFormat::Jsonc),
),
&["jsonc"],
&["deno.jsonc"],
&[],
&["jsonc"],
&["jsonc"],
),
entry(
language(
"json5",
"JSON5",
CodeBackend::Custom(CustomCodeKind::Jsonc),
Some(StructuredFormat::Json5),
),
&["json5"],
&[],
&[],
&["json5"],
&["json5"],
),
entry(
language(
"toml",
"TOML",
CodeBackend::Custom(CustomCodeKind::Toml),
Some(StructuredFormat::Toml),
),
&["toml"],
&["cargo.lock", "poetry.lock", "uv.lock"],
&[],
&["toml"],
&["toml"],
),
entry(
language(
"yaml",
"YAML",
CodeBackend::Custom(CustomCodeKind::Yaml),
Some(StructuredFormat::Yaml),
),
&["yaml", "yml"],
&[
"compose.yml",
"compose.yaml",
"docker-compose.yml",
"docker-compose.yaml",
"pnpm-lock.yaml",
"pnpm-workspace.yaml",
],
&[],
&["yaml", "yml"],
&["yaml", "yml"],
),
entry(
language(
"dotenv",
".env",
CodeBackend::Custom(CustomCodeKind::Ini),
Some(StructuredFormat::Dotenv),
),
&["env"],
&[".env"],
&[],
&["dotenv"],
&["dotenv"],
),
entry(
language(
"log",
"Log",
CodeBackend::Custom(CustomCodeKind::Log),
Some(StructuredFormat::Log),
),
&["log"],
&[],
&[],
&["log"],
&["log"],
),
entry(
language("ini", "INI", CodeBackend::Custom(CustomCodeKind::Ini), None),
&["ini", "keys", "lock"],
&["gemfile.lock", "bun.lock"],
&[],
&["ini", "dosini"],
&["ini", "dosini"],
),
entry(
language(
"desktop",
"Desktop Entry",
CodeBackend::Custom(CustomCodeKind::DesktopEntry),
None,
),
&["desktop"],
&[],
&[],
&["desktop"],
&["desktop"],
),
entry(
language(
"config",
"Directive config",
CodeBackend::Custom(CustomCodeKind::DirectiveConf),
None,
),
&["conf", "cfg"],
&[],
&[],
&["conf", "cfg", "config"],
&["conf", "cfg", "config"],
),
entry(
language(
"kitty",
"Kitty",
CodeBackend::Custom(CustomCodeKind::DirectiveConf),
None,
),
&[],
&[],
&[],
&["kitty"],
&["kitty"],
),
entry(
language(
"mpv",
"MPV",
CodeBackend::Custom(CustomCodeKind::DirectiveConf),
None,
),
&[],
&[],
&[],
&["mpv"],
&["mpv"],
),
entry(
language(
"btop",
"btop",
CodeBackend::Custom(CustomCodeKind::DirectiveConf),
None,
),
&[],
&[],
&[],
&["btop"],
&["btop"],
),
];