dotfiles/emacs/.emacs.d/config/init-built-ins.el
2021-04-05 10:45:19 -04:00

66 lines
1.6 KiB
EmacsLisp

;; -*- lexical-binding: t; -*-
;; Configuration for built-ins that don't fit anywhere else
(use-package custom
:straight (:type built-in)
:defer t
:config
(evil-collection-custom-setup))
(use-package view
:straight (:type built-in)
:defer t
:config
(evil-collection-view-setup))
(use-package simple
:straight (:type built-in)
:general
(leader-map "!" #'shell-command
"|" #'shell-command-on-region
";" #'async-shell-command)
(normal special-mode-map
"gr" #'revert-buffer
"q" #'quit-window)
(normal messages-buffer-mode-map
"gr" #'revert-buffer
"q" #'quit-window))
(use-package shell
:straight (:type built-in)
:general
(normal shell-mode-map "q" #'bury-buffer))
(use-package ediff
:defer t
:straight (:type built-in)
:config
(setq ediff-window-setup-function #'ediff-setup-windows-plain)
(evil-collection-ediff-setup)
;; Restore window configuration after an ediff session
(defvar ediff-last-windows nil)
(defun store-pre-ediff-winconfig ()
(setq ediff-last-windows (current-window-configuration)))
(defun restore-pre-ediff-winconfig ()
(set-window-configuration ediff-last-windows))
(add-hook 'ediff-before-setup-hook #'store-pre-ediff-winconfig)
(add-hook 'ediff-quit-hook #'restore-pre-ediff-winconfig))
(use-package replace
:defer t
:straight (:type built-in)
:config
(evil-collection-occur-setup))
(use-package hideshow
:straight (:type built-in)
:hook (prog-mode . hs-minor-mode)
:init
(general-def 'normal "zM" #'hs-hide-level))
(provide 'init-built-ins)