-
Hi! I was hoping to get a better understanding of the project to be able to implement custom requests. Lots of Fiber and stream code aside, I noticed that the main logic is in the on_request function in I looked at a couple of
I'll admit that I don't have lots of experience with OCaml or the OCaml ecosystem, but I was slightly lost in the Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi @jpoly1219 ! A quick answer to the title "Is knowing Merlin a prerequisite for contributing?" is: it depends on what your trying to do. Most of the time a query is forwarded to Merlin using the protocol described here. This is simple plumbing and requires little knowledge of how Merlin. If you want to perform custom analysis then you need to understand how Merlin internals work. The usual route a of a request is something like this:
Just a warning: we try not to clutter the server with custom request that also require custom client support. Every feature that can be implemented via the official protocol should be done that way. If your goal is to have your custom request merged upstream, I encourage you to open an issue describing precisely its interface and the reason why you think it would be useful. |
Beta Was this translation helpful? Give feedback.
Hi @jpoly1219 !
A quick answer to the title "Is knowing Merlin a prerequisite for contributing?" is: it depends on what your trying to do. Most of the time a query is forwarded to Merlin using the protocol described here. This is simple plumbing and requires little knowledge of how Merlin. If you want to perform custom analysis then you need to understand how Merlin internals work.
The usual route a of a request is something like this:
Ocaml_lsp_server
module which is the heart of the server and main entry point when adding support for new requests. …