mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
feat(navigation/consult): improve global and project buffer completion
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'siren-projectile)
|
||||
;; (require 'siren-projectile)
|
||||
|
||||
(eval-when-compile
|
||||
(require 'cl-lib))
|
||||
@@ -20,16 +20,8 @@
|
||||
("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."
|
||||
@@ -42,7 +34,58 @@
|
||||
(condition-case nil
|
||||
(consult-lsp-file-symbols)
|
||||
('error (consult-imenu)))
|
||||
(consult-imenu))))
|
||||
(consult-imenu)))
|
||||
|
||||
:config
|
||||
(defvar siren-consult--source-recent-file-hidden
|
||||
(let ((source (copy-tree consult--source-recent-file)))
|
||||
(plist-put source :hidden t)
|
||||
source)
|
||||
"Recent file candidate source for `consult-buffer'.")
|
||||
|
||||
(defvar siren-consult--source-project-buffer-hidden
|
||||
(let ((source (copy-tree consult--source-project-buffer)))
|
||||
(plist-put source :category 'project-buffer)
|
||||
(plist-put source :hidden t)
|
||||
source)
|
||||
"Project buffer candidate source for `consult-buffer'.")
|
||||
|
||||
(defvar siren-consult--source-project-buffer
|
||||
(let ((source (copy-tree consult--source-project-buffer)))
|
||||
(plist-put source :category 'project-buffer)
|
||||
(cl-remf source :hidden)
|
||||
(cl-remf source :narrow)
|
||||
source)
|
||||
"Project buffer candidate source for `consult-buffer'.")
|
||||
|
||||
(defvar siren-consult--source-project-recent-file-hidden
|
||||
(let ((source (copy-tree consult--source-project-recent-file)))
|
||||
(plist-put source :category 'project-file)
|
||||
(plist-put source :hidden t)
|
||||
source)
|
||||
"Project buffer candidate source for `consult-buffer'.")
|
||||
|
||||
(defvar siren-consult--source-project-recent-file
|
||||
(let ((source (copy-tree consult--source-project-recent-file)))
|
||||
(plist-put source :category 'project-file)
|
||||
(cl-remf source :hidden)
|
||||
(cl-remf source :narrow)
|
||||
source)
|
||||
"Project buffer candidate source for `consult-buffer'.")
|
||||
|
||||
(setq consult-buffer-sources '(consult--source-hidden-buffer
|
||||
consult--source-modified-buffer
|
||||
consult--source-buffer
|
||||
siren-consult--source-recent-file-hidden
|
||||
consult--source-bookmark
|
||||
siren-consult--source-project-buffer-hidden
|
||||
siren-consult--source-project-recent-file-hidden)
|
||||
consult-project-buffer-sources '(siren-consult--source-project-buffer
|
||||
siren-consult--source-project-recent-file))
|
||||
|
||||
;; (with-eval-after-load 'projectile
|
||||
;; (setq consult-project-root-function 'projectile-project-root))
|
||||
)
|
||||
|
||||
(use-package consult-dir
|
||||
:general
|
||||
|
||||
Reference in New Issue
Block a user