Commit Graph

23 Commits

Author SHA1 Message Date
Fangrui Song
8fc6b8a9f4 completion: delete insertText; don't set filterText if it is the same as label
It decreases Content-Length: from 32K to 25K for the following case:

 #include <bits/stdc++.h>
int main() { std::| }

Also

* make results deterministic when completion text is empty
* sort by newText, label, filterText
2019-10-24 18:37:54 -07:00
Fangrui Song
cb06324c13 If clang >= 8, delete search path detection and use Sema::CodeCompleteIncludedFile 2019-10-24 18:37:54 -07:00
Fangrui Song
6dfe5d1c4f Reduce MAKE_REFLECT_STRUCT in lsp.hh
Position -> Pos; lsPosition -> Position
2019-10-24 18:37:54 -07:00
Fangrui Song
50736827ca Remove ls prefix from many LSP interfaces
Rename SymbolKind to Kind & lsSymbolKind to SymbolKind
Use textDocumentSync: TextDocumentSyncOptions
2019-10-24 18:37:54 -07:00
Fangrui Song
85b449df03 Simplify and work around vscode _sortTextLow 2019-10-24 18:37:54 -07:00
Fangrui Song
e3a2f1a9a8 *.h -> *.hh 2019-10-24 18:37:54 -07:00
Fangrui Song
67eb1e6b23 Refactor message handler and namespace ccls 2019-10-24 18:37:53 -07:00
Fangrui Song
2180320540 Deprioritize completion items with additionTextEdits 2019-10-24 18:37:35 -07:00
Fangrui Song
6deadc5f24 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-10-24 18:37:35 -07:00
Riatre Foo
d98965d8d9 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-10-24 18:37:35 -07:00
Fangrui Song
798cf7852d 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-10-24 18:37:35 -07:00
Fangrui Song
bb124b132e Add completion.maxNum: 100 2019-10-24 18:37:35 -07:00
Fangrui Song
395e9d8724 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-10-24 18:37:35 -07:00
Riatre Foo
61a61dd4a2 Include macros in completion result 2019-10-24 18:37:35 -07:00
Riatre Foo
1a2e31660c 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"
2019-10-24 18:37:35 -07:00
Fangrui Song
fd20978b15 Skip informative scope foo:: 2019-10-24 18:37:34 -07:00
Fangrui Song
11890fc3b1 Revamp completion and signatureHelp, set completion.detailedLabel: true and add completion.duplicateOptional 2019-10-24 01:13:24 -07:00
Fangrui Song
0ae7d9d0a4 Reuse preamble (built by "comp-preload") in indexer 2019-10-24 01:13:24 -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
a4dd5d0c44 Use Sema/CodeCompleteConsumer 2019-10-24 01:01:20 -07:00
Fangrui Song
b784685c61 diagnostics 2019-10-24 00:18:13 -07:00
Fangrui Song
2682964039 Rename message files (e.g. ccls_call_hierarchy.cc -> ccls_callHierarchy.cc) 2019-10-24 00:17:28 -07:00