Per-language capability row for a project: which analyses are available for a
language and how many files use it. Backs the dashboard capability legend so
each detected language is labelled honestly (symbols / import edges / calls).
Build a capability matrix for the languages actually present in file_paths,
sorted by file count (desc) then name. symbols/imports come from
capabilities(); call_graph from supports_call_graph().
Like language_capability_matrix but enriched with realized counts for
this project: how many symbols, import edges and (optionally) call edges were
actually produced per language — not merely whether the language could
produce them. This turns an honest “imports ✓” into “imports ✓ (142)” / “✓
(0 found)”, so an empty graph view explains itself.
Bounded project scan returning programming languages present in root that
lean-ctx does not graph-index, with file counts (descending, capped to 5).
Honors .gitignore/hidden like the graph walker and stops after max_entries
filesystem entries. Lets the dashboard turn a confusing empty graph into a
clear “Lua is not graph-indexed” message instead of an endless loading state.
Whether lean-ctx extracts call sites for a language (i.e. it can populate the
call graph). Keep in sync with deep_queries::calls::parse_call — a language
missing there yields zero call edges, which the dashboard must communicate
honestly instead of suggesting an index rebuild that cannot help.