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) ("<escape>" . abort-minibuffers)
("ESC ESC ESC" . keyboard-escape-quit)) ("ESC ESC ESC" . keyboard-escape-quit))
:custom :custom
(god-exempt-major-modes nil)
(god-exempt-predicates (list #'god-exempt-mode-p)) (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-") (god-mode-alist '((nil . "C-")
("g" . "M-") ("g" . "M-")
("m" . "C-M-"))) ("m" . "C-M-")))
@ -76,8 +75,7 @@
(interactive) (interactive)
(let ((god-local-mode nil)) (let ((god-local-mode nil))
(if-let* ((buffer-read-only) (if-let* ((buffer-read-only)
(ret (key-binding (read-kbd-macro "q"))) (ret (key-binding (read-kbd-macro "q"))))
((not (or (eq ret #'self-insert-command) (and (boundp lispy-mode) lispy-mode)))))
(call-interactively ret) (call-interactively ret)
(switch-to-prev-buffer)))) (switch-to-prev-buffer))))
(cl-macrolet ((define-kmacro-wrapper (name key) (cl-macrolet ((define-kmacro-wrapper (name key)
@ -98,6 +96,11 @@
(unless (display-graphic-p) (unless (display-graphic-p)
;; Escape codes for hbar cursor in insert mode ;; Escape codes for hbar cursor in insert mode
(send-string-to-terminal "\e[4 q"))))) (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)) (god-mode))
(use-package multiple-cursors (use-package multiple-cursors
@ -113,18 +116,7 @@
("C-c U" . mc/mark-all-dwim) ("C-c U" . mc/mark-all-dwim)
("C-S-<mouse-1>" . mc/add-cursor-on-click) ("C-S-<mouse-1>" . mc/add-cursor-on-click)
:custom :custom
(mc/always-run-for-all t) (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)))
(use-package expand-region (use-package expand-region
:bind ("C-=" . er/expand-region)) :bind ("C-=" . er/expand-region))
@ -140,18 +132,24 @@
:custom :custom
(avy-timeout-seconds 0.3)) (avy-timeout-seconds 0.3))
(use-package lispy (use-package puni
:hook :hook
emacs-lisp-mode prog-mode
eval-expression-minibuffer-setup
sly-mrepl-mode
racket-repl-mode
ielm-mode ielm-mode
lisp-mode tex-mode
scheme-mode TeX-mode
clojure-mode :bind (:map puni-mode-map
:config ("C-)" . puni-slurp-forward)
(add-to-list 'lispy-compat 'god-mode) ("C-}" . puni-barf-forward)
(add-to-list 'lispy-compat 'magit-blame-mode) ("C-(" . puni-slurp-backward)
(when (boundp 'god-local-mode-map) ("C-{" . puni-barf-backward)
(push (assoc 'god-local-mode minor-mode-map-alist) minor-mode-map-alist))) ("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 (use-package ace-window
:bind ("C-c w" . 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) (prog-mode . electric-pair-local-mode)
(eval-expression-minibuffer-setup . electric-pair-local-mode) (eval-expression-minibuffer-setup . electric-pair-local-mode)
(sly-mrepl-mode . 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 (use-package ffap
:ensure nil :ensure nil