1

我正在寻找一个正则表达式来以不同的方式突出显示一个星号(例如红色)、两个星号(例如蓝色)和三个星号(黄色)。我有一个三 (3) 的工作示例。然而,只定义一个会影响一切,除非有一个正则表达式排除。

* -- red

** -- blue

*** -- yellow

(defvar lawlist-yellow-jacket-face (make-face 'lawlist-yellow-jacket-face))
(set-face-attribute 'lawlist-yellow-jacket-face nil
  :background "black" :foreground "yellow" :underline "red" :bold t)

(add-hook 'text-mode-hook (lambda ()
  (font-lock-add-keywords nil (list
    (list (concat "lawlist\\|\\*\\*\\*")
      '(0 lawlist-yellow-jacket-face t))
     ))
  ))
4

1 回答 1

1

如果我正确理解您的要求,则可以这样做:

(add-hook 'text-mode-hook
          (lambda ()
            (font-lock-add-keywords
             nil
             '(("lawlist\\|\\*\\*\\*"
                (0 lawlist-yellow-jacket-face))
                ("lawlist\\|\\*\\*"
                (0 'link keep))
               ("lawlist\\|\\*"
                (0 'warning keep))))))
于 2013-10-03T01:44:58.390 回答