From 892fc8969bbac4c8354c69335ba3822701630b12 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 31 Mar 2016 03:22:20 -0400 Subject: [PATCH] Temporary fix for autoskipping >'s in C/C++' --- modules/defuns/defuns-cc.el | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/defuns/defuns-cc.el b/modules/defuns/defuns-cc.el index eb305f64f..f49d632f0 100644 --- a/modules/defuns/defuns-cc.el +++ b/modules/defuns/defuns-cc.el @@ -36,9 +36,21 @@ (define-key c-mode-base-map ")" 'self-insert-command) (define-key c++-mode-map "}" nil) - (define-key c++-mode-map ">" nil) + ;; FIXME: fix smartparens + ;; (define-key c++-mode-map ">" nil) + (map! :map c++-mode-map :i ">" 'narf/autoclose->-maybe) (define-key c++-mode-map "<" nil)) +;;;###autoload +(defun narf/autoclose->-maybe () + "For some reason smartparens won't autoskip >'s, this hack does." + (interactive) + (if (save-excursion + (backward-char) + (looking-at-p "[^ \t]>")) + (forward-char) + (call-interactively 'self-insert-command))) + (defun narf--copy-face (new-face face) "Define NEW-FACE from existing FACE." (copy-face face new-face)