@@ -1841,6 +1843,18 @@ Functions are redefined without warning.
:require t)
#+end_src
+**** profiler-report: report
+
+#+begin_src elisp
+(leaf profiler-report-extras
+ ;;TODO: not loading
+ :bind (:profiler-report-mode-map
+ ;; expands non-0%, collapses 0%
+ (("." . daanturo-expand-profiler-report))))
+#+end_src
+
+**** project
+
*** hacker
:properties:
:custom_id: packages-todo-system-wide-hacker-rydc2sw0igj0
@@ -2104,133 +2118,136 @@ I have set =vertico-sort-function= to =vertico-sort-history-alpha= for
sorting of candidates in alphabetical order, rather than length.
#+begin_src elisp
-(leaf vertico
- :ensure t
- :preface
- :init
- ;; todo understand prescient from filtering/sorting from
- ;;
https://github.com/minad/vertico/fewiki-
- ;; adapted from vertico-reverse
- (defun vertico-bottom--display-candidates (lines)
- "display lines in bottom."
- (move-overlay vertico--candidates-ov (point-min) (point-min))
- (unless (eq vertico-resize t)
- (setq lines (nconc (make-list (max 0 (- vertico-count (length lines))) "\n") lines)))
- (let ((string (apply #'concat lines)))
- (add-face-text-property 0 (length string) 'default 'append string)
- (overlay-put vertico--candidates-ov 'before-string string)
- (overlay-put vertico--candidates-ov 'after-string nil))
- (vertico--resize-window (length lines)))
-
- (defun vertico-resize--minibuffer ()
- (add-hook 'window-size-change-functions
- (lambda (win)
- (let ((height (window-height win)))
- (when (/= (1- height) vertico-count)
- (setq-local vertico-count (1- height))
- (vertico--exhibit))))
- t t))
-
-
- ;; binding this function to tab in vertico-map temporarily disables vertico while
- ;; completing remote paths to restore the shell-like tab-completes-common-prefix
- ;; behavior. this is a usability trade-off to work around a peculiarity in tramp’s
- ;; hostname completion.
-
- (defun my-vertico-insert-unless-tramp ()
- "Insert current candidate in minibuffer, except for tramp."
- (interactive)
- (if (vertico--remote-p (vertico--candidate))
- (minibuffer-complete)
- (vertico-insert)))
-
-;;;; dealing with minibuffer
-
- (defun down-from-outside ()
- "Move to next candidate in minibuffer, even when minibuffer isn't selected."
- (interactive)
- (with-selected-window (active-minibuffer-window)
- (execute-kbd-macro [down])))
-
- ;; mine lol
- (defun my-exit-from-outside ()
- "Move to next candidate in minibuffer, even when minibuffer isn't selected."
- (interactive)
- (with-selected-window (active-minibuffer-window)
- (minibuffer-keyboard-quit)))
-
- (defun up-from-outside ()
- "Move to previous candidate in minibuffer, even when minibuffer isn't selected."
- (interactive)
- (with-selected-window (active-minibuffer-window)
- (execute-kbd-macro [up])))
-
- (defun to-and-fro-minibuffer ()
- "Go back and forth between minibuffer and other window."
- (interactive)
- (if (window-minibuffer-p (selected-window))
- (select-window (minibuffer-selected-window))
- (select-window (active-minibuffer-window))))
-
- (defun +embark-live-vertico ()
- "Shrink vertico minibuffer when `embark-live' is active."
- (when-let (win (and (string-prefix-p "*embark live" (buffer-name))
- (active-minibuffer-window)))
- (with-selected-window win
- (when (and (bound-and-true-p vertico--input)
- (fboundp 'vertico-multiform-unobtrusive))
- (vertico-multiform-unobtrusive)))))
-
- :global-minor-mode vertico-mode vertico-multiform-mode
- :custom ((vertico-resize . 'grow-only)
- (vertico-cycle . t)
- (vertico-count . 7)
- (vertico-sort-function . #'vertico-sort-history-alpha)
- ;; grid
- (vertico-grid-max-columns . 10)
- (vertico-grid-min-columns . 4)
- (vertico-grid-rows . 3)
- (vertico-multiform-categories . '((file grid))))
-
- :hook ((rfn-eshadow-update-overlay-hook . vertico-directory-tidy)
- (minibuffer-setup-hook . vertico-repeat-save))
-
- :bind (("M-r" . vertico-repeat)
- (:vertico-map
- ;; vertico-directory
- (("TAB" . my-vertico-insert-unless-tramp)
- ("M-DEL" . vertico-directory-up)
- ("RET" . vertico-directory-enter)
- ("M-d" . vertico-directory-delete-word)
- ("C-d" . vertico-directory-delete-char)))
- ;; minibuffer from outside minibuffer
- ("C-c M-n" . down-from-outside)
- ("C-c M-p" . up-from-outside)
- ("C-c C-M-o" . to-and-fro-minibuffer)
- ("C-c C-g" . my-exit-from-outside))
- :config
-
- ;; when resizing the minibuffer (e.g., via the mouse), adjust the number of
- ;; visible candidates in vertico automatically.
- (advice-add #'vertico--setup :before #'vertico-resize--minibuffer)
-
- ;; prefix the current candidate with “» “.
- ;; "⋈ "
- (advice-add #'vertico--format-candidate :around
- (lambda (orig cand prefix suffix index _start)
- (setq cand (funcall orig cand prefix suffix index _start))
- (concat
- (if (= vertico--index index)
- (propertize "⋈ " 'face 'vertico-current)
- " ")
- cand)))
-
- ;; automatically shrink vertico for embark-live
- (add-hook 'embark-collect-mode-hook #'+embark-live-vertico)
-
- ;; input at bottom of completion list
- (advice-add #'vertico--display-candidates :override #'vertico-bottom--display-candidates))
+ (leaf vertico
+ :quelpa (vertico
+ :fetcher github
+ :repo "minad/vertico")
+ :preface
+ :commands vertico--exhibit
+ :init
+ ;; todo understand prescient from filtering/sorting from
+ ;;
https://github.com/minad/vertico/fewiki+
+ ;; adapted from vertico-reverse
+ (defun vertico-bottom--display-candidates (lines)
+ "display lines in bottom."
+ (move-overlay vertico--candidates-ov (point-min) (point-min))
+ (unless (eq vertico-resize t)
+ (setq lines (nconc (make-list (max 0 (- vertico-count (length lines))) "\n") lines)))
+ (let ((string (apply #'concat lines)))
+ (add-face-text-property 0 (length string) 'default 'append string)
+ (overlay-put vertico--candidates-ov 'before-string string)
+ (overlay-put vertico--candidates-ov 'after-string nil))
+ (vertico--resize-window (length lines)))
+
+ (defun vertico-resize--minibuffer ()
+ (add-hook 'window-size-change-functions
+ (lambda (win)
+ (let ((height (window-height win)))
+ (when (/= (1- height) vertico-count)
+ (setq-local vertico-count (1- height))
+ (vertico--exhibit))))
+ t t))
+
+
+ ;; binding this function to tab in vertico-map temporarily disables vertico while
+ ;; completing remote paths to restore the shell-like tab-completes-common-prefix
+ ;; behavior. this is a usability trade-off to work around a peculiarity in tramp’s
+ ;; hostname completion.
+
+ (defun my-vertico-insert-unless-tramp ()
+ "Insert current candidate in minibuffer, except for tramp."
+ (interactive)
+ (if (vertico--remote-p (vertico--candidate))
+ (minibuffer-complete)
+ (vertico-insert)))
+
+ ;;;; dealing with minibuffer
+
+ (defun down-from-outside ()
+ "Move to next candidate in minibuffer, even when minibuffer isn't selected."
+ (interactive)
+ (with-selected-window (active-minibuffer-window)
+ (execute-kbd-macro [down])))
+
+ ;; mine lol
+ (defun my-exit-from-outside ()
+ "Move to next candidate in minibuffer, even when minibuffer isn't selected."
+ (interactive)
+ (with-selected-window (active-minibuffer-window)
+ (minibuffer-keyboard-quit)))
+
+ (defun up-from-outside ()
+ "Move to previous candidate in minibuffer, even