Commit Graph

1712 Commits

Author SHA1 Message Date
Fangrui Song
28401961ae Simplify semantic highlighting 2019-11-09 19:58:32 -08:00
Fangrui Song
d9f0de4719 Clean up FileConsumer and improve pipeline 2019-11-09 19:58:32 -08:00
Fangrui Song
110023483a Improve VarDef::type for textDocument/typeDefinition 2019-11-09 19:58:32 -08:00
Fangrui Song
569a7624a6 intern args 2019-11-09 19:58:32 -08:00
Fangrui Song
97e773081b intern strings in dependencies and IndexInclude::resolved_path 2019-11-09 19:58:32 -08:00
Fangrui Song
1249eb1eb0 Simplify pipeline and fix race 2019-11-09 19:58:32 -08:00
Fangrui Song
cffc8c8409 Add hierarchicalDocumentSymbolSupport 2019-11-09 19:58:32 -08:00
Fangrui Song
4b2f53aa5d Add clang.pathMappings to reuse cache files with differect source paths
Use `>` as the separator.
2019-11-09 19:58:32 -08:00
Fangrui Song
1208a7d6b2 Remove [spell.start, spell.end) -> [spell.start, extent.end) hack 2019-11-09 19:58:32 -08:00
Fangrui Song
05c4c85bd6 Skip informative scope foo:: 2019-11-09 19:58:32 -08:00
Fangrui Song
62d0c49b0a Rename hierarchies to $ccls/{call,inheritance,member}
bool flat = false; -> bool hierarchy = false; (set it to true to enable hierarchical view)

Delete $ccls/callers (which is what $ccls/call does now)
2019-11-09 19:58:32 -08:00
Fangrui Song
71f2aee644 Better diagnostics 2019-11-09 19:58:32 -08:00
Fangrui Song
db50943cd7 textDocument/documentSymbol 2019-11-09 19:58:32 -08:00
Fangrui Song
d758b78635 Make $ccls/inheritanceHierarchy and textDocument/typeDefinition find declarations if definitions do not exist; spelling ranges of operator= 2019-11-09 19:58:32 -08:00
Fangrui Song
c633ce437b pipeline improvement for files not having a project entry (e.g. .h) 2019-11-09 19:58:32 -08:00
Fangrui Song
f939b6cc44 Make $ccls/reload reset DB and reload cached index files
$ccls/reload is renamed from $ccls/freshenIndex

This is useful when DB (merged index) diverges from backing IndexFile.

Also fix a semantic highlighting bug.
2019-11-09 19:58:32 -08:00
Riatre Foo
082096b613 Normalize paths on Windows
1. Normalize paths in LSP document URIs and project root to forward
slash and uppercase drive letters.
2. Normalize paths in compile_commands.json to forward slash and
uppercase drive letters.
3. Normalize paths from directory listing to forward slash. (Drive
letter should be same as input dir path, which is already uppercase
since path of project root dir is normalized)
4. Add llvm::sys::path::convert_to_slash after certain llvm::sys::path
and llvm::fs calls.
2019-11-09 19:58:32 -08:00
Fangrui Song
fa8b032301 diagnostics; use custom DenseMapInfo 2019-11-09 19:58:32 -08:00
Fangrui Song
68fba7989d Revamp completion and signatureHelp, set completion.detailedLabel: true and add completion.duplicateOptional 2019-11-09 19:58:32 -08:00
Fangrui Song
1b367eeb4b Misc 2019-11-09 19:58:32 -08:00
Fangrui Song
46db389c81 Make CXXConversion references wider; use getTypedefNameForAnonDecl; improve CXXDestructor CXXConversion spell 2019-11-09 19:58:32 -08:00
Fangrui Song
68a27e746d Add diagnostics.onSave 2019-11-09 19:58:32 -08:00
Fangrui Song
1df131d411 Reuse preamble (built by "comp-preload") in indexer 2019-11-09 19:58:32 -08:00
Fangrui Song
f1d9a93819 Support empty cacheDirectory and fix cache load 2019-11-09 19:58:32 -08:00
Fangrui Song
0ba4a7f0a9 Implement index.onChange: true; enable spell checking for diagnostics 2019-11-09 19:58:32 -08:00
Fangrui Song
017a91c30e Add DeclUse as element type of declarations 2019-11-09 19:58:32 -08:00
Fangrui Song
ce72cf7bd9 Remove $ccls/base and clean up; deduplicate codeLens 2019-11-09 19:58:32 -08:00
Fangrui Song
69f749ac9f Improve hover and documentSymbol 2019-11-09 19:58:32 -08:00
Fangrui Song
8a2438411e Add clang.excludeArgs and rename diagnostics.onType to onChange 2019-11-09 19:58:32 -08:00
Fangrui Song
d864f969ad Add $ccls/navigate and improve textDocument/definition 2019-11-09 19:58:29 -08:00
Fangrui Song
d22e6402d9 Add all: boolean to textDocument/documentSymbol 2019-10-24 01:13:24 -07:00
Fangrui Song
d3e0a4c4fd Add index.multiVersion{Black,White}list
They allow files matching specified patterns to be indexed only once
even if index.multiVersion > 0. An example is to exclude system headers
with index.multiVersionBlacklist: ["^/usr/include"]
2019-10-24 01:13:24 -07:00
Fangrui Song
4f67bd03d5 index.multiVersion: int
Before, QueryFile::Def::{all_symbols,outline} were built by indexers.
Now, {symbol,outline}2refcnt are used instead, built by main thread.
*_removed are augmented with Query*:Def to allow removal of old {symbol,outline}2refcnt entries.
2019-10-24 01:13:24 -07:00
Fangrui Song
a8bb605d4a Fix unaligned load/store; add index.multiVersion prototype, rename index.onParse to index.OnOpen
Don't call getFieldOffset() on RD->isInvalidDecl()
2019-10-24 01:13:24 -07:00
Fangrui Song
1ab0d492b7 README 2019-10-24 01:13:24 -07:00
Fangrui Song
6aee7b9648 Remove ASTUnit from indexer and clean up 2019-10-24 01:13:22 -07:00
scturtle
df1717538f Filter deps with index.blacklist. (#64) 2019-10-24 01:12:58 -07:00
Fangrui Song
5c0a146ee4 detailed_name: "{\n}" -> "{}" ; completion 2019-10-24 01:12:58 -07:00
firstlove
ea28e50d0f fix clang_tu.h && clang_complete.cc (#61) 2019-10-24 01:12:58 -07:00
Fangrui Song
fea457616a New diagnostics 2019-10-24 01:12:58 -07:00
Fangrui Song
a66533b023 Use StoreInMemory Preamble for CodeComplete 2019-10-24 01:12:51 -07:00
Fangrui Song
4c1b8f3811 Use StoreInMemory Preamble for CodeComplete 2019-10-24 01:11:30 -07:00
Fangrui Song
368bd9a283 SkipFunctionBodiesScope; improve fuzzy 2019-10-24 01:01:21 -07:00
Fangrui Song
99fe7c7624 Uniquify $ccls/inheritanceHierarchy and add flat to $ccls/memberHierarchy 2019-10-24 01:01:21 -07:00
Fangrui Song
b794b3606f Add LLVM_ENABLE_RTTI (default: OFF) to allow linking against Arch Linux extra/{llvm,clang} (-DLLVM_ENABLE_RTTI=ON) 2019-10-24 01:01:21 -07:00
Fangrui Song
d7c48d12d6 Fix VarDef::is_local; default cacheDirectory to ".ccls-cache" 2019-10-24 01:01:21 -07:00
Fangrui Song
27a5b24b59 Add license notice 2019-10-24 01:01:21 -07:00
Amos Bird
6e8ba37ad0 correctly grabbing the ownership of index files. (#54) 2019-10-24 01:01:21 -07:00
Fangrui Song
73e500bc97 textDocument/hover: prefer definitions in the same file 2019-10-24 01:01:21 -07:00
Fangrui Song
82962e565b Remove CompileCommandsEntry and reduce clangDriver invocations 2019-10-24 01:01:21 -07:00