首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Merlin (OCaml)忽略一些行?

如何使Merlin (OCaml)忽略一些行?
EN

Stack Overflow用户
提问于 2014-09-04 23:08:27
回答 2查看 400关注 0票数 1

我使用合并与Emacs一起编辑OCaml代码。它通常运行得很好,但我解决了以下问题:

我需要使用一个由其他人构建的包,它为OCaml添加了一些与语言无关的关键字。因为我使用这个包来编译代码,所以编译工作非常出色。另一方面,梅林疯了,认为新的关键字是一个错误。幸运的是,新关键字只出现在行的开头,所以我的代码如下所示:

代码语言:javascript
复制
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不会抱怨的东西来包装语法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-24 19:28:53

Merlin不支持任意语法扩展,也不会支持任意语法扩展,但是它们确实对最常用的camlp4扩展(如pa_lwt、pa_macro等)进行解析攻击。最新的merlin版本将跳过未知的行并恢复解析,这样就可以对文件的其他部分进行“转到定义”和类型回滚工作,而不是通过语法扩展名进行修改。

票数 1
EN

Stack Overflow用户

发布于 2016-03-04 11:58:31

另一种选择,虽然非常不同,但它提供了Merlin功能的一个子集(在文件中导航,从库中完成和文档),即ocp索引。

Ocp-索引不解释或键入当前文件(它只扫描文件打开之类的内容),因此不会受到任意扩展的困扰。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25676322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档