aboutsummaryrefslogtreecommitdiff
path: root/bard-emacs-modules/bard-emacs-completion.el
blob: 62fc712898712ba1d5f8f23bee108c9671536566 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
;;; bard-emacs-completion.el --- My configurations for emacs completion frameworks -*- lexical-binding: t -*-

;; Author: bard
;; Maintainer: bard
;; Version: 0.1.0
;; Package-Requires: ((emacs 29.2))
;; Homepage: github
;; Keywords: completion


;; This file is not part of GNU Emacs

;; This program is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.

;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.

;; You should have received a copy of the GNU General Public License
;; along with this program.  If not, see <https://www.gnu.org/licenses/>.


;;; Commentary:


;;; Code:

;; minibuffer completion
(use-package vertico
  :init
  (vertico-mode 1))

(use-package marginalia
  :init
  (marginalia-mode 1))

(use-package orderless
  :config
  (setq completion-styles '(orderless basic)))

(use-package company
  :init
  (global-company-mode 1))

(use-package consult
  :defer 2
  :bind
  ("C-x b" . consult-buffer)
  ("C-s" . consult-line)
  ("C-S-s" . consult-line-multi)
  ("C-z s" . consult-ripgrep))

;; (use-package embark
;;   :ensure t
;;   :config
;;   (setq embark-confirm-act-all nil)
;;     ;; The prot-embark.el has an advice to further simplify the
;;     ;; minimal indicator.  It shows cycling, which I never want to see
;;     ;; or do.
;;     (setq embark-mixed-indicator-both nil)
;;     (setq embark-mixed-indicator-delay 1.0)
;;     (setq embark-indicators '(embark-mixed-indicator embark-highlight-indicator))
;;     (setq embark-verbose-indicator-nested nil) ; I think I don't have them, but I do not want them either
;;     (setq embark-verbose-indicator-buffer-sections '(bindings))
;;     (setq embark-verbose-indicator-excluded-actions
;;           '(embark-cycle embark-act-all embark-collect embark-export embark-insert))

;;     )

(use-package imenu-list
  :bind
  (("C-`" . imenu-list-smart-toggle)))

;; Savehist
(setq savehist-file (locate-user-emacs-file "savehist"))
(setq history-length 100)
(setq history-delete-duplicates t)
(setq savehist-save-minibuffer-history t)
(setq savehist-additional-variables '(register-alist kill-ring))
(savehist-mode 1)

(provide 'bard-emacs-completion)
;;; bard-emacs-completion.el ends here