| 123456789101112131415161718192021222324 |
- /**
- * 文件扩展名 → Monaco Editor 语言名称映射
- */
- const EXT_LANGUAGE_MAP = {
- js: 'javascript', jsx: 'javascript',
- ts: 'typescript', tsx: 'typescript',
- json: 'json', html: 'html', css: 'css',
- scss: 'scss', less: 'less',
- md: 'markdown', py: 'python',
- java: 'java', xml: 'xml',
- yaml: 'yaml', yml: 'yaml',
- sh: 'shell', bash: 'shell',
- sql: 'sql', rs: 'rust', go: 'go',
- vue: 'html', txt: 'plaintext'
- }
- /**
- * 根据文件路径推断 Monaco Editor 语言
- */
- export function getLanguageFromPath(path) {
- if (!path) return 'plaintext'
- const ext = path.split('.').pop().toLowerCase()
- return EXT_LANGUAGE_MAP[ext] || 'plaintext'
- }
|