diff --git a/CMakeLists.txt b/CMakeLists.txt index 092f178f..471f4a63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,3 +240,5 @@ endif() set_property(SOURCE src/main.cc APPEND PROPERTY COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\") +set_property(SOURCE src/messages/initialize.cc APPEND PROPERTY + COMPILE_DEFINITIONS CCLS_VERSION=\"${CCLS_VERSION}\") diff --git a/src/messages/initialize.cc b/src/messages/initialize.cc index 5861d28c..b015d98d 100644 --- a/src/messages/initialize.cc +++ b/src/messages/initialize.cc @@ -221,8 +221,13 @@ REFLECT_STRUCT(InitializeParam, rootUri, capabilities, trace, workspaceFolders); struct InitializeResult { ServerCap capabilities; + struct ServerInfo { + const char *name = "ccls"; + const char *version = CCLS_VERSION; + } serverInfo; }; -REFLECT_STRUCT(InitializeResult, capabilities); +REFLECT_STRUCT(InitializeResult::ServerInfo, name, version); +REFLECT_STRUCT(InitializeResult, capabilities, serverInfo); struct FileSystemWatcher { std::string globPattern = "**/*";