Set declarationProvider in server capabilities. Some client may need this capability to enable textDocument/declaration
Support non-numeric request ID #437
Misc
Fix a double-free of llvm::MemoryBuffer when parsing fails #350
Keep comments from system headers and improve textDocument/hover#373
Fix the conformance issue that VersionedTextDocumentIdentifier.version was omitted. If one renames something spanning more than one document and some documents are not opened, the client may not apply the textDocument/rename change. #387
Some macro diagnostics were lost because Note::concerned was not propagated to Diag::concerned #391
index.onChange: true support non-existent files #443
textDocument/definition: don’t jump to the type definition
Disable warnings and skip processed function bodies. This should provide massive performance improvement when indexing a project. I measured 2x improvement indexing ccls with 2 threads, more than 2x indexing llvm/clang/extra/lld/compiler-rt with 6 threads. 這個索引性能提升是最大的亮點了
Project
Fix some issues with hierarchical .ccls in #384
.ccls: support CUDA files with the %cu directive
compilationDatabaseDirectory can be absolute. #466
Improve heuristics for files not described by compile_commands.json "… but not so well for projects with separate include and source directories, e.g. “inc/long/path/to/my_file.h” and “src/long/path/to/my_file.cc” #441
Windows
A Visual Studio 2017 STL bug prevented clang-cl from compiling ccls/src/utils.hh #371#414
If the file is re-saved before the previous indexing has complete, various ambiguous errors might occur. Fixing this by making opened files volatile #235#453
Extension requests
$ccls/fileInfo: can optionally dump dependencies, includes and skipped_ranges