/**
 * Extension to VS Code language id, used by `iconResolver` as a fallback
 * when material-icon-theme's `fileExtensions` map lacks an entry.
 * material-icon-theme relies on VS Code's extension-to-languageId registry
 * for common files (ts, js, html, css, sh, sql); without this `foo.ts`
 * would render as the generic file icon.
 * Add entries for missing icons. Keys are lowercase, dot-less. Values must
 * exist in `manifest.languageIds`.
 */
export const EXT_TO_LANGUAGE_ID: Record<string, string> = {
  ts: "typescript",
  cts: "typescript",
  mts: "typescript",
  tsx: "typescriptreact",
  js: "javascript",
  cjs: "javascript",
  mjs: "javascript",
  jsx: "javascriptreact",
  html: "html",
  htm: "html",
  css: "css",
  scss: "scss",
  sass: "sass",
  less: "less",
  json: "json",
  jsonc: "jsonc",
  md: "markdown",
  markdown: "markdown",
  py: "python",
  rs: "rust",
  go: "go",
  java: "java",
  kt: "kotlin",
  kts: "kotlin",
  rb: "ruby",
  php: "php",
  c: "c",
  h: "c",
  cpp: "cpp",
  cc: "cpp",
  cxx: "cpp",
  hpp: "cpp",
  cs: "csharp",
  swift: "swift",
  sh: "shellscript",
  bash: "shellscript",
  zsh: "shellscript",
  fish: "shellscript",
  sql: "sql",
  xml: "xml",
  yaml: "yaml",
  yml: "yaml",
  toml: "toml",
  vue: "vue",
  svelte: "svelte",
  astro: "astro",
  lua: "lua",
  dart: "dart",
  r: "r",
  pl: "perl",
  ex: "elixir",
  exs: "elixir",
  elm: "elm",
  hs: "haskell",
  clj: "clojure",
  scala: "scala",
  zig: "zig",
  nim: "nim",
  log: "log",
  jl: "julia",
  erl: "erlang",
  hrl: "erlang",
  cr: "crystal",
  pas: "pascal",
  pp: "pascal",
  vb: "vb",
  vbs: "vbscript",
  f: "fortran",
  f90: "fortran",
  f95: "fortran",
  cob: "cobol",
  cbl: "cobol",
  tcl: "tcl",
  lisp: "lisp",
  cl: "lisp",
  scm: "scheme",
  rkt: "scheme",
  groovy: "groovy",
  gradle: "groovy",
  coffee: "coffeescript",
  ls: "livescript",
  pug: "pug",
  jade: "pug",
  ps1: "powershell",
  psm1: "powershell",
  psd1: "powershell",
  v: "verilog",
  sv: "verilog",
  vhd: "vhdl",
  vhdl: "vhdl",
  proto: "proto3",
  cmake: "cmake",
  diff: "diff",
  patch: "diff",
  ino: "cpp",
  m: "objective-c",
  mm: "objective-cpp",
  ml: "ocaml",
  mli: "ocaml",
  fsharp: "fsharp",
  fsx: "fsharp",
  styl: "stylus",
  mdx: "mdx",
};
