From 237dba9e387b7cd80c49868810cf0e233cf1e096 Mon Sep 17 00:00:00 2001 From: eriedaberrie Date: Sun, 9 Feb 2025 21:55:42 +0000 Subject: [PATCH] Replace lispy with puni --- init.el | 55 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/init.el b/init.el index 2a52c27..3f6cd47 100644 --- a/init.el +++ b/init.el @@ -65,9 +65,8 @@ ("" . 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-" . 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