From 0f8a93028902a59a6a45398780ec52a3b0c74aba Mon Sep 17 00:00:00 2001 From: ykiko Date: Sun, 7 Jul 2024 17:33:11 +0800 Subject: [PATCH] some update. --- include/LSP/MessageBuffer.h | 2 ++ include/LSP/Protocol.h | 2 ++ include/LSP/Scheduler.h | 2 ++ include/LSP/SemanticTokens.h | 1 + include/LSP/Server.h | 33 +++++++++++++++++++++++++++++++-- include/Support/Filesystem.h | 2 ++ include/Support/Logger.h | 2 ++ include/Support/Reflection.h | 2 ++ include/Support/Serialize.h | 3 +++ 9 files changed, 47 insertions(+), 2 deletions(-) diff --git a/include/LSP/MessageBuffer.h b/include/LSP/MessageBuffer.h index 72478e37..388067d4 100644 --- a/include/LSP/MessageBuffer.h +++ b/include/LSP/MessageBuffer.h @@ -1,3 +1,5 @@ +#pragma once + #include #include diff --git a/include/LSP/Protocol.h b/include/LSP/Protocol.h index 70743a28..ad4d32ba 100644 --- a/include/LSP/Protocol.h +++ b/include/LSP/Protocol.h @@ -1,3 +1,5 @@ +#pragma once + #include #include #include diff --git a/include/LSP/Scheduler.h b/include/LSP/Scheduler.h index 193ef82f..3d1c01fa 100644 --- a/include/LSP/Scheduler.h +++ b/include/LSP/Scheduler.h @@ -1,3 +1,5 @@ +#pragma once + #include namespace clice { diff --git a/include/LSP/SemanticTokens.h b/include/LSP/SemanticTokens.h index e881148b..abf15194 100644 --- a/include/LSP/SemanticTokens.h +++ b/include/LSP/SemanticTokens.h @@ -1,3 +1,4 @@ +#pragma once namespace clice { diff --git a/include/LSP/Server.h b/include/LSP/Server.h index 4d2579a4..270d04ec 100644 --- a/include/LSP/Server.h +++ b/include/LSP/Server.h @@ -1,6 +1,10 @@ +#pragma once + #include #include +#include "Protocol.h" + namespace clice { // global server instance @@ -17,8 +21,33 @@ public: int exit(); void handle_message(std::string_view message); - // LSP methods - void initialize(); + /*===================================================/ + / / + /==================== LSP methods ===================/ + / / + /===================================================*/ + + // Server lifecycle + void initialize(InitializeParams& params); + + // Text Document Synchronization + + // Language Features + void declaration(); + void definition(); + void typeDefinition(); + void implementation(); + void references(); + void callHierarchy(); + /* ... */ + void hover(); + void codeLens(); + /* ... */ + void foldingRange(); + void selectionRange(); + void documentSymbol(); + void semanticTokens(); + void inlineValue(); }; } // namespace clice diff --git a/include/Support/Filesystem.h b/include/Support/Filesystem.h index a9b7ce6d..aff9a57a 100644 --- a/include/Support/Filesystem.h +++ b/include/Support/Filesystem.h @@ -1,3 +1,5 @@ +#pragma once + #include namespace clice { diff --git a/include/Support/Logger.h b/include/Support/Logger.h index 016931e9..ef1fab19 100644 --- a/include/Support/Logger.h +++ b/include/Support/Logger.h @@ -1,3 +1,5 @@ +#pragma once + #include namespace clice::logger { diff --git a/include/Support/Reflection.h b/include/Support/Reflection.h index 8fa4234c..099d5db0 100644 --- a/include/Support/Reflection.h +++ b/include/Support/Reflection.h @@ -1,3 +1,5 @@ +#pragma once + // support basic reflection through template meta programming #include #include diff --git a/include/Support/Serialize.h b/include/Support/Serialize.h index b7a9e60a..179c885d 100644 --- a/include/Support/Serialize.h +++ b/include/Support/Serialize.h @@ -1,3 +1,6 @@ +#pragma once + + #include #include