diff options
Diffstat (limited to 'extras/base.el')
-rw-r--r-- | extras/base.el | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/extras/base.el b/extras/base.el deleted file mode 100644 index 7f4dd1a..0000000 --- a/extras/base.el +++ /dev/null @@ -1,195 +0,0 @@ -;;; Emacs Bedrock -;;; -;;; Extra config: Base enhancements - -;;; Usage: Append or require this file from init.el to enable various UI/UX -;;; enhancements. -;;; -;;; The consult package in particular has a vast number of functions that you -;;; can use as replacements to what Emacs provides by default. Please see the -;;; consult documentation for more information and help: -;;; -;;; https://github.com/minad/consult -;;; -;;; In particular, many users may find `consult-line' to be more useful to them -;;; than isearch, so binding this to `C-s' might make sense. This is left to the -;;; user to configure, however, as isearch and consult-line are not equivalent. - -;;; Contents: -;;; -;;; - Motion aids -;;; - Power-ups: Embark and Consult -;;; - Minibuffer and completion -;;; - Misc. editing enhancements - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Motion aids -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -(use-package avy - :ensure t - :demand t - :bind (("C-c j" . avy-goto-line) - ("s-j" . avy-goto-char-timer))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Power-ups: Embark and Consult -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Consult: Misc. enhanced commands -(use-package consult - :ensure t - :bind ( - ;; Drop-in replacements - ("C-x b" . consult-buffer) ; orig. switch-to-buffer - ("M-y" . consult-yank-pop) ; orig. yank-pop - ;; Searching - ("M-s r" . consult-ripgrep) - ("M-s l" . consult-line) ; Alternative: rebind C-s to use - ("M-s s" . consult-line) ; consult-line instead of isearch, bind - ("M-s L" . consult-line-multi) ; isearch to M-s s - ("M-s o" . consult-outline) - ;; Isearch integration - :map isearch-mode-map - ("M-e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s e" . consult-isearch-history) ; orig. isearch-edit-string - ("M-s l" . consult-line) ; needed by consult-line to detect isearch - ("M-s L" . consult-line-multi) ; needed by consult-line to detect isearch - ) - :config - ;; Narrowing lets you restrict results to certain groups of candidates - (setq consult-narrow-key "<")) - -;; Embark: supercharged context-dependent menu; kinda like a -;; super-charged right-click. -(use-package embark - :ensure t - :demand t - :after avy - :bind (("C-c a" . embark-act)) ; bind this to an easy key to hit - :init - ;; Add the option to run embark when using avy - (defun bedrock/avy-action-embark (pt) - (unwind-protect - (save-excursion - (goto-char pt) - (embark-act)) - (select-window - (cdr (ring-ref avy-ring 0)))) - t) - - ;; After invoking avy-goto-char-timer, hit "." to run embark at the next - ;; candidate you select - (setf (alist-get ?. avy-dispatch-alist) 'bedrock/avy-action-embark)) - -(use-package embark-consult - :ensure t) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Minibuffer and completion -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Vertico: better vertical completion for minibuffer commands -(use-package vertico - :ensure t - :init - ;; You'll want to make sure that e.g. fido-mode isn't enabled - (vertico-mode)) - -(use-package vertico-directory - :ensure nil - :after vertico - :bind (:map vertico-map - ("M-DEL" . vertico-directory-delete-word))) - -;; Marginalia: annotations for minibuffer -(use-package marginalia - :ensure t - :config - (marginalia-mode)) - -;; Corfu: Popup completion-at-point -(use-package corfu - :ensure t - :init - (global-corfu-mode) - :bind - (:map corfu-map - ("SPC" . corfu-insert-separator) - ("C-n" . corfu-next) - ("C-p" . corfu-previous))) - -;; Part of corfu -(use-package corfu-popupinfo - :after corfu - :ensure nil - :hook (corfu-mode . corfu-popupinfo-mode) - :custom - (corfu-popupinfo-delay '(0.25 . 0.1)) - (corfu-popupinfo-hide nil) - :config - (corfu-popupinfo-mode)) - -;; Make corfu popup come up in terminal overlay -(use-package corfu-terminal - :if (not (display-graphic-p)) - :ensure t - :config - (corfu-terminal-mode)) - -;; Fancy completion-at-point functions; there's too much in the cape package to -;; configure here; dive in when you're comfortable! -(use-package cape - :ensure t - :init - (add-to-list 'completion-at-point-functions #'cape-dabbrev) - (add-to-list 'completion-at-point-functions #'cape-file)) - -;; Pretty icons for corfu -(use-package kind-icon - :if (display-graphic-p) - :ensure t - :after corfu - :config - (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)) - -(use-package eshell - :init - (defun bedrock/setup-eshell () - ;; Something funny is going on with how Eshell sets up its keymaps; this is - ;; a work-around to make C-r bound in the keymap - (keymap-set eshell-mode-map "C-r" 'consult-history)) - :hook ((eshell-mode . bedrock/setup-eshell))) - -;; Eat: Emulate A Terminal -(use-package eat - :ensure t - :custom - (eat-term-name "xterm") - :config - (eat-eshell-mode) ; use Eat to handle term codes in program output - (eat-eshell-visual-command-mode)) ; commands like less will be handled by Eat - -;; Orderless: powerful completion style -(use-package orderless - :ensure t - :config - (setq completion-styles '(orderless))) - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; -;;; Misc. editing enhancements -;;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -;; Modify search results en masse -(use-package wgrep - :ensure t - :config - (setq wgrep-auto-save-buffer t)) |