Commit Graph

1355 Commits

Author SHA1 Message Date
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
Jacob Dufault
0b1cc52c58 Fix crash when dynamically adding completion item 2019-10-23 21:56:50 -07:00