Commit Graph

207 Commits

Author SHA1 Message Date
Fangrui Song
103aa711d3 First draft: replace libclang indexer with clangIndex 2019-10-24 00:53:16 -07:00
Fangrui Song
1830103ec6 Internalize strings & remove diagnostics_publisher.cc 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
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
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
c81ca26a2e Use llvm::cl and simplify main.cc import_pipeline.cc 2019-10-23 21:56:51 -07:00
Fangrui Song
a385bffcbd Backport and cleanup 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
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
f73100adf3 Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time 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
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
5fb88749a9 Simplify Position & Range; prettify Maybe; remove file_contents.{h,cc} 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
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
ce33cc86d4 . 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
Jacob Dufault
db7e25c542 Reformat 2019-10-23 21:56:50 -07:00
Fangrui Song
60c0267432 Var DetailedName 2018-02-26 18:29:37 -08:00
Fangrui Song
09dd20226f Rename FuncDefDefinitionData::locals to vars, remove constants from EnumDecl's vars 2018-02-26 17:53:37 -08:00
Fangrui Song
95797be730 Rename *DefDefinitionData::{base,parents} to bases and add inheritanceHierarchy{Initial,Expand} 2018-02-25 18:52:30 -08:00
Fangrui Song
dc18f04759 Strip scope qualifiers of detailed_name in $cquery/memberHierarchy{Initial,Expand} 2018-02-25 17:03:24 -08:00
Fangrui Song
62e6f91808 Don't include rapidjson in indexer.h 2018-02-23 18:30:06 -08:00
Fangrui Song
c68548a2ca Remove <regex> from lex_utils.h and separate language_server_api.h
% time clang++ -fsyntax-only -std=c++11 a.cc

<iostream> => 0.35s
<regex> => 0.68s
2018-02-23 16:33:48 -08:00
Fangrui Song
b98c9a4575 Remove UniqueAdd* and uniquify uses after libclang callbacks.
This removes some duplication in `uses`.
2018-02-23 15:08:19 -08:00
Jacob Dufault
01fe19f280 Format code 2018-02-21 23:34:32 -08:00
Fangrui Song
e785d3f477 Keep a list of QueryType 2018-02-21 23:02:28 -08:00
Fangrui Song
40ab5900de Add TypeDefDefinitionData::declarations
Constructors and destructors are also included in declarations. But this is not necessarily bad, as textDocument/definition on class spelling names can jump to constructors as well as declarations.
2018-02-20 14:52:32 -08:00
Fangrui Song
40233104a6 Fix GCC __wur 2018-02-19 19:06:48 -08:00
Fangrui Song
58d6547411 Remove ClangSymbolKind in favor of lsSymbolKind 2018-02-18 11:43:28 -08:00
Fangrui Song
f3134d564c Simplify Index* Query* 2018-02-18 10:43:27 -08:00
Fangrui Song
afe86ef146 Use def.spell for semantic parent and def.extent for lexical parent
Use language identifier in the spec

Remove unreliable Boltzmann distribution
2018-02-14 21:54:57 -08:00
Fangrui Song
ef5db9b3fe Move symbol related structs to symbol.h and add kind/role to textDocument/documentHighlight 2018-02-12 17:15:19 -08:00
Fangrui Song
afd38cbce9 Add Id<QueryFile> file; to Use and simplify query.cc 2018-02-11 20:43:54 -08:00
Jacob Dufault
079adea8ee NTString -> nt_string 2018-02-11 14:08:05 -08:00
Jacob Dufault
95f6460e6e HasValue -> HasValueForMaybe_ 2018-02-11 13:49:44 -08:00
Fangrui Song
aee79b3617 variable_type -> type; remove parent_{id,kind} (they should be inferred from Def::spell; clean up SymbolIdx, Reference, SymbolRef 2018-02-11 10:28:26 -08:00
Fangrui Song
8ab45cb43d std::string {hover,comments} -> NTString (null-terminated string)
Typically, sizeof(std::string) = 32, sizeof(NTString) = 8
hover and comments are usually empty and thus wasteful to spend 24*2 bytes for them
2018-02-10 22:53:35 -08:00
Fangrui Song
e019968f51 Add lexical parent to Func 2018-02-10 20:30:27 -08:00
Fangrui Song
9a6cbafa04 Add lexical parent to Type/Var and definition_spelling->spell, definition_extent->extent 2018-02-10 20:23:46 -08:00