7

我目前正在使用 tuareg-mode,但我也希望能够使用 caml-mode 的功能。特别是我希望能够以交互方式使用类型注释,显然这发生在 caml 类型中。我尝试将http://cristal.inria.fr/~remy/poly/emacs/index.html放在我的 .emacs.d 中,但我对这两种模式如何或是否可以一起工作感到困惑。事实上,我根本无法让 caml-mode 工作。

我的 init.el 中有这一行:

(add-to-list 'load-path "~/.emacs.d/modes/caml")

但是文件没有加载——至少没有函数定义或键绑定。我真的以为我开始掌握这些 emacs 插件是如何工作的,但我开始怀疑。也许有人可以解释还需要发生什么?

编辑:我没有意识到我必须require 'caml为此工作。尽管如此,尽管我有来自http://caml.inria.fr/svn/ocaml/branches/gadts/emacs/的 caml 类型,但注释似乎不起作用。我编译了,-annot但我仍然被告知没有注释文件。

4

1 回答 1

5

您可以使用 tuareg 模式进行类型注释。如果我有这个确切的 ~/.emacs 文件:

(add-hook 'tuareg-mode-hook '(lambda ()
  (define-key tuareg-mode-map [f10] 'caml-types-show-type); requires caml-types
  ))
(add-to-list 'auto-mode-alist '("\\.ml\\w?" . tuareg-mode))
(autoload 'caml-types-show-type "caml-types" "Show the type of expression or pattern at point." t)

然后按F10显示该点下的表达式类型。如您所知,您需要foo.ml使用

ocamlc -annot foo.ml

foo.annot这样在同一目录中就有一个文件foo.ml

于 2012-07-09T07:19:23.367 回答