如何使Syntastic错误检查与OCaml一起工作?

17

Syntastic通常可以正常工作(例如,如果我编辑C/C++文件,则会收到语法错误通知),但我无法让它显示OCaml的语法错误。

除此之外,我的OCaml安装似乎没有问题,并且在Syntastic的ocaml.vim文件头中提到的可执行文件已在我的路径中。

有什么想法吗?


你有检查 syntastic/syntax_checkers/ocaml.vim 头部的注释吗?那里解释了如何配置 Vim 使用特定的 ocaml 检查器... - plesiv
奇怪,我不记得做了什么特别的来让它与OCaml一起工作。你是通过vundle或类似的方式安装syntastic吗? - rgrinberg
我也遇到了同样的问题,于是我安装了Syntastic插件。经过一番尝试,我发现阅读插件文本后得知它需要ocamlp4o才能运行。如果你的路径中有这个文件,那么应该就没问题了,但是我已经将其添加到了bash路径中,但仍然无法正常工作。当你阅读插件的ocamlp4o.vim文件时,你会发现作者评论说,当无法正确设置时,不会抛出任何异常... 我已经向Syntastic开发人员和ocaml Syntastic插件的创建者发送了电子邮件,并在论坛上发布了帖子。 - Adam Miller
Also-omlet是为我提供语法高亮的工具。我想确保我们在同一水平上:syntastic应该显示错误,但它没有。我的.ml文件已经足够突出显示了。如果您有不同的理解,请告诉我。 - Adam Miller
1
似乎对于某些.ml文件,错误检查是有效的,但并非所有文件都有效。我并没有确切的模式来解释为什么它适用于我的项目中的某些文件,而对其他文件则无效。然而,我知道如果我只创建一个任意的.ml文件(不属于我的项目),它似乎不起作用。 - Nicholas Meyer
:SyntasticInfo 将告诉您可用和活动检查器。 - everett1992
2个回答

7
最可能的原因是没有安装所需的语法检查器。例如:Python需要安装flake8、pyflakes或pylint,并将其添加到$PATH中。要查看支持哪些可执行文件,请查看syntax_checkers//*.vim。请注意,别名不起作用;实际的可执行文件必须在$PATH中可用。符号链接可以使用。您可以通过运行:SyntasticInfo来查看syntastic可用检查器的想法。
另一个失败的原因可能是命令行选项或语法检查器的错误输出可能已更改。在这种情况下,请确保安装了最新版本的语法检查器。如果仍然失败,则创建一个问题-或者更好的是,创建一个pull请求。
来源: https://github.com/scrooloose/syntastic

0

Merlin 提供比 Syntastic 自带的检查器更全面的检查功能,可以给出正确的类型错误,并允许您使用核心之外的包。


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