2012-07-09 31 views
7

Şu anda tuareg modunu kullanıyorum ama caml modunun işlevselliğini de kullanmak istiyorum. Özellikle, etkileşimli olarak tür ek açıklamaları kullanmak istiyorum ve görünüşe göre bu caml-tipleri ile gerçekleşir. .emacs.d 'e http://cristal.inria.fr/~remy/poly/emacs/index.html'u eklemeyi denedim, ancak bu iki modun birlikte nasıl çalışıp çalışmayacağı konusunda kafam karıştı. Aslında, hiç çalışmak için caml modunu alamıyorum.Tuareg modu ve kamera modu

benim init.el bu satırı vardır:

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

Ama dosyalar yüklenmez - en azından fonksiyon tanımları veya keybinding ilgilendirmez. Gerçekten bu emacs eklentilerinin nasıl çalıştığını anlamaya başladım, ama merak etmeye başladım. Belki biri başka ne olması gerektiğini açıklayabilir mi?

Düzenleme: Bunun çalışması için require 'caml'a sahip olduğumu farketmedim. Yine de, ek açıklamaları, http://caml.inria.fr/svn/ocaml/branches/gadts/emacs/'dan gelen caml türlerim olsa da çalışıyor görünmüyor. -annot ile derledim ama hala ek not dosyası bulunmadığını söylüyorum.

cevap

5

Tuareg modu ile birlikte ek açıklama yazabilirsiniz. Ben tam bu ~/.emacs dosyanız varsa :

(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) 

sonra basarak F10

noktasının kapsamındaki ifade türünü gösterir. Bildiğiniz gibi , bunu foo.ml aynı dizinde bir dosya foo.annot olduğunu

ocamlc -annot foo.ml 

ile dosyanızı foo.ml derlemek gerekir.

+0

Teşekkürler, bu çalışır. Ama başarılı olmadan "C-c C-t" ye bağlamayı denedim. Anahtarları tanımlamak için özel bir format var mı? – scry

+0

"C-c C-t", bu minimum .emac ile, tanımlamak zorunda kalmadan, burada da çalışır. – jrouquie

+0

Eh, her şey çalışıyor gibi görünüyor "Tuareg-with-caml-mode-p" non-nil - ne zaman etkin olması gerekiyordu? Kendim yapmak zorunda olmamam gerektiğini hissediyorum. eh. – scry