export const languageForPath = (path?: string) => {
  if (!path) return undefined;
  const name = path.toLowerCase().split('/').at(-1) ?? path.toLowerCase();
  if (name === '.env' || name.startsWith('.env.')) return 'plaintext';
  if (name.endsWith('.tsx') || name.endsWith('.ts')) return 'typescript';
  if (
    name.endsWith('.jsx') ||
    name.endsWith('.js') ||
    name.endsWith('.mjs') ||
    name.endsWith('.cjs')
  ) {
    return 'javascript';
  }
  if (name.endsWith('.json')) return 'json';
  if (name.endsWith('.css')) return 'css';
  if (name.endsWith('.scss')) return 'scss';
  if (name.endsWith('.html')) return 'html';
  if (name.endsWith('.md') || name.endsWith('.mdx')) return 'markdown';
  if (name.endsWith('.yml') || name.endsWith('.yaml')) return 'yaml';
  if (name.endsWith('.sh') || name.endsWith('.bash')) return 'shell';
  if (name.endsWith('.py')) return 'python';
  if (name.endsWith('.rs')) return 'rust';
  if (name.endsWith('.go')) return 'go';
  return undefined;
};

export const basename = (path: string) => path.split('/').at(-1) ?? path;
