Fangrui Song
f515b4b466
Improve VarDef::type for textDocument/typeDefinition
2018-09-20 01:08:33 -07:00
Fangrui Song
08645d64c1
intern args
2018-09-20 01:08:33 -07:00
Fangrui Song
525b6da1ac
intern strings in dependencies and IndexInclude::resolved_path
2018-09-20 01:08:33 -07:00
Fangrui Song
763106c3d4
Simplify pipeline and fix race
2018-09-20 01:08:31 -07:00
Fangrui Song
14b73f0d6f
Add hierarchicalDocumentSymbolSupport
2018-09-16 20:53:52 -07:00
Fangrui Song
a18977b9fc
Add clang.pathMappings to reuse cache files with differect source paths
2018-09-16 20:53:52 -07:00
Fangrui Song
34c1ebcefd
Remove [spell.start, spell.end) -> [spell.start, extent.end) hack
2018-09-16 20:53:50 -07:00
Fangrui Song
56c6ec43df
Skip informative scope foo::
2018-09-16 17:00:59 -07:00
Fangrui Song
70deeca8ad
Rename hierarchies to $ccls/{call,inheritance,member}
...
bool flat = false; -> bool hierarchy = false; (set it to true to enable hierarchical view)
Delete $ccls/callers (which is what $ccls/call does now)
2018-09-13 14:55:27 -07:00
Fangrui Song
a174105abe
Better diagnostics
2018-09-13 14:55:27 -07:00
Fangrui Song
1969731781
textDocument/documentSymbol
2018-09-13 14:55:27 -07:00
Fangrui Song
6bca153ee3
Make $ccls/inheritanceHierarchy and textDocument/typeDefinition find declarations if definitions do not exist; spelling ranges of operator=
2018-09-13 14:55:24 -07:00
Fangrui Song
e2f29d7b1b
pipeline improvement for files not having a project entry (e.g. .h)
2018-09-12 17:01:52 -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
Riatre Foo
a607dcec24
Normalize paths on Windows
...
1. Normalize paths in LSP document URIs and project root to forward
slash and uppercase drive letters.
2. Normalize paths in compile_commands.json to forward slash and
uppercase drive letters.
3. Normalize paths from directory listing to forward slash. (Drive
letter should be same as input dir path, which is already uppercase
since path of project root dir is normalized)
4. Add llvm::sys::path::convert_to_slash after certain llvm::sys::path
and llvm::fs calls.
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
c9e6b31dd0
Revamp completion and signatureHelp, set completion.detailedLabel: true and add completion.duplicateOptional
2018-09-12 17:01:48 -07:00
Fangrui Song
a7c1633b51
Misc
2018-09-11 20:22:49 -07:00
Fangrui Song
c202dd3775
Make CXXConversion references wider; use getTypedefNameForAnonDecl; improve CXXDestructor CXXConversion spell
2018-09-11 16:21:46 -07:00
Fangrui Song
92ee7f3e0f
Add diagnostics.onSave
2018-09-11 16:21:42 -07:00
Fangrui Song
da982a6506
Reuse preamble (built by "comp-preload") in indexer
2018-09-10 00:45:56 -07:00
Fangrui Song
58191fd335
Support empty cacheDirectory and fix cache load
2018-09-08 15:46:52 -07:00
Fangrui Song
82d31a2012
Implement index.onChange: true; enable spell checking for diagnostics
2018-09-08 14:27:49 -07:00
Fangrui Song
e20a8e7a1b
Add DeclUse as element type of declarations
2018-09-08 14:27:44 -07:00
Fangrui Song
8b3ebf234b
Remove $ccls/base and clean up; deduplicate codeLens
2018-09-07 15:00:15 -07:00
Fangrui Song
b77fba6ea8
Improve hover and documentSymbol
2018-09-06 00:22:40 -07:00
Fangrui Song
56da577df9
Add clang.excludeArgs and rename diagnostics.onType to onChange
2018-09-04 13:10:18 -07:00
Fangrui Song
0a51424c5c
Add $ccls/navigate and improve textDocument/definition
2018-09-04 01:04:19 -07:00
Fangrui Song
e92378df9c
Add all: boolean to textDocument/documentSymbol
2018-09-03 14:25:49 -07:00
Fangrui Song
aebf2dfaed
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"]
2018-09-03 12:28:55 -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
11e92d52a8
README
2018-09-02 14:01:28 -07:00
Fangrui Song
407c7cc29d
Remove ASTUnit from indexer and clean up
2018-08-31 09:47:37 -07:00
scturtle
5cc3006a3a
Filter deps with index.blacklist
. ( #64 )
2018-08-30 09:46:03 -07:00
Fangrui Song
1ae97c64ed
detailed_name: "{\n}" -> "{}" ; completion
2018-08-29 23:40:40 -07:00
firstlove
74790e2421
fix clang_tu.h && clang_complete.cc ( #61 )
2018-08-29 20:52:44 -07:00
Fangrui Song
87c5491536
New diagnostics
2018-08-29 20:52:44 -07:00
Fangrui Song
f808dd8f8a
Use StoreInMemory Preamble for CodeComplete
2018-08-29 20:52:32 -07:00
Fangrui Song
bd3e06796e
SkipFunctionBodiesScope; improve fuzzy
2018-08-28 00:27:16 -07:00
Fangrui Song
caddc18860
Uniquify $ccls/inheritanceHierarchy and add flat to $ccls/memberHierarchy
2018-08-24 10:37:47 -07:00
Fangrui Song
ec2b893ee4
Fix VarDef::is_local; default cacheDirectory to ".ccls-cache"
2018-08-22 20:45:29 -07:00
Fangrui Song
f3490a3e6c
Add license notice
2018-08-20 22:27:52 -07:00
Amos Bird
66b027910a
correctly grabbing the ownership of index files. ( #54 )
2018-08-20 09:58:27 -07:00
Fangrui Song
431eef2167
textDocument/hover: prefer definitions in the same file
2018-08-19 13:11:47 -07:00
Fangrui Song
2f5fcadc39
Remove CompileCommandsEntry and reduce clangDriver invocations
2018-08-19 11:03:37 -07:00
Fangrui Song
8cbb317dc2
clang-format
...
DEF CON 26 CTF
2018-08-09 10:13:54 -07:00
Fangrui Song
b9e1c2ee07
Add flat to $ccls/inheritanceHierarchy
2018-08-08 00:25:46 -07:00
Fangrui Song
3931951406
Validate RecordDecl
2018-08-08 00:25:43 -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
0bb311ac56
Add textDocument/codeAction for clang FixIt
...
What do you think of the challenge ccls-fringe in Real World CTF?
2018-07-29 01:03:30 -07:00
Fangrui Song
c71047189f
Misc
2018-07-29 01:03:24 -07:00
Chao Shen
b95b47540d
Fix diagnostics on MacOS and duplicated bases.
2018-07-26 20:51:30 -07:00
Fangrui Song
122eda1c53
Improve comment and outline
2018-07-25 10:53:36 -07:00
Chao Shen
03aa024fe6
Misc.
2018-07-24 20:48:46 -07:00
Chao Shen
ff102c9b7e
Fix preload completion session.
2018-07-24 20:48:41 -07:00
Fangrui Song
8b4a8d2d48
Fix Twine; index TypedefNameDecl to specialization; anonymous RecordDecl fields
2018-07-23 00:26:05 -07:00
Fangrui Song
e67ea3af87
Use ContainerDC for extent, index callees, set StaticMethod
2018-07-21 00:54:34 -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
46d397f4b3
--init
2018-07-18 10:51:18 -07:00
Fangrui Song
0732d37817
Better bases/derived and initializer
2018-07-17 21:13:56 -07:00
Fangrui Song
af54645e5e
Fix spell for clang < 7
2018-07-16 09:49:37 -07:00
Fangrui Song
73ac788f9e
Remove libclang
2018-07-16 09:34:48 -07:00
Fangrui Song
344f00fbb2
CrashRecoveryContext
2018-07-15 23:06:27 -07:00
Fangrui Song
8912b00381
Support BindingDecl and VarTemplate{,Partial}SpecializationDecl
2018-07-15 18:56:04 -07:00
Fangrui Song
814f054e6e
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
2018-07-15 16:51:20 -07:00
Fangrui Song
dd05ad9f65
Diagnostics
2018-07-15 13:29:47 -07:00
Fangrui Song
eea1b92825
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.
2018-07-15 01:22:02 -07:00
Fangrui Song
df72a9eb72
Simplify
2018-07-15 00:55:11 -07:00
Fangrui Song
5dcccea285
Use Clang C++ for completion and diagnostics
2018-07-15 00:15:31 -07:00
Fangrui Song
4612aa062b
$ccls/publishSemanticHighlighting: support both line/character-style and position-style ranges
2018-07-14 14:03:51 -07:00
Fangrui Song
d604fc38dc
Use Sema/CodeCompleteConsumer
2018-07-14 11:41:16 -07:00
Fangrui Song
39d4bbfe67
Use clangTooling
2018-07-14 00:58:33 -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
0c50ee79f2
Cleanup
2018-07-12 12:42:02 -07:00
Fangrui Song
c04d0620c0
Add some ObjC kinds
2018-07-12 12:27:34 -07:00
Fangrui Song
7c1ff07dc9
Fix memberHierarchy
2018-07-08 23:31:40 -07:00
Fangrui Song
7d1d4b410b
$ccls/publishSemanticHighlighting: use pair<int,int> in place of lsRange
2018-07-08 20:38:23 -07:00
Fangrui Song
c6553c79ab
clangIndex
2018-07-08 20:38:16 -07:00
Fangrui Song
ed1b221fab
Remove submodule doctest
2018-07-08 17:20:48 -07:00
Fangrui Song
eb8acf9cdb
pipeline
2018-07-08 13:40:19 -07:00
Fangrui Song
cc65ea94ed
Misc changes to clangIndex
2018-07-08 12:24:42 -07:00
Fangrui Song
df02c29a7d
clangIndex
2018-07-08 00:34:31 -07:00
Fangrui Song
2196e17222
Clean up clang_tu
2018-07-07 15:43:49 -07:00
Fangrui Song
7dd0241a4c
First draft: replace libclang indexer with clangIndex
2018-07-07 15:43:05 -07:00
Fangrui Song
f81454b9ec
textDocument/references: add excludeRole
2018-07-04 19:16:56 -07:00
Fangrui Song
6a8837d612
diagnostics
2018-07-03 21:51:24 -07:00
Fangrui Song
0df5a2cd66
rename
2018-07-03 11:19:01 -07:00
Fangrui Song
8a9640a56b
Add all to textDocument/documentSymbol
2018-07-01 10:19:37 -07:00
Fangrui Song
207e79ea98
Use ChangeStd{in,out}ToBinary
2018-07-01 10:19:35 -07:00
Fangrui Song
559a68a261
Display diagnostics from header files
2018-06-23 10:50:15 -07:00
Fangrui Song
c5dc759831
Put static const
into IndexVar::def (a definition is not required unless odr-used)
2018-06-17 13:30:19 -07:00
Fangrui Song
6a1902aeb6
Fix .. in compdb path; better type alias
2018-06-17 12:45:16 -07:00
Fangrui Song
e5d8153d4b
Internalize strings & remove diagnostics_publisher.cc
2018-06-08 10:39:38 -07:00
Fangrui Song
c8a81aeae3
Inject anonymous struct/union into parent scopes
2018-06-06 10:29:16 -07:00
Fangrui Song
134126629a
Infer system include paths from CompilerInvocation
2018-06-04 16:33:03 -07:00
Fangrui Song
0decb01a0f
Add Config->reparseForDependency
...
Specify 1 if for large projects you don't want to reparse dependents at load time when a common .h changes.
2018-06-02 00:57:18 -07:00
Fangrui Song
7b1ff448b9
Use clang::PrintingPolicy and remove type_printer
2018-06-01 17:47:03 -07:00
Fangrui Song
66580104ba
Add Config->largeFileSize; pure virtual or defaulted methods are definitions; fix $ccls/callHierarchy
2018-06-01 16:06:21 -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
ec00f854a0
$ccls/vars: differentiate local/field/parameter
2018-05-31 19:51:58 -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
23c9c3a061
$ccls/memberHierarchy: add field offset
2018-05-28 21:24:42 -07:00
Fangrui Song
c9f0b65062
Simplify pipeline
2018-05-28 16:13:44 -07:00
Fangrui Song
8fabe3d1ae
Replace loguru with a custom logger
2018-05-27 15:14:33 -07:00
Fangrui Song
07f0cdbf38
Simplify; improve $ccls/inheritanceHierarchy
2018-05-26 15:17:26 -07:00
Fangrui Song
32bde07df6
filesystem.cc: deduplicate with UniqueID
2018-05-20 00:42:35 -07:00
Fangrui Song
4e2f64893c
textDocument/references: include base references by default
2018-05-18 08:53:50 -07:00
Fangrui Song
ba45e7ca63
cmake: link against zlib; use StringMap
2018-05-16 00:51:07 -07:00
Fangrui Song
19d0aad2ca
clean up clang_complete found by scturtle; clean up project
2018-05-14 10:02:37 -07:00
Fangrui Song
576959e460
Congratulations to Tea Deliverers
2018-05-14 09:47:21 -07:00
Fangrui Song
f145c4422f
experimental/filesystem -> LLVM/Support/FileSystem.h; sparsepp -> DenseMap
2018-05-13 15:24:04 -07:00
Fangrui Song
d3a36a4ae6
Use llvm::cl and simplify main.cc import_pipeline.cc
2018-05-13 12:08:33 -07:00
Fangrui Song
224ba97f27
Use clang+llvm C++ in cmake; parse args with clang driver
2018-05-13 01:13:14 -07:00
Fangrui Song
99e7c56956
cmake: make FreeBSD 11,12 build
2018-05-12 11:45:21 -07:00
Fangrui Song
bac704f17b
Backport and cleanup
2018-05-09 22:55:40 -07:00
scturtle
72433643bf
Fix file_id. ( #8 )
2018-05-08 08:56:20 -07:00
scturtle
b55819a8a1
Random changes. ( #6 )
2018-05-08 00:35:32 -07:00
Fangrui Song
a4a07120a1
Reflect optional by Brandon Tolsch
2018-05-07 20:59:08 -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
d337d9bff7
.
2018-05-03 00:32:21 -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
01f1064576
Improve workspace/symbol sorting heuristic
2018-04-29 20:20:20 -07:00
Fangrui Song
d821ac34d8
Merge {timestamp_manager,iindexer}.{cc,h}; remove standard_includes.*; use last_write_time
2018-04-28 23:37:55 -07:00
Amos Bird
b4cca890c6
using SIGSTOP (avoid interactive signal blocking) ( #2 )
2018-04-18 00:17:24 -07:00
Fangrui Song
fa9df5bcef
Remove variant and clean up
2018-04-17 00:12:59 -07:00
Fangrui Song
4d519dcbcb
Update loguru
2018-04-16 00:14:54 -07:00
Fangrui Song
2c4d387222
MessagePack -> custom binary format
2018-04-15 00:40:19 -07:00
Fangrui Song
f8752cdca0
Add caseSensitivity to config->{completion,workspaceSymbol}
2018-04-14 12:38:58 -07:00
Fangrui Song
d45c057dd4
Backport recent update of completion
2018-04-14 11:38:06 -07:00
Fangrui Song
a7c89fbe21
Catch filesystem_error
2018-04-10 23:32:53 -07:00
Fangrui Song
236e7c1393
Simplify indexer and query
2018-04-09 00:52:04 -07:00
Fangrui Song
97b1592475
Simplify lsp.h and fix qual_name_offset when SetVarDetail is called on an existing variable
2018-04-09 00:31:34 -07:00
Fangrui Song
2a06fb55dd
Better definition/references on #include lines
2018-04-08 10:25:50 -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
8d19e0a4f1
Remove import_manager.cc
2018-04-07 22:01:41 -07:00
Fangrui Song
6e68e9edbd
Simplify
2018-04-07 21:04:20 -07:00
Fangrui Song
992b3cce16
Use clang_File_tryGetRealPathName
2018-04-07 16:46:22 -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
9f9420519e
Set typeDefinitionProvider
2018-04-05 00:15:21 -07:00
Fangrui Song
1dc55843e7
Remove unused fs code.
2018-04-04 10:48:13 -07:00
Fangrui Song
d9bcaecf25
Use global config.
2018-04-04 00:29:27 -07:00
Fangrui Song
c0b4d69268
Simplify optional.
2018-04-02 00:28:18 -07:00
Fangrui Song
78250bde34
Fuzzy
2018-04-01 23:38:35 -07:00
Fangrui Song
d8fbc752d0
.
2018-03-31 17:49:32 -07:00
Fangrui Song
46fc3b8323
.
2018-03-31 16:30:53 -07:00
Fangrui Song
d83be5adcc
.
2018-03-31 13:54:19 -07:00