如何在Emacs Merlin模式下跳转到.ml(而不是.mli)中的函数定义

3
当我按下M-.C-c C-l时,通常会跳转到.mli文件中函数的声明。往往有一个相关的.ml文件,可以使用C-c C-a切换到该文件,但是,我必须手动搜索其中这个函数的实现。
如果有一种简单的方法可以直接跳转到.ml文件中的定义,或者在.mli.ml之间切换时以某种方式定位到相应的函数位置,那就太好了。
1个回答

3
这由变量merlin-locate-preference控制,文档中指出:

确定locate是否应优先查找ml或mli文件。

因此,一旦将变量设置为'ml,您将会着陆到实现代码(如果有的话)。
(setq merlin-locate-preference 'ml)

有趣的是,默认情况下它使用'ml,因此要么您已经覆盖了它,要么是因为merlin找不到定义而跳转到mli。如果您想要在另一个项目中跳转到定义,则需要在您的.merlin文件中添加相应的SB子句。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接