mirror of
https://github.com/MaskRay/ccls.git
synced 2025-06-13 11:42:13 +00:00
Merge 395b0a6467
into c1e1ff1a97
This commit is contained in:
commit
e64cd88dd7
@ -776,7 +776,7 @@ std::shared_ptr<CompletionSession> ClangCompleteManager::TryGetSession(
|
||||
// If this request is for a completion, we should move it to
|
||||
// |completion_sessions|.
|
||||
if (mark_as_completion) {
|
||||
assert(!completion_sessions_.TryGet(filename));
|
||||
// assert(!completion_sessions_.TryGet(filename));
|
||||
preloaded_sessions_.TryTake(filename);
|
||||
completion_sessions_.Insert(filename, preloaded_session);
|
||||
}
|
||||
|
@ -44,10 +44,6 @@ struct ClangCompleteManager {
|
||||
using OnDiagnostic =
|
||||
std::function<void(std::string path,
|
||||
std::vector<lsDiagnostic> diagnostics)>;
|
||||
using OnIndex = std::function<void(ClangTranslationUnit* tu,
|
||||
const std::vector<CXUnsavedFile>& unsaved,
|
||||
const std::string& path,
|
||||
const std::vector<std::string>& args)>;
|
||||
using OnComplete =
|
||||
std::function<void(const std::vector<lsCompletionItem>& results,
|
||||
bool is_cached_result)>;
|
||||
|
@ -8,6 +8,8 @@
|
||||
|
||||
#include <thread>
|
||||
|
||||
#include "standard_headers.inc"
|
||||
|
||||
namespace {
|
||||
|
||||
struct CompletionCandidate {
|
||||
@ -96,6 +98,9 @@ void IncludeComplete::Rescan() {
|
||||
absolute_path_to_completion_item.clear();
|
||||
inserted_paths.clear();
|
||||
|
||||
for (auto& header : kStandardHeaders)
|
||||
completion_items.push_back(BuildCompletionItem(header, true, true));
|
||||
|
||||
if (!match_ && (g_config->completion.includeWhitelist.size() ||
|
||||
g_config->completion.includeBlacklist.size()))
|
||||
match_ = std::make_unique<GroupMatch>(g_config->completion.includeWhitelist,
|
||||
|
@ -365,7 +365,7 @@ struct Handler_TextDocumentCompletion : MessageHandler {
|
||||
lock.lock();
|
||||
std::string quote = result.match[5];
|
||||
for (auto& item : include_complete->completion_items)
|
||||
if (quote.empty() || quote == (item.use_angle_brackets_ ? "<" : "\""))
|
||||
// if (quote.empty() || quote == (item.use_angle_brackets_ ? "<" : "\""))
|
||||
out.result.items.push_back(item);
|
||||
}
|
||||
FilterAndSortCompletionResponse(&out, result.pattern, has_open_paren);
|
||||
|
1
src/standard_headers.inc
Normal file
1
src/standard_headers.inc
Normal file
@ -0,0 +1 @@
|
||||
static const std::vector<std::string> kStandardHeaders = { "algorithm", "any", "array", "atomic", "bitset", "cassert", "ccomplex", "cctype", "cerrno", "cfenv", "cfloat", "chrono", "cinttypes", "ciso646", "climits", "clocale", "cmath", "codecvt", "complex", "complex.h", "condition_variable", "coroutine", "csetjmp", "csignal", "cstdarg", "cstdbool", "cstddef", "cstdint", "cstdio", "cstdlib", "cstring", "ctgmath", "ctime", "ctype.h", "cwchar", "cwctype", "cxxabi.h", "deque", "dynarray", "errno.h", "exception", "experimental", "ext", "filesystem", "float.h", "forward_list", "fstream", "functional", "future", "initializer_list", "inttypes.h", "iomanip", "ios", "iosfwd", "iostream", "istream", "iterator", "limits", "limits.h", "list", "locale", "locale.h", "map", "math.h", "memory", "memory_resource", "module.modulemap", "mutex", "new", "numeric", "optional", "ostream", "propagate_const", "queue", "random", "ratio", "regex", "scoped_allocator", "set", "setjmp.h", "shared_mutex", "sstream", "stack", "stdbool.h", "stddef.h", "stdexcept", "stdint.h", "stdio.h", "stdlib.h", "streambuf", "string", "string.h", "string_view", "strstream", "support", "system_error", "tgmath.h", "thread", "tuple", "typeindex", "typeinfo", "type_traits", "unordered_map", "unordered_set", "utility", "valarray", "variant", "vector", "wchar.h", "wctype.h" };
|
Loading…
Reference in New Issue
Block a user