From 89bc29942c58b3bda1ee3c371c7de46ee1e8464a Mon Sep 17 00:00:00 2001 From: jao Date: Wed, 28 Jul 2021 02:27:39 +0100 Subject: embark: switching to stock vindicator --- completion.org | 89 ++++------------------------------------------------------ 1 file changed, 6 insertions(+), 83 deletions(-) (limited to 'completion.org') diff --git a/completion.org b/completion.org index 098a12c..da9a9b0 100644 --- a/completion.org +++ b/completion.org @@ -248,10 +248,13 @@ #+begin_src emacs-lisp (use-package embark :ensure t + :custom ((embark-quit-after-action nil) - (prefix-help-command #'describe-prefix-bindings - ;; #'embark-prefix-help-command - )) + (embark-verbose-indicator-display-action + '((display-buffer-at-bottom) + (window-parameters (mode-line-format . none)) + (window-height . fit-window-to-buffer)))) + :bind (("C-;" . embark-act) ("C-'" . embark-dwim) (:map minibuffer-local-map @@ -267,86 +270,6 @@ (with-eval-after-load 'embark (require 'embark-consult))) (require 'embark) - #+end_src -*** action indicator - #+begin_src emacs-lisp - (defvar jao-embark--actions-buffer "*Embark Actions*") - - (add-to-list 'display-buffer-alist - `(,(regexp-quote jao-embark--actions-buffer) - (display-buffer-at-bottom) - (window-parameters (mode-line-format . none)) - (window-height . fit-window-to-buffer))) - - (defvar jao-embark--excluded - '(embark-collect-snapshot embark-collect-live embark-export - embark-keymap-help embark-become embark-isearch nil)) - - (defun jao-embark--key-str (k) - (if (numberp k) (single-key-description k) (key-description k))) - - (defun jao-embark--bind-desc (descs x prefix) - (let ((k (car x)) (c (cdr x))) - (cond ((keymapp c) - (let ((cds (jao-embark--keymap-descs c (jao-embark--key-str k)))) - (cons (max (or (car cds) 0) (or (car descs) 0)) - (cons (max (or (cadr cds) 0) (or (cadr descs) 0)) - (append (cddr descs) (cddr cds)))))) - ((memq c jao-embark--excluded) descs) - ((symbolp c) - (let* ((desc (jao-embark--key-str k)) - (prefix (when prefix (concat prefix " "))) - (desc (format "%s%s" (or prefix "") desc)) - (doc (car (split-string - (or (ignore-errors (documentation c)) "") - "\n"))) - (fun (symbol-name c))) - (cons (max (length desc) (car descs)) - (cons (max (length fun) (cadr descs)) - (cons (list desc fun doc) (cddr descs))))))))) - - (defun jao-embark--keymap-descs (k prefix) - (seq-reduce `(lambda (descs x) (jao-embark--bind-desc descs x ,prefix)) - (cdr (keymap-canonicalize k)) '(0 0))) - - (defun jao-embark--dstr (d) - (let ((s (cadr d))) - (if (string-match-p "^\\(embark\\|consult\\)" s) "" s))) - - (defun jao-embark--format-desc (fmt desc) - (format fmt - (propertize (cadr desc) 'face 'embark-verbose-indicator-title) - (propertize (car desc) 'face 'embark-keybinding) - (propertize (caddr desc) - 'face 'embark-verbose-indicator-documentation))) - - (defun jao-embark--format-targets (targets) - (let* ((cexp (format "%s" (cdar targets))) - (cexp (replace-regexp-in-string "\n *" " " cexp)) - (other (format "%s" (mapcar #'car (cdr targets)))) - (other (propertize other 'face 'embark-verbose-indicator-shadowed))) - (format "Action for %s '%s' %s" (caar targets) cexp other))) - - (defun jao-embark--indicator (keymap targets) - (with-current-buffer (get-buffer-create jao-embark--actions-buffer) - (read-only-mode -1) - (setq-local cursor-type nil truncate-lines t) - (delete-region (point-min) (point-max)) - (let* ((descs (jao-embark--keymap-descs keymap "")) - (fmt (format "%%-%ds %%-%ds %%s\n" (cadr descs) (car descs)))) - (seq-each (lambda (desc) (insert (jao-embark--format-desc fmt desc))) - (seq-sort-by 'jao-embark--dstr 'string-greaterp (cddr descs)))) - (insert "\n" (jao-embark--format-targets targets)) - (read-only-mode 1) - (save-excursion (pop-to-buffer (current-buffer) nil t)) - (lambda () - (embark-kill-buffer-and-window jao-embark--actions-buffer) - (when (bound-and-true-p current-minibuffer-command) - (select-window (minibuffer-window)))))) - - (setq embark-indicator #'jao-embark--indicator) - (setq embark-indicator #'embark-verbose-indicator) - #+end_src *** org targets #+begin_src emacs-lisp -- cgit v1.2.3