help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: face-remap-add-relative versus set-face-attribute


From: goncholden
Subject: Re: face-remap-add-relative versus set-face-attribute
Date: Sun, 13 Feb 2022 05:06:24 +0000

------- Original Message -------
On Sunday, February 13th, 2022 at 3:51 AM, Emanuel Berg via Users list for the 
GNU Emacs text editor <help-gnu-emacs@gnu.org> wrote:
> goncholden wrote:

> > > You have to evaluate it to find out what it does ...

> > The beginning (characters ;; are red), the rest is another
> > colour I had set up. Should one also colourise
> > the delimiters?

> I want them the same color, so I copy the color of
> font-lock-comment-face to font-lock-comment-delimiter-face.

I am a little stuck here

(defvar richkov-annotation-contrast 2
  "Sets the colour contrast (against background) for comments.")

(defvar richkov-annotation-chroma
  '( (dark .  ((low  . "#8300E0") (mid  . "#AA33FF") (high . "#C370FF")))
     (light . ((low  . "#C16BFF") (mid  . "#AA33FF") (high . "#8000DB"))) )
  "Colour contrast for comments, indigo on dark and light background.")

(defun richkov-annotation-typeface (chroma)
  "Set the foreground colour for comments.

CHROMA  Intensity Key used for setting colour of comments ."

  (message "richkov-annotation-typeface ")
  (let* ( (colors richkov-annotation-chroma)
          (levels
           (alist-get (frame-parameter nil 'background-mode) colors)) )

    (face-remap-add-relative 'font-lock-comment-face
       `(:foreground ,(alist-get chroma levels)))

    (message "richkov-annotation: %s contrast" chroma)) )

(defun richkov-annotation-low-contrast ()
  (when richkov-minor-mode
    (richkov-annotation-typeface 'low)))

;;;###autoload
(define-minor-mode richkov-minor-mode
  "Colour Brace Marks according to their depth."
  :lighter "richkov"  ; indicator in mode-line

  (font-lock-remove-keywords nil richkov-font-lock)
  (set-face-attribute 'font-lock-comment-face nil
     :weight (face-attribute 'default :weight))

  (when richkov-minor-mode
    (set-face-attribute 'default :weight 'bold)
    (set-face-attribute 'font-lock-comment-face nil :weight 'normal)
    (font-lock-add-keywords nil richkov-font-lock 'append)
    (set (make-local-variable 'jit-lock-contextually) t)
    (richkov-annotation-tools))

  (when font-lock-mode
    (if (fboundp 'font-lock-flush)
        (font-lock-flush)
      (with-no-warnings (font-lock-fontify-buffer)) )) )



reply via email to

[Prev in Thread] Current Thread [Next in Thread]