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
pseudo-structural editing of Lisp code." t)
(add-hook 'emacs-lisp-mode-hook #'enable-paredit-mode)
(with-eval-after-load "paredit"
(define-paredit-pair ?“ ?” "pretty-quotes")
(require 'hydra)
(defhydra hydra-paren (global-map "C-SPC")
"paren slurp and barf"
("C-f" paredit-forward-slurp-sexp "slurp forward")
("M-f" paredit-forward-barf-sexp "barf forward")
("C-b" paredit-backward-slurp-sexp "slurp backward")
("M-b" paredit-backward-barf-sexp "barf backward")))
(require 'hydra)
(require 'highlight-parentheses)
(defun hydra-paren/hl-paren-force-fix ()
;;; This is needed b/c hl-parent caches the point position and
;;; refuses to update if the point did not move
(let ((hl-paren-last-point -1))
(hl-paren-highlight)))
(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
*** Replace last sexp
I use this a lot to evaluate (e.g.) quick computations in files

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