Commit Graph

335 Commits

Author SHA1 Message Date
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
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
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
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
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
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
6aee7b9648 Remove ASTUnit from indexer and clean up 2019-10-24 01:13:22 -07:00
Fangrui Song
5c0a146ee4 detailed_name: "{\n}" -> "{}" ; completion 2019-10-24 01:12:58 -07:00
Fangrui Song
27a5b24b59 Add license notice 2019-10-24 01:01:21 -07:00
Fangrui Song
39787d2851 clang-format
DEF CON 26 CTF
2019-10-24 01:01:21 -07:00
Fangrui Song
22627d7a1f Validate RecordDecl 2019-10-24 01:01:21 -07:00
Fangrui Song
fc6e2af66f Uniquify textDocument/references
There can be duplicates with template instantiation.
2019-10-24 01:01:21 -07:00
Fangrui Song
1c0bf0af65 Add textDocument/codeAction for clang FixIt
What do you think of the challenge ccls-fringe in Real World CTF?
2019-10-24 01:01:21 -07:00
Fangrui Song
bfb759fd09 Misc 2019-10-24 01:01:21 -07:00
Chao Shen
8eeb1bb3af Fix diagnostics on MacOS and duplicated bases. 2019-10-24 01:01:20 -07:00
Fangrui Song
bde0e6d837 Improve comment and outline 2019-10-24 01:01:20 -07:00
Fangrui Song
3be281416d Fix Twine; index TypedefNameDecl to specialization; anonymous RecordDecl fields 2019-10-24 01:01:20 -07:00
Fangrui Song
3b997b12ad Use ContainerDC for extent, index callees, set StaticMethod 2019-10-24 01:01:20 -07:00
Fangrui Song
389418f546 Better bases/derived and initializer 2019-10-24 01:01:20 -07:00
Fangrui Song
d6ce5e6768 Fix spell for clang < 7 2019-10-24 01:01:20 -07:00
Fangrui Song
134a09a255 Remove libclang 2019-10-24 01:01:20 -07:00
Fangrui Song
af77e6615d CrashRecoveryContext 2019-10-24 01:01:20 -07:00
Fangrui Song
0f63be2418 Support BindingDecl and VarTemplate{,Partial}SpecializationDecl 2019-10-24 01:01:20 -07:00
Fangrui Song
8cce275206 Misc improvement to indexer
* Make CXXConstructor span one more column to left/right
* Use OrigD to collect Decl::Record members
* Better comment parsing
* Limit lines of initializers and macro definition to 3
* Attribute macro arg uses to spelling loc
* Remove FuncDef::declaring_type
2019-10-24 01:01:20 -07:00
Fangrui Song
ebf07265eb Diagnostics 2019-10-24 01:01:20 -07:00
Fangrui Song
b3d5ea8be5 Simplify 2019-10-24 01:01:20 -07:00
Fangrui Song
c4e22bde23 Use Clang C++ for completion and diagnostics 2019-10-24 01:01:20 -07:00
Fangrui Song
aa9cdad54f Use clangTooling 2019-10-24 01:01:20 -07:00
Fangrui Song
b759798e5d Support uses from other files and improve references in macro replacement-list 2019-10-24 01:01:20 -07:00
Fangrui Song
24e99fd767 Cleanup 2019-10-24 01:01:20 -07:00
Fangrui Song
16448e98d1 Add some ObjC kinds 2019-10-24 01:01:20 -07:00
Fangrui Song
d816e1b918 $ccls/publishSemanticHighlighting: use pair<int,int> in place of lsRange 2019-10-24 01:01:20 -07:00
Fangrui Song
3e8f8fea64 clangIndex 2019-10-24 01:01:20 -07:00
Fangrui Song
f9befbd5fb pipeline 2019-10-24 01:01:20 -07:00
Fangrui Song
8e4d62212b Misc changes to clangIndex 2019-10-24 01:00:37 -07:00
Fangrui Song
96e0f0fafa clangIndex 2019-10-24 00:55:39 -07:00
Fangrui Song
9b54e5391c Clean up clang_tu; retrieve comments with clang::ASTContext::getRawCommentForAnyRedecl 2019-10-24 00:55:39 -07:00
Fangrui Song
103aa711d3 First draft: replace libclang indexer with clangIndex 2019-10-24 00:53:16 -07:00
Fangrui Song
b784685c61 diagnostics 2019-10-24 00:18:13 -07:00
Fangrui Song
a96d9613f4 Put static const into IndexVar::def (a definition is not required unless odr-used) 2019-10-24 00:17:28 -07:00