2012-07-09 26 views
7

Tôi hiện đang sử dụng chế độ tuareg nhưng tôi cũng muốn có thể sử dụng chức năng của chế độ caml. Đặc biệt, tôi muốn có thể sử dụng chú thích kiểu tương tác, và rõ ràng điều này xảy ra với kiểu caml. Tôi đã thử đặt http://cristal.inria.fr/~remy/poly/emacs/index.html trong .emacs.d của mình, nhưng tôi đã nhầm lẫn về cách thức hoặc nếu hai chế độ này có thể hoạt động cùng nhau. Trong thực tế, tôi không thể có được chế độ caml để làm việc cả.Tuareg-mode và caml-mode

Tôi có dòng này trong init.el tôi:

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

Nhưng các tập tin không được nạp - ít nhất, không ai trong số các định nghĩa hàm hay keybindings đang có. Tôi thực sự nghĩ rằng tôi đã bắt đầu nắm bắt như thế nào các plugin emacs làm việc, nhưng tôi bắt đầu tự hỏi. Có lẽ ai đó có thể giải thích điều gì khác cần phải xảy ra?

Chỉnh sửa: Tôi không nhận ra mình đã phải require 'caml để làm việc này. Tuy nhiên, chú thích dường như không hoạt động mặc dù tôi có loại caml từ http://caml.inria.fr/svn/ocaml/branches/gadts/emacs/. Tôi biên dịch với -annot nhưng tôi vẫn nói rằng không có tệp chú thích.

Trả lời

5

Bạn có thể có chú thích kiểu với chế độ tuareg. Nếu tôi có chính xác ~/emacs tập tin này:

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

sau đó nhấn F10 cho thấy kiểu của biểu thức dưới điểm. Như bạn đã biết, bạn cần phải biên dịch tập tin của bạn foo.ml với

ocamlc -annot foo.ml 

để có một tập tin foo.annot trong cùng thư mục với foo.ml.

+0

Cảm ơn, công trình này. Nhưng tôi đã thử ràng buộc với "C-c C-t" mà không thành công. Có định dạng đặc biệt để chỉ định khóa trong khóa xác định không? – scry

+0

"C-c C-t" cũng hoạt động ở đây, với các tối thiểu .emac này, mà không cần phải xác định nó. – jrouquie

+0

Vâng, có vẻ như mọi thứ đều hoạt động miễn là 'tuareg-with-caml-mode-p' là không-nil - khi nào được cho là được kích hoạt? Tôi cảm thấy mình không nên tự mình làm điều đó. eh. – scry

Các vấn đề liên quan