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

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

Colourise text in a buffer using a list


From: Heime
Subject: Colourise text in a buffer using a list
Date: Fri, 13 Sep 2024 01:21:17 +0000

I have a buffer with text inserted from a list from a list.

How can I print specific text form the list at INDEX by colouring 
that text it red ?

(defun xiakos-check-red (lst index buffer)
  "Color the element at INDEX in LST red."

  (with-current-buffer buffer

    (let* ( (text (nth index lst))
            (start-pos nil)
            (end-pos nil) )

      (save-excursion

        ;; Find the start and end positions of the text
        (goto-char (point-min))
        (dotimes (i index)
          (forward-line)
          (when (re-search-forward
                  (regexp-quote text) (line-end-position) t)
            (setq start-pos (match-beginning 0))
            (setq end-pos (match-end 0)))
          (unless start-pos
            (goto-char (point-min))))

        ;; Apply the red color to the found range
        (when (and start-pos end-pos)
          (add-text-properties start-pos end-pos
                               '(face (:foreground "red"))))))))





reply via email to

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