This commit is contained in:
Fangrui Song 2018-11-03 21:48:38 -07:00
parent 85b449df03
commit 6517f9f143
2 changed files with 6 additions and 7 deletions

View File

@ -9,6 +9,7 @@
#include "test.hh" #include "test.hh"
#include "working_files.hh" #include "working_files.hh"
#include <clang/Basic/Version.h>
#include <llvm/Support/CommandLine.h> #include <llvm/Support/CommandLine.h>
#include <llvm/Support/CrashRecoveryContext.h> #include <llvm/Support/CrashRecoveryContext.h>
#include <llvm/Support/FileSystem.h> #include <llvm/Support/FileSystem.h>
@ -57,6 +58,9 @@ void CloseLog() { fclose(ccls::log::file); }
int main(int argc, char **argv) { int main(int argc, char **argv) {
TraceMe(); TraceMe();
sys::PrintStackTraceOnErrorSignal(argv[0]); sys::PrintStackTraceOnErrorSignal(argv[0]);
cl::SetVersionPrinter([](raw_ostream &OS) {
OS << clang::getClangToolFullVersion("ccls") << "\n";
});
for (auto &I : TopLevelSubCommand->OptionsMap) for (auto &I : TopLevelSubCommand->OptionsMap)
if (I.second->Category != &C) if (I.second->Category != &C)

View File

@ -21,18 +21,13 @@ limitations under the License.
#include <functional> #include <functional>
#include <memory> #include <memory>
#include <optional> #include <optional>
#include <unordered_map>
#include <vector> #include <vector>
namespace ccls { namespace ccls {
struct CompletionManager; struct CompletionManager;
struct Config;
struct GroupMatch;
struct VFS; struct VFS;
struct IncludeComplete; struct IncludeComplete;
struct MultiQueueWaiter;
struct Project; struct Project;
struct DB;
struct WorkingFile; struct WorkingFile;
struct WorkingFiles; struct WorkingFiles;
@ -196,12 +191,12 @@ struct ReplyOnce {
}; };
struct MessageHandler { struct MessageHandler {
CompletionManager *clang_complete = nullptr;
DB *db = nullptr; DB *db = nullptr;
IncludeComplete *include_complete = nullptr;
Project *project = nullptr; Project *project = nullptr;
VFS *vfs = nullptr; VFS *vfs = nullptr;
WorkingFiles *wfiles = nullptr; WorkingFiles *wfiles = nullptr;
CompletionManager *clang_complete = nullptr;
IncludeComplete *include_complete = nullptr;
llvm::StringMap<std::function<void(Reader &)>> method2notification; llvm::StringMap<std::function<void(Reader &)>> method2notification;
llvm::StringMap<std::function<void(Reader &, ReplyOnce &)>> method2request; llvm::StringMap<std::function<void(Reader &, ReplyOnce &)>> method2request;