除了使用rlwrap之外,还有其他方法可以使ocaml支持自动完成等吗?
此致!
答案 0 :(得分:11)
最近,在OCaml邮件列表上公布了名为 utop 的系统。它是OCaml顶级产品的替代产品,具有许多高级功能。它似乎托管在OcamlCore.org:
http://forge.ocamlcore.org/projects/utop/
我没试过,但听起来不错。
我自己使用rlwrap。
答案 1 :(得分:7)
您可以在Emacs缓冲区内使用ocaml toplevel,这样可以使您保持稳定rlwrap
- 就像编辑功能一样,以及Emacs配置中的任何内容,包括潜在的非ocaml特定完成模式。
除了Jeffrey已经引用的JérémieDimino的utop之外,还有其他相对于OCaml顶级的项目。他们并非都提供完成,但您可能仍然对它们感兴趣:
(相关,但不是面向顶层的,是Jun Furuse的Ocamlspotter,它允许在Emacs中获取OCaml文件的这个名称定义信息的精确位置)
所有这些项目都是OCaml来源的补丁。这意味着要安装它们,您必须下载OCaml编译器的源代码,修补它们,编译并将结果用作OCaml安装(可以选择保留现有的OCaml安装,修补和编译相同版本的编译器分开,并有选择地使用/替换有趣的可执行文件)。这也意味着补丁开发者需要遵循OCaml编译器升级的维护负担,并且您可能会受限于要使用哪个版本的OCaml。简而言之,部署起来并不容易。