Как перейти к определению функции в.ml (не.mli) в emacs merlin-mode
Когда я нажимаю M-.
или же C-c C-l
обычно он переходит к объявлению функции в файле .mli. Часто есть связанный файл .ml, к которому я могу переключиться C-c C-a
но тогда мне придется искать реализацию этой функции в нем вручную.
Если есть простой способ перейти непосредственно к определению в файле .ml или как-то позиционировать его в соответствующем месте функции при переключении между .mli и .ml?
1 ответ
Это регулируется merlin-locate-preference
переменная, в документации которой говорится:
Определите, должен ли locate в приоритетном порядке выглядеть в файлах ml или mli.
Таким образом, вы перейдете к реализации, если она доступна, когда переменная будет установлена в 'ml
:
(setq merlin-locate-preference 'ml)
Интересно, что по умолчанию 'ml
так что либо вы перезаписали его, либо мерлин перешел на mli, потому что он не может найти определение. Если вы хотите перейти к определению в другом проекте, то добавьте соответствующий S
а также B
пункты к вашему .merlin
файл.