mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-22 07:35:08 +00:00
workspace/didChangeWatchedFiles placeholder
This commit is contained in:
parent
503127e0da
commit
3e076b4111
@ -286,6 +286,7 @@ void LaunchStdinLoop(Config* config,
|
||||
case IpcId::TextDocumentDocumentLink:
|
||||
case IpcId::TextDocumentCodeAction:
|
||||
case IpcId::TextDocumentCodeLens:
|
||||
case IpcId::WorkspaceDidChangeWatchedFiles:
|
||||
case IpcId::WorkspaceSymbol:
|
||||
case IpcId::CqueryFreshenIndex:
|
||||
case IpcId::CqueryTypeHierarchyTree:
|
||||
|
@ -54,6 +54,8 @@ const char* IpcIdToString(IpcId id) {
|
||||
return "textDocument/codeLens";
|
||||
case IpcId::CodeLensResolve:
|
||||
return "codeLens/resolve";
|
||||
case IpcId::WorkspaceDidChangeWatchedFiles:
|
||||
return "workspace/didChangeWatchedFiles";
|
||||
case IpcId::WorkspaceSymbol:
|
||||
return "workspace/symbol";
|
||||
|
||||
|
@ -32,6 +32,7 @@ enum class IpcId : int {
|
||||
TextDocumentCodeAction,
|
||||
TextDocumentCodeLens,
|
||||
CodeLensResolve,
|
||||
WorkspaceDidChangeWatchedFiles,
|
||||
WorkspaceSymbol,
|
||||
|
||||
// Custom notifications
|
||||
|
51
src/messages/workspace_did_change_watched_files.cc
Normal file
51
src/messages/workspace_did_change_watched_files.cc
Normal file
@ -0,0 +1,51 @@
|
||||
#include "message_handler.h"
|
||||
#include "queue_manager.h"
|
||||
|
||||
namespace {
|
||||
enum class lsFileChangeType {
|
||||
Created = 1,
|
||||
Changed = 2,
|
||||
Deleted = 3,
|
||||
};
|
||||
MAKE_REFLECT_TYPE_PROXY(lsFileChangeType,
|
||||
std::underlying_type<lsFileChangeType>::type);
|
||||
|
||||
struct lsFileEvent {
|
||||
lsDocumentUri uri;
|
||||
lsFileChangeType type;
|
||||
};
|
||||
MAKE_REFLECT_STRUCT(lsFileEvent, uri, type);
|
||||
|
||||
struct lsDidChangeWatchedFilesParams {
|
||||
std::vector<lsFileEvent> changes;
|
||||
};
|
||||
MAKE_REFLECT_STRUCT(lsDidChangeWatchedFilesParams, changes);
|
||||
|
||||
struct Ipc_WorkspaceDidChangeWatchedFiles
|
||||
: public IpcMessage<Ipc_WorkspaceDidChangeWatchedFiles> {
|
||||
const static IpcId kIpcId = IpcId::WorkspaceDidChangeWatchedFiles;
|
||||
lsDidChangeWatchedFilesParams params;
|
||||
};
|
||||
MAKE_REFLECT_STRUCT(Ipc_WorkspaceDidChangeWatchedFiles, params);
|
||||
REGISTER_IPC_MESSAGE(Ipc_WorkspaceDidChangeWatchedFiles);
|
||||
|
||||
struct WorkspaceDidChangeWatchedFilesHandler
|
||||
: BaseMessageHandler<Ipc_WorkspaceDidChangeWatchedFiles> {
|
||||
void Run(Ipc_WorkspaceDidChangeWatchedFiles* request) override {
|
||||
for (lsFileEvent& event : request->params.changes) {
|
||||
switch (event.type) {
|
||||
case lsFileChangeType::Created:
|
||||
// TODO
|
||||
break;
|
||||
case lsFileChangeType::Deleted:
|
||||
// TODO
|
||||
break;
|
||||
case lsFileChangeType::Changed:
|
||||
// TODO
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
REGISTER_MESSAGE_HANDLER(WorkspaceDidChangeWatchedFilesHandler);
|
||||
} // namespace
|
Loading…
Reference in New Issue
Block a user