Commit Graph
6 Commits
Author SHA1 Message Date
0e3f665976 Cpp extensions (#1451)
* Add more cpp extensions

* Allow FilenameMatcher to be case insensitive
---------

Co-authored-by: Darin Morrison <darinmorrison@gmail.com>
Co-authored-by: silvanshade <silvanshade@users.noreply.github.com>
Co-authored-by: MischaPanch
2026-05-06 19:04:36 +02:00
mesa3 d650f30c7e Fix clangd cache invalidation and capability checks (#1359)
Summary
relax clangd initialize capability checks to tolerate valid response shape differences
add a clangd-specific document-symbol cache fingerprint so stale C++ symbol caches are invalidated when backend/config state changes
add a regression test covering C++ document-symbol cache invalidation
Problem
For C++ projects, Serena's symbol tools could keep returning malformed cached document symbols even after clangd / compile commands / backend state had been repaired. The cache key was effectively stable as long as file contents did not change, so previously bad symbol trees could survive later LS recovery.

In addition, clangd capability checks were too strict and assumed a single exact initialize-response shape.

What this changes
accepts both integer and object-style textDocumentSync responses
validates completionProvider more conservatively by checking required trigger characters instead of exact equality
fingerprints clangd document-symbol caches using:
clangd_version
ls_path
compile_commands_dir
compile_commands.json content hash
adds a C++ regression test similar to the existing Go cache invalidation coverage
2026-04-16 12:19:29 +02:00
Michael Panchenko d30cdf8474 Fix symbol name resolution in selected LS (#1247)
Adds tests for name resolution for each language and fixes the name resolution where tests have failed.

Also:

Extends python tests to cover ty
Extends skipping conditions for several LS (but only when not in CI)
Better test output in CI
Removed a wrong python test (started failing for ty and should have failed for pyright too)
2026-04-01 16:29:00 +02:00
Michael Panchenko 0bbd9e375e Reformat (minor, after replacing black with ruff)
Black dependency created a dependabot warning and couldn't be bumped since it collided with pathspec dependencies. Since ruff can also format, black is not needed. But we now have these small format changes, mostly in test files
2026-03-23 21:10:41 +01:00
Michael Panchenko e588bc7f89 C/C++ language server fixes (#987)
Fixes longstanding clangd issues (wrong selectionRange, failure to take compile_commands.json into account) and enhances documentation about C/C++ support
2026-02-06 15:25:43 +01:00
Azraf Nahian 71a6f1ff82 CCLS Support added (#975)
Also added a test suite for both clangd and ccls
2026-02-01 20:01:51 +07:00