mirror of
https://github.com/giancarloerra/socraticode.git
synced 2026-07-03 14:05:21 +02:00
1c5ddf52be
EXTRA_EXTENSIONS indexes unknown extensions as plaintext, losing AST chunking, symbols, and the call graph. EXTENSION_LANGUAGE_MAP lets you map an extension to a real language (e.g. .inc:php) so it gets full language treatment end to end. Format `.inc:php,.module:php`. Each entry resolves to the target language's canonical extension, so both the language label (getLanguageFromExtension) and the AST grammar (getAstGrepLang) come from the existing maps and stay consistent, without re-encoding their different vocabularies (shell vs bash, Lang enums for JS/TS/HTML/CSS). Mapped extensions are auto-discovered (indexer + watcher) without also needing EXTRA_EXTENSIONS, and can override built-ins (e.g. .h:cpp). Targets with no AST grammar (the reporter's .foo:bar) and malformed entries are rejected and warned about at startup. Additive and backward compatible: with the var unset, behavior is unchanged; no new dependency; no data migration.