aboutsummaryrefslogtreecommitdiff
path: root/src/lib/languageMap.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/languageMap.ts')
-rw-r--r--src/lib/languageMap.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/lib/languageMap.ts b/src/lib/languageMap.ts
new file mode 100644
index 0000000..ec8d6b7
--- /dev/null
+++ b/src/lib/languageMap.ts
@@ -0,0 +1,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'
+}