aboutsummaryrefslogtreecommitdiff
path: root/src/lib/languageMap.ts
blob: ec8d6b73d27123b57abd468919c6ad6552dc94d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import type { Language } from '@/types'

const extensionMap: Record<string, Language> = {
  ts: 'typescript',
  tsx: 'typescript',
  js: 'javascript',
  jsx: 'javascript',
  mjs: 'javascript',
  cjs: 'javascript',
  rs: 'rust',
  json: 'json',
  md: 'markdown',
  mdx: 'markdown',
  html: 'html',
  htm: 'html',
  css: 'css',
  py: 'python',
}

export function detectLanguage(filename: string): Language {
  const ext = filename.split('.').pop()?.toLowerCase() ?? ''
  return extensionMap[ext] ?? 'plaintext'
}