;; Damper dealiĆ
(delete-selection-mode t)
-;; (global-sedit-mouse-mode t)
(global-acme-mouse-mode t)
(setq disabled-command-function nil
(add-hook 'dired-mode-hook
(lambda nil
(dired-hide-details-mode t)
- (keymap-set dired-mode-map "RET" #'dired-find-alternate-file)
+ ;; (keymap-set dired-mode-map "RET" #'dired-find-alternate-file)
(keymap-set dired-mode-map "f" #'re/dired-find-marked-files)))
;; Bookmarks
(dolist (hook *re/lisp-mode-hooks*)
(add-hook hook
- (lambda ()
+ (lambda nil
(acme-mouse-mode 0)
(sedit-mouse-mode 1)
+ (electric-pair-mode 1)
(keymap-set lisp-mode-shared-map
"]"
(re/balance-and-eval-sexp #'sedit-auto-prettify-sexp)))))
(add-hook 'lisp-interaction-mode-hook
- (lambda ()
+ (lambda nil
(acme-mouse-mode 0)
(sedit-mouse-mode 1)
+ (electric-pair-mode 1)
(keymap-set lisp-interaction-mode-map
"]"
(re/balance-and-eval-sexp #'eval-print-last-sexp))))
(defun re/balance-sexp ()
"Balance the sexp before point.
-Either delete or add as many ')' as needed."
+Either delete, move forward, or add as many ')' as needed."
(let ((distance (re/sexp-unbalanced-count)))
(cond ((re/sexp-need-paren-p)
- (insert-char 41 distance))
+ (if (looking-at ")")
+ (progn
+ (forward-char)
+ (re/balance-sexp))
+ (insert-char 41 distance)))
((re/sexp-drop-paren-p)
(backward-delete-char distance)))))