UNPKG

scai

Version:

> AI-powered CLI tool for commit messages **and** pull request reviews — using local models.

53 lines (52 loc) 1.32 kB
import path from 'path'; export function detectFileType(filepath) { const ext = path.extname(filepath).toLowerCase(); const map = { // Programming languages '.ts': 'typescript', '.tsx': 'typescript', '.js': 'javascript', '.jsx': 'javascript', '.java': 'java', '.py': 'python', '.rb': 'ruby', '.php': 'php', '.go': 'go', '.rs': 'rust', '.c': 'c', '.cpp': 'cpp', '.cs': 'csharp', '.swift': 'swift', '.kt': 'kotlin', '.scala': 'scala', // Markup & docs '.md': 'markdown', '.html': 'html', '.htm': 'html', '.xml': 'xml', '.json': 'json', '.yaml': 'yaml', '.yml': 'yaml', // Configs '.ini': 'config', '.toml': 'config', '.env': 'config', // Data '.sql': 'sql', '.csv': 'csv', '.tsv': 'tsv', // Text & writing '.txt': 'text', '.log': 'log', '.rst': 'text', // Office '.doc': 'word', '.docx': 'word', '.pdf': 'pdf', '.ppt': 'powerpoint', '.pptx': 'powerpoint', '.xls': 'excel', '.xlsx': 'excel', }; return map[ext] || ext.replace('.', '') || 'unknown'; }