tsl-devkit/lsp-server/src/manager/manager_hub.hpp

35 lines
666 B
C++

#pragma once
#include <optional>
#include <string>
#include "../manager/event_bus.hpp"
#include "../manager/document.hpp"
#include "../manager/parser.hpp"
#include "../manager/symbol.hpp"
#include "../protocol/protocol.hpp"
namespace lsp::manager
{
class ManagerHub
{
public:
ManagerHub();
~ManagerHub();
void Initialize();
void Shutdown();
Document& documents() { return documents_; }
Parser& parser() { return parser_; }
Symbol& symbols() { return symbols_; }
private:
EventBus event_bus_;
Document documents_;
Parser parser_;
Symbol symbols_;
};
}