【问题标题】:Can ocaml's REPL supports auto-complete etc.?ocaml 的 REPL 可以支持自动补全等吗?
【发布时间】:2011-11-02 03:00:36
【问题描述】:

除了使用 rlwrap 之外,还有其他方法可以让 ocaml 支持自动完成等吗?

真诚的!

【问题讨论】:

    标签: ocaml


    【解决方案1】:

    最近在 OCaml 邮件列表中宣布了一个名为 utop 的系统。它是具有许多高级功能的 OCaml 顶级的替代品。它似乎托管在 OcamlCore.org:

    http://forge.ocamlcore.org/projects/utop/

    我没试过,但听起来不错。

    我自己使用 rlwrap。

    【讨论】:

    • 那么如何为 rlwrap 创建完成文件?
    • 我只使用--remember 标志,它会在您键入时累积有用的完成词列表。我明白为什么有人可能想要比这更强大的东西。
    【解决方案2】:

    您可以在 Emacs 缓冲区内使用 ocaml 顶层,它为您提供可靠的 rlwrap 类编辑功能,以及您在 Emacs 配置中的任何内容,包括潜在的非 ocaml 特定的完成模式。

    除了 Jeffrey 已经引用的 Jérémie Dimino 的 utop,还有其他相对于 OCaml 顶层的较旧项目。它们并不都提供补全,但您可能仍然对它们感兴趣:

    • Zheng Li 的Enhtop (README),提供浏览当前顶层环境的指令
    • Peng Zang 的 Enhtop+,Enhtop 的增量补丁,带有 tuareg-plus 模式,提供额外的 tuareg 功能,包括 ocaml 感知完成,也可从 Emacs 顶层缓冲区获得

    (相关但不面向顶层的是 Jun Furuse 的 Ocamlspotter,它允许获取 Emacs 中 OCaml 文件的准确位置信息)

    所有这些项目都是 OCaml 源代码的补丁。这意味着要安装它们,您必须下载 OCaml 编译器的源代码、修补它们、编译并使用结果作为您的 OCaml 安装(可以选择保留现有的 OCaml 安装、修补和编译相同版本的单独编译器,并有选择地使用/替换有趣的可执行文件)。这也意味着补丁开发人员有维护负担,必须遵循 OCaml 编译器升级,并且您可能会受到使用 OCaml 版本的限制。简而言之,部署起来并不容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 2012-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 2012-07-19
      相关资源
      最近更新 更多