Fangrui Song
3cd0ee2fc7
Refactor message handler and namespace ccls
2019-11-09 20:09:11 -08:00
Fangrui Song
46cfd5504a
Simplify
2019-11-09 20:03:28 -08:00
Fangrui Song
5fbe4eac83
Add ExtentRef; merge symbol2refcnt and outline2refcnt
...
Fix hierarchical document symbol for namespaces when there are multiple declarations.
2019-11-09 20:03:28 -08:00
Fangrui Song
bc4dc6720b
Add pipeline::{Notify,Reply,ReplyError} and simplify message handling
...
Delete method.{cc,h}
Rename $ccls/setSkippedRanges to $ccls/publishSkippedRanges
Rename $ccls/publishSemanticHighlighting to $ccls/publishSemanticHighlight; stableId -> id
2019-11-09 20:03:28 -08:00
Fangrui Song
4a1eea75db
Misc changes to project
...
* Better LanguageId detection with clangDriver (e.g. .cu -> types::TY_CUDA)
* fallback when there is no .ccls or compile_commands.json
Also Hide clangTooling options from --help
2019-11-09 20:03:28 -08:00
Riatre Foo
ec71d4c6c0
Fix hierarchical document symbol
...
1. Fixed a bug on building document symbol tree: As sym2ds was updated in
place, nested funcs/types may be moved into children of another
lsDocumentSymbol before itself got processed.
2. Namespaces only have declarations, in the old implementation it wasn't included in the result, making the result less hierarchical. This
commit fixes this by including the declarations of a symbol if no
definitions found.
2019-11-09 20:03:28 -08:00
Fangrui Song
2864f2c647
Use DeclRef spell to represent Use spell + Use extent
2019-11-09 20:03:28 -08:00
Fangrui Song
08b09bc1da
Redesign SymbolRef, Ref, Use
...
Remove lsLocationEx
2019-11-09 20:03:28 -08:00
Fangrui Song
fa2234c894
Use non-inferred entries and build preamble for .h; index on didOpen if no pending requests; documentHighlight
2019-11-09 20:03:28 -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
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
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
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
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
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
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
Fangrui Song
39787d2851
clang-format
...
DEF CON 26 CTF
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
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
134a09a255
Remove libclang
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
b3d5ea8be5
Simplify
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
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
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