是否可以在Emacs下使用caml-mode中的tuareg字体?

时间:2011-07-20 13:47:47

标签: emacs fonts ocaml tuareg

对于Indentation of “if”,我必须在Emacs下使用caml-mode

但是我发现tuareg的字体比caml-font更加丰富多彩,所以我的问题是是否可以在tuareg中使用caml-mode的字体。< / p>

此外,对于需要caml-font的当前.emacs,当我打开.ml文件时,某些行(特别是在文件的开头)不会突出显示。如果我去那些线,修改它们,它们会改变它们的颜色。有谁能告诉我如何解决这个问题?

另外,除了tuaregcaml-font之外,你还有一些更好的字体可以建议ocaml程序吗?

非常感谢!

1 个答案:

答案 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)
   ...
   ))