Commit Graph

1858 Commits

Author SHA1 Message Date
Fangrui Song
283d887271 Add command line option -index=root to index without starting language server 2019-01-09 15:19:23 +08:00
Fangrui Song
ce1c7ec76a Improve DeducedType 2019-01-09 15:19:23 +08:00
Fangrui Song
119a05597d Improve extent of definition/declaration; uniquify typeDefinition 2019-01-09 15:19:23 +08:00
Fangrui Song
87ea7d244d Simplify 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
fc1db06538 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-01-09 15:19:17 +08:00
Fangrui Song
79352b451c 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-01-09 15:17:19 +08:00
Fangrui Song
4743124370 Adapt trunk change and write comments to PCH 2019-01-09 15:17:19 +08:00
Fangrui Song
61b361320b -DSYSTEM_CLANG=off: 6.0.1 -> 7.0.0 2019-01-09 15:17:19 +08:00
Riatre Foo
f5816e3be3 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-01-09 15:17:19 +08:00
Fangrui Song
51081c3cd2 Add namespace alias clang::vfs = llvm::vfs to adapt D52783
vfs::x should be written as llvm::vfs::x to work around a [namepace.udir] bug before GCC 8 when namespace alias is used
2019-01-09 15:17:19 +08:00
Fangrui Song
c5ae521d36 Namespace: improve indexer and don't trace bases in $ccls/member 2019-01-09 15:17:19 +08:00
Riatre Foo
ac2d921ab9 Fix additionalTextEdits -> textEdit hack for VS Code (#89)
* Fix additionalTextEdits -> textEdit hack for VS Code

Visual Studio Code filters the completion result according to
textEdit.range and filterText, if the textEdit.range overlaps with
existing text, we have to include it in filterText, otherwise it would
be filtered out.

* Fix has_open_paren in FilterCandidates
2019-01-09 15:17:19 +08:00
Fangrui Song
5a1ed4c943 Support workspace folders 2019-01-09 15:17:19 +08:00
Fangrui Song
de9c77e1cc Improve completion
blacklist some undesired candidates
additionalTextEdits if clang>=7
Use CodePatterns for preprocessor directive completion if there is a #
Prefer textEdit over insertText
2019-01-09 15:17:19 +08:00
Fangrui Song
10c1c28dd1 Clean and update tests after Index* refactoring 2019-01-09 15:17:13 +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
38feb8d277 Add completion.maxNum: 100 2018-10-04 00:13:50 -07:00
Fangrui Song
c7ee3d85f3 For $ccls/member, use unadjusted RecordDecl (if there is forward declaration) and handle ClassTemplateSpecialization 2018-10-03 00:42:02 -07:00
Fangrui Song
fc8a60c630 Add PreambleStatCache 2018-10-02 22:15:21 -07:00
Fangrui Song
29f05d96fb Use pthread if defined(__unix__) || defined(__APPLE__) 2018-10-02 17:51:36 -07:00
firstlove
8d49b44154 regard conversion as method instead of constructor 2018-10-01 20:49:49 -07:00
Fangrui Song
da07cb2da4 Add $ccls/info 2018-10-01 16:56:53 -07:00
Fangrui Song
f2227cbaa2 Clean 2018-10-01 16:56:53 -07:00
Fangrui Song
84984c6c27 Use non-inferred entries and build preamble for .h; index on didOpen if no pending requests; documentHighlight 2018-10-01 16:56:50 -07:00
Fangrui Song
79373ba486 Rename some initialization options
* Delete index.enabled which can be achieved with index.blacklist: ['.']
* Move completion.include* to completion.include.*
* move largeFileSize to highlight.largeFileSize
2018-09-30 11:46:34 -07:00
Fangrui Song
da704521b5 Revamp codeLens & codeAction
b.ref: references of bases
d.ref: references of derived
when b.ref > 0, don't display 0 ref or x bases
2018-09-30 11:44:24 -07:00
Fangrui Song
d4871207ed Construct SourceManager with UserFilesAreVolatile
Prettify pipeline
2018-09-28 14:06:01 -07:00
Fangrui Song
a127ca9b02 Support textDocument/{formatting,onTypeFormatting,rangeFormatting} 2018-09-28 10:18:04 -07:00
Fangrui Song
05109b6fa4 Merge textDocument_did{Change,Close,Open,Save}.cc 2018-09-27 22:16:42 -07:00
Amos Bird
d6ad864f11 Update threaded_queue.h (#82)
https://en.cppreference.com/w/cpp/language/fold
2018-09-26 17:47:03 -07:00
Fangrui Song
41fcc0272c Simplify semantic highlighting; improve hover of auto && 2018-09-25 11:57:42 -07:00
Fangrui Song
0eb9428a32 Add index.trackDependency and improve pipeline 2018-09-24 00:38:56 -07:00
Fangrui Song
eb644bb78e Add index.initial{Blacklist,Whitelist}
index.{blacklist,whitelist}: disable indexes thoroughly
index.initial{Blacklist,Whitelist}: disable initial loading. will still be indexed after opening
2018-09-24 00:38:56 -07:00
Fangrui Song
ce68028caf Add GetAdjustedDecl to adjust Decl's that are missed by clangIndex 2018-09-24 00:38:54 -07:00
Fangrui Song
8f40c0c244 Remove clang_utils.* 2018-09-23 20:34:40 -07:00
Fangrui Song
854225bd30 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
2018-09-23 20:34:38 -07:00
Riatre Foo
32f7d148ca Allow force disabling snippet via client.snippetSupport 2018-09-23 11:32:57 -07:00
Fangrui Song
71e9835b8c documentSymbol: ignore TypeParameter
Reported by Riatre
2018-09-23 10:44:08 -07:00
Riatre Foo
e320ce42ab Include macros in completion result 2018-09-23 10:40:41 -07:00
Fangrui Song
22daed7001 Add kind to $ccls/member and iterate all QueryType::def
kind:2 => member functions
kind:3 => nested classes / namespace members
2018-09-23 10:40:41 -07:00
Fangrui Song
7eb58bb5e1 Misc 2018-09-23 10:40:41 -07:00
Fangrui Song
6ea399559d Fix spurious "Failed to index" errors 2018-09-23 10:40:41 -07:00
Fangrui Song
28d33324b1 Publish diagnostics of inferred files and change diagnostics.{onChange,onOpen,onSave} from bool to debounce time 2018-09-23 10:40:39 -07:00
Riatre Foo
1a519163da Remove chunks with CK_Information kind from insertText. (#78)
Without this ccls inserts "size() const" in the following scenario:

std::string text;
text.si| <-- Trigger completion here and pick "size"
2018-09-22 08:57:36 -07:00
Fangrui Song
4d76108d6b Delete file_consumer.* 2018-09-20 19:48:20 -07:00
Fangrui Song
41756297ef Simplify semantic highlighting 2018-09-20 17:49:39 -07:00
Fangrui Song
f9bd84a975 Clean up FileConsumer and improve pipeline 2018-09-20 09:20:07 -07:00
Fangrui Song
f515b4b466 Improve VarDef::type for textDocument/typeDefinition 2018-09-20 01:08:33 -07:00