merlin
merlin copied to clipboard
MerlinLocate/MerlinLocateImpl locate the interface of local executable
Consider:
% echo 'let _ = Test2.foo' > test.ml
% echo 'let foo = 42' > test2.ml
% echo 'val foo : int' > test2.mli
% echo '(executable (name test))' > dune
After building, MerlinLocateImpl (and MerlinLocate with let g:merlin_locate_preference = 'ml') on Test2.foo in test.ml jump to the test2.mli instead of test2.ml as expected.
Gentle ping. This makes lsp's jump-to-definition somewhat frustrating to use.
A complete rewrite of locate will land with OCaml 5.2 and it appears to fix that issue :-)