INNER CODE UNIT · TypeScript
detectLanguage
vibeeval/vibecosystem · hooks/src/achievement-tracker.ts:179
function detectLanguage(filePath: unknown): string | null {
if (typeof filePath !== 'string') return null;
const ext = extname(filePath).toLowerCase().replace('.', '');
const known = ['ts', 'tsx', 'js', 'jsx', 'py', 'go', 'rs', 'java', 'cs', 'rb', 'swift', 'kt', 'cpp', 'c'];
return known.includes(ext) ? ext : null;
}
function incCounter(state: AchievementState, key: string, by = 1): number {
state.progress.counters[key] = (state.progress.counters[key] ?? 0) + by;
return state.progress.counters[key];
}
function getCounter(state: AchievementState, key: string): number {
return state.progress.counters[key] ?? 0;
}
function main(): void {
let raw = '';