标签: merlin

Merlin抱怨同一个项目缺少模块

我是Ocaml的新手,只是用emacs,merlin和flycheck设置我的开发环境.除了一件事之外,一切都或多或少地起作用:merlin似乎无法识别同一项目中模块之间的依赖关系.

例如,我有一个包含两个模块的测试项目:main.ml和awesome.ml.

这是我的main.ml引用第二个模块awesome.ml

(* main.ml *)
open Core
module A = Awesome
let _ =
   Printf.printf "hello \n Converted to string we get: %s\n"
     (A.str_of_t (A.succ A.one_t));
Run Code Online (Sandbox Code Playgroud)

这是awesome.ml:

(* awesome.ml *) 
type t = int
let one_t = 1
let succ i = i + 1
let str_of_t = string_of_int
Run Code Online (Sandbox Code Playgroud)

当我发送main.ml缓冲区以使用utop-eval-buffer函数评估到utop时,我收到一个错误:"错误:未绑定的模块很棒"

我在项目的根目录中有.merlin,它有S指令.我知道它是由梅林发现的,因为它没有抱怨"开放核心"

S src
PKG core lwt ounit
B _build/src
B +threads
Run Code Online (Sandbox Code Playgroud)

这是我的_tags:

<src/**>: include
<src/**>: package(oUnit), package(core)
true:thread
Run Code Online (Sandbox Code Playgroud)

ocamlbuild的常规项目编译工作正常,没有错误.这是Makefile

## Makefile
default: main
main: main.native

test: test.native

%.native:
   ocamlbuild …
Run Code Online (Sandbox Code Playgroud)

emacs ocaml utop merlin

8
推荐指数
1
解决办法
3334
查看次数

在vim中获取ocamlmerlin自动完成功能

我正在尝试为OCaml进行自动完成.我喜欢使用Vim,我找到了这个插件:

https://github.com/the-lambda-church/merlin

我使用OPAM安装它并添加了所需的行以将其加载到我的.vimrc

我确保OPAM bin文件夹(包含ocamlmerlin)在我的.profile文件中,并检查我是否可以从终端访问它,对于vim,我使用"Ctrl-r = $ PATH"打印了PATH变量,它显示了它包含OPAM bin文件夹.

它仍然不起作用,我不知道还有什么可以使其工作.我得到了语法高亮,但无论如何都没有merlin.我希望自动完成工作.

如果我按Ctrl-N显示完成建议我得到"正常"的vim完成,这基本上只是文档中提到的单词列表.

检查启动日志文件,我可以看到Vim确实加载了merlin:

chdir(/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin)
fchdir() to previous dir
sourcing "/home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim"
finished sourcing /home/incraved/.opam/system/share/ocamlmerlin/vim/plugin/merlin.vim
Searching for "/home/incraved/.opam/system/share/ocamlmerlin/vimbufsync/plugin/**/*.vim"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

vim ocaml autocomplete merlin

5
推荐指数
1
解决办法
1251
查看次数

在Vim中使用Merlin在ocaml中开发Coq插件

我用opam安装了Coq,并想制作一个Coq插件。我设法使用编译了一些插件示例coq_makefile,但是如果我可以在vim中使用merlin来获取类型信息并完成Coq库,那将是很棒的。

有没有一种方法可以将Coq库添加到ocamlfind?

vim ocaml coq ocamlfind merlin

5
推荐指数
1
解决办法
299
查看次数

标签 统计

merlin ×3

ocaml ×3

vim ×2

autocomplete ×1

coq ×1

emacs ×1

ocamlfind ×1

utop ×1