From 1b3fae1f5ae051ae908d1d96c245387d9a631efe Mon Sep 17 00:00:00 2001 From: Andreas Gerler Date: Wed, 24 Dec 2025 14:51:40 +0100 Subject: [PATCH] update color-identifiers-mode --- .../color-identifiers-mode-autoloads.el | 8 +-- .../color-identifiers-mode-pkg.el | 6 +- .../color-identifiers-mode.el | 57 ++++++++++--------- 3 files changed, 38 insertions(+), 33 deletions(-) rename elpa/{color-identifiers-mode-20241023.2217 => color-identifiers-mode-20251205.2247}/color-identifiers-mode-autoloads.el (95%) rename elpa/{color-identifiers-mode-20241023.2217 => color-identifiers-mode-20251205.2247}/color-identifiers-mode-pkg.el (71%) rename elpa/{color-identifiers-mode-20241023.2217 => color-identifiers-mode-20251205.2247}/color-identifiers-mode.el (96%) diff --git a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-autoloads.el b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-autoloads.el similarity index 95% rename from elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-autoloads.el rename to elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-autoloads.el index a3627bf7..61d614e1 100644 --- a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-autoloads.el +++ b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-autoloads.el @@ -39,7 +39,10 @@ either customize it (see the info node `Easy Customization') or call the function `global-color-identifiers-mode'.") (custom-autoload 'global-color-identifiers-mode "color-identifiers-mode" nil) (autoload 'global-color-identifiers-mode "color-identifiers-mode" "\ -Toggle Color-Identifiers mode in all buffers. +Toggle Color-Identifiers mode in many buffers. +Specifically, Color-Identifiers mode is enabled in all buffers where +`color-identifiers-mode-maybe' would do it. + With prefix ARG, enable Global Color-Identifiers mode if ARG is positive; otherwise, disable it. @@ -47,9 +50,6 @@ If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. -Color-Identifiers mode is enabled in all buffers where -`color-identifiers-mode-maybe' would do it. - See `color-identifiers-mode' for more information on Color-Identifiers mode. diff --git a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-pkg.el b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-pkg.el similarity index 71% rename from elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-pkg.el rename to elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-pkg.el index e69cbe9e..6de9b2ef 100644 --- a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode-pkg.el +++ b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode-pkg.el @@ -1,11 +1,11 @@ ;; -*- no-byte-compile: t; lexical-binding: nil -*- -(define-package "color-identifiers-mode" "20241023.2217" +(define-package "color-identifiers-mode" "20251205.2247" "Color identifiers based on their names." '((dash "2.5.0") (emacs "24.4")) :url "https://github.com/ankurdave/color-identifiers-mode" - :commit "89343c624ae64f568b5305ceca3db48d65711863" - :revdesc "89343c624ae6" + :commit "a868ccaeb2be5109391f8cb66004c9f457f0506f" + :revdesc "a868ccaeb2be" :keywords '("faces" "languages") :authors '(("Ankur Dave" . "ankurdave@gmail.com")) :maintainers '(("Ankur Dave" . "ankurdave@gmail.com"))) diff --git a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode.el b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode.el similarity index 96% rename from elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode.el rename to elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode.el index 001a6b92..030fa1fe 100644 --- a/elpa/color-identifiers-mode-20241023.2217/color-identifiers-mode.el +++ b/elpa/color-identifiers-mode-20251205.2247/color-identifiers-mode.el @@ -5,8 +5,8 @@ ;; Author: Ankur Dave ;; Url: https://github.com/ankurdave/color-identifiers-mode ;; Created: 24 Jan 2014 -;; Package-Version: 20241023.2217 -;; Package-Revision: 89343c624ae6 +;; Package-Version: 20251205.2247 +;; Package-Revision: a868ccaeb2be ;; Keywords: faces, languages ;; Package-Requires: ((dash "2.5.0") (emacs "24.4")) @@ -190,7 +190,7 @@ SCAN-FN." (setq next-change (next-property-change (point)))))) (hash-table-keys result))) -(dolist (maj-mode '(c-mode c++-mode java-mode rust-mode rust-ts-mode rustic-mode meson-mode typescript-mode cuda-mode tsx-ts-mode typescript-ts-mode)) +(dolist (maj-mode '(c-mode c++-mode java-mode rust-mode rust-ts-mode rustic-mode meson-mode typescript-mode cuda-mode tsx-ts-mode typescript-ts-mode python-ts-mode)) (add-to-list 'color-identifiers:modes-alist `(,maj-mode . ("" @@ -500,20 +500,16 @@ incompatible with Emacs Lisp syntax, such as reader macros (#)." (delete-dups result) result)) -(color-identifiers:set-declaration-scan-fn - 'clojure-mode 'color-identifiers:clojure-get-declarations) - -(add-to-list - 'color-identifiers:modes-alist - `(clojure-mode . ("" - "\\_<\\(\\(?:\\s_\\|\\sw\\)+\\)" - (nil)))) - -(add-to-list - 'color-identifiers:modes-alist - `(clojurescript-mode . ("" - "\\_<\\(\\(?:\\s_\\|\\sw\\)+\\)" - (nil)))) +(dolist (mode '(clojure-mode + clojure-ts-mode + clojurescript-mode)) + (color-identifiers:set-declaration-scan-fn + mode 'color-identifiers:clojure-get-declarations) + (add-to-list + 'color-identifiers:modes-alist + `(,mode . ("" + "\\_<\\(\\(?:\\s_\\|\\sw\\)+\\)" + (nil))))) (dolist (maj-mode '(tuareg-mode sml-mode)) (add-to-list @@ -685,7 +681,7 @@ mode. This variable memoizes the result of the declaration scan function.") (color-identifiers:refontify)) ;;;###autoload -(define-global-minor-mode global-color-identifiers-mode +(define-globalized-minor-mode global-color-identifiers-mode color-identifiers-mode color-identifiers-mode-maybe) (defun color-identifiers:attribute-luminance (attribute) @@ -778,10 +774,11 @@ be colored." (defun color-identifiers:scan-identifiers (fn limit) "Run FN on all candidate identifiers from point up to LIMIT. -Candidate identifiers are defined by -`color-identifiers:modes-alist'. Declaration scan functions are -not applied. If supplied, iteration only continues if CONTINUE-P -evaluates to true." + +Basically, this is the function that highlights all identifiers, with +highlight being done by applying FN. + +Candidate identifiers are defined by `color-identifiers:modes-alist'." (let ((identifier-context-re (nth 1 color-identifiers:colorize-behavior)) (identifier-re (nth 2 color-identifiers:colorize-behavior)) (identifier-faces (color-identifiers:curr-identifier-faces)) @@ -789,7 +786,16 @@ evaluates to true." ;; Skip forward to the next identifier that matches all four conditions (condition-case nil (while (< (point) limit) - (if (or (memq (get-text-property (point) 'face) identifier-faces) + (if (or (let ((curr-face (get-text-property (point) 'face))) + (or + ;; Note: if `curr-face' is nil, the memq will usually + ;; succeed because nil is typically part of the list. + (memq curr-face identifier-faces) + ;; `font-lock-variable-use-face' isn't included in + ;; `identifier-faces' due to the latter being also used for + ;; initial scanning, so `font-lock-variable-use-face' being + ;; there would be an overhead with no benefit. + (eq curr-face 'font-lock-variable-use-face))) (let ((flface-prop (get-text-property (point) 'font-lock-face))) (and flface-prop (memq flface-prop identifier-faces)))) (if (and (looking-back identifier-context-re (line-beginning-position)) @@ -812,9 +818,8 @@ evaluates to true." (hex (color-identifiers:color-identifier identifier))) (when hex (let ((face-spec (append `(:foreground ,hex) color-identifiers:extra-face-attributes))) - (put-text-property start end 'face face-spec) - (put-text-property start end 'color-identifiers:fontified t))))) - limit)) + (add-text-properties start end `(face ,face-spec color-identifiers:fontified t)))))) + limit)) (defun color-identifiers-mode-maybe () "Potentially enable `color-identifiers-mode' in the current buffer. -- 2.47.3