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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
#include "hierarchy.hh"
#include "message_handler.hh"
#include "pipeline.hh"
#include "query_utils.h"
#include "query_utils.hh"
#include <unordered_set>
@ -52,10 +52,10 @@ bool ExpandHelper(MessageHandler *m, Out_cclsInheritance *entry, bool derived,
if (def) {
entry->name = def->Name(qualified);
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;
} 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;
}
} else if (!derived) {
@ -138,7 +138,7 @@ void Inheritance(MessageHandler *m, Param &param, ReplyOnce &reply) {
QueryFile *file = m->FindFile(reply, param.textDocument.uri.GetPath());
if (!file)
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))
if (sym.kind == SymbolKind::Func || sym.kind == SymbolKind::Type) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@
#include "message_handler.hh"
#include "pipeline.hh"
#include "working_files.h"
#include "working_files.hh"
#include <clang/Format/Format.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());
if (!file)
return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path);
WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile)
return;
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());
if (!file)
return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path);
WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile)
return;
std::string_view code = wfile->buffer_content;
@ -102,7 +102,7 @@ void MessageHandler::textDocument_rangeFormatting(
QueryFile *file = FindFile(reply, param.textDocument.uri.GetPath());
if (!file)
return;
WorkingFile *wfile = working_files->GetFileByFilename(file->def->path);
WorkingFile *wfile = wfiles->GetFileByFilename(file->def->path);
if (!wfile)
return;
std::string_view code = wfile->buffer_content;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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