 ;; save every n keystrokes
 (setq auto-save-interval 20)
 
-;; paredit
-(setq paredit-space-for-delimiter-predicates
-      '((lambda (del endp)
-          (if (member major-mode '(haskell-mode clojure-mode emacs-lisp-mode
-                                   common-lisp-mode scheme-mode lisp-mode))
-              t
-              nil))))
-(add-hook 'prog-mode-hook 'paredit-mode)
+;; paredit-everywhere
+(add-hook 'prog-mode-hook 'paredit-everywhere-mode)
+
+;; electric-pair
+(add-hook 'prog-mode-hook 'electric-pair-mode)
 
 ;; whitespace
 (setq-default show-trailing-whitespace t)


;; clojure-mode
(add-hook 'clojure-mode-hook
          (lambda () (mapc (lambda (x) (put-clojure-indent x 'defun))
                           '(lazy-seq cond dosync))))

(defun esk-pretty-fn ()
  (font-lock-add-keywords nil `(("(\\(fn\\>\\)"

                      noctilux-theme
                      nzenburn-theme
                      paredit
                      paredit-everywhere
                      rainbow-delimiters
                      rust-mode
                      scala-mode2
