Commit Graph

1456 Commits

Author SHA1 Message Date
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
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
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
Fangrui Song
39787d2851 clang-format
DEF CON 26 CTF
2019-10-24 01:01:21 -07:00
Fangrui Song
7c1e3fc90e Add flat to $ccls/inheritanceHierarchy 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
Chao Shen
f87ee1323c Misc. 2019-10-24 01:01:20 -07:00
Chao Shen
0dae2c4a39 Fix preload completion session. 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
c50f0c5900 Add Query*::file_id to allow textDocument/hover on declarations
Also change StorageClass storage to uint8_t
2019-10-24 01:01:20 -07:00
Fangrui Song
d13586ac4d --init 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
d743743282 Enable clangDriver in project.cc
https://bugs.llvm.org/show_bug.cgi?id=37695 is not fixed. But since we have eliminated libclang for indexing and completion the bug no longer bothers us.
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
d1c90ec85a $ccls/publishSemanticHighlighting: support both line/character-style and position-style ranges 2019-10-24 01:01:20 -07:00
Fangrui Song
a4dd5d0c44 Use Sema/CodeCompleteConsumer 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
548f44dd79 Fix memberHierarchy 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
32dad17e81 Remove submodule doctest 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
a94788b89f textDocument/references: add excludeRole 2019-10-24 00:18:13 -07:00
Fangrui Song
b784685c61 diagnostics 2019-10-24 00:18:13 -07:00
Fangrui Song
2682964039 Rename message files (e.g. ccls_call_hierarchy.cc -> ccls_callHierarchy.cc) 2019-10-24 00:17:28 -07:00
Fangrui Song
9852e618cd Add all to textDocument/documentSymbol 2019-10-24 00:17:28 -07:00
Fangrui Song
7198db1777 Use ChangeStd{in,out}ToBinary 2019-10-24 00:17:28 -07:00
Fangrui Song
b6375de2f3 Display diagnostics from header files 2019-10-24 00:17:28 -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
Fangrui Song
9b9bf1cd19 Fix .. in compdb path; better type alias 2019-10-24 00:17:28 -07:00
Fangrui Song
1830103ec6 Internalize strings & remove diagnostics_publisher.cc 2019-10-24 00:17:28 -07:00
Fangrui Song
d21476d7ee Inject anonymous struct/union into parent scopes 2019-10-24 00:17:28 -07:00
Fangrui Song
732e002b13 Infer system include paths from CompilerInvocation 2019-10-24 00:17:28 -07:00
Fangrui Song
18fa5efa2a Add Config->reparseForDependency
Specify 1 if for large projects you don't want to reparse dependents at load time when a common .h changes.
2019-10-24 00:17:28 -07:00
Fangrui Song
d165a0b0ea Use clang::PrintingPolicy and remove type_printer 2019-10-24 00:17:28 -07:00
Fangrui Song
806a05b234 Add Config->largeFileSize; pure virtual or defaulted methods are definitions; fix $ccls/callHierarchy 2019-10-24 00:17:28 -07:00
Fangrui Song
f0559bba54 Remove Timer and PerformanceImportFile 2019-10-24 00:17:28 -07:00
Fangrui Song
34dc1e93e9 Remove WithFileContent & lex_utils.{cc,h} 2019-10-24 00:17:28 -07:00
Fangrui Song
da545f1139 $ccls/vars: differentiate local/field/parameter 2019-10-24 00:17:28 -07:00
Fangrui Song
bb08fdfa02 Remove $ccls/random; remove DB::symbols; decrease DB::entities grow rate 2019-10-24 00:17:25 -07:00
Fangrui Song
42bcf2b58f $ccls/memberHierarchy: add field offset 2019-10-23 21:56:51 -07:00
Fangrui Song
a962061698 Simplify pipeline 2019-10-23 21:56:51 -07:00
Fangrui Song
cf0d16fa0c Replace loguru with a custom logger 2019-10-23 21:56:51 -07:00
Fangrui Song
a6094ef714 Simplify; improve $ccls/inheritanceHierarchy 2019-10-23 21:56:51 -07:00
Fangrui Song
f5ce45fd55 filesystem.cc: deduplicate with UniqueID 2019-10-23 21:56:51 -07:00
Fangrui Song
6d96d9dce2 textDocument/references: include base references by default 2019-10-23 21:56:51 -07:00
Fangrui Song
c279090ac5 cmake: link against zlib; use StringMap 2019-10-23 21:56:51 -07:00
Fangrui Song
d2e0c7ca24 clean up clang_complete found by scturtle; clean up project 2019-10-23 21:56:51 -07:00
Fangrui Song
f9e1e8cbdc Congratulations to Tea Deliverers 2019-10-23 21:56:51 -07:00
Fangrui Song
36729818c3 experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap 2019-10-23 21:56:51 -07:00
Fangrui Song
c81ca26a2e Use llvm::cl and simplify main.cc import_pipeline.cc 2019-10-23 21:56:51 -07:00
Fangrui Song
c269876593 Use clang+llvm C++ in cmake; parse args with clang driver 2019-10-23 21:56:51 -07:00
Fangrui Song
b349983e13 cmake: make FreeBSD 11,12 build 2019-10-23 21:56:51 -07:00
Fangrui Song
a385bffcbd Backport and cleanup 2019-10-23 21:56:51 -07:00
scturtle
4797401d55 Fix file_id. (#8) 2019-10-23 21:56:51 -07:00
scturtle
888a870c0d Random changes. (#6) 2019-10-23 21:56:51 -07:00
Fangrui Song
ba56663055 Reflect optional by Brandon Tolsch 2019-10-23 21:56:51 -07:00
Fangrui Song
49e042e070 Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing) 2019-10-23 21:56:51 -07:00
Fangrui Song
aba672203f README 2019-10-23 21:56:51 -07:00
Fangrui Song
8e703af84e . 2019-10-23 21:56:51 -07:00
Fangrui Song
13c451a7cd . 2019-10-23 21:56:51 -07:00
Fangrui Song
eb057c7acd Use usr as primary key and remove id; simplify import pipeline
Remove on_id_map, IndexMergeIndexUpdates
2019-10-23 21:56:51 -07:00
Fangrui Song
5ef801662b Improve workspace/symbol sorting heuristic 2019-10-23 21:56:51 -07:00
Fangrui Song
f73100adf3 Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time 2019-10-23 21:56:51 -07:00
Amos Bird
38eccf79ec using SIGSTOP (avoid interactive signal blocking) (#2) 2019-10-23 21:56:51 -07:00
Fangrui Song
ebaf168e16 Remove variant and clean up 2019-10-23 21:56:51 -07:00
Fangrui Song
12ad568159 Update loguru 2019-10-23 21:56:51 -07:00
Fangrui Song
79df82d4a1 MessagePack -> custom binary format 2019-10-23 21:56:51 -07:00
Fangrui Song
73bd987b1a Add caseSensitivity to config->{completion,workspaceSymbol} 2019-10-23 21:56:51 -07:00
Fangrui Song
e522ce8179 Backport recent update of completion 2019-10-23 21:56:51 -07:00
Fangrui Song
43d1ec144c Catch filesystem_error 2019-10-23 21:56:51 -07:00
Fangrui Song
662933e64c Simplify indexer and query 2019-10-23 21:56:51 -07:00
Fangrui Song
9ed024f5cc Simplify lsp.h and fix qual_name_offset when SetVarDetail is called on an existing variable 2019-10-23 21:56:51 -07:00
Fangrui Song
cdc7544471 Better definition/references on #include lines 2019-10-23 21:56:50 -07:00
Fangrui Song
5fb88749a9 Simplify Position & Range; prettify Maybe; remove file_contents.{h,cc} 2019-10-23 21:56:50 -07:00
Fangrui Song
a632f97a2d Remove import_manager.cc 2019-10-23 21:56:50 -07:00
Fangrui Song
b872faa160 Simplify 2019-10-23 21:56:50 -07:00
Fangrui Song
3fbfb99e1b Use clang_File_tryGetRealPathName 2019-10-23 21:56:50 -07:00
Fangrui Song
a52d56a453 Add qual_name_offset to Index* structs; improve workspace/symbol and documentSymbol 2019-10-23 21:56:50 -07:00
Fangrui Song
2035a24c74 Set typeDefinitionProvider 2019-10-23 21:56:50 -07:00
Fangrui Song
96bba583c9 Remove unused fs code. 2019-10-23 21:56:50 -07:00
Fangrui Song
fdb562bb42 Use global config. 2019-10-23 21:56:50 -07:00
Fangrui Song
062b1ad0fd Simplify optional. 2019-10-23 21:56:50 -07:00
Fangrui Song
38cc501a8a Fuzzy 2019-10-23 21:56:50 -07:00
Fangrui Song
daf7a41278 . 2019-10-23 21:56:50 -07:00
Fangrui Song
c96631d1ee . 2019-10-23 21:56:50 -07:00
Fangrui Song
a58a38c32d . 2019-10-23 21:56:50 -07:00
Fangrui Song
eb7d0951ce . 2019-10-23 21:56:50 -07:00
Fangrui Song
22a7bcb47f . 2019-10-23 21:56:50 -07:00
Fangrui Song
ce33cc86d4 . 2019-10-23 21:56:50 -07:00
Fangrui Song
e1398ff319 . 2019-10-23 21:56:50 -07:00
Fangrui Song
f7872d143d . 2019-10-23 21:56:50 -07:00
Fangrui Song
b839389f77 Resurrection of ccls 2019-10-23 21:56:50 -07:00
Fangrui Song
39dfe052f5 Better textDocument/definition heuristic for T::name style dependent names 2019-10-23 21:56:50 -07:00
Fangrui Song
6c95649904 Improve fuzzy matching heuristics. 2019-10-23 21:56:50 -07:00
Chao Shen
4a95eda9d7 Fix lost index update. 2019-10-23 21:56:50 -07:00
Pavel Davydov
fdba724f07 Add comment with short issue description. (#545) 2019-10-23 21:56:50 -07:00
Pavel Davydov
a6e62aa28c Blacklist '-include' and '-include-pch' flags. (#545) 2019-10-23 21:56:50 -07:00
Maxim Kot
b68b063abd UB fixed.
Forgotten return was removed.
2019-10-23 21:56:50 -07:00
Jacob Dufault
47aa9b8e23 Work on e2e tests 2019-10-23 21:56:50 -07:00
Jacob Dufault
98090c543d Minor type cleanup 2019-10-23 21:56:50 -07:00
Chao Shen
eefaad79f2 Preprocessor keyword completion. 2019-10-23 21:56:50 -07:00
Patrick Reisert
9ba87673b8 Ignore cl's -showIncludes 2019-10-23 21:56:50 -07:00
Chao Shen
8da0172955 Fix missing include completions. 2019-10-23 21:56:50 -07:00
Jacob Dufault
2fc731c856 ipc.h -> method.h, rename some types 2019-10-23 21:56:50 -07:00
Jacob Dufault
e37a6c814b Remove global list of message ids.
Also do some naming cleanup. Also remove xmacros.
2019-10-23 21:56:50 -07:00
Jacob Dufault
ee87d6cb97 Fix some warnings due to missing returns 2019-10-23 21:56:50 -07:00
Boris Staletic
39fbd1a2d5 Make overridden flags persistent
didOpen can override flags from compilation database.
didSave was able to reset the flags back.
This makes sure that the overridden flags persist.
2019-10-23 21:56:50 -07:00
Jacob Dufault
38fbe89b4c Don't use an IterationLoop for main indexer.
This causes the indexer to exit.
2019-10-23 21:56:50 -07:00
Elliot Berman
23bf95b5e3 Flush sessions on textDocument/didOpen 2019-10-23 21:56:50 -07:00
Elliot Berman
702eec9f2a Undo changes to diagnostics engine and import pipeline
They didn't seem necessary
2019-10-23 21:56:50 -07:00
Elliot Berman
c636eae680 Flush all clang-complete sessions on workspace/didChangeConfiguration 2019-10-23 21:56:50 -07:00
Jacob Dufault
1fd0a1be94 Reduce queue lengths by running index updates as iteration loop
A single translation unit can create many index updates, so give
IndexMain_DoCreateIndexUpdate a chance to run a few times. This should also be
faster as it is more icache friendly.
2019-10-23 21:56:50 -07:00
Jacob Dufault
ef59e59f5b Ensure IndexMergeIndexUpdates always returns a bool 2019-10-23 21:56:50 -07:00
Boris Staletic
bf011fef71 Conditionally allow reindex on didChange 2019-10-23 21:56:50 -07:00
Jacob Dufault
4e76cdaaae Try to prevent long queue lengths. 2019-10-23 21:56:50 -07:00
Jacob Dufault
db7e25c542 Reformat 2019-10-23 21:56:50 -07:00
Jacob Dufault
af3c09d00d Restore include completion on # 2019-10-23 21:56:50 -07:00