Use a single loop over source files to index project

Resolves #765
This commit is contained in:
Dominik Jain committed 2025-11-17 15:46:54 +01:00
1 parent 568ee77e42
commit 4688a48770
1 file changed
+14 -17
+14 -17
View File
@@ -529,23 +529,20 @@ class ProjectCommands(AutoRegisteringGroup):
files = proj.gather_source_files()
servers = list(ls_mgr.iter_language_servers())
for k, ls in enumerate(servers, start=1):
click.echo(f"Indexing for language {ls.language.value} ({k}/{len(servers)}) …")
collected_exceptions: list[Exception] = []
files_failed = []
for i, f in enumerate(tqdm(files, desc="Indexing")):
try:
ls.request_document_symbols(f, include_body=False)
ls.request_document_symbols(f, include_body=True)
except Exception as e:
log.error(f"Failed to index {f}, continuing.")
collected_exceptions.append(e)
files_failed.append(f)
if (i + 1) % 10 == 0:
ls.save_cache()
ls.save_cache()
click.echo(f"Symbols saved to {ls.cache_path}")
collected_exceptions: list[Exception] = []
files_failed = []
for i, f in enumerate(tqdm(files, desc="Indexing")):
try:
ls = ls_mgr.get_language_server(f)
ls.request_document_symbols(f, include_body=False)
ls.request_document_symbols(f, include_body=True)
except Exception as e:
log.error(f"Failed to index {f}, continuing.")
collected_exceptions.append(e)
files_failed.append(f)
if (i + 1) % 10 == 0:
ls_mgr.save_all_caches()
ls_mgr.save_all_caches()
if len(files_failed) > 0:
os.makedirs(os.path.dirname(log_file), exist_ok=True)