Skip to content

Instantly share code, notes, and snippets.

@mikavilpas
Created July 31, 2015 18:50
Show Gist options
  • Save mikavilpas/55c803501b3de77f4e90 to your computer and use it in GitHub Desktop.
Save mikavilpas/55c803501b3de77f4e90 to your computer and use it in GitHub Desktop.
;; http://endlessparentheses.com/permanent-auto-indentation.html
(defun endless/indent-defun ()
"Indent current defun.
Do nothing if mark is active (to avoid deactivaing it), or if
buffer is not modified (to avoid creating accidental
modifications)."
(interactive)
(ignore-errors
(unless (or (region-active-p)
buffer-read-only
(null (buffer-modified-p)))
(let ((l (save-excursion (beginning-of-defun 1) (point)))
(r (save-excursion (end-of-defun 1) (point))))
(cl-letf (((symbol-function 'message) #'ignore))
(indent-region l r))))))
(defun endless/activate-aggressive-indent ()
"Locally add `endless/indent-defun' to `post-command-hook'."
(add-hook 'post-command-hook
#'endless/indent-defun nil 'local))
(add-hook 'emacs-lisp-mode-hook
#'endless/activate-aggressive-indent)
(add-hook 'clojure-mode-hook
#'endless/activate-aggressive-indent)
(defun my-backward-up-sexp ()
(interactive)
(lispy-backward 1)
(evil-insert 1))
(defun my-up-sexp ()
(interactive)
(sp-up-sexp)
(evil-insert 1))
(define-key evil-normal-state-map (kbd "(") 'my-backward-up-sexp)
(define-key evil-insert-state-map (kbd ")") 'my-up-sexp)
(define-key evil-normal-state-map (kbd ")") 'my-up-sexp)
(evil-define-key 'normal emacs-lisp-mode-map (kbd "M-.") 'lispy-goto-symbol)
(evil-define-key 'insert emacs-lisp-mode-map (kbd "M-.") 'lispy-goto-symbol)
(provide 'my-lisp-general-config)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment