Commit Graph

226 Commits

Author SHA1 Message Date
Fangrui Song
ea1271a84e Refactor message handler and namespace ccls 2019-01-09 15:19:23 +08:00
Fangrui Song
cb7ed9415d Add ExtentRef; merge symbol2refcnt and outline2refcnt
Fix hierarchical document symbol for namespaces when there are multiple declarations.
2019-01-09 15:19:23 +08:00
Fangrui Song
8c2170172d Use DeclRef spell to represent Use spell + Use extent 2018-10-04 17:16:39 -07:00
Fangrui Song
6ec032c2a0 Redesign SymbolRef, Ref, Use
Remove lsLocationEx
2018-10-04 17:16:34 -07:00
Fangrui Song
525b6da1ac intern strings in dependencies and IndexInclude::resolved_path 2018-09-20 01:08:33 -07:00
Fangrui Song
c7a6c5cd12 Make $ccls/reload reset DB and reload cached index files
$ccls/reload is renamed from $ccls/freshenIndex

This is useful when DB (merged index) diverges from backing IndexFile.

Also fix a semantic highlighting bug.
2018-09-12 17:01:52 -07:00
Fangrui Song
a45686ae1b diagnostics; use custom DenseMapInfo 2018-09-12 17:01:52 -07:00
Fangrui Song
a7c1633b51 Misc 2018-09-11 20:22:49 -07:00
Fangrui Song
e20a8e7a1b Add DeclUse as element type of declarations 2018-09-08 14:27:44 -07:00
Fangrui Song
b77fba6ea8 Improve hover and documentSymbol 2018-09-06 00:22:40 -07:00
Fangrui Song
a33f4df404 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.
2018-09-03 12:27:26 -07:00
Fangrui Song
145630ba1a Fix unaligned load/store; add index.multiVersion prototype, rename index.onParse to index.OnOpen
Don't call getFieldOffset() on RD->isInvalidDecl()
2018-09-02 23:10:03 -07:00
Fangrui Song
f3490a3e6c Add license notice 2018-08-20 22:27:52 -07:00
Fangrui Song
8cbb317dc2 clang-format
DEF CON 26 CTF
2018-08-09 10:13:54 -07:00
Fangrui Song
924fedbb02 Uniquify textDocument/references
There can be duplicates with template instantiation.
2018-07-30 18:00:54 -07:00
Fangrui Song
27d641bf64 Add Query*::file_id to allow textDocument/hover on declarations
Also change StorageClass storage to uint8_t
2018-07-20 23:48:19 -07:00
Fangrui Song
3737d4c60f Support uses from other files and improve references in macro replacement-list 2018-07-13 16:44:48 -07:00
Fangrui Song
ed1b221fab Remove submodule doctest 2018-07-08 17:20:48 -07:00
Fangrui Song
df02c29a7d clangIndex 2018-07-08 00:34:31 -07:00
Fangrui Song
7dd0241a4c First draft: replace libclang indexer with clangIndex 2018-07-07 15:43:05 -07:00
Fangrui Song
e5d8153d4b Internalize strings & remove diagnostics_publisher.cc 2018-06-08 10:39:38 -07:00
Fangrui Song
a36e548e03 Remove Timer and PerformanceImportFile 2018-05-31 23:52:51 -07:00
Fangrui Song
39a17a9fd7 Remove WithFileContent & lex_utils.{cc,h} 2018-05-31 21:07:59 -07:00
Fangrui Song
b35d3c8fa8 Remove $ccls/random; remove DB::symbols; decrease DB::entities grow rate 2018-05-31 12:55:13 -07:00
Fangrui Song
8fabe3d1ae Replace loguru with a custom logger 2018-05-27 15:14:33 -07:00
Fangrui Song
ba45e7ca63 cmake: link against zlib; use StringMap 2018-05-16 00:51:07 -07:00
Fangrui Song
f145c4422f experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap 2018-05-13 15:24:04 -07:00
Fangrui Song
99e7c56956 cmake: make FreeBSD 11,12 build 2018-05-12 11:45:21 -07:00
Fangrui Song
984c6367d1 Redesign import_pipeline.cc and mitigate race (duplicate Query*::uses for initial indexing) 2018-05-06 21:56:14 -07:00
Fangrui Song
86efddf032 README 2018-05-05 15:25:43 -07:00
Fangrui Song
ccb5cba720 . 2018-05-04 09:45:35 -07:00
Fangrui Song
fac5c56682 Use usr as primary key and remove id; simplify import pipeline
Remove on_id_map, IndexMergeIndexUpdates
2018-05-01 22:45:01 -07:00
Fangrui Song
f8752cdca0 Add caseSensitivity to config->{completion,workspaceSymbol} 2018-04-14 12:38:58 -07:00
Fangrui Song
236e7c1393 Simplify indexer and query 2018-04-09 00:52:04 -07:00
Fangrui Song
75638b5387 Simplify Position & Range; prettify Maybe; remove file_contents.{h,cc} 2018-04-08 01:10:56 -07:00
Fangrui Song
348240b44f Add qual_name_offset to Index* structs; improve workspace/symbol and documentSymbol 2018-04-06 00:18:02 -07:00
Fangrui Song
9aca6119ed . 2018-03-31 13:38:43 -07:00
Fangrui Song
f8a816d110 . 2018-03-31 09:07:53 -07:00
Fangrui Song
da649891ae Resurrection of ccls 2018-03-30 22:02:26 -07: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
1469723c3c Don't show references (e.g. there are references to classes in constructor positions) in textDocument/documentSymbol 2018-02-24 17:30:29 -08:00
Fangrui Song
bee8bacefd Speed up build 2018-02-23 18:24:54 -08:00
Fangrui Song
61b5ef4fa0 Reduce <iostream>; don't include rapidjson in language_server_api.h; add role to lsReferenceContext 2018-02-22 14:39:46 -08:00
Fangrui Song
892f2ebfc7 Deduplicate Query*; add local variables to outline but not in documentSymbol 2018-02-21 23:49:52 -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
bfd4edf177 Remove local variables from documentSymbol 2018-02-18 12:07:40 -08:00
Fangrui Song
f3134d564c Simplify Index* Query* 2018-02-18 10:43:27 -08:00