From ee4d3172935c645fb41ef7f1b085b93ce0e99904 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 28 Aug 2018 01:27:56 +0200 Subject: [PATCH] lang/latex: improve smartparens compatiblity Also fixes special quote insertion (mentionde in #485) --- modules/lang/latex/config.el | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/lang/latex/config.el b/modules/lang/latex/config.el index cf106d6f4..f0c6d2be8 100644 --- a/modules/lang/latex/config.el +++ b/modules/lang/latex/config.el @@ -26,9 +26,6 @@ If no viewers are found, `latex-preview-pane' is used.") ;; Plugins ;; -;; sp's default rules are obnoxious, so disable them -(provide 'smartparens-latex) - (def-package! tex :mode ("\\.tex\\'" . TeX-latex-mode) :config @@ -69,7 +66,19 @@ If no viewers are found, `latex-preview-pane' is used.") ;; Enable rainbow mode after applying styles to the buffer (add-hook 'TeX-update-style-hook #'rainbow-delimiters-mode) (when (featurep! :feature spellcheck) - (add-hook 'TeX-mode-hook #'flyspell-mode :append))) + (add-hook 'TeX-mode-hook #'flyspell-mode :append)) + ;; All these excess pairs dramatically slow down typing in latex buffers, so + ;; we remove them. Let snippets do their job. + (after! smartparens-latex + (let ((modes '(tex-mode plain-tex-mode latex-mode LaTeX-mode))) + (dolist (open '("\\left(" "\\left[" "\\left\\{" "\\left|" + "\\bigl(" "\\biggl(" "\\Bigl(" "\\Biggl(" "\\bigl[" + "\\biggl[" "\\Bigl[" "\\Biggl[" "\\bigl\\{" "\\biggl\\{" + "\\Bigl\\{" "\\Biggl\\{" + "\\lfloor" "\\lceil" "\\langle" + "\\lVert" "\\lvert" "`")) + (sp-local-pair modes open nil :actions nil)) + (sp-local-pair modes "``" nil :unless '(:add sp-in-math-p))))) (after! latex