24 lines
805 B
C++
24 lines
805 B
C++
#pragma once
|
|
#include "../base/interface.hpp"
|
|
|
|
namespace lsp::provider
|
|
{
|
|
class Initialize : public IRequestProvider
|
|
{
|
|
public:
|
|
Initialize() = default;
|
|
|
|
std::string ProvideResponse(const protocol::RequestMessage& request, ExecutionContext& context) override;
|
|
std::string GetMethod() const override;
|
|
std::string GetProviderName() const override;
|
|
|
|
private:
|
|
protocol::InitializeResult BuildInitializeResult();
|
|
protocol::TextDocumentSyncOptions BuildTextDocumentSyncOptions();
|
|
protocol::CompletionOptions BuildCompletionOptions();
|
|
protocol::SemanticTokensOptions BuildSemanticTokenOptions();
|
|
|
|
void ProcessWorkspaceFolder(const std::vector<protocol::WorkspaceFolder>& workspace_folders, ExecutionContext& context);
|
|
};
|
|
}
|