Compare commits

...

1 commit
main ... devil

Author SHA1 Message Date
eriedaberrie bd8ae57367 Replace god-mode with devil 2023-11-13 12:59:34 -08:00

46
init.el
View file

@ -53,54 +53,20 @@
(global-set-key (kbd "C-/") #'undo-fu-only-undo) (global-set-key (kbd "C-/") #'undo-fu-only-undo)
(global-set-key (kbd "C-?") #'undo-fu-only-redo)) (global-set-key (kbd "C-?") #'undo-fu-only-redo))
(use-package god-mode (use-package devil
:demand t :demand t
:bind :bind
("<escape>" . god-mode-all)
("ESC ESC ESC" . god-mode-all)
("C-S-h" . help-command) ("C-S-h" . help-command)
("C-h" . my--god-del) ("C-h" . my--devil-del)
(:map god-local-mode-map
("i" . god-mode-all)
("<escape>" . my--god-c-g)
("ESC ESC ESC" . keyboard-escape-quit)
("z" . repeat)
("q" . my--god-c-q))
(:map minibuffer-local-map
("<escape>" . abort-minibuffers)
("ESC ESC ESC" . keyboard-escape-quit))
:custom
(god-exempt-major-modes nil)
(god-exempt-predicates (list #'god-exempt-mode-p))
(god-mode-enable-function-key-translations nil)
:config :config
(defun my--god-c-q ()
(interactive)
(let ((god-local-mode nil))
(if-let* ((buffer-read-only)
(ret (key-binding (read-kbd-macro "q")))
((not (or (eq ret #'self-insert-command) (and (boundp lispy-mode) lispy-mode)))))
(call-interactively ret)
(switch-to-prev-buffer))))
(cl-macrolet ((define-kmacro-wrapper (name key) (cl-macrolet ((define-kmacro-wrapper (name key)
`(defun ,name () `(defun ,name ()
(interactive) (interactive)
(call-interactively (key-binding (read-kbd-macro ,key)))))) (call-interactively (key-binding (read-kbd-macro ,key))))))
(define-kmacro-wrapper my--god-del "DEL") (define-kmacro-wrapper my--devil-del "DEL"))
(define-kmacro-wrapper my--god-c-g "C-g")) (add-to-list 'devil-repeatable-keys '("%k v"))
(with-eval-after-load 'catppuccin-theme (add-to-list 'devil-repeatable-keys '("%k m v"))
(add-hook 'god-mode-enabled-hook (global-devil-mode))
(lambda ()
(face-spec-set 'cursor `((t (:background ,(catppuccin-get-color 'rosewater)))))
(unless (display-graphic-p)
(send-string-to-terminal "\e[2 q"))))
(add-hook 'god-mode-disabled-hook
(lambda ()
(face-spec-set 'cursor `((t (:background ,(catppuccin-get-color 'mauve)))))
(unless (display-graphic-p)
;; Escape codes for hbar cursor in insert mode
(send-string-to-terminal "\e[4 q")))))
(god-mode))
(use-package multiple-cursors (use-package multiple-cursors
:bind :bind