🎨 style(core): normalize lifecycle implementation
This commit is contained in:
@@ -45,10 +45,9 @@ export namespace lsp::core
|
|||||||
public:
|
public:
|
||||||
ExecutionContext(scheduler::async_executor::AsyncExecutor& scheduler,
|
ExecutionContext(scheduler::async_executor::AsyncExecutor& scheduler,
|
||||||
manager::ManagerHub& manager_hub,
|
manager::ManagerHub& manager_hub,
|
||||||
std::stop_token stop_token = {})
|
std::stop_token stop_token = {}) : async_executor_(scheduler),
|
||||||
: async_executor_(scheduler),
|
manager_hub_(manager_hub),
|
||||||
manager_hub_(manager_hub),
|
stop_token_(stop_token)
|
||||||
stop_token_(stop_token)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,8 +119,8 @@ namespace lsp::core
|
|||||||
{
|
{
|
||||||
RequestDispatcher::RequestDispatcher(
|
RequestDispatcher::RequestDispatcher(
|
||||||
scheduler::async_executor::AsyncExecutor& scheduler,
|
scheduler::async_executor::AsyncExecutor& scheduler,
|
||||||
manager::ManagerHub& manager_hub)
|
manager::ManagerHub& manager_hub) : async_executor_(scheduler),
|
||||||
: async_executor_(scheduler), manager_hub_(manager_hub)
|
manager_hub_(manager_hub)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -171,8 +171,7 @@ namespace lsp::test::provider
|
|||||||
manager::ManagerHub hub{};
|
manager::ManagerHub hub{};
|
||||||
core::ExecutionContext context;
|
core::ExecutionContext context;
|
||||||
|
|
||||||
ProviderEnv()
|
ProviderEnv() : context(scheduler, hub)
|
||||||
: context(scheduler, hub)
|
|
||||||
{
|
{
|
||||||
hub.Initialize();
|
hub.Initialize();
|
||||||
}
|
}
|
||||||
@@ -1411,8 +1410,7 @@ namespace lsp::test::provider
|
|||||||
auto tooltip_it = resolved.find("tooltip");
|
auto tooltip_it = resolved.find("tooltip");
|
||||||
assertTrue(tooltip_it != resolved.end(), "InlayHint resolve should set tooltip");
|
assertTrue(tooltip_it != resolved.end(), "InlayHint resolve should set tooltip");
|
||||||
assertTrue(tooltip_it->second.Is<protocol::string>(), "InlayHint tooltip should be string");
|
assertTrue(tooltip_it->second.Is<protocol::string>(), "InlayHint tooltip should be string");
|
||||||
assertEqual(std::string("param: int"), tooltip_it->second.Get<protocol::string>(),
|
assertEqual(std::string("param: int"), tooltip_it->second.Get<protocol::string>(), "InlayHint tooltip should use detail");
|
||||||
"InlayHint tooltip should use detail");
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2891,10 +2889,8 @@ namespace lsp::test::provider
|
|||||||
{
|
{
|
||||||
protocol::LSPObject diagnostic;
|
protocol::LSPObject diagnostic;
|
||||||
diagnostic["range"] = protocol::LSPObject{
|
diagnostic["range"] = protocol::LSPObject{
|
||||||
{ "start", protocol::LSPObject{ { "line", static_cast<protocol::integer>(error.location.start_line) },
|
{ "start", protocol::LSPObject{ { "line", static_cast<protocol::integer>(error.location.start_line) }, { "character", static_cast<protocol::integer>(error.location.start_column) } } },
|
||||||
{ "character", static_cast<protocol::integer>(error.location.start_column) } } },
|
{ "end", protocol::LSPObject{ { "line", static_cast<protocol::integer>(error.location.end_line) }, { "character", static_cast<protocol::integer>(error.location.end_column) } } },
|
||||||
{ "end", protocol::LSPObject{ { "line", static_cast<protocol::integer>(error.location.end_line) },
|
|
||||||
{ "character", static_cast<protocol::integer>(error.location.end_column) } } },
|
|
||||||
};
|
};
|
||||||
diagnostic["message"] = error.message;
|
diagnostic["message"] = error.message;
|
||||||
diagnostics.emplace_back(std::move(diagnostic));
|
diagnostics.emplace_back(std::move(diagnostic));
|
||||||
|
|||||||
@@ -114,8 +114,7 @@ namespace lsp::test::provider
|
|||||||
manager::ManagerHub hub{};
|
manager::ManagerHub hub{};
|
||||||
core::ExecutionContext context;
|
core::ExecutionContext context;
|
||||||
|
|
||||||
ProviderEnv()
|
ProviderEnv() : context(scheduler, hub)
|
||||||
: context(scheduler, hub)
|
|
||||||
{
|
{
|
||||||
hub.Initialize();
|
hub.Initialize();
|
||||||
}
|
}
|
||||||
@@ -126,10 +125,8 @@ namespace lsp::test::provider
|
|||||||
const std::string& expected_name)
|
const std::string& expected_name)
|
||||||
{
|
{
|
||||||
Provider provider;
|
Provider provider;
|
||||||
assertEqual(expected_method, provider.GetMethod(),
|
assertEqual(expected_method, provider.GetMethod(), "GetMethod mismatch for " + expected_name);
|
||||||
"GetMethod mismatch for " + expected_name);
|
assertEqual(expected_name, provider.GetProviderName(), "GetProviderName mismatch for " + expected_name);
|
||||||
assertEqual(expected_name, provider.GetProviderName(),
|
|
||||||
"GetProviderName mismatch for " + expected_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Provider>
|
template<typename Provider>
|
||||||
@@ -177,53 +174,53 @@ namespace lsp::test::provider
|
|||||||
CheckProviderMetadata<provider::text_document::Rename>("textDocument/rename", "TextDocumentRename");
|
CheckProviderMetadata<provider::text_document::Rename>("textDocument/rename", "TextDocumentRename");
|
||||||
CheckProviderMetadata<provider::text_document::References>("textDocument/references", "TextDocumentReferences");
|
CheckProviderMetadata<provider::text_document::References>("textDocument/references", "TextDocumentReferences");
|
||||||
CheckProviderMetadata<provider::text_document::SemanticTokensRange>("textDocument/semanticTokens/range",
|
CheckProviderMetadata<provider::text_document::SemanticTokensRange>("textDocument/semanticTokens/range",
|
||||||
"TextDocumentSemanticTokensRange");
|
"TextDocumentSemanticTokensRange");
|
||||||
CheckProviderMetadata<provider::text_document::SemanticTokensFull>("textDocument/semanticTokens/full",
|
CheckProviderMetadata<provider::text_document::SemanticTokensFull>("textDocument/semanticTokens/full",
|
||||||
"SemanticTokensFull");
|
"SemanticTokensFull");
|
||||||
CheckProviderMetadata<provider::text_document::SemanticTokensFullDelta>("textDocument/semanticTokens/full/delta",
|
CheckProviderMetadata<provider::text_document::SemanticTokensFullDelta>("textDocument/semanticTokens/full/delta",
|
||||||
"SemanticTokensFullDelta");
|
"SemanticTokensFullDelta");
|
||||||
CheckProviderMetadata<provider::text_document::Hover>("textDocument/hover", "TextDocumentHover");
|
CheckProviderMetadata<provider::text_document::Hover>("textDocument/hover", "TextDocumentHover");
|
||||||
CheckProviderMetadata<provider::text_document::Formatting>("textDocument/formatting", "TextDocumentFormatting");
|
CheckProviderMetadata<provider::text_document::Formatting>("textDocument/formatting", "TextDocumentFormatting");
|
||||||
CheckProviderMetadata<provider::text_document::RangeFormatting>("textDocument/rangeFormatting",
|
CheckProviderMetadata<provider::text_document::RangeFormatting>("textDocument/rangeFormatting",
|
||||||
"TextDocumentRangeFormatting");
|
"TextDocumentRangeFormatting");
|
||||||
CheckProviderMetadata<provider::text_document::OnTypeFormatting>("textDocument/onTypeFormatting",
|
CheckProviderMetadata<provider::text_document::OnTypeFormatting>("textDocument/onTypeFormatting",
|
||||||
"TextDocumentOnTypeFormatting");
|
"TextDocumentOnTypeFormatting");
|
||||||
CheckProviderMetadata<provider::text_document::DocumentSymbol>("textDocument/documentSymbol",
|
CheckProviderMetadata<provider::text_document::DocumentSymbol>("textDocument/documentSymbol",
|
||||||
"TextDocumentDocumentSymbol");
|
"TextDocumentDocumentSymbol");
|
||||||
CheckProviderMetadata<provider::text_document::DocumentLink>("textDocument/documentLink",
|
CheckProviderMetadata<provider::text_document::DocumentLink>("textDocument/documentLink",
|
||||||
"TextDocumentDocumentLink");
|
"TextDocumentDocumentLink");
|
||||||
CheckProviderMetadata<provider::text_document::DocumentHighlight>("textDocument/documentHighlight",
|
CheckProviderMetadata<provider::text_document::DocumentHighlight>("textDocument/documentHighlight",
|
||||||
"TextDocumentDocumentHighlight");
|
"TextDocumentDocumentHighlight");
|
||||||
CheckProviderMetadata<provider::text_document::DocumentColor>("textDocument/documentColor",
|
CheckProviderMetadata<provider::text_document::DocumentColor>("textDocument/documentColor",
|
||||||
"TextDocumentDocumentColor");
|
"TextDocumentDocumentColor");
|
||||||
CheckProviderMetadata<provider::text_document::ColorPresentation>("textDocument/colorPresentation",
|
CheckProviderMetadata<provider::text_document::ColorPresentation>("textDocument/colorPresentation",
|
||||||
"TextDocumentColorPresentation");
|
"TextDocumentColorPresentation");
|
||||||
CheckProviderMetadata<provider::text_document::CodeLens>("textDocument/codeLens", "TextDocumentCodeLens");
|
CheckProviderMetadata<provider::text_document::CodeLens>("textDocument/codeLens", "TextDocumentCodeLens");
|
||||||
CheckProviderMetadata<provider::text_document::CodeAction>("textDocument/codeAction", "TextDocumentCodeAction");
|
CheckProviderMetadata<provider::text_document::CodeAction>("textDocument/codeAction", "TextDocumentCodeAction");
|
||||||
CheckProviderMetadata<provider::text_document::PrepareTypeHierarchy>("textDocument/prepareTypeHierarchy",
|
CheckProviderMetadata<provider::text_document::PrepareTypeHierarchy>("textDocument/prepareTypeHierarchy",
|
||||||
"TextDocumentPrepareTypeHierarchy");
|
"TextDocumentPrepareTypeHierarchy");
|
||||||
CheckProviderMetadata<provider::text_document::PrepareRename>("textDocument/prepareRename",
|
CheckProviderMetadata<provider::text_document::PrepareRename>("textDocument/prepareRename",
|
||||||
"TextDocumentPrepareRename");
|
"TextDocumentPrepareRename");
|
||||||
CheckProviderMetadata<provider::text_document::PrepareCallHierarchy>("textDocument/prepareCallHierarchy",
|
CheckProviderMetadata<provider::text_document::PrepareCallHierarchy>("textDocument/prepareCallHierarchy",
|
||||||
"TextDocumentPrepareCallHierarchy");
|
"TextDocumentPrepareCallHierarchy");
|
||||||
CheckProviderMetadata<provider::text_document::TypeDefinition>("textDocument/typeDefinition",
|
CheckProviderMetadata<provider::text_document::TypeDefinition>("textDocument/typeDefinition",
|
||||||
"TextDocumentTypeDefinition");
|
"TextDocumentTypeDefinition");
|
||||||
CheckProviderMetadata<provider::text_document::Implementation>("textDocument/implementation",
|
CheckProviderMetadata<provider::text_document::Implementation>("textDocument/implementation",
|
||||||
"TextDocumentImplementation");
|
"TextDocumentImplementation");
|
||||||
CheckProviderMetadata<provider::text_document::SelectionRange>("textDocument/selectionRange",
|
CheckProviderMetadata<provider::text_document::SelectionRange>("textDocument/selectionRange",
|
||||||
"TextDocumentSelectionRange");
|
"TextDocumentSelectionRange");
|
||||||
CheckProviderMetadata<provider::text_document::SignatureHelp>("textDocument/signatureHelp",
|
CheckProviderMetadata<provider::text_document::SignatureHelp>("textDocument/signatureHelp",
|
||||||
"TextDocumentSignatureHelp");
|
"TextDocumentSignatureHelp");
|
||||||
CheckProviderMetadata<provider::text_document::InlayHint>("textDocument/inlayHint", "TextDocumentInlayHint");
|
CheckProviderMetadata<provider::text_document::InlayHint>("textDocument/inlayHint", "TextDocumentInlayHint");
|
||||||
CheckProviderMetadata<provider::text_document::InlineValue>("textDocument/inlineValue",
|
CheckProviderMetadata<provider::text_document::InlineValue>("textDocument/inlineValue",
|
||||||
"TextDocumentInlineValue");
|
"TextDocumentInlineValue");
|
||||||
CheckProviderMetadata<provider::text_document::LinkedEditingRange>("textDocument/linkedEditingRange",
|
CheckProviderMetadata<provider::text_document::LinkedEditingRange>("textDocument/linkedEditingRange",
|
||||||
"TextDocumentLinkedEditingRange");
|
"TextDocumentLinkedEditingRange");
|
||||||
CheckProviderMetadata<provider::text_document::Moniker>("textDocument/moniker", "TextDocumentMoniker");
|
CheckProviderMetadata<provider::text_document::Moniker>("textDocument/moniker", "TextDocumentMoniker");
|
||||||
CheckProviderMetadata<provider::text_document::Diagnostic>("textDocument/diagnostic",
|
CheckProviderMetadata<provider::text_document::Diagnostic>("textDocument/diagnostic",
|
||||||
"TextDocumentDiagnostic");
|
"TextDocumentDiagnostic");
|
||||||
CheckProviderMetadata<provider::text_document::FoldingRange>("textDocument/foldingRange",
|
CheckProviderMetadata<provider::text_document::FoldingRange>("textDocument/foldingRange",
|
||||||
"TextDocumentFoldingRange");
|
"TextDocumentFoldingRange");
|
||||||
CheckProviderMetadata<provider::code_action::Resolve>("codeAction/resolve", "CodeActionResolve");
|
CheckProviderMetadata<provider::code_action::Resolve>("codeAction/resolve", "CodeActionResolve");
|
||||||
CheckProviderMetadata<provider::code_lens::Resolve>("codeLens/resolve", "CodeLensResolve");
|
CheckProviderMetadata<provider::code_lens::Resolve>("codeLens/resolve", "CodeLensResolve");
|
||||||
CheckProviderMetadata<provider::document_link::Resolve>("documentLink/resolve", "DocumentLinkResolve");
|
CheckProviderMetadata<provider::document_link::Resolve>("documentLink/resolve", "DocumentLinkResolve");
|
||||||
@@ -232,12 +229,12 @@ namespace lsp::test::provider
|
|||||||
CheckProviderMetadata<provider::type_hierarchy::Supertypes>("typeHierarchy/supertypes", "TypeHierarchySupertypes");
|
CheckProviderMetadata<provider::type_hierarchy::Supertypes>("typeHierarchy/supertypes", "TypeHierarchySupertypes");
|
||||||
CheckProviderMetadata<provider::type_hierarchy::Subtypes>("typeHierarchy/subtypes", "TypeHierarchySubtypes");
|
CheckProviderMetadata<provider::type_hierarchy::Subtypes>("typeHierarchy/subtypes", "TypeHierarchySubtypes");
|
||||||
CheckProviderMetadata<provider::call_hierarchy::IncomingCalls>("callHierarchy/incomingCalls",
|
CheckProviderMetadata<provider::call_hierarchy::IncomingCalls>("callHierarchy/incomingCalls",
|
||||||
"CallHierarchyIncomingCalls");
|
"CallHierarchyIncomingCalls");
|
||||||
CheckProviderMetadata<provider::call_hierarchy::OutgoingCalls>("callHierarchy/outgoingCalls",
|
CheckProviderMetadata<provider::call_hierarchy::OutgoingCalls>("callHierarchy/outgoingCalls",
|
||||||
"CallHierarchyOutgoingCalls");
|
"CallHierarchyOutgoingCalls");
|
||||||
CheckProviderMetadata<provider::workspace::Diagnostic>("workspace/diagnostic", "WorkspaceDiagnostic");
|
CheckProviderMetadata<provider::workspace::Diagnostic>("workspace/diagnostic", "WorkspaceDiagnostic");
|
||||||
CheckProviderMetadata<provider::workspace::ExecuteCommand>("workspace/executeCommand",
|
CheckProviderMetadata<provider::workspace::ExecuteCommand>("workspace/executeCommand",
|
||||||
"WorkspaceExecuteCommand");
|
"WorkspaceExecuteCommand");
|
||||||
CheckProviderMetadata<provider::workspace::WillCreateFiles>("workspace/willCreateFiles", "WorkspaceWillCreateFiles");
|
CheckProviderMetadata<provider::workspace::WillCreateFiles>("workspace/willCreateFiles", "WorkspaceWillCreateFiles");
|
||||||
CheckProviderMetadata<provider::workspace::WillDeleteFiles>("workspace/willDeleteFiles", "WorkspaceWillDeleteFiles");
|
CheckProviderMetadata<provider::workspace::WillDeleteFiles>("workspace/willDeleteFiles", "WorkspaceWillDeleteFiles");
|
||||||
CheckProviderMetadata<provider::workspace::WillRenameFiles>("workspace/willRenameFiles", "WorkspaceWillRenameFiles");
|
CheckProviderMetadata<provider::workspace::WillRenameFiles>("workspace/willRenameFiles", "WorkspaceWillRenameFiles");
|
||||||
@@ -260,11 +257,11 @@ namespace lsp::test::provider
|
|||||||
CheckProviderMetadata<provider::telemetry::Event>("telemetry/event", "TelemetryEvent");
|
CheckProviderMetadata<provider::telemetry::Event>("telemetry/event", "TelemetryEvent");
|
||||||
CheckProviderMetadata<provider::text_document::PublishDiagnostics>("textDocument/publishDiagnostics", "TextDocumentPublishDiagnostics");
|
CheckProviderMetadata<provider::text_document::PublishDiagnostics>("textDocument/publishDiagnostics", "TextDocumentPublishDiagnostics");
|
||||||
CheckProviderMetadata<provider::workspace::DidChangeConfiguration>("workspace/didChangeConfiguration",
|
CheckProviderMetadata<provider::workspace::DidChangeConfiguration>("workspace/didChangeConfiguration",
|
||||||
"WorkspaceDidChangeConfiguration");
|
"WorkspaceDidChangeConfiguration");
|
||||||
CheckProviderMetadata<provider::workspace::DidChangeWatchedFiles>("workspace/didChangeWatchedFiles",
|
CheckProviderMetadata<provider::workspace::DidChangeWatchedFiles>("workspace/didChangeWatchedFiles",
|
||||||
"WorkspaceDidChangeWatchedFiles");
|
"WorkspaceDidChangeWatchedFiles");
|
||||||
CheckProviderMetadata<provider::workspace::DidChangeWorkspaceFolders>("workspace/didChangeWorkspaceFolders",
|
CheckProviderMetadata<provider::workspace::DidChangeWorkspaceFolders>("workspace/didChangeWorkspaceFolders",
|
||||||
"WorkspaceDidChangeWorkspaceFolders");
|
"WorkspaceDidChangeWorkspaceFolders");
|
||||||
CheckProviderMetadata<provider::workspace::DidCreateFiles>("workspace/didCreateFiles", "WorkspaceDidCreateFiles");
|
CheckProviderMetadata<provider::workspace::DidCreateFiles>("workspace/didCreateFiles", "WorkspaceDidCreateFiles");
|
||||||
CheckProviderMetadata<provider::workspace::DidDeleteFiles>("workspace/didDeleteFiles", "WorkspaceDidDeleteFiles");
|
CheckProviderMetadata<provider::workspace::DidDeleteFiles>("workspace/didDeleteFiles", "WorkspaceDidDeleteFiles");
|
||||||
CheckProviderMetadata<provider::workspace::DidRenameFiles>("workspace/didRenameFiles", "WorkspaceDidRenameFiles");
|
CheckProviderMetadata<provider::workspace::DidRenameFiles>("workspace/didRenameFiles", "WorkspaceDidRenameFiles");
|
||||||
|
|||||||
Reference in New Issue
Block a user