/**
 * 文件扩展名 → 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'
}
