Files
.emacs.d/modules/navigation/siren-consult.el
Jim Myhrberg ca9ec4f7a2 feat(editor/consult): massively simplify consult setup
Remove nearly all custom behavior with consult.

The separate groups for project and non-project buffers within
consult-buffer weren't as useful after switching away from orderless to
fussy for completion scoring, as non-project buffers were often sorted
higher than project buffers.

And there's no need for the custom siren-consult-projectile-buffer
function, as consult-project-buffer does the same thing when configured
to use projectile's root path function.
2022-07-20 22:02:13 +01:00

49 lines
1.3 KiB
EmacsLisp

;;; siren-consult.el --- jimeh's Emacs Siren: consult configuration.
;;; Commentary:
;; Basic configuration for consult.
;;; Code:
(require 'siren-projectile)
(eval-when-compile
(require 'cl-lib))
(use-package consult
:defer t
:general
("C-t" 'siren-consult-imenu)
("C-x b" 'consult-buffer)
("C-c b" 'consult-project-buffer)
("M-g M-g" 'consult-goto-line)
:custom
(consult-buffer-sources '(consult--source-hidden-buffer
consult--source-modified-buffer
consult--source-buffer
consult--source-bookmark
consult--source-project-buffer))
(consult-preview-max-count 10)
:config
(setq consult-project-root-function 'projectile-project-root)
:preface
(defun siren-consult-imenu ()
"Intelligently trigger consult-lsp-file-symbols or consult-imenu."
(interactive)
(if (and (fboundp 'consult-lsp-file-symbols)
(boundp 'lsp-mode)
lsp-mode)
;; consult-lsp-file-symbols errors on some language servers, in such
;; a case, fall back to consult-imenu.
(condition-case nil
(consult-lsp-file-symbols)
('error (consult-imenu)))
(consult-imenu))))
(provide 'siren-consult)
;;; siren-consult.el ends here