branch: externals/kind-icon commit ee51d05c09cfa9096abb9145313a604b89868b43 Author: JD Smith <93749+jdtsm...@users.noreply.github.com> Commit: JD Smith <93749+jdtsm...@users.noreply.github.com>
kind-icon-preview-all command --- README.md | 4 ++++ kind-icon.el | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/README.md b/README.md index 8eb6d64af3..39a8c97e9b 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,10 @@ And yes, you can use **any icons**! You can also use simple text-based prefixes instead of icons. The icons are quite lightweight so there shouldn't be much performance difference, but some may prefer a simpler look. A "text" icon is composed of either one or two characters (anything longer will be trimmed). Simply set the `kind-icon-use-icons` variable to `nil` and (if desired) customize the "Short-Text" in the mapping. Note that if you are not connected to the network, even if you have enabled icons, any icons which [...] +### Previewing + +Use `M-x kind-icon-preview-all` to reset and preview all icons (text and SVG icons both) in a view buffer. This also has the effect of pre-downloading all icons, courtesy svg-lib. + ### Debugging Tips If you get an error mentioning `corfu--post-command`, and notice that you don't get a backtrace even after invoking `toggle-debug-on-error`, this is because backtraces are inhibited during post-command hooks. To re-enable them, evaluate the following (e.g. in your `*scratch*` buffer): diff --git a/kind-icon.el b/kind-icon.el index c8f7a15ba2..8af0a99818 100644 --- a/kind-icon.el +++ b/kind-icon.el @@ -218,6 +218,27 @@ float FRAC." (defconst kind-icon--unknown (propertize "???" 'face '(:weight bold :background "red"))) +(defun kind-icon-preview-all () + "Preview all kind icons. +In the process, svg-lib also downloads and caches them." + (interactive) + (with-current-buffer (get-buffer-create "*kind-icon-preview*") + (font-lock-mode 0) + (view-buffer-other-window (current-buffer)) + (let ((inhibit-read-only t)) + (erase-buffer) + (insert "kind-icon badges\n\ntxt icn\tkind\n") + (mapc (lambda (k) + (apply 'insert + `(,(mapconcat + (lambda (v) + (kind-icon-reset-cache) + (let ((kind-icon-use-icons v)) + (kind-icon-formatted k))) + '(nil t) " ") + "\t" ,(symbol-name k) "\n"))) + (mapcar 'car kind-icon-mapping))))) + (defun kind-icon-formatted (kind) "Return a formatted kind badge, either icon or text abbreviation. Caches this badge in `kind-icon--cache', and returns the cached