From 3aa98696cfa11d7583eb8ae16585fdc303a9aea5 Mon Sep 17 00:00:00 2001 From: User Date: Thu, 2 Jul 2026 17:06:29 +0800 Subject: [PATCH] refactor(kbd): Replace my-color-picker with consult-colors-emacs --- lisp/init-base.el | 1 - lisp/init-completion.el | 3 +++ lisp/init-kbd-func.el | 24 ++++++++++++------------ lisp/init-kbd.el | 2 +- lisp/init-terminal-package.el | 1 - 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lisp/init-base.el b/lisp/init-base.el index 8cd09c0..ff8ddbe 100644 --- a/lisp/init-base.el +++ b/lisp/init-base.el @@ -68,7 +68,6 @@ search-ring regexp-search-ring extended-command-history) - savehist-ignored-variables '(consult-notes-history) savehist-autosave-interval 300)) ;; saveplace,保存光标位置 diff --git a/lisp/init-completion.el b/lisp/init-completion.el index 81defd2..2dfb7a4 100644 --- a/lisp/init-completion.el +++ b/lisp/init-completion.el @@ -35,6 +35,9 @@ (*is-linux* (setq consult-locate-args "plocate --basename --ignore-case"))) + (define-key consult-narrow-map (vconcat consult-narrow-key "?") #'consult-narrow-help) + (setq consult-narrow-key "<") + ;; set some buffer filter (setq consult-buffer-filter (cl-union consult-buffer-filter diff --git a/lisp/init-kbd-func.el b/lisp/init-kbd-func.el index 5a7cb7a..2ad6b19 100644 --- a/lisp/init-kbd-func.el +++ b/lisp/init-kbd-func.el @@ -257,18 +257,18 @@ argument)." (when-let* ((proj (project-current t))) (consult-ripgrep (project-root proj)))) -(defun my-color-picker () - "Pick a color with preview." - (interactive) - (let* ((colors (defined-colors)) - (choice (completing-read - "Color: " - (mapcar (lambda (c) - (propertize - (format "%-20s %s" c "████") - 'face `(:foreground ,c))) - colors)))) - (string-trim (car (split-string choice))))) +(defun consult-colors-emacs (color) + "Show a list of all supported colors for a particular frame. + +You can insert the name (default), or insert or kill the hexadecimal or RGB +value of the selected COLOR." + (interactive + (list (consult--read (list-colors-duplicates (defined-colors)) + :prompt "Emacs color: " + :require-match t + :category 'color + :history '(:input consult-colors-history)))) + (insert color)) (defun fix-theme-colors () "Fix invalid color name in theme files." diff --git a/lisp/init-kbd.el b/lisp/init-kbd.el index aac4ebb..4568f94 100644 --- a/lisp/init-kbd.el +++ b/lisp/init-kbd.el @@ -37,7 +37,7 @@ "R" 'rainbow-mode "b" 'indent-bars-mode "t" 'consult-theme - "c" 'my-color-picker + "c" 'consult-colors-emacs "f" 'describe-face "r" 'rainbow-delimiters-mode "k" 'keycast-header-line-mode diff --git a/lisp/init-terminal-package.el b/lisp/init-terminal-package.el index ffb9f95..20dedb8 100644 --- a/lisp/init-terminal-package.el +++ b/lisp/init-terminal-package.el @@ -41,7 +41,6 @@ search-ring regexp-search-ring extended-command-history) - savehist-ignored-variables '(consult-notes-history) savehist-autosave-interval 300)) (use-package saveplace