对于Indentation of “if”,我必须在Emacs下使用caml-mode
。
但是我发现tuareg
的字体比caml-font
更加丰富多彩,所以我的问题是是否可以在tuareg
中使用caml-mode
的字体。< / p>
此外,对于需要caml-font
的当前.emacs,当我打开.ml
文件时,某些行(特别是在文件的开头)不会突出显示。如果我去那些线,修改它们,它们会改变它们的颜色。有谁能告诉我如何解决这个问题?
另外,除了tuareg
和caml-font
之外,你还有一些更好的字体可以建议ocaml程序吗?
非常感谢!
答案 0 :(得分:1)
你是说你更喜欢颜色还是颜色更多?
如果是后者,可能很难在caml模式下使用tuareg字体锁定,尽管我只看了两点。
如果是前者,您可以简单地自定义caml-mode
使用的面部以使用更好的面部(我指的是字体或“颜色”)。使用足够新的emacs,将光标放在要更改的面上,然后键入M-x customize-face RET
。它将显示您所在的脸部名称,因此请再次返回。然后你可以以任何你想要的方式改变面部。作为第一步,您可以保持tuareg.el
打开并检查其中有哪些面,例如
(defface tuareg-font-lock-governing-face
'((((background light)) (:foreground "blue" :bold t))
(t (:foreground "orange" :bold t)))
"Face description for governing/leading keywords."
:group 'tuareg-faces)
是用于let的面部的定义,因此您只需将光标放在let M-x customize-face RET RET
上,然后将前景更改为蓝色并打开粗体(假设您有浅色背景)。别忘了保存它。
或者,您可以修改caml-font.el
并更改caml-font-lock-keywords
部分以使用您喜欢的字体(可以来自tuareg)。如果您想要添加到.emacs
,则应将其更改为(setq caml-font-lock-keywords ...)
。
(defconst caml-font-lock-keywords
(list
...
;definition
(cons (concat
"\\<\\(a\\(nd\\|s\\)\\|c\\(onstraint\\|lass\\)"
"\\|ex\\(ception\\|ternal\\)\\|fun\\(ct\\(ion\\|or\\)\\)?"
"\\|in\\(herit\\|itializer\\)?\\|let"
"\\|m\\(ethod\\|utable\\|odule\\)"
"\\|of\\|p\\(arser\\|rivate\\)\\|rec\\|type"
"\\|v\\(al\\(ue\\)?\\|irtual\\)\\)\\>")
;; 'font-lock-type-face)
'tuareg-font-lock-governing-face)
...
))