2012-07-09 6 views
7

私は現在tuareg-modeを使用していますが、caml-modeの機能も使用したいと考えています。特に、私は対話的に型の注釈を使用できるようにしたいと思います。これはcaml型で発生します。私はhttp://cristal.inria.fr/~remy/poly/emacs/index.htmlを私の.emacs.dに置こうとしましたが、これらの2つのモードがどのように動作するかについて、混乱しています。実際、Camlモードはまったく動作しません。Tuareg-modeとcaml-mode

私は私のinit.elにこのラインを持っている:

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

しかし、ファイルがロードされていない - 少なくとも、関数定義やキーバインドのどれもありません。私は本当に、これらのプラグインがどのように動作するのか把握し始めていると思っていましたが、私は不思議に思っています。たぶん誰か他に何が起こる必要があるのか​​説明できますか?

編集:これが機能するにはrequire 'camlが必要でした。それでも、私はカムタイプがhttp://caml.inria.fr/svn/ocaml/branches/gadts/emacs/ですが、アノテーションは機能していないようです。私は-annotとコンパイルしますが、私はまだ注釈ファイルがないと言います。

答えて

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と同じディレクトリ内のファイルfoo.annotがあるよう

ocamlc -annot foo.ml 

を使用してファイルfoo.mlをコンパイルする必要があります。

+0

ありがとう、これは動作します。しかし、私は「C-c C-t」への挑戦を成功させました。 define-keyにキーを指定する特別な形式はありますか? – scry

+0

"C-c C-t"はこの最小限の.emacsで定義しなくてもここで動作します。 – jrouquie

+0

'tuareg-with-caml-mode-p'がnilでない限り、すべてがうまくいくように見えます。いつ有効になっていますか?私は自分でそれをする必要がないように感じる。ああ – scry

関連する問題