我使用Merlin 和 Emacs 来编辑 OCaml 代码。它通常工作得很好,但我遇到了以下问题:
我需要使用一个由其他人构建的包,它向 OCaml 添加了一些不是该语言原生的关键字。由于我使用包来编译代码,因此编译效果很好。另一方面,Merlin 发疯了,认为新的关键字是错误的。幸运的是,新关键字只出现在一行的开头,所以我的代码看起来像这样:
let square x = x * x;;
let rec fact x =
if x <= 1 then 1 else x * fact (x - 1);;
FOO "This syntax is not standard Ocaml" square fact;;
FOO
新关键字在哪里。梅林会抱怨说Unbound constructor FOO
。所以问题是,我可以让马林忽略那条线吗?或者你能想出一个技巧来将语法包装在 Merlin 不会抱怨的东西中吗?