mirror of
https://github.com/MaskRay/ccls.git
synced 2025-02-16 13:48:04 +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::TextDocumentDocumentLink:
|
||||||
case IpcId::TextDocumentCodeAction:
|
case IpcId::TextDocumentCodeAction:
|
||||||
case IpcId::TextDocumentCodeLens:
|
case IpcId::TextDocumentCodeLens:
|
||||||
|
case IpcId::WorkspaceDidChangeWatchedFiles:
|
||||||
case IpcId::WorkspaceSymbol:
|
case IpcId::WorkspaceSymbol:
|
||||||
case IpcId::CqueryFreshenIndex:
|
case IpcId::CqueryFreshenIndex:
|
||||||
case IpcId::CqueryTypeHierarchyTree:
|
case IpcId::CqueryTypeHierarchyTree:
|
||||||
|
@ -54,6 +54,8 @@ const char* IpcIdToString(IpcId id) {
|
|||||||
return "textDocument/codeLens";
|
return "textDocument/codeLens";
|
||||||
case IpcId::CodeLensResolve:
|
case IpcId::CodeLensResolve:
|
||||||
return "codeLens/resolve";
|
return "codeLens/resolve";
|
||||||
|
case IpcId::WorkspaceDidChangeWatchedFiles:
|
||||||
|
return "workspace/didChangeWatchedFiles";
|
||||||
case IpcId::WorkspaceSymbol:
|
case IpcId::WorkspaceSymbol:
|
||||||
return "workspace/symbol";
|
return "workspace/symbol";
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ enum class IpcId : int {
|
|||||||
TextDocumentCodeAction,
|
TextDocumentCodeAction,
|
||||||
TextDocumentCodeLens,
|
TextDocumentCodeLens,
|
||||||
CodeLensResolve,
|
CodeLensResolve,
|
||||||
|
WorkspaceDidChangeWatchedFiles,
|
||||||
WorkspaceSymbol,
|
WorkspaceSymbol,
|
||||||
|
|
||||||
// Custom notifications
|
// 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