Commit Graph

348 Commits

Author SHA1 Message Date
Fangrui Song
08b09bc1da Redesign SymbolRef, Ref, Use
Remove lsLocationEx
2019-11-09 20:03:28 -08:00
Fangrui Song
8b2565fcd0 For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization 2019-11-09 20:03:28 -08:00
firstlove
9a79b2ece1 regard conversion as method instead of constructor 2019-11-09 20:03:28 -08:00
Fangrui Song
083a629f90 Rename some initialization options
* Delete index.enabled which can be achieved with index.blacklist: ['.']
* Move completion.include* to completion.include.*
* move largeFileSize to highlight.largeFileSize
2019-11-09 20:03:28 -08:00
Fangrui Song
cff6c4714c Simplify semantic highlighting; improve hover of auto && 2019-11-09 19:58:32 -08:00
Fangrui Song
d5f4f22508 Add GetAdjustedDecl to adjust Decl's that are missed by clangIndex 2019-11-09 19:58:32 -08:00
Fangrui Song
3334b2c4b7 Remove clang_utils.* 2019-11-09 19:58:32 -08:00
Fangrui Song
3dea9486b9 Misc
Move using below #include to make preamble happy
textDocument/references: if no references, first line or last line => list where this file is included
malloc_trim() only if files have been indexed in last cycle
Intern: use CachedHashStringRef
2019-11-09 19:58:32 -08:00
Fangrui Song
daa6fbf4b8 Misc 2019-11-09 19:58:32 -08:00
Fangrui Song
4ea0dee1c9 Fix spurious "Failed to index" errors 2019-11-09 19:58:32 -08:00
Fangrui Song
f0400fdcf2 Delete file_consumer.* 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
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