hotfuzz
hotfuzz copied to clipboard
hotfuzz & consult-line
Debugger entered--Lisp error: (wrong-type-argument unicode-string-p #(" (string-as-multibyte \";; Copyright 2022 Jo B..." 0 1 (consult-location ((#<buffer fussy-test.el> . 9188) . 247)) 5 6 (face (rainbow-delimiters-depth-5-face)) 27 57 (face font-lock-string-face) 57 58 (face (rainbow-delimiters-depth-5-face)) 58 59 (face (rainbow-delimiters-depth-4-face)) 59 60 (invisible t consult-strip t)))
(apply debug (error (wrong-type-argument unicode-string-p #(" (string-as-multibyte \";; Copyright 2022 Jo B..." 0 1 (consult-location ((#<buffer fussy-test.el> . 9188) . 247)) 5 6 (face (rainbow-delimiters-depth-5-face)) 27 57 (face font-lock-string-face) 57 58 (face (rainbow-delimiters-depth-5-face)) 58 59 (face (rainbow-delimiters-depth-4-face)) 59 60 (invisible t consult-strip t)))))
(transient--exit-and-debug error (wrong-type-argument unicode-string-p #(" (string-as-multibyte \";; Copyright 2022 Jo B..." 0 1 (consult-location ((#<buffer fussy-test.el> . 9188) . 247)) 5 6 (face (rainbow-delimiters-depth-5-face)) 27 57 (face font-lock-string-face) 57 58 (face (rainbow-delimiters-depth-5-face)) 58 59 (face (rainbow-delimiters-depth-4-face)) 59 60 (invisible t consult-strip t))))
(hotfuzz--filter-c "j" (#(" garbage-collec..." 0 1 ... 35 36 ... 36 37 ...) #("(defconst fussy--con..." 0 1 ... 1 9 ... 10 35 ... 44 45 ...) #(" \"Special character..." 0 1 ... 2 69 ... 69 70 ...) #("We use invalid chara..." 0 1 ... 1 52 ... 52 53 ...) #("This is a copy of `c..." 0 1 ... 1 19 ... 19 37 ... 37 77 ... 77 78 ...) #("can strip out this c..." 0 1 ... 1 34 ... 34 41 ... 41 73 ... 73 74 ...) #("the character into t..." 0 1 ... 1 33 ... 33 34 ...) #("See `fussy-without-t..." 0 1 ... 1 5 ... 5 28 ... 28 31 ... 31 32 ... 32 33 ...) #("(defvar fussy-histor..." 0 1 ... 1 7 ... 8 30 ... 32 33 ... 33 34 ... 34 35 ... ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 41 ... ...) #(" (should (equal t (..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 19 20 ... 34 37 ... ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 39 ... ...) #(";;τ’" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ€" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) ...) nil)
(hotfuzz-all-completions "j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1)
(#f(compiled-function (style) #<bytecode -0x18c96612c40559bf>) hotfuzz)
(completion--some #f(compiled-function (style) #<bytecode -0x18c96612c40559bf>) (hotfuzz))
(completion--nth-completion 2 "j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity)))
(#f(compiled-function (string table pred point &optional metadata) "List the possible completions of STRING in completion table TABLE.\nOnly the elements of table that satisfy predicate PRED are considered.\nPOINT is the position of point within STRING.\nThe return value is a list of completions and may contain the base-size\nin the last `cdr'." #<bytecode 0x7fac4cbcc9c3a86>) "j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity)))
(apply #f(compiled-function (string table pred point &optional metadata) "List the possible completions of STRING in completion table TABLE.\nOnly the elements of table that satisfy predicate PRED are considered.\nPOINT is the position of point within STRING.\nThe return value is a list of completions and may contain the base-size\nin the last `cdr'." #<bytecode 0x7fac4cbcc9c3a86>) ("j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity))))
(completion-all-completions "j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity)))
(apply completion-all-completions ("j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity))))
(vertico--filter-completions "j" #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil 1 (metadata (category . consult-location) (affixation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c892a4d>)) (annotation-function . #f(compiled-function (&rest args2) #<bytecode -0x14e285b37c826a4d>)) (cycle-sort-function . identity) (display-sort-function . identity)))
(vertico--recompute 1 "j")
(vertico--update interruptible)
(vertico--exhibit)
(read-from-minibuffer "Go to line: " nil (keymap (escape . minibuffer-keyboard-quit) (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (escape . minibuffer-keyboard-quit) (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (M-down . minibuffer-next-completion) (M-up . minibuffer-previous-completion) (27 keymap (13 . minibuffer-choose-completion) (103 keymap (27 keymap (99 . switch-to-completions))) (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (backtab . minibuffer-complete) (9 . minibuffer-complete) keymap (escape . minibuffer-keyboard-quit) (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the min...") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuf...") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "\15" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (24 keymap (down . minibuffer-complete-defaults) (up . minibuffer-complete-history)) (13 . exit-minibuffer) (10 . exit-minibuffer) (7 . minibuffer-keyboard-quit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-line-or-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-line-or-history-element) (next . next-history-element) (27 keymap (60 . minibuffer-beginning-of-buffer) (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil)
(#f(compiled-function (prompt collection &optional predicate require-match initial-input hist def inherit-input-method) "Default method for reading from the minibuffer with completion.\nSee `completing-read' for the meaning of the arguments." #<bytecode -0x5b072b8d51152a7>) "Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil)
(apply (#f(compiled-function (prompt collection &optional predicate require-match initial-input hist def inherit-input-method) "Default method for reading from the minibuffer with completion.\nSee `completing-read' for the meaning of the arguments." #<bytecode -0x5b072b8d51152a7>) "Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil))
(vertico--advice #f(compiled-function (prompt collection &optional predicate require-match initial-input hist def inherit-input-method) "Default method for reading from the minibuffer with completion.\nSee `completing-read' for the meaning of the arguments." #<bytecode -0x5b072b8d51152a7>) "Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil)
(apply vertico--advice #f(compiled-function (prompt collection &optional predicate require-match initial-input hist def inherit-input-method) "Default method for reading from the minibuffer with completion.\nSee `completing-read' for the meaning of the arguments." #<bytecode -0x5b072b8d51152a7>) ("Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil))
(completing-read-default "Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil)
(completing-read "Go to line: " #f(compiled-function (str pred action) #<bytecode 0xeee2dba12ae60d9>) nil t nil consult--line-history #(" garbage-collection-messages t)τ" 0 1 (consult-location ((#<buffer fussy-test.el> . 313) . 11)) 35 36 (face (rainbow-delimiters-depth-1-face)) 36 37 (invisible t consult-strip t)) nil)
(#f(compiled-function () #<bytecode 0x1d44e75f90b2cd74>))
(consult--with-preview-1 nil #f(compiled-function (action cand) #<bytecode 0x18318e317f2721b>) #f(compiled-function (narrow input cand) #<bytecode -0x136ddb896b6d992c>) #f(compiled-function (&rest args2) #<bytecode -0xae493e9bf03ea3f>) consult--line-history #f(compiled-function () #<bytecode 0x1d44e75f90b2cd74>))
(consult--read-1 (#(" garbage-collec..." 0 1 ... 35 36 ... 36 37 ...) #("(defconst fussy--con..." 0 1 ... 1 9 ... 10 35 ... 44 45 ...) #(" \"Special character..." 0 1 ... 2 69 ... 69 70 ...) #("We use invalid chara..." 0 1 ... 1 52 ... 52 53 ...) #("This is a copy of `c..." 0 1 ... 1 19 ... 19 37 ... 37 77 ... 77 78 ...) #("can strip out this c..." 0 1 ... 1 34 ... 34 41 ... 41 73 ... 73 74 ...) #("the character into t..." 0 1 ... 1 33 ... 33 34 ...) #("See `fussy-without-t..." 0 1 ... 1 5 ... 5 28 ... 28 31 ... 31 32 ... 32 33 ...) #("(defvar fussy-histor..." 0 1 ... 1 7 ... 8 30 ... 32 33 ... 33 34 ... 34 35 ... ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 41 ... ...) #(" (should (equal t (..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 19 20 ... 34 37 ... ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 39 ... ...) #(";;τ’" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ€" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) ...) :prompt "Go to line: " :annotate #f(compiled-function (cand) #<bytecode 0x193d083eaf6550d5>) :category consult-location :sort nil :require-match t :add-history (nil "hotfuz") :history (:input consult--line-history) :lookup consult--line-match :default #(" garbage-collec..." 0 1 (consult-location ...) 35 36 (face ...) 36 37 (invisible t consult-strip t)) ...)
(apply consult--read-1 (#(" garbage-collec..." 0 1 ... 35 36 ... 36 37 ...) #("(defconst fussy--con..." 0 1 ... 1 9 ... 10 35 ... 44 45 ...) #(" \"Special character..." 0 1 ... 2 69 ... 69 70 ...) #("We use invalid chara..." 0 1 ... 1 52 ... 52 53 ...) #("This is a copy of `c..." 0 1 ... 1 19 ... 19 37 ... 37 77 ... 77 78 ...) #("can strip out this c..." 0 1 ... 1 34 ... 34 41 ... 41 73 ... 73 74 ...) #("the character into t..." 0 1 ... 1 33 ... 33 34 ...) #("See `fussy-without-t..." 0 1 ... 1 5 ... 5 28 ... 28 31 ... 31 32 ... 32 33 ...) #("(defvar fussy-histor..." 0 1 ... 1 7 ... 8 30 ... 32 33 ... 33 34 ... 34 35 ... ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 41 ... ...) #(" (should (equal t (..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 19 20 ... 34 37 ... ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 39 ... ...) #(";;τ’" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ€" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) ...) (:prompt "Go to line: " :annotate #f(compiled-function (cand) #<bytecode 0x193d083eaf6550d5>) :category consult-location :sort nil :require-match t :add-history (nil "hotfuz") :history (:input consult--line-history) :lookup consult--line-match :default #(" garbage-collec..." 0 1 ... 35 36 ... 36 37 ...) :initial nil ...))
(consult--read (#(" garbage-collec..." 0 1 ... 35 36 ... 36 37 ...) #("(defconst fussy--con..." 0 1 ... 1 9 ... 10 35 ... 44 45 ...) #(" \"Special character..." 0 1 ... 2 69 ... 69 70 ...) #("We use invalid chara..." 0 1 ... 1 52 ... 52 53 ...) #("This is a copy of `c..." 0 1 ... 1 19 ... 19 37 ... 37 77 ... 77 78 ...) #("can strip out this c..." 0 1 ... 1 34 ... 34 41 ... 41 73 ... 73 74 ...) #("the character into t..." 0 1 ... 1 33 ... 33 34 ...) #("See `fussy-without-t..." 0 1 ... 1 5 ... 5 28 ... 28 31 ... 31 32 ... 32 33 ...) #("(defvar fussy-histor..." 0 1 ... 1 7 ... 8 30 ... 32 33 ... 33 34 ... 34 35 ... ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 41 ... ...) #(" (should (equal t (..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 19 20 ... 34 37 ... ...) #(" (should (equal nil..." 0 1 ... 2 3 ... 3 9 ... 10 11 ... 21 22 ... 36 39 ... ...) #(";;τ’" 0 1 ... 1 2 ... 2 3 ...) #(";; (@* \"`fussy-strle..." 0 1 ... 1 3 ... 3 9 ... 9 22 ... 22 26 ... 26 27 ...) #(";;τ€" 0 1 ... 1 2 ... 2 3 ...) #("(ert-deftest fussy-s..." 0 1 ... 1 12 ... 13 31 ... 32 33 ... 33 34 ... 34 35 ...) ...) :prompt "Go to line: " :annotate #f(compiled-function (cand) #<bytecode 0x193d083eaf6550d5>) :category consult-location :sort nil :require-match t :add-history (nil "hotfuz") :history (:input consult--line-history) :lookup consult--line-match :default #(" garbage-collec..." 0 1 (consult-location ...) 35 36 (face ...) 36 37 (invisible t consult-strip t)) ...)
(consult-line nil nil)
(funcall-interactively consult-line nil nil)
You can use a test file like this https://github.com/jojojames/fussy/blob/560afe9c5a5d6bda2e1a38a47d6fabc8d734689c/fussy-test.el#L247 that contains these multibyte characters in the buffer itself to reproduce this.
The slowness referenced here (https://github.com/jojojames/fussy/issues/28) can be partially attributed to having to handle this flow.
Would be curious if it's just an error on my end. Looking at your implementation, I'd expect it to fail the same way fussy does when encountering these magic characters.
@axelf4 @jojojames It will get error when using consult-line with Chinese characters. Maybe the issue is related?
Error in post-command-hook (vertico--exhibit): (wrong-type-argument arrayp nil)
Error in post-command-hook (consult--preview-post-command-hook): (wrong-type-argument arrayp nil)
Steps to reproduce:
- Only install vertico, consult and hotfuzz
- C-x C-f open an org file with Chinese characters, you can use this introduce-emacs.org.
- M-x consult-line, and input some Chinese characters to search, here I paste the word "δΈβ , and will get the error as below:
Meanwhile, it will also get error from vertico, for example , I input two Chinese characters "ηΌη¨β, and then delete the last word, then will see the errors as below:
Configuration to reproduce:
(setq package-enable-at-startup nil)
(package-initialize)
(use-package vertico
:ensure t
:demand t
:bind (:map vertico-map
([tab] . vertico-next)
([backtab] . vertico-previous))
:custom (vertico-cycle t)
:config (vertico-mode))
(use-package hotfuzz
:ensure nil
:load-path "~/.emacs.d/lib/hotfuzz/"
:custom
(completion-styles '(hotfuzz))
(completion-category-defaults nil)
(completion-category-overrides '((buffer (display-sort-function . identity))
(eglot (styles hotfuzz))))
:config
(with-eval-after-load 'consult
(defvar consult--tofu-char)
(defvar consult--tofu-range)
(setq consult--tofu-char #x100000
consult--tofu-range #x00fffe)))
(use-package consult
:ensure t
:defer 0.5
:bind (([remap repeat-complex-command] . consult-complex-command)
([remap switch-to-buffer] . consult-buffer)
([remap switch-to-buffer-other-window] . consult-buffer-other-window)
([remap switch-to-buffer-other-frame] . consult-buffer-other-frame)
([remap project-switch-to-buffer] . consult-project-buffer)
([remap bookmark-jump] . consult-bookmark)
([remap goto-line] . consult-goto-line)
([remap imenu] . consult-imenu)
([remap yank-pop] . consult-yank-pop)
("C-c M-x" . consult-mode-command)
("C-c h" . consult-history)
("C-c k" . consult-kmacro)
("C-c m" . consult-man)
("C-c i" . consult-info)
([remap Info-search] . consult-info)
("M-g e" . consult-compile-error)
("M-g f" . consult-flymake)
("M-g o" . consult-outline)
("M-g m" . consult-mark)
("M-g k" . consult-global-mark)
("M-s d" . consult-fd)
("M-s D" . consult-locate)
("M-s g" . consult-grep)
("M-s G" . consult-git-grep)
("M-s r" . consult-ripgrep)
("M-s l" . consult-line)
("M-s k" . consult-keep-lines)
("M-s u" . consult-focus-lines)
("M-s e" . consult-isearch-history)
:map isearch-mode-map
("M-s e" . consult-isearch-history)
("M-s l" . consult-line)
:map minibuffer-local-map
("M-s" . consult-history))
:custom
(register-preview-delay 0.5)
(register-preview-function #'consult-register-format)
(consult-narrow-key "<")
(xref-search-program 'ripgrep)
(xref-show-xrefs-function #'consult-xref)
(xref-show-definitions-function #'consult-xref)
:commands consult--customize-put
:init
(advice-add #'register-preview :override #'consult-register-window)
:config
(consult-customize
consult-theme :preview-key '(:debounce 0.2 any)
consult-ripgrep consult-git-grep consult-grep
consult-bookmark consult-recent-file consult-xref
consult--source-bookmark consult--source-file-register
consult--source-recent-file consult--source-project-recent-file
:preview-key "M-."))
I am using Emacs 31.0.50, on Windows 11, macOS and Arch Linux