Replace lispy with puni

This commit is contained in:
eriedaberrie 2025-02-09 21:55:42 +00:00
parent 2b16fdb8d3
commit 237dba9e38

55
init.el
View file

@ -65,9 +65,8 @@
("<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)
(god-mode-enable-function-key-translation nil)
(god-mode-alist '((nil . "C-")
("g" . "M-")
("m" . "C-M-")))
@ -76,8 +75,7 @@
(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)))))
(ret (key-binding (read-kbd-macro "q"))))
(call-interactively ret)
(switch-to-prev-buffer))))
(cl-macrolet ((define-kmacro-wrapper (name key)
@ -98,6 +96,11 @@
(unless (display-graphic-p)
;; Escape codes for hbar cursor in insert mode
(send-string-to-terminal "\e[4 q")))))
(with-eval-after-load 'multiple-cursors-core
(dolist (f '(god-local-mode
god-mode-all
god-global-mode))
(add-to-list 'mc/cmds-to-run-once f)))
(god-mode))
(use-package multiple-cursors
@ -113,18 +116,7 @@
("C-c U" . mc/mark-all-dwim)
("C-S-<mouse-1>" . mc/add-cursor-on-click)
:custom
(mc/always-run-for-all t)
:init
;; NOTE: For SOME REASON lispy also defvars the mc cmds list to nil when
;; sourced so they need to be modified twice
(let ((add-cmds (lambda ()
(dolist (f '(god-local-mode
god-mode-all
god-global-mode))
(add-to-list 'mc/cmds-to-run-once f)))))
;; Because multiple-cursors-core is what actually gets autoloaded
(eval-after-load 'multiple-cursors-core add-cmds)
(eval-after-load 'lispy add-cmds)))
(mc/always-run-for-all t))
(use-package expand-region
:bind ("C-=" . er/expand-region))
@ -140,18 +132,24 @@
:custom
(avy-timeout-seconds 0.3))
(use-package lispy
(use-package puni
:hook
emacs-lisp-mode
prog-mode
eval-expression-minibuffer-setup
sly-mrepl-mode
racket-repl-mode
ielm-mode
lisp-mode
scheme-mode
clojure-mode
:config
(add-to-list 'lispy-compat 'god-mode)
(add-to-list 'lispy-compat 'magit-blame-mode)
(when (boundp 'god-local-mode-map)
(push (assoc 'god-local-mode minor-mode-map-alist) minor-mode-map-alist)))
tex-mode
TeX-mode
:bind (:map puni-mode-map
("C-)" . puni-slurp-forward)
("C-}" . puni-barf-forward)
("C-(" . puni-slurp-backward)
("C-{" . puni-barf-backward)
("C-c p t" . puni-transpose)
("C-c p r" . puni-raise)
("C-c p l" . puni-splice)
("C-c p s" . puni-split)))
(use-package ace-window
:bind ("C-c w" . ace-window)
@ -972,7 +970,10 @@ This function is called by `org-babel-execute-src-block'."
(prog-mode . electric-pair-local-mode)
(eval-expression-minibuffer-setup . electric-pair-local-mode)
(sly-mrepl-mode . electric-pair-local-mode)
(racket-repl-mode . electric-pair-local-mode))
(racket-repl-mode . electric-pair-local-mode)
(ielm-mode . electric-pair-local-mode)
(tex-mode . electric-pair-local-mode)
(TeX-mode . electric-pair-local-mode))
(use-package ffap
:ensure nil