Set global binding for hydra correctly

master
Jacopo De Simoi 6 years ago
parent 15d80ee0fb
commit 6ba17bb732
  1. 41
      global.org
  2. 2
      margin-current-line

@ -990,15 +990,38 @@
(autoload 'enable-paredit-mode "paredit" "Turn on (autoload 'enable-paredit-mode "paredit" "Turn on
pseudo-structural editing of Lisp code." t) pseudo-structural editing of Lisp code." t)
(add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode) (add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode)
(with-eval-after-load "paredit" (require 'hydra)
(define-paredit-pair ?“ ?” "pretty-quotes") (require 'highlight-parentheses)
(require 'hydra)
(defhydra hydra-paren (global-map "C-SPC") (defun hydra-paren/hl-paren-force-fix ()
"paren slurp and barf" ;;; This is needed b/c hl-parent caches the point position and
("C-f" paredit-forward-slurp-sexp "slurp forward") ;;; refuses to update if the point did not move
("M-f" paredit-forward-barf-sexp "barf forward") (let ((hl-paren-last-point -1))
("C-b" paredit-backward-slurp-sexp "slurp backward") (hl-paren-highlight)))
("M-b" paredit-backward-barf-sexp "barf backward"))) (defun hydra-paren/pre ()
(unless (boundp 'hydra-paren/hpm)
(highlight-parentheses-mode 1))
(setq hydra-paren/hpm t))
(defun hydra-paren/post ()
(highlight-parentheses-mode -1)
(makunbound 'hydra-paren/hpm))
(global-set-key
(kbd "C-SPC")
(defhydra hydra-paren
(:pre hydra-paren/pre :post hydra-paren/post)
"paren slurp and barf"
("l" (progn
(paredit-forward-slurp-sexp)
(hydra-paren/hl-paren-force-fix)) "slurp forward")
("j" (progn
(paredit-forward-barf-sexp)
(hydra-paren/hl-paren-force-fix)) "barf forward")
("s" (progn
(paredit-backward-slurp-sexp)
(hydra-paren/hl-paren-force-fix)) "slurp backward")
("f" (progn
(paredit-backward-barf-sexp)
(hydra-paren/hl-paren-force-fix)) "barf backward")))
#+END_SRC #+END_SRC
*** Replace last sexp *** Replace last sexp
I use this a lot to evaluate (e.g.) quick computations in files I use this a lot to evaluate (e.g.) quick computations in files

@ -1 +1 @@
Subproject commit 6826044e5167c64646bb5b18101184d8da6e666c Subproject commit 5c1676f44a5eb251c68b7219b0815d42d7d81080
Loading…
Cancel
Save