diff options
author | Tom Willemse | 2014-02-24 08:38:44 +0100 |
---|---|---|
committer | Tom Willemse | 2014-02-24 08:39:34 +0100 |
commit | bd033073e0d7e2edb1c5f2f956f944e855e48e3b (patch) | |
tree | f0a79d6ed4e7d833a1a44a339e0fb4591a5a658b /.emacs.d/init.el | |
parent | e6caf7a1cf632ff865f01075d2b939a305a04e47 (diff) | |
download | emacs-bd033073e0d7e2edb1c5f2f956f944e855e48e3b.tar.gz emacs-bd033073e0d7e2edb1c5f2f956f944e855e48e3b.zip |
Add oni:electric-pair-local-mode
Copied/adapted from `electric-indent-local-mode' from `electric.el'.
Diffstat (limited to '.emacs.d/init.el')
-rw-r--r-- | .emacs.d/init.el | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/.emacs.d/init.el b/.emacs.d/init.el index b3e42a7..2783b41 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -839,6 +839,21 @@ If no direction is given, don't split." (error (oni:stumpwm-command (format "move-focus %s" (ad-get-arg 0)))))) +;;;; Modes + +;; Copied from electric.el, modified from `electric-indent-local-mode'. +(define-minor-mode oni:electric-pair-local-mode + "Toggle `electric-pair-mode' only in this buffer." + :variable (buffer-local-value 'electric-pair-mode (current-buffer)) + (cond + ((eq electric-pair-mode (default-value 'electric-pair-mode)) + (kill-local-variable 'electric-pair-mode)) + ((not (default-value 'electric-pair-mode)) + ;; Locally enabled, but globally disabled. + (electric-pair-mode 1) ; Setup the hooks. + (setq-default electric-pair-mode nil) ; But keep it globally disabled. + ))) + ;;;; Aliases (defalias 'yes-or-no-p 'y-or-n-p) @@ -1247,7 +1262,8 @@ If no direction is given, don't split." 'clojure-mode-hook 'geiser-repl-mode-hook 'sawfish-mode-hook 'scheme-mode-hook) -(oni:add-hooks 'c-mode-hook #'oni:c-mode-func) +(oni:add-hooks 'c-mode-hook + #'oni:c-mode-func #'oni:electric-pair-local-mode) (oni:add-hooks 'css-mode-hook #'oni:css-mode-func #'rainbow-mode) @@ -1281,7 +1297,8 @@ If no direction is given, don't split." #'moz-minor-mode #'oni:js-mode-func) (oni:add-hooks 'js2-mode-hook - #'tern-mode #'oni:js2-mode-func #'moz-minor-mode) + #'tern-mode #'oni:js2-mode-func #'moz-minor-mode + #'oni:electric-pair-local-mode) (oni:add-hooks 'lisp-mode-hook #'oni:set-emacs-lisp-symbols #'paredit-mode) @@ -1302,7 +1319,7 @@ If no direction is given, don't split." (oni:add-hooks 'python-mode-hook #'oni:set-python-symbols #'flycheck-mode #'whitespace-mode #'oni:python-mode-func #'oni:set-python-imenu-function - #'jedi:setup #'subword-mode) + #'jedi:setup #'subword-mode #'oni:electric-pair-local-mode) (oni:add-hooks 'slime-repl-mode-hook #'paredit-mode #'set-up-slime-ac) |