Refactor some types into query_protocol_kernel
#1952
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR is difficult for me to motivate as it makes much more sense in the https://github.com/oxcaml/merlin context, but I figured it would be worth opening for the sake of keeping that fork in line with the main fork.
The main goal of this PR is to move some more type definitions (as well as some serializers/deserializers for them) into
query_protocol_kernel
. This is a new directory that I introduced in #1951 that facilitates sharing code between Merlin and VSCode extensions by being js_of_ocaml compatible.This also replaces some functions with ppx-derived functions. This involves adding
ppx_jane
as a dependency, which I expect to be controversial. There's a related discussion in-progress in #1951 aboutppx_yojson_conv
, so I expect the resolution of that discussion to inform this one.Reviewing Note
These changes are based on the changes from #1951 as they overlap slightly, but I pointed the PR at the main branch so that this PR can live in the oxcaml/merlin repo rather than my personal fork. Thus, the commits up to and including f71ee32 should be ignored while reviewing.