summaryrefslogtreecommitdiffhomepage
path: root/completion.org
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-07-28 02:27:39 +0100
committerjao <jao@gnu.org>2021-07-28 02:27:39 +0100
commit89bc29942c58b3bda1ee3c371c7de46ee1e8464a (patch)
tree630d506a65f6c0a026dffe64787b237ffedcdb7c /completion.org
parentd5ed2ad575746fe8fa1f55badcecf3357d3e4a51 (diff)
downloadelibs-89bc29942c58b3bda1ee3c371c7de46ee1e8464a.tar.gz
elibs-89bc29942c58b3bda1ee3c371c7de46ee1e8464a.tar.bz2
embark: switching to stock vindicator
Diffstat (limited to 'completion.org')
-rw-r--r--completion.org89
1 files changed, 6 insertions, 83 deletions
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
@@ -268,86 +271,6 @@
(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
(declare-function org-link-any-re "ol")