From: Peng Li Date: Sat, 23 Sep 2017 12:06:34 +0000 (+0800) Subject: Emacs - remove smartparens and use electric-pair-mode instead, add c style X-Git-Url: http://47.100.26.94:8080/?a=commitdiff_plain;h=bcc4c0e657fb764e549d75ba5ea95f990461aca0;p=dotfiles.git Emacs - remove smartparens and use electric-pair-mode instead, add c style --- diff --git a/emacs.d/config.org b/emacs.d/config.org index 66a1107..76330ed 100644 --- a/emacs.d/config.org +++ b/emacs.d/config.org @@ -1528,12 +1528,12 @@ Type =o= to go to the link ** Smart Parens #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (use-package smartparens - :ensure t - :config - (progn - (require 'smartparens-config) - (add-hook 'prog-mode-hook 'smartparens-mode))) + ;; (use-package smartparens + ;; :ensure t + ;; :config + ;; (progn + ;; (require 'smartparens-config) + ;; (add-hook 'prog-mode-hook 'smartparens-mode))) #+END_SRC ** Ace-Windows @@ -2274,8 +2274,8 @@ C/C++ ide tools 3. tags jump *** c/c++ style #+BEGIN_SRC emacs-lisp :tangle yes :results silent - (setq c-default-style "stroustrup" - c-basic-offset 4) + ;; (setq c-default-style "stroustrup" + ;; c-basic-offset 4) ;; "C-M-j" is my global binding for avy goto line below ;; disable it in c mode @@ -2289,6 +2289,31 @@ C/C++ ide tools (add-to-list 'auto-mode-alist '("\\.mm\\'" . objc-mode)) (setq c-hungry-delete-key t) + + + ;; Looks `c-hanging-braces-alist' doesn't work as expected when `electric-pair-mode' is enabled. + (electric-pair-mode 1) + + (defconst sd/c-style + '("stroustrup" + (c-tab-always-indent . t) + (c-basic-offset . 4) + (c-hanging-braces-alist . ((substatement-open before) + (statement-block-intro before))) + (c-hanging-colons-alist . ()) + (c-echo-syntactic-information-p . nil) + (c-hanging-semi&comma-criteria . ())) + "My C programming style") + + (c-add-style "sd-c-style" sd/c-style) + + (setq c-default-style "sd-c-style") + + (add-hook 'c-mode-hook '(lambda () + (c-toggle-auto-newline 1) + (c-set-style "sd-c-style"))) + + ;; (advice-add 'c-electric-brace :after (lambda (arg) "Add new line after insert {}" (newline-and-indent))) #+END_SRC *** irony