*.h -> *.hh

This commit is contained in:
Fangrui Song 2018-10-28 21:21:21 -07:00
parent 3cd0ee2fc7
commit bbce333042
66 changed files with 181 additions and 181 deletions

View File

@ -6,8 +6,8 @@
#include "clang_tu.hh" #include "clang_tu.hh"
#include "filesystem.hh" #include "filesystem.hh"
#include "log.hh" #include "log.hh"
#include "match.h" #include "match.hh"
#include "platform.h" #include "platform.hh"
#include <clang/Lex/PreprocessorOptions.h> #include <clang/Lex/PreprocessorOptions.h>
#include <clang/Sema/CodeCompleteConsumer.h> #include <clang/Sema/CodeCompleteConsumer.h>
@ -406,7 +406,7 @@ void *CompletionMain(void *manager_) {
DiagnosticConsumer DC; DiagnosticConsumer DC;
WorkingFiles::Snapshot snapshot = WorkingFiles::Snapshot snapshot =
manager->working_files_->AsSnapshot({StripFileType(path)}); manager->wfiles_->AsSnapshot({StripFileType(path)});
std::vector<std::unique_ptr<llvm::MemoryBuffer>> Bufs; std::vector<std::unique_ptr<llvm::MemoryBuffer>> Bufs;
auto Clang = BuildCompilerInstance(*session, std::move(CI), FS, DC, auto Clang = BuildCompilerInstance(*session, std::move(CI), FS, DC,
preamble.get(), snapshot, Bufs); preamble.get(), snapshot, Bufs);
@ -480,7 +480,7 @@ void *DiagnosticMain(void *manager_) {
CI->getLangOpts()->SpellChecking = g_config->diagnostics.spellChecking; CI->getLangOpts()->SpellChecking = g_config->diagnostics.spellChecking;
StoreDiags DC(path); StoreDiags DC(path);
WorkingFiles::Snapshot snapshot = WorkingFiles::Snapshot snapshot =
manager->working_files_->AsSnapshot({StripFileType(path)}); manager->wfiles_->AsSnapshot({StripFileType(path)});
std::vector<std::unique_ptr<llvm::MemoryBuffer>> Bufs; std::vector<std::unique_ptr<llvm::MemoryBuffer>> Bufs;
auto Clang = BuildCompilerInstance(*session, std::move(CI), FS, DC, auto Clang = BuildCompilerInstance(*session, std::move(CI), FS, DC,
preamble.get(), snapshot, Bufs); preamble.get(), snapshot, Bufs);
@ -564,10 +564,10 @@ std::shared_ptr<PreambleData> CompletionSession::GetPreamble() {
} }
CompletionManager::CompletionManager(Project *project, CompletionManager::CompletionManager(Project *project,
WorkingFiles *working_files, WorkingFiles *wfiles,
OnDiagnostic on_diagnostic, OnDiagnostic on_diagnostic,
OnDropped on_dropped) OnDropped on_dropped)
: project_(project), working_files_(working_files), : project_(project), wfiles_(wfiles),
on_diagnostic_(on_diagnostic), on_dropped_(on_dropped), on_diagnostic_(on_diagnostic), on_dropped_(on_dropped),
preloads(kMaxPreloadedSessions), preloads(kMaxPreloadedSessions),
sessions(kMaxCompletionSessions), sessions(kMaxCompletionSessions),
@ -626,7 +626,7 @@ bool CompletionManager::EnsureCompletionOrCreatePreloadSession(
// No CompletionSession, create new one. // No CompletionSession, create new one.
auto session = std::make_shared<ccls::CompletionSession>( auto session = std::make_shared<ccls::CompletionSession>(
project_->FindEntry(path, false), working_files_, PCH); project_->FindEntry(path, false), wfiles_, PCH);
if (session->file.filename != path) { if (session->file.filename != path) {
session->inferred = true; session->inferred = true;
session->file.filename = path; session->file.filename = path;
@ -655,7 +655,7 @@ CompletionManager::TryGetSession(const std::string &path, bool preload,
session = sessions.TryGet(path); session = sessions.TryGet(path);
if (!session && !preload) { if (!session && !preload) {
session = std::make_shared<ccls::CompletionSession>( session = std::make_shared<ccls::CompletionSession>(
project_->FindEntry(path, false), working_files_, PCH); project_->FindEntry(path, false), wfiles_, PCH);
sessions.Insert(path, session); sessions.Insert(path, session);
LOG_S(INFO) << "create session for " << path; LOG_S(INFO) << "create session for " << path;
if (is_open) if (is_open)

View File

@ -4,11 +4,11 @@
#pragma once #pragma once
#include "clang_tu.hh" #include "clang_tu.hh"
#include "lru_cache.h" #include "lru_cache.hh"
#include "lsp.hh" #include "lsp.hh"
#include "project.hh" #include "project.hh"
#include "threaded_queue.h" #include "threaded_queue.hh"
#include "working_files.h" #include "working_files.hh"
#include <clang/Frontend/CompilerInstance.h> #include <clang/Frontend/CompilerInstance.h>
#include <clang/Frontend/FrontendActions.h> #include <clang/Frontend/FrontendActions.h>
@ -96,7 +96,7 @@ struct CompletionManager {
int64_t debounce; int64_t debounce;
}; };
CompletionManager(Project *project, WorkingFiles *working_files, CompletionManager(Project *project, WorkingFiles *wfiles,
OnDiagnostic on_diagnostic, OnDropped on_dropped); OnDiagnostic on_diagnostic, OnDropped on_dropped);
// Request a diagnostics update. // Request a diagnostics update.
@ -129,7 +129,7 @@ struct CompletionManager {
// Global state. // Global state.
Project *project_; Project *project_;
WorkingFiles *working_files_; WorkingFiles *wfiles_;
OnDiagnostic on_diagnostic_; OnDiagnostic on_diagnostic_;
OnDropped on_dropped_; OnDropped on_dropped_;

View File

@ -3,8 +3,8 @@
#include "clang_tu.hh" #include "clang_tu.hh"
#include "config.h" #include "config.hh"
#include "platform.h" #include "platform.hh"
#include <clang/AST/Type.h> #include <clang/AST/Type.h>
#include <clang/Lex/Lexer.h> #include <clang/Lex/Lexer.h>

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "position.h" #include "position.hh"
#include <clang/Basic/LangOptions.h> #include <clang/Basic/LangOptions.h>
#include <clang/Basic/FileManager.h> #include <clang/Basic/FileManager.h>

View File

@ -1,7 +1,7 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "config.h" #include "config.hh"
namespace ccls { namespace ccls {
Config *g_config; Config *g_config;

View File

@ -4,7 +4,7 @@
#include "filesystem.hh" #include "filesystem.hh"
using namespace llvm; using namespace llvm;
#include "utils.h" #include "utils.hh"
#include <set> #include <set>
#include <vector> #include <vector>

View File

@ -1,7 +1,7 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "fuzzy_match.h" #include "fuzzy_match.hh"
#include <algorithm> #include <algorithm>
#include <ctype.h> #include <ctype.h>

View File

@ -1,11 +1,11 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "include_complete.h" #include "include_complete.hh"
#include "filesystem.hh" #include "filesystem.hh"
#include "match.h" #include "match.hh"
#include "platform.h" #include "platform.hh"
#include "project.hh" #include "project.hh"
#include <llvm/ADT/Twine.h> #include <llvm/ADT/Twine.h>

View File

@ -1,14 +1,14 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "indexer.h" #include "indexer.hh"
#include "clang_complete.hh" #include "clang_complete.hh"
#include "clang_tu.hh" #include "clang_tu.hh"
#include "log.hh" #include "log.hh"
#include "match.h" #include "match.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "serializer.hh" #include "serializer.hh"
#include <clang/AST/AST.h> #include <clang/AST/AST.h>

View File

@ -4,10 +4,10 @@
#pragma once #pragma once
#include "lsp.hh" #include "lsp.hh"
#include "maybe.h" #include "maybe.hh"
#include "position.h" #include "position.hh"
#include "serializer.hh" #include "serializer.hh"
#include "utils.h" #include "utils.hh"
#include <clang/Basic/FileManager.h> #include <clang/Basic/FileManager.h>
#include <clang/Basic/Specifiers.h> #include <clang/Basic/Specifiers.h>

View File

@ -4,7 +4,7 @@
#include "lsp.hh" #include "lsp.hh"
#include "log.hh" #include "log.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include <algorithm> #include <algorithm>
#include <stdio.h> #include <stdio.h>

View File

@ -3,9 +3,9 @@
#pragma once #pragma once
#include "config.h" #include "config.hh"
#include "serializer.hh" #include "serializer.hh"
#include "utils.h" #include "utils.hh"
#include <rapidjson/fwd.h> #include <rapidjson/fwd.h>

View File

@ -3,11 +3,11 @@
#include "log.hh" #include "log.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "serializer.hh" #include "serializer.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include "test.h" #include "test.hh"
#include "working_files.h" #include "working_files.hh"
#include <llvm/Support/CommandLine.h> #include <llvm/Support/CommandLine.h>
#include <llvm/Support/CrashRecoveryContext.h> #include <llvm/Support/CrashRecoveryContext.h>

View File

@ -1,7 +1,7 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "match.h" #include "match.hh"
#include "lsp.hh" #include "lsp.hh"
#include "pipeline.hh" #include "pipeline.hh"

View File

@ -4,11 +4,11 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "log.hh" #include "log.hh"
#include "match.h" #include "match.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "query_utils.h" #include "query_utils.hh"
#include "serializers/json.h" #include "serializers/json.hh"
using namespace clang; using namespace clang;

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "lsp.hh" #include "lsp.hh"
#include "query.h" #include "query.hh"
#include <functional> #include <functional>
#include <memory> #include <memory>
@ -184,7 +184,7 @@ struct MessageHandler {
DB *db = nullptr; DB *db = nullptr;
Project *project = nullptr; Project *project = nullptr;
VFS *vfs = nullptr; VFS *vfs = nullptr;
WorkingFiles *working_files = nullptr; WorkingFiles *wfiles = nullptr;
CompletionManager *clang_complete = nullptr; CompletionManager *clang_complete = nullptr;
IncludeComplete *include_complete = nullptr; IncludeComplete *include_complete = nullptr;

View File

@ -4,7 +4,7 @@
#include "hierarchy.hh" #include "hierarchy.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <unordered_set> #include <unordered_set>
@ -73,7 +73,7 @@ bool Expand(MessageHandler *m, Out_cclsCall *entry, bool callee,
Out_cclsCall entry1; Out_cclsCall entry1;
entry1.id = std::to_string(sym.usr); entry1.id = std::to_string(sym.usr);
entry1.usr = sym.usr; entry1.usr = sym.usr;
if (auto loc = GetLsLocation(m->db, m->working_files, if (auto loc = GetLsLocation(m->db, m->wfiles,
Use{{sym.range, sym.role}, file_id})) Use{{sym.range, sym.role}, file_id}))
entry1.location = *loc; entry1.location = *loc;
entry1.callType = call_type1; entry1.callType = call_type1;
@ -163,7 +163,7 @@ std::optional<Out_cclsCall> BuildInitial(MessageHandler *m, Usr root_usr,
entry.usr = root_usr; entry.usr = root_usr;
entry.callType = CallType::Direct; entry.callType = CallType::Direct;
if (def->spell) { if (def->spell) {
if (auto loc = GetLsLocation(m->db, m->working_files, *def->spell)) if (auto loc = GetLsLocation(m->db, m->wfiles, *def->spell))
entry.location = *loc; entry.location = *loc;
} }
Expand(m, &entry, callee, call_type, qualified, levels); Expand(m, &entry, callee, call_type, qualified, levels);
@ -193,7 +193,7 @@ void MessageHandler::ccls_call(Reader &reader, ReplyOnce &reply) {
if (!file) if (!file)
return; return;
WorkingFile *working_file = WorkingFile *working_file =
working_files->GetFileByFilename(file->def->path); wfiles->GetFileByFilename(file->def->path);
for (SymbolRef sym : for (SymbolRef sym :
FindSymbolsAtLocation(working_file, file, param.position)) { FindSymbolsAtLocation(working_file, file, param.position)) {
if (sym.kind == SymbolKind::Func) { if (sym.kind == SymbolKind::Func) {

View File

@ -4,7 +4,7 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "query_utils.h" #include "query_utils.hh"
namespace ccls { namespace ccls {
MAKE_REFLECT_STRUCT(QueryFile::Def, path, args, language, skipped_ranges, MAKE_REFLECT_STRUCT(QueryFile::Def, path, args, language, skipped_ranges,

View File

@ -4,7 +4,7 @@
#include "hierarchy.hh" #include "hierarchy.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <unordered_set> #include <unordered_set>
@ -52,10 +52,10 @@ bool ExpandHelper(MessageHandler *m, Out_cclsInheritance *entry, bool derived,
if (def) { if (def) {
entry->name = def->Name(qualified); entry->name = def->Name(qualified);
if (def->spell) { if (def->spell) {
if (auto loc = GetLsLocation(m->db, m->working_files, *def->spell)) if (auto loc = GetLsLocation(m->db, m->wfiles, *def->spell))
entry->location = *loc; entry->location = *loc;
} else if (entity.declarations.size()) { } else if (entity.declarations.size()) {
if (auto loc = GetLsLocation(m->db, m->working_files, entity.declarations[0])) if (auto loc = GetLsLocation(m->db, m->wfiles, entity.declarations[0]))
entry->location = *loc; entry->location = *loc;
} }
} else if (!derived) { } else if (!derived) {
@ -138,7 +138,7 @@ void Inheritance(MessageHandler *m, Param &param, ReplyOnce &reply) {
QueryFile *file = m->FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = m->FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = m->working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = m->wfiles->GetFileByFilename(file->def->path);
for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position)) for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position))
if (sym.kind == SymbolKind::Func || sym.kind == SymbolKind::Type) { if (sym.kind == SymbolKind::Func || sym.kind == SymbolKind::Type) {

View File

@ -5,7 +5,7 @@
#include "hierarchy.hh" #include "hierarchy.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <clang/AST/Type.h> #include <clang/AST/Type.h>
#include <llvm/ADT/DenseSet.h> #include <llvm/ADT/DenseSet.h>
@ -78,7 +78,7 @@ void DoField(MessageHandler *m, Out_cclsMember *entry, const QueryVar &var,
} }
if (def1->spell) { if (def1->spell) {
if (std::optional<lsLocation> loc = if (std::optional<lsLocation> loc =
GetLsLocation(m->db, m->working_files, *def1->spell)) GetLsLocation(m->db, m->wfiles, *def1->spell))
entry1.location = *loc; entry1.location = *loc;
} }
if (def1->type) { if (def1->type) {
@ -133,13 +133,13 @@ bool Expand(MessageHandler *m, Out_cclsMember *entry, bool qualified,
if (def1 && def1->spell) { if (def1 && def1->spell) {
// The declaration of target type. // The declaration of target type.
if (std::optional<lsLocation> loc = if (std::optional<lsLocation> loc =
GetLsLocation(m->db, m->working_files, *def1->spell)) GetLsLocation(m->db, m->wfiles, *def1->spell))
entry1.location = *loc; entry1.location = *loc;
} else if (def->spell) { } else if (def->spell) {
// Builtin types have no declaration but the typedef declaration // Builtin types have no declaration but the typedef declaration
// itself is useful. // itself is useful.
if (std::optional<lsLocation> loc = if (std::optional<lsLocation> loc =
GetLsLocation(m->db, m->working_files, *def->spell)) GetLsLocation(m->db, m->wfiles, *def->spell))
entry1.location = *loc; entry1.location = *loc;
} }
if (def1 && qualified) if (def1 && qualified)
@ -161,10 +161,10 @@ bool Expand(MessageHandler *m, Out_cclsMember *entry, bool qualified,
entry1.fieldName = def1->Name(false); entry1.fieldName = def1->Name(false);
if (def1->spell) { if (def1->spell) {
if (auto loc = if (auto loc =
GetLsLocation(m->db, m->working_files, *def1->spell)) GetLsLocation(m->db, m->wfiles, *def1->spell))
entry1.location = *loc; entry1.location = *loc;
} else if (func1.declarations.size()) { } else if (func1.declarations.size()) {
if (auto loc = GetLsLocation(m->db, m->working_files, if (auto loc = GetLsLocation(m->db, m->wfiles,
func1.declarations[0])) func1.declarations[0]))
entry1.location = *loc; entry1.location = *loc;
} }
@ -182,10 +182,10 @@ bool Expand(MessageHandler *m, Out_cclsMember *entry, bool qualified,
entry1.fieldName = def1->Name(false); entry1.fieldName = def1->Name(false);
if (def1->spell) { if (def1->spell) {
if (auto loc = if (auto loc =
GetLsLocation(m->db, m->working_files, *def1->spell)) GetLsLocation(m->db, m->wfiles, *def1->spell))
entry1.location = *loc; entry1.location = *loc;
} else if (type1.declarations.size()) { } else if (type1.declarations.size()) {
if (auto loc = GetLsLocation(m->db, m->working_files, if (auto loc = GetLsLocation(m->db, m->wfiles,
type1.declarations[0])) type1.declarations[0]))
entry1.location = *loc; entry1.location = *loc;
} }
@ -224,7 +224,7 @@ std::optional<Out_cclsMember> BuildInitial(MessageHandler *m, SymbolKind kind,
// Not type, |id| is invalid. // Not type, |id| is invalid.
entry.name = def->Name(qualified); entry.name = def->Name(qualified);
if (def->spell) { if (def->spell) {
if (auto loc = GetLsLocation(m->db, m->working_files, *def->spell)) if (auto loc = GetLsLocation(m->db, m->wfiles, *def->spell))
entry.location = *loc; entry.location = *loc;
} }
for (Usr usr : def->vars) { for (Usr usr : def->vars) {
@ -243,7 +243,7 @@ std::optional<Out_cclsMember> BuildInitial(MessageHandler *m, SymbolKind kind,
entry.id = std::to_string(root_usr); entry.id = std::to_string(root_usr);
entry.usr = root_usr; entry.usr = root_usr;
if (def->spell) { if (def->spell) {
if (auto loc = GetLsLocation(m->db, m->working_files, *def->spell)) if (auto loc = GetLsLocation(m->db, m->wfiles, *def->spell))
entry.location = *loc; entry.location = *loc;
} }
Expand(m, &entry, qualified, levels, memberKind); Expand(m, &entry, qualified, levels, memberKind);
@ -274,7 +274,7 @@ void MessageHandler::ccls_member(Reader &reader, ReplyOnce &reply) {
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
for (SymbolRef sym : for (SymbolRef sym :
FindSymbolsAtLocation(wfile, file, param.position)) { FindSymbolsAtLocation(wfile, file, param.position)) {
switch (sym.kind) { switch (sym.kind) {

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "message_handler.hh" #include "message_handler.hh"
#include "query_utils.h" #include "query_utils.hh"
namespace ccls { namespace ccls {
namespace { namespace {
@ -34,7 +34,7 @@ void MessageHandler::ccls_navigate(Reader &reader,
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
lsPosition ls_pos = param.position; lsPosition ls_pos = param.position;
if (wfile && wfile->index_lines.size()) if (wfile && wfile->index_lines.size())
if (auto line = wfile->GetIndexPosFromBufferPos(ls_pos.line, if (auto line = wfile->GetIndexPosFromBufferPos(ls_pos.line,

View File

@ -2,11 +2,11 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "clang_complete.hh" #include "clang_complete.hh"
#include "match.h" #include "match.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "working_files.h" #include "working_files.hh"
#include <queue> #include <queue>
#include <unordered_set> #include <unordered_set>
@ -28,7 +28,7 @@ void MessageHandler::ccls_reload(Reader &reader) {
if (param.whitelist.empty() && param.blacklist.empty()) { if (param.whitelist.empty() && param.blacklist.empty()) {
vfs->Clear(); vfs->Clear();
db->clear(); db->clear();
project->Index(working_files, lsRequestId()); project->Index(wfiles, lsRequestId());
clang_complete->FlushAllSessions(); clang_complete->FlushAllSessions();
return; return;
} }

View File

@ -3,7 +3,7 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
namespace ccls { namespace ccls {
namespace { namespace {
@ -22,7 +22,7 @@ void MessageHandler::ccls_vars(Reader &reader, ReplyOnce &reply) {
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *working_file = working_files->GetFileByFilename(file->def->path); WorkingFile *working_file = wfiles->GetFileByFilename(file->def->path);
std::vector<lsLocation> result; std::vector<lsLocation> result;
for (SymbolRef sym : for (SymbolRef sym :
@ -40,7 +40,7 @@ void MessageHandler::ccls_vars(Reader &reader, ReplyOnce &reply) {
} }
case SymbolKind::Type: case SymbolKind::Type:
result = GetLsLocations( result = GetLsLocations(
db, working_files, db, wfiles,
GetVarDeclarations(db, db->Type(usr).instances, param.kind)); GetVarDeclarations(db, db->Type(usr).instances, param.kind));
break; break;
} }

View File

@ -3,14 +3,14 @@
#include "clang_complete.hh" #include "clang_complete.hh"
#include "filesystem.hh" #include "filesystem.hh"
#include "include_complete.h" #include "include_complete.hh"
#include "log.hh" #include "log.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "project.hh" #include "project.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include "working_files.h" #include "working_files.hh"
#include <llvm/ADT/Twine.h> #include <llvm/ADT/Twine.h>
#include <llvm/Support/Threading.h> #include <llvm/Support/Threading.h>
@ -349,7 +349,7 @@ void *Indexer(void *arg_) {
std::string name = "indexer" + std::to_string(idx); std::string name = "indexer" + std::to_string(idx);
set_thread_name(name.c_str()); set_thread_name(name.c_str());
pipeline::Indexer_Main(h->clang_complete, h->vfs, h->project, pipeline::Indexer_Main(h->clang_complete, h->vfs, h->project,
h->working_files); h->wfiles);
return nullptr; return nullptr;
} }
} // namespace } // namespace
@ -445,7 +445,7 @@ void Initialize(MessageHandler *m, lsInitializeParams &param, ReplyOnce &reply)
m->include_complete->Rescan(); m->include_complete->Rescan();
LOG_S(INFO) << "dispatch initial index requests"; LOG_S(INFO) << "dispatch initial index requests";
m->project->Index(m->working_files, reply.id); m->project->Index(m->wfiles, reply.id);
} }
void MessageHandler::initialize(Reader &reader, ReplyOnce &reply) { void MessageHandler::initialize(Reader &reader, ReplyOnce &reply) {

View File

@ -3,8 +3,8 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include <llvm/Support/FormatVariadic.h> #include <llvm/Support/FormatVariadic.h>
@ -22,13 +22,13 @@ MAKE_REFLECT_STRUCT(CodeAction, title, kind, edit);
void MessageHandler::textDocument_codeAction(CodeActionParam &param, void MessageHandler::textDocument_codeAction(CodeActionParam &param,
ReplyOnce &reply) { ReplyOnce &reply) {
WorkingFile *wfile = WorkingFile *wfile =
working_files->GetFileByFilename(param.textDocument.uri.GetPath()); wfiles->GetFileByFilename(param.textDocument.uri.GetPath());
if (!wfile) { if (!wfile) {
return; return;
} }
std::vector<CodeAction> result; std::vector<CodeAction> result;
std::vector<lsDiagnostic> diagnostics; std::vector<lsDiagnostic> diagnostics;
working_files->DoAction([&]() { diagnostics = wfile->diagnostics_; }); wfiles->DoAction([&]() { diagnostics = wfile->diagnostics_; });
for (lsDiagnostic &diag : diagnostics) for (lsDiagnostic &diag : diagnostics)
if (diag.fixits_.size()) { if (diag.fixits_.size()) {
CodeAction &cmd = result.emplace_back(); CodeAction &cmd = result.emplace_back();
@ -83,7 +83,7 @@ void MessageHandler::textDocument_codeLens(TextDocumentParam &param,
QueryFile *file = FindFile(reply, path); QueryFile *file = FindFile(reply, path);
WorkingFile *wfile = WorkingFile *wfile =
file ? working_files->GetFileByFilename(file->def->path) : nullptr; file ? wfiles->GetFileByFilename(file->def->path) : nullptr;
if (!wfile) { if (!wfile) {
return; return;
} }
@ -176,7 +176,7 @@ void MessageHandler::workspace_executeCommand(Reader &reader,
std::vector<lsLocation> result; std::vector<lsLocation> result;
auto Map = [&](auto &&uses) { auto Map = [&](auto &&uses) {
for (auto &use : uses) for (auto &use : uses)
if (auto loc = GetLsLocation(db, working_files, use)) if (auto loc = GetLsLocation(db, wfiles, use))
result.push_back(std::move(*loc)); result.push_back(std::move(*loc));
}; };
switch (cmd.kind) { switch (cmd.kind) {

View File

@ -2,12 +2,12 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "clang_complete.hh" #include "clang_complete.hh"
#include "fuzzy_match.h" #include "fuzzy_match.hh"
#include "include_complete.h" #include "include_complete.hh"
#include "log.hh" #include "log.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "working_files.h" #include "working_files.hh"
#include <clang/Sema/CodeCompleteConsumer.h> #include <clang/Sema/CodeCompleteConsumer.h>
#include <clang/Sema/Sema.h> #include <clang/Sema/Sema.h>
@ -441,7 +441,7 @@ void MessageHandler::textDocument_completion(lsCompletionParams &param,
static CompleteConsumerCache<std::vector<lsCompletionItem>> cache; static CompleteConsumerCache<std::vector<lsCompletionItem>> cache;
lsCompletionList result; lsCompletionList result;
std::string path = param.textDocument.uri.GetPath(); std::string path = param.textDocument.uri.GetPath();
WorkingFile *file = working_files->GetFileByFilename(path); WorkingFile *file = wfiles->GetFileByFilename(path);
if (!file) { if (!file) {
return; return;
} }

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "message_handler.hh" #include "message_handler.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <ctype.h> #include <ctype.h>
#include <limits.h> #include <limits.h>
@ -42,7 +42,7 @@ void MessageHandler::textDocument_definition(TextDocumentPositionParam &param,
std::vector<lsLocation> result; std::vector<lsLocation> result;
Maybe<Use> on_def; Maybe<Use> on_def;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
lsPosition &ls_pos = param.position; lsPosition &ls_pos = param.position;
for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, ls_pos, true)) { for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, ls_pos, true)) {
@ -75,7 +75,7 @@ void MessageHandler::textDocument_definition(TextDocumentPositionParam &param,
if (uses.empty() && on_def) if (uses.empty() && on_def)
uses.push_back(*on_def); uses.push_back(*on_def);
} }
auto locs = GetLsLocations(db, working_files, uses); auto locs = GetLsLocations(db, wfiles, uses);
result.insert(result.end(), locs.begin(), locs.end()); result.insert(result.end(), locs.begin(), locs.end());
} }
@ -146,7 +146,7 @@ void MessageHandler::textDocument_definition(TextDocumentPositionParam &param,
if (best_sym.kind != SymbolKind::Invalid) { if (best_sym.kind != SymbolKind::Invalid) {
Maybe<DeclRef> dr = GetDefinitionSpell(db, best_sym); Maybe<DeclRef> dr = GetDefinitionSpell(db, best_sym);
assert(dr); assert(dr);
if (auto loc = GetLsLocation(db, working_files, *dr)) if (auto loc = GetLsLocation(db, wfiles, *dr))
result.push_back(*loc); result.push_back(*loc);
} }
} }
@ -160,18 +160,18 @@ void MessageHandler::textDocument_typeDefinition(
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *working_file = working_files->GetFileByFilename(file->def->path); WorkingFile *working_file = wfiles->GetFileByFilename(file->def->path);
std::vector<lsLocation> result; std::vector<lsLocation> result;
auto Add = [&](const QueryType &type) { auto Add = [&](const QueryType &type) {
for (const auto &def : type.def) for (const auto &def : type.def)
if (def.spell) { if (def.spell) {
if (auto ls_loc = GetLsLocation(db, working_files, *def.spell)) if (auto ls_loc = GetLsLocation(db, wfiles, *def.spell))
result.push_back(*ls_loc); result.push_back(*ls_loc);
} }
if (result.empty()) if (result.empty())
for (const DeclRef &dr : type.declarations) for (const DeclRef &dr : type.declarations)
if (auto ls_loc = GetLsLocation(db, working_files, dr)) if (auto ls_loc = GetLsLocation(db, wfiles, dr))
result.push_back(*ls_loc); result.push_back(*ls_loc);
}; };
for (SymbolRef sym : for (SymbolRef sym :

View File

@ -2,16 +2,16 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "clang_complete.hh" #include "clang_complete.hh"
#include "include_complete.h" #include "include_complete.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "working_files.h" #include "working_files.hh"
namespace ccls { namespace ccls {
void MessageHandler::textDocument_didChange(TextDocumentDidChangeParam &param) { void MessageHandler::textDocument_didChange(TextDocumentDidChangeParam &param) {
std::string path = param.textDocument.uri.GetPath(); std::string path = param.textDocument.uri.GetPath();
working_files->OnChange(param); wfiles->OnChange(param);
if (g_config->index.onChange) if (g_config->index.onChange)
pipeline::Index(path, {}, IndexMode::OnChange); pipeline::Index(path, {}, IndexMode::OnChange);
clang_complete->NotifyView(path); clang_complete->NotifyView(path);
@ -21,13 +21,13 @@ void MessageHandler::textDocument_didChange(TextDocumentDidChangeParam &param) {
void MessageHandler::textDocument_didClose(TextDocumentParam &param) { void MessageHandler::textDocument_didClose(TextDocumentParam &param) {
std::string path = param.textDocument.uri.GetPath(); std::string path = param.textDocument.uri.GetPath();
working_files->OnClose(param.textDocument); wfiles->OnClose(param.textDocument);
clang_complete->OnClose(path); clang_complete->OnClose(path);
} }
void MessageHandler::textDocument_didOpen(DidOpenTextDocumentParam &param) { void MessageHandler::textDocument_didOpen(DidOpenTextDocumentParam &param) {
std::string path = param.textDocument.uri.GetPath(); std::string path = param.textDocument.uri.GetPath();
WorkingFile *working_file = working_files->OnOpen(param.textDocument); WorkingFile *working_file = wfiles->OnOpen(param.textDocument);
if (std::optional<std::string> cached_file_contents = if (std::optional<std::string> cached_file_contents =
pipeline::LoadIndexedContent(path)) pipeline::LoadIndexedContent(path))
working_file->SetIndexContent(*cached_file_contents); working_file->SetIndexContent(*cached_file_contents);

View File

@ -3,7 +3,7 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <algorithm> #include <algorithm>
@ -36,7 +36,7 @@ void MessageHandler::textDocument_documentHighlight(
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
std::vector<DocumentHighlight> result; std::vector<DocumentHighlight> result;
std::vector<SymbolRef> syms = std::vector<SymbolRef> syms =
@ -50,7 +50,7 @@ void MessageHandler::textDocument_documentHighlight(
return usr == sym1.usr && kind == sym1.kind; return usr == sym1.usr && kind == sym1.kind;
})) }))
continue; continue;
if (auto loc = GetLsLocation(db, working_files, sym, file_id)) { if (auto loc = GetLsLocation(db, wfiles, sym, file_id)) {
DocumentHighlight highlight; DocumentHighlight highlight;
highlight.range = loc->range; highlight.range = loc->range;
if (sym.role & Role::Write) if (sym.role & Role::Write)
@ -136,7 +136,7 @@ void MessageHandler::textDocument_documentSymbol(Reader &reader,
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath(), &file_id); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath(), &file_id);
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile) if (!wfile)
return; return;
@ -146,7 +146,7 @@ void MessageHandler::textDocument_documentSymbol(Reader &reader,
if (refcnt > 0 && (param.all || sym.extent.Valid()) && if (refcnt > 0 && (param.all || sym.extent.Valid()) &&
param.startLine <= sym.range.start.line && param.startLine <= sym.range.start.line &&
sym.range.start.line <= param.endLine) sym.range.start.line <= param.endLine)
if (auto loc = GetLsLocation(db, working_files, sym, file_id)) if (auto loc = GetLsLocation(db, wfiles, sym, file_id))
result.push_back(loc->range); result.push_back(loc->range);
std::sort(result.begin(), result.end()); std::sort(result.begin(), result.end());
reply(result); reply(result);
@ -238,7 +238,7 @@ void MessageHandler::textDocument_documentSymbol(Reader &reader,
Ignore(db->GetType(sym).AnyDef())) || Ignore(db->GetType(sym).AnyDef())) ||
(sym.kind == SymbolKind::Var && Ignore(db->GetVar(sym).AnyDef()))) (sym.kind == SymbolKind::Var && Ignore(db->GetVar(sym).AnyDef())))
continue; continue;
if (auto loc = GetLsLocation(db, working_files, sym, file_id)) { if (auto loc = GetLsLocation(db, wfiles, sym, file_id)) {
info->location = *loc; info->location = *loc;
result.push_back(*info); result.push_back(*info);
} }

View File

@ -4,8 +4,8 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "query_utils.h" #include "query_utils.hh"
#include "working_files.h" #include "working_files.hh"
namespace ccls { namespace ccls {
namespace { namespace {
@ -22,7 +22,7 @@ void MessageHandler::textDocument_foldingRange(TextDocumentParam &param,
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile) if (!wfile)
return; return;
std::vector<FoldingRange> result; std::vector<FoldingRange> result;

View File

@ -3,7 +3,7 @@
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "working_files.h" #include "working_files.hh"
#include <clang/Format/Format.h> #include <clang/Format/Format.h>
#include <clang/Tooling/Core/Replacement.h> #include <clang/Tooling/Core/Replacement.h>
@ -75,7 +75,7 @@ void MessageHandler::textDocument_formatting(DocumentFormattingParam &param,
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile) if (!wfile)
return; return;
Format(reply, wfile, {0, (unsigned)wfile->buffer_content.size()}); Format(reply, wfile, {0, (unsigned)wfile->buffer_content.size()});
@ -86,7 +86,7 @@ void MessageHandler::textDocument_onTypeFormatting(
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile) if (!wfile)
return; return;
std::string_view code = wfile->buffer_content; std::string_view code = wfile->buffer_content;
@ -102,7 +102,7 @@ void MessageHandler::textDocument_rangeFormatting(
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath()); QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile) if (!wfile)
return; return;
std::string_view code = wfile->buffer_content; std::string_view code = wfile->buffer_content;

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "message_handler.hh" #include "message_handler.hh"
#include "query_utils.h" #include "query_utils.hh"
namespace ccls { namespace ccls {
namespace { namespace {
@ -85,12 +85,12 @@ void MessageHandler::textDocument_hover(TextDocumentPositionParam &param,
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
Hover result; Hover result;
for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position)) { for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position)) {
std::optional<lsRange> ls_range = GetLsRange( std::optional<lsRange> ls_range = GetLsRange(
working_files->GetFileByFilename(file->def->path), sym.range); wfiles->GetFileByFilename(file->def->path), sym.range);
if (!ls_range) if (!ls_range)
continue; continue;

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "message_handler.hh" #include "message_handler.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <unordered_set> #include <unordered_set>
@ -31,7 +31,7 @@ void MessageHandler::textDocument_references(Reader &reader, ReplyOnce &reply) {
if (!file) if (!file)
return; return;
std::vector<lsLocation> result; std::vector<lsLocation> result;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!file) if (!file)
return; return;
@ -52,7 +52,7 @@ void MessageHandler::textDocument_references(Reader &reader, ReplyOnce &reply) {
if (Role(use.role & param.context.role) == param.context.role && if (Role(use.role & param.context.role) == param.context.role &&
!(use.role & param.context.excludeRole) && !(use.role & param.context.excludeRole) &&
seen_uses.insert(use).second) seen_uses.insert(use).second)
if (auto loc = GetLsLocation(db, working_files, use)) { if (auto loc = GetLsLocation(db, wfiles, use)) {
result.push_back(*loc); result.push_back(*loc);
} }
}; };

View File

@ -2,17 +2,17 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "message_handler.hh" #include "message_handler.hh"
#include "query_utils.h" #include "query_utils.hh"
namespace ccls { namespace ccls {
namespace { namespace {
lsWorkspaceEdit BuildWorkspaceEdit(DB *db, WorkingFiles *working_files, lsWorkspaceEdit BuildWorkspaceEdit(DB *db, WorkingFiles *wfiles,
SymbolRef sym, const std::string &new_text) { SymbolRef sym, const std::string &new_text) {
std::unordered_map<int, lsTextDocumentEdit> path_to_edit; std::unordered_map<int, lsTextDocumentEdit> path_to_edit;
EachOccurrence(db, sym, true, [&](Use use) { EachOccurrence(db, sym, true, [&](Use use) {
std::optional<lsLocation> ls_location = std::optional<lsLocation> ls_location =
GetLsLocation(db, working_files, use); GetLsLocation(db, wfiles, use);
if (!ls_location) if (!ls_location)
return; return;
@ -27,7 +27,7 @@ lsWorkspaceEdit BuildWorkspaceEdit(DB *db, WorkingFiles *working_files,
const std::string &path = file.def->path; const std::string &path = file.def->path;
path_to_edit[file_id].textDocument.uri = lsDocumentUri::FromPath(path); path_to_edit[file_id].textDocument.uri = lsDocumentUri::FromPath(path);
WorkingFile *working_file = working_files->GetFileByFilename(path); WorkingFile *working_file = wfiles->GetFileByFilename(path);
if (working_file) if (working_file)
path_to_edit[file_id].textDocument.version = working_file->version; path_to_edit[file_id].textDocument.version = working_file->version;
} }
@ -55,10 +55,10 @@ void MessageHandler::textDocument_rename(RenameParam &param, ReplyOnce &reply) {
if (!file) if (!file)
return; return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path); WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
lsWorkspaceEdit result; lsWorkspaceEdit result;
for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position)) { for (SymbolRef sym : FindSymbolsAtLocation(wfile, file, param.position)) {
result = BuildWorkspaceEdit(db, working_files, sym, param.newName); result = BuildWorkspaceEdit(db, wfiles, sym, param.newName);
break; break;
} }

View File

@ -144,7 +144,7 @@ void MessageHandler::textDocument_signatureHelp(
std::string path = param.textDocument.uri.GetPath(); std::string path = param.textDocument.uri.GetPath();
lsPosition begin_pos = param.position; lsPosition begin_pos = param.position;
if (WorkingFile *file = working_files->GetFileByFilename(path)) { if (WorkingFile *file = wfiles->GetFileByFilename(path)) {
std::string completion_text; std::string completion_text;
lsPosition end_pos = param.position; lsPosition end_pos = param.position;
begin_pos = file->FindStableCompletionSource(param.position, begin_pos = file->FindStableCompletionSource(param.position,

View File

@ -2,12 +2,12 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "clang_complete.hh" #include "clang_complete.hh"
#include "fuzzy_match.h" #include "fuzzy_match.hh"
#include "log.hh" #include "log.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "project.hh" #include "project.hh"
#include "query_utils.h" #include "query_utils.hh"
#include <llvm/ADT/STLExtras.h> #include <llvm/ADT/STLExtras.h>
@ -22,7 +22,7 @@ MAKE_REFLECT_STRUCT(lsSymbolInformation, name, kind, location, containerName);
void MessageHandler::workspace_didChangeConfiguration(EmptyParam &) { void MessageHandler::workspace_didChangeConfiguration(EmptyParam &) {
for (const std::string &folder : g_config->workspaceFolders) for (const std::string &folder : g_config->workspaceFolders)
project->Load(folder); project->Load(folder);
project->Index(working_files, lsRequestId()); project->Index(wfiles, lsRequestId());
clang_complete->FlushAllSessions(); clang_complete->FlushAllSessions();
}; };
@ -31,7 +31,7 @@ void MessageHandler::workspace_didChangeWatchedFiles(
DidChangeWatchedFilesParam &param) { DidChangeWatchedFilesParam &param) {
for (auto &event : param.changes) { for (auto &event : param.changes) {
std::string path = event.uri.GetPath(); std::string path = event.uri.GetPath();
IndexMode mode = working_files->GetFileByFilename(path) IndexMode mode = wfiles->GetFileByFilename(path)
? IndexMode::Normal ? IndexMode::Normal
: IndexMode::NonInteractive; : IndexMode::NonInteractive;
switch (event.type) { switch (event.type) {
@ -76,7 +76,7 @@ void MessageHandler::workspace_didChangeWorkspaceFolders(
project->Load(root); project->Load(root);
} }
project->Index(working_files, lsRequestId()); project->Index(wfiles, lsRequestId());
clang_complete->FlushAllSessions(); clang_complete->FlushAllSessions();
} }
@ -84,7 +84,7 @@ void MessageHandler::workspace_didChangeWorkspaceFolders(
namespace { namespace {
// Lookup |symbol| in |db| and insert the value into |result|. // Lookup |symbol| in |db| and insert the value into |result|.
bool AddSymbol( bool AddSymbol(
DB *db, WorkingFiles *working_files, SymbolIdx sym, bool use_detailed, DB *db, WorkingFiles *wfiles, SymbolIdx sym, bool use_detailed,
std::vector<std::tuple<lsSymbolInformation, int, SymbolIdx>> *result) { std::vector<std::tuple<lsSymbolInformation, int, SymbolIdx>> *result) {
std::optional<lsSymbolInformation> info = GetSymbolInfo(db, sym, true); std::optional<lsSymbolInformation> info = GetSymbolInfo(db, sym, true);
if (!info) if (!info)
@ -100,7 +100,7 @@ bool AddSymbol(
loc = decls[0]; loc = decls[0];
} }
std::optional<lsLocation> ls_location = GetLsLocation(db, working_files, loc); std::optional<lsLocation> ls_location = GetLsLocation(db, wfiles, loc);
if (!ls_location) if (!ls_location)
return false; return false;
info->location = *ls_location; info->location = *ls_location;
@ -129,7 +129,7 @@ void MessageHandler::workspace_symbol(WorkspaceSymbolParam &param,
std::string_view detailed_name = db->GetSymbolName(sym, true); std::string_view detailed_name = db->GetSymbolName(sym, true);
int pos = ReverseSubseqMatch(query_without_space, detailed_name, sensitive); int pos = ReverseSubseqMatch(query_without_space, detailed_name, sensitive);
return pos >= 0 && return pos >= 0 &&
AddSymbol(db, working_files, sym, AddSymbol(db, wfiles, sym,
detailed_name.find(':', pos) != std::string::npos, detailed_name.find(':', pos) != std::string::npos,
&cands) && &cands) &&
cands.size() >= g_config->workspaceSymbol.maxNum; cands.size() >= g_config->workspaceSymbol.maxNum;

View File

@ -4,17 +4,17 @@
#include "pipeline.hh" #include "pipeline.hh"
#include "clang_complete.hh" #include "clang_complete.hh"
#include "config.h" #include "config.hh"
#include "include_complete.h" #include "include_complete.hh"
#include "log.hh" #include "log.hh"
#include "lsp.hh" #include "lsp.hh"
#include "match.h" #include "match.hh"
#include "message_handler.hh" #include "message_handler.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "project.hh" #include "project.hh"
#include "query_utils.h" #include "query_utils.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include <rapidjson/document.h> #include <rapidjson/document.h>
#include <rapidjson/writer.h> #include <rapidjson/writer.h>
@ -365,12 +365,12 @@ void Indexer_Main(CompletionManager *completion, VFS *vfs, Project *project,
indexer_waiter->Wait(index_request); indexer_waiter->Wait(index_request);
} }
void Main_OnIndexed(DB *db, WorkingFiles *working_files, IndexUpdate *update) { void Main_OnIndexed(DB *db, WorkingFiles *wfiles, IndexUpdate *update) {
if (update->refresh) { if (update->refresh) {
LOG_S(INFO) LOG_S(INFO)
<< "loaded project. Refresh semantic highlight for all working file."; << "loaded project. Refresh semantic highlight for all working file.";
std::lock_guard<std::mutex> lock(working_files->files_mutex); std::lock_guard<std::mutex> lock(wfiles->files_mutex);
for (auto &f : working_files->files) { for (auto &f : wfiles->files) {
std::string filename = LowerPathIfInsensitive(f->filename); std::string filename = LowerPathIfInsensitive(f->filename);
if (db->name2file_id.find(filename) == db->name2file_id.end()) if (db->name2file_id.find(filename) == db->name2file_id.end())
continue; continue;
@ -389,7 +389,7 @@ void Main_OnIndexed(DB *db, WorkingFiles *working_files, IndexUpdate *update) {
if (update->files_def_update) { if (update->files_def_update) {
auto &def_u = *update->files_def_update; auto &def_u = *update->files_def_update;
if (WorkingFile *wfile = if (WorkingFile *wfile =
working_files->GetFileByFilename(def_u.first.path)) { wfiles->GetFileByFilename(def_u.first.path)) {
// FIXME With index.onChange: true, use buffer_content only for // FIXME With index.onChange: true, use buffer_content only for
// request.path // request.path
wfile->SetIndexContent(g_config->index.onChange ? wfile->buffer_content wfile->SetIndexContent(g_config->index.onChange ? wfile->buffer_content
@ -475,11 +475,11 @@ void LaunchStdout() {
void MainLoop() { void MainLoop() {
Project project; Project project;
WorkingFiles working_files; WorkingFiles wfiles;
VFS vfs; VFS vfs;
CompletionManager clang_complete( CompletionManager clang_complete(
&project, &working_files, &project, &wfiles,
[&](std::string path, std::vector<lsDiagnostic> diagnostics) { [&](std::string path, std::vector<lsDiagnostic> diagnostics) {
lsPublishDiagnosticsParams params; lsPublishDiagnosticsParams params;
params.uri = lsDocumentUri::FromPath(path); params.uri = lsDocumentUri::FromPath(path);
@ -503,7 +503,7 @@ void MainLoop() {
handler.db = &db; handler.db = &db;
handler.project = &project; handler.project = &project;
handler.vfs = &vfs; handler.vfs = &vfs;
handler.working_files = &working_files; handler.wfiles = &wfiles;
handler.clang_complete = &clang_complete; handler.clang_complete = &clang_complete;
handler.include_complete = &include_complete; handler.include_complete = &include_complete;
@ -521,7 +521,7 @@ void MainLoop() {
break; break;
did_work = true; did_work = true;
indexed = true; indexed = true;
Main_OnIndexed(&db, &working_files, &*update); Main_OnIndexed(&db, &wfiles, &*update);
} }
if (did_work) if (did_work)
@ -544,7 +544,7 @@ void Standalone(const std::string &root) {
MessageHandler handler; MessageHandler handler;
handler.project = &project; handler.project = &project;
handler.working_files = &wfiles; handler.wfiles = &wfiles;
handler.vfs = &vfs; handler.vfs = &vfs;
handler.include_complete = &complete; handler.include_complete = &complete;

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "lsp.hh" #include "lsp.hh"
#include "query.h" #include "query.hh"
#include <atomic> #include <atomic>
#include <mutex> #include <mutex>

View File

@ -2,9 +2,9 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#if defined(__unix__) || defined(__APPLE__) #if defined(__unix__) || defined(__APPLE__)
#include "platform.h" #include "platform.hh"
#include "utils.h" #include "utils.hh"
#include <assert.h> #include <assert.h>
#include <limits.h> #include <limits.h>

View File

@ -2,9 +2,9 @@
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#if defined(_WIN32) #if defined(_WIN32)
#include "platform.h" #include "platform.hh"
#include "utils.h" #include "utils.hh"
#include <Windows.h> #include <Windows.h>
#include <direct.h> #include <direct.h>

View File

@ -1,7 +1,7 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "position.h" #include "position.hh"
#include "serializer.hh" #include "serializer.hh"

View File

@ -3,8 +3,8 @@
#pragma once #pragma once
#include "maybe.h" #include "maybe.hh"
#include "utils.h" #include "utils.hh"
#include <stdint.h> #include <stdint.h>
#include <string> #include <string>

View File

@ -5,12 +5,12 @@
#include "filesystem.hh" #include "filesystem.hh"
#include "log.hh" #include "log.hh"
#include "match.h" #include "match.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include "utils.h" #include "utils.hh"
#include "working_files.h" #include "working_files.hh"
#include <clang/Driver/Compilation.h> #include <clang/Driver/Compilation.h>
#include <clang/Driver/Driver.h> #include <clang/Driver/Driver.h>

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "config.h" #include "config.hh"
#include "lsp.hh" #include "lsp.hh"
#include <functional> #include <functional>

View File

@ -1,11 +1,11 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "query.h" #include "query.hh"
#include "indexer.h" #include "indexer.hh"
#include "serializer.hh" #include "serializer.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include <cassert> #include <cassert>
#include <cstdint> #include <cstdint>

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "indexer.h" #include "indexer.hh"
#include "serializer.hh" #include "serializer.hh"
#include <llvm/ADT/DenseMap.h> #include <llvm/ADT/DenseMap.h>

View File

@ -1,7 +1,7 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "query_utils.h" #include "query_utils.hh"
#include "pipeline.hh" #include "pipeline.hh"

View File

@ -3,8 +3,8 @@
#pragma once #pragma once
#include "query.h" #include "query.hh"
#include "working_files.h" #include "working_files.hh"
#include <optional> #include <optional>

View File

@ -4,10 +4,10 @@
#include "serializer.hh" #include "serializer.hh"
#include "filesystem.hh" #include "filesystem.hh"
#include "indexer.h" #include "indexer.hh"
#include "log.hh" #include "log.hh"
#include "serializers/binary.h" #include "serializers/binary.hh"
#include "serializers/json.h" #include "serializers/json.hh"
#include <llvm/ADT/CachedHashString.h> #include <llvm/ADT/CachedHashString.h>
#include <llvm/ADT/DenseSet.h> #include <llvm/ADT/DenseSet.h>

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "maybe.h" #include "maybe.hh"
#include <llvm/Support/Compiler.h> #include <llvm/Support/Compiler.h>

View File

@ -1,15 +1,15 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "test.h" #include "test.hh"
#include "clang_complete.hh" #include "clang_complete.hh"
#include "filesystem.hh" #include "filesystem.hh"
#include "indexer.h" #include "indexer.hh"
#include "pipeline.hh" #include "pipeline.hh"
#include "platform.h" #include "platform.hh"
#include "serializer.hh" #include "serializer.hh"
#include "utils.h" #include "utils.hh"
#include <llvm/Config/llvm-config.h> #include <llvm/Config/llvm-config.h>
#include <llvm/ADT/StringRef.h> #include <llvm/ADT/StringRef.h>

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "utils.h" #include "utils.hh"
#include <atomic> #include <atomic>
#include <condition_variable> #include <condition_variable>

View File

@ -1,10 +1,10 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "utils.h" #include "utils.hh"
#include "log.hh" #include "log.hh"
#include "platform.h" #include "platform.hh"
#include <siphash.h> #include <siphash.h>

View File

@ -1,10 +1,10 @@
// Copyright 2017-2018 ccls Authors // Copyright 2017-2018 ccls Authors
// SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: Apache-2.0
#include "working_files.h" #include "working_files.hh"
#include "log.hh" #include "log.hh"
#include "position.h" #include "position.hh"
#include <algorithm> #include <algorithm>
#include <climits> #include <climits>

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "lsp.hh" #include "lsp.hh"
#include "utils.h" #include "utils.hh"
#include <mutex> #include <mutex>
#include <optional> #include <optional>