mirror of
https://github.com/MaskRay/ccls.git
synced 2025-02-07 09:22:11 +00:00
continue migrating to new api
This commit is contained in:
parent
14af7453c3
commit
e86509edb0
@ -1039,20 +1039,33 @@ void PreMain() {
|
|||||||
IpcMessage_WorkspaceSymbolsRequest::kIpcId);
|
IpcMessage_WorkspaceSymbolsRequest::kIpcId);
|
||||||
IpcRegistry::instance()->Register<IpcMessage_WorkspaceSymbolsResponse>(
|
IpcRegistry::instance()->Register<IpcMessage_WorkspaceSymbolsResponse>(
|
||||||
IpcMessage_WorkspaceSymbolsResponse::kIpcId);
|
IpcMessage_WorkspaceSymbolsResponse::kIpcId);
|
||||||
|
|
||||||
MessageRegistry::instance()->Register<In_CancelRequest>();
|
|
||||||
MessageRegistry::instance()->Register<In_InitializeRequest>();
|
|
||||||
MessageRegistry::instance()->Register<In_InitializedNotification>();
|
|
||||||
MessageRegistry::instance()->Register<In_DocumentSymbolRequest>();
|
|
||||||
MessageRegistry::instance()->Register<In_DocumentCodeLensRequest>();
|
|
||||||
MessageRegistry::instance()->Register<In_WorkspaceSymbolRequest>();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
template<typename T>
|
||||||
// TODO: real impl
|
void RegisterId(TypedBidiMessageQueue<lsMethodId, lsBaseMessage>& t) {
|
||||||
|
t.RegisterId(T::kMethod,
|
||||||
|
[](Writer& visitor, lsBaseMessage& message) {
|
||||||
|
T& m = static_cast<T&>(message);
|
||||||
|
Reflect(visitor, m);
|
||||||
|
}, [](Reader& visitor) {
|
||||||
|
auto m = MakeUnique<T>();
|
||||||
|
Reflect(visitor, *m);
|
||||||
|
return m;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {j
|
||||||
|
// TODO: real queue size
|
||||||
const int kQueueSize = 128;
|
const int kQueueSize = 128;
|
||||||
TypedBidiMessageQueue<lsMethodId, lsBaseMessage> t("foo", kQueueSize);
|
TypedBidiMessageQueue<lsMethodId, lsBaseMessage> t("foo", kQueueSize);
|
||||||
|
RegisterId<In_CancelRequest>(t);
|
||||||
|
RegisterId<In_InitializeRequest>(t);
|
||||||
|
RegisterId<In_InitializedNotification>(t);
|
||||||
|
RegisterId<In_DocumentSymbolRequest>(t);
|
||||||
|
RegisterId<In_DocumentCodeLensRequest>(t);
|
||||||
|
RegisterId<In_WorkspaceSymbolRequest>(t);
|
||||||
|
|
||||||
|
/*
|
||||||
// TODO: We can make this entire function a template.
|
// TODO: We can make this entire function a template.
|
||||||
t.RegisterId(In_DocumentSymbolRequest::kMethod,
|
t.RegisterId(In_DocumentSymbolRequest::kMethod,
|
||||||
[](Writer& visitor, lsBaseMessage& message) {
|
[](Writer& visitor, lsBaseMessage& message) {
|
||||||
@ -1063,6 +1076,7 @@ int main(int argc, char** argv) {
|
|||||||
Reflect(visitor, *m);
|
Reflect(visitor, *m);
|
||||||
return m;
|
return m;
|
||||||
});
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
//struct In_DocumentSymbolRequest : public InRequestMessage {
|
//struct In_DocumentSymbolRequest : public InRequestMessage {
|
||||||
// const static lsMethodId kMethod = lsMethodId::TextDocumentDocumentSymbol;
|
// const static lsMethodId kMethod = lsMethodId::TextDocumentDocumentSymbol;
|
||||||
|
@ -199,19 +199,15 @@ struct InMessage : public lsBaseMessage {
|
|||||||
const lsMethodId method_id;
|
const lsMethodId method_id;
|
||||||
optional<RequestId> id;
|
optional<RequestId> id;
|
||||||
|
|
||||||
InMessage(lsMethodId method_id, optional<RequestId> id, Reader& reader)
|
InMessage(lsMethodId method_id) : method_id(method_id) {}
|
||||||
// We verify there are no duplicate hashes inside of MessageRegistry.
|
|
||||||
: method_id(method_id), id(id) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct InRequestMessage : public InMessage {
|
struct InRequestMessage : public InMessage {
|
||||||
InRequestMessage(lsMethodId method, optional<RequestId> id, Reader& reader)
|
InRequestMessage(lsMethodId method) : InMessage(method) {}
|
||||||
: InMessage(method, id, reader) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct InNotificationMessage : public InMessage {
|
struct InNotificationMessage : public InMessage {
|
||||||
InNotificationMessage(lsMethodId method, optional<RequestId> id, Reader& reader)
|
InNotificationMessage(lsMethodId method) : InMessage(method) {}
|
||||||
: InMessage(method, id, reader) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct OutMessage : public lsBaseMessage {
|
struct OutMessage : public lsBaseMessage {
|
||||||
@ -350,10 +346,16 @@ struct OutNotificationMessage : public OutMessage {
|
|||||||
struct In_CancelRequest : public InNotificationMessage {
|
struct In_CancelRequest : public InNotificationMessage {
|
||||||
static const lsMethodId kMethod = lsMethodId::CancelRequest;
|
static const lsMethodId kMethod = lsMethodId::CancelRequest;
|
||||||
|
|
||||||
In_CancelRequest(optional<RequestId> id, Reader& reader)
|
In_CancelRequest() : InNotificationMessage(kMethod) {}
|
||||||
: InNotificationMessage(kMethod, id, reader) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_CancelRequest& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1006,6 +1008,20 @@ void Reflect(Reader& reader, lsInitializeParams::lsTrace& value) {
|
|||||||
value = lsInitializeParams::lsTrace::Verbose;
|
value = lsInitializeParams::lsTrace::Verbose;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Reflect(Writer& writer, lsInitializeParams::lsTrace& value) {
|
||||||
|
switch (value) {
|
||||||
|
case lsInitializeParams::lsTrace::Off:
|
||||||
|
writer.String("off");
|
||||||
|
break;
|
||||||
|
case lsInitializeParams::lsTrace::Messages:
|
||||||
|
writer.String("messages");
|
||||||
|
break;
|
||||||
|
case lsInitializeParams::lsTrace::Verbose:
|
||||||
|
writer.String("verbose");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
template<typename TVisitor>
|
template<typename TVisitor>
|
||||||
void Reflect(TVisitor& visitor, lsInitializeParams& value) {
|
void Reflect(TVisitor& visitor, lsInitializeParams& value) {
|
||||||
REFLECT_MEMBER_START();
|
REFLECT_MEMBER_START();
|
||||||
@ -1268,13 +1284,17 @@ struct In_InitializeRequest : public InRequestMessage {
|
|||||||
const static lsMethodId kMethod = lsMethodId::Initialize;
|
const static lsMethodId kMethod = lsMethodId::Initialize;
|
||||||
lsInitializeParams params;
|
lsInitializeParams params;
|
||||||
|
|
||||||
In_InitializeRequest(optional<RequestId> id, Reader& reader)
|
In_InitializeRequest() : InRequestMessage(kMethod) {}
|
||||||
: InRequestMessage(kMethod, id, reader) {
|
|
||||||
Reflect(reader, params);
|
|
||||||
std::cerr << "done" << std::endl;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_InitializeRequest& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER(params);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
struct Out_InitializeResponse : public OutResponseMessage {
|
struct Out_InitializeResponse : public OutResponseMessage {
|
||||||
lsInitializeResult result;
|
lsInitializeResult result;
|
||||||
|
|
||||||
@ -1287,10 +1307,15 @@ struct Out_InitializeResponse : public OutResponseMessage {
|
|||||||
struct In_InitializedNotification : public InNotificationMessage {
|
struct In_InitializedNotification : public InNotificationMessage {
|
||||||
const static lsMethodId kMethod = lsMethodId::Initialized;
|
const static lsMethodId kMethod = lsMethodId::Initialized;
|
||||||
|
|
||||||
In_InitializedNotification(optional<RequestId> id, Reader& reader)
|
In_InitializedNotification() : InNotificationMessage(kMethod) {}
|
||||||
: InNotificationMessage(kMethod, id, reader) {}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_InitializedNotification& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1352,15 +1377,15 @@ struct In_DocumentSymbolRequest : public InRequestMessage {
|
|||||||
|
|
||||||
lsDocumentSymbolParams params;
|
lsDocumentSymbolParams params;
|
||||||
|
|
||||||
In_DocumentSymbolRequest(optional<RequestId> id, Reader& reader)
|
In_DocumentSymbolRequest() : InRequestMessage(kMethod) {}
|
||||||
: InRequestMessage(kMethod, id, reader) {
|
|
||||||
Reflect(reader, params);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename TVisitor>
|
template<typename TVisitor>
|
||||||
void Reflect(TVisitor& visitor, In_DocumentSymbolRequest& value) {
|
void Reflect(TVisitor& visitor, In_DocumentSymbolRequest& value) {
|
||||||
Reflect(visitor, value.params);
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER(params);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Out_DocumentSymbolResponse : public OutResponseMessage {
|
struct Out_DocumentSymbolResponse : public OutResponseMessage {
|
||||||
@ -1425,12 +1450,17 @@ struct In_DocumentCodeLensRequest : public InRequestMessage {
|
|||||||
|
|
||||||
lsDocumentCodeLensParams params;
|
lsDocumentCodeLensParams params;
|
||||||
|
|
||||||
In_DocumentCodeLensRequest(optional<RequestId> id, Reader& reader)
|
In_DocumentCodeLensRequest() : InRequestMessage(kMethod) {}
|
||||||
: InRequestMessage(kMethod, id, reader) {
|
|
||||||
Reflect(reader, params);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_DocumentCodeLensRequest& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER(params);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
struct Out_DocumentCodeLensResponse : public OutResponseMessage {
|
struct Out_DocumentCodeLensResponse : public OutResponseMessage {
|
||||||
std::vector<lsCodeLens<lsCodeLensUserData, lsCodeLensCommandArguments>> result;
|
std::vector<lsCodeLens<lsCodeLensUserData, lsCodeLensCommandArguments>> result;
|
||||||
|
|
||||||
@ -1445,12 +1475,17 @@ struct In_DocumentCodeLensResolveRequest : public InRequestMessage {
|
|||||||
|
|
||||||
TCodeLens params;
|
TCodeLens params;
|
||||||
|
|
||||||
In_DocumentCodeLensResolveRequest(optional<RequestId> id, Reader& reader)
|
In_DocumentCodeLensResolveRequest() : InRequestMessage(kMethod) {}
|
||||||
: InRequestMessage(kMethod, id, reader) {
|
|
||||||
Reflect(reader, params);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_DocumentCodeLensResolveRequest& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER(params);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
struct Out_DocumentCodeLensResolveResponse : public OutResponseMessage {
|
struct Out_DocumentCodeLensResolveResponse : public OutResponseMessage {
|
||||||
TCodeLens result;
|
TCodeLens result;
|
||||||
|
|
||||||
@ -1483,12 +1518,17 @@ struct In_WorkspaceSymbolRequest : public InRequestMessage {
|
|||||||
|
|
||||||
lsWorkspaceSymbolParams params;
|
lsWorkspaceSymbolParams params;
|
||||||
|
|
||||||
In_WorkspaceSymbolRequest(optional<RequestId> id, Reader& reader)
|
In_WorkspaceSymbolRequest() : InRequestMessage(kMethod) {}
|
||||||
: InRequestMessage(kMethod, id, reader) {
|
|
||||||
Reflect(reader, params);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<typename TVisitor>
|
||||||
|
void Reflect(TVisitor& visitor, In_WorkspaceSymbolRequest& value) {
|
||||||
|
REFLECT_MEMBER_START();
|
||||||
|
REFLECT_MEMBER(id);
|
||||||
|
REFLECT_MEMBER(params);
|
||||||
|
REFLECT_MEMBER_END();
|
||||||
|
}
|
||||||
|
|
||||||
struct Out_WorkspaceSymbolResponse : public OutResponseMessage {
|
struct Out_WorkspaceSymbolResponse : public OutResponseMessage {
|
||||||
std::vector<lsSymbolInformation> result;
|
std::vector<lsSymbolInformation> result;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user