This will allow us to to embed Agent and the petanque JSON-RPC protocol into LSP directly.
The change is not backwards compatible, as in this model clients aren't supposed to handle Env.t anymore, so this paramater is dropped from petanque/start and from the return type of petanque/setWorkspace.
Instead, clients now have to provide a call-back for the agent to retrieve the document.
As we are breaking the protocol, we profit from doing some other small tweaks. Full list of protocol changes:
petanque/init renamed to petanque/setWorkspace, it is optional for clients to do that now (for example when embedded in LSP, the LSP will configure petanque automatically for that). The method now returns unit.
petanque/start doesn't have an Env.t parameter anymore
petanque/premises return type has been tweaked to better reflect the underlying semantics
This will allow us to to embed
Agent
and the petanque JSON-RPC protocol into LSP directly.The change is not backwards compatible, as in this model clients aren't supposed to handle
Env.t
anymore, so this paramater is dropped frompetanque/start
and from the return type ofpetanque/setWorkspace
.Instead, clients now have to provide a call-back for the agent to retrieve the document.
As we are breaking the protocol, we profit from doing some other small tweaks. Full list of protocol changes:
petanque/init
renamed topetanque/setWorkspace
, it is optional for clients to do that now (for example when embedded in LSP, the LSP will configure petanque automatically for that). The method now returnsunit
.petanque/start
doesn't have anEnv.t
parameter anymorepetanque/premises
return type has been tweaked to better reflect the underlying semanticscc: @gbdrt