This commit is contained in:
csh
2025-07-02 14:29:54 +08:00
parent 65b38b7fec
commit dbc95ff098
61 changed files with 6673 additions and 617 deletions
+64
View File
@@ -0,0 +1,64 @@
#pragma once
#include "./basic_types.hpp"
#include "./document_sync.hpp"
#include "./progress.hpp"
namespace lsp::protocol
{
enum class PrepareSupportDefaultBehavior
{
kIdentifier = 1
};
// Rename
struct RenameClientCapabilities
{
std::optional<boolean> dynamicRegistration;
std::optional<boolean> prepareSupport;
std::optional<PrepareSupportDefaultBehavior> prepareSupportDefaultBehavior;
std::optional<boolean> honorsChangeAnnotations;
};
struct RenameOptions : WorkDoneProgressOptions
{
std::optional<boolean> prepareProvider;
};
struct RenameRegistrationOptions : TextDocumentRegistrationOptions, RenameOptions
{
};
struct RenameParams : TextDocumentPositionParams, WorkDoneProgressParams
{
string newName;
};
struct PrepareRenameParams : TextDocumentPositionParams, WorkDoneProgressParams
{
};
// Linked Editing Range
struct LinkedEditingRangeClientCapabilities
{
std::optional<boolean> dynamicRegistration;
};
struct LinkedEditingRangeOptions : WorkDoneProgressOptions
{
};
struct LinkedEditingRangeRegistrationOptions : TextDocumentRegistrationOptions, LinkedEditingRangeOptions, StaticRegistrationOptions
{
};
struct LinkedEditingRangeParams : TextDocumentPositionParams, WorkDoneProgressParams, PartialResultParams
{
};
struct LinkedEditingRanges
{
std::vector<Range> ranges;
std::optional<string> wordPattern;
};
}