face font in c-mode when adding new keyword

前端 未结 1 397
星月不相逢
星月不相逢 2021-01-27 08:44

I am trying to customize some added words to be colored differently from the default face-font colors.

This is what I am doing:

(defconst lconfig-font-lo         


        
1条回答
  •  不思量自难忘°
    2021-01-27 09:18

    Here are some examples that you could modify -- e.g., change to c-mode instead of latex-mode, and modify it with your colors and regexp. As the definitions become more complex, the order in which they appear in the list may trump previous definitions -- so if what your doing should be working, then check the order in which they appear.

    (defvar lawlist-super-HotPink1 (make-face 'lawlist-super-HotPink1))
    (set-face-attribute 'lawlist-super-HotPink1 nil :background "white" :foreground "HotPink1" :bold t :underline nil :font "Courier" :height 200)
    
    (defvar lawlist-super-SeaGreen (make-face 'lawlist-super-SeaGreen))
    (set-face-attribute 'lawlist-super-SeaGreen nil :background "white" :foreground "SeaGreen" :bold t :underline nil :font "Courier" :height 200)
    
    (defvar lawlist-keywords-01
        (concat "\\b\\(?:"
            (regexp-opt (list "INSERT" "CLIENT" "RECIPIENT" "document-name" ))
        "\\)\\b"))
    
    (defvar lawlist-keywords-02
        (list (concat "\\b\\(?:"
            (regexp-opt (list "FIXME" "TO-DO" "BUGS" ))
        "\\)\\b") 0 'lawlist-red t))
    
    (font-lock-add-keywords 'latex-mode (list
    
        (list (concat "\\(\{\\)\\(\\\\bf\\)\\(\\\\uline\\)\\(\{\\)\\(\\(.\\|\n\\)+?\\)\\(\}\\)\\(\}\\)")
            '(1 lawlist-regular t)
            '(2 lawlist-red t)
            '(3 lawlist-blue t)
            '(4 lawlist-regular t)
            '(5 lawlist-bold-underline t)
            '(7 lawlist-regular t)
            '(8 lawlist-regular t))
    
        (list (concat
            "\\("lawlist-keywords-01"\\)") 1 'lawlist-bumble-bee t)
    
        lawlist-keywords-02
    
        (list (concat "\\(\\blawlist\\b\\)") 1 'lawlist-pink t)
    
    ))
    
    
    (font-lock-add-keywords 'latex-mode '(
    
    ("INCLUDE\\|REVISED" 0 lawlist-red t)
    
    ("\\(foo\\)-\\(bar\\)" (1 lawlist-super-orange t) (2 lawlist-super-cyan t))
    
    ("\\(hello\\) \\(World\\)" (1 lawlist-super-orange t) (2 lawlist-super-blue t))
    
    ) 'prepend)
    

    EDIT

    (font-lock-add-keywords 'c-mode '(
    
    ("^#[ \t]*\\(ifdef\\|else\\|ifndef\\|if !?defined\\|if\\|elif\\|endif\\|ident\\).*$" (1 lawlist-super-HotPink1 t) )
    
    ("\\(^#[ \t]*define\\|^#[ \t]*include\\|^#[ \t]*undef\\).*$" (1 lawlist-super-SeaGreen t))
    
    ) 'prepend)
    

    0 讨论(0)
提交回复
热议问题