1

对于“if”</a> 的缩进,我必须caml-mode在 Emacs 下使用。

但我发现 的字体tuareg比 更丰富多彩caml-font,所以我的问题是是否可以使用tuaregin的字体caml-mode

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

tuareg另外,除了and之外,你还有一些更好的字体供 ocaml 程序推荐caml-font吗?

非常感谢!

4

1 回答 1

1

你的意思是你更喜欢这些颜色还是他们的颜色更多?

如果是后者,可能很难将 tuareg 字体锁定与 caml-mode 一起使用,尽管我只看了这两者。

如果是前者,您可以简单地自定义所使用的面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)
   ...
   ))
于 2011-07-22T14:01:58.017 回答