summaryrefslogtreecommitdiff
path: root/elpa/smartparens-20200324.2147/smartparens-latex.el
diff options
context:
space:
mode:
authorBlendoit <blendoit@gmail.com>2020-08-01 15:24:03 -0700
committerBlendoit <blendoit@gmail.com>2020-08-01 15:24:03 -0700
commite47650852b8aa4da6d0b0cea3b5421955795cc64 (patch)
tree2535f7cc4fa4b5c25bbd46f9523da5944b76e201 /elpa/smartparens-20200324.2147/smartparens-latex.el
parent374ae3de24187512adddf01a56e5eb52c79db65f (diff)
Definitely /not/ including elpa/, that would be chaos.
Diffstat (limited to 'elpa/smartparens-20200324.2147/smartparens-latex.el')
-rw-r--r--elpa/smartparens-20200324.2147/smartparens-latex.el192
1 files changed, 0 insertions, 192 deletions
diff --git a/elpa/smartparens-20200324.2147/smartparens-latex.el b/elpa/smartparens-20200324.2147/smartparens-latex.el
deleted file mode 100644
index 61d9a00..0000000
--- a/elpa/smartparens-20200324.2147/smartparens-latex.el
+++ /dev/null
@@ -1,192 +0,0 @@
-;;; smartparens-latex.el --- Additional configuration for (La)TeX based modes. -*- lexical-binding: t; -*-
-
-;; Copyright (C) 2013-2016 Matus Goljer
-
-;; Author: Matus Goljer <matus.goljer@gmail.com>
-;; Maintainer: Matus Goljer <matus.goljer@gmail.com>
-;; Created: 14 Feb 2013
-;; Keywords: abbrev convenience editing
-;; URL: https://github.com/Fuco1/smartparens
-
-;; This file is not part of GNU Emacs.
-
-;;; License:
-
-;; This file is part of Smartparens.
-
-;; Smartparens is free software; you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; Smartparens is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with Smartparens. If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; This file provides some additional configuration for (La)TeX based
-;; modes. To use it, simply add:
-;;
-;; (require 'smartparens-latex)
-;;
-;; into your configuration. You can use this in conjunction with the
-;; default config or your own configuration.
-
-;; If you have good ideas about what should be added please file an
-;; issue on the github tracker.
-
-;; For more info, see github readme at
-;; https://github.com/Fuco1/smartparens
-
-;;; Code:
-
-(require 'smartparens)
-
-(defun sp-latex-insert-spaces-inside-pair (_id action _context)
- "ID, ACTION, CONTEXT."
- (when (eq action 'insert)
- (insert " ")
- (backward-char 1))
- (when (and (eq action 'wrap)
- (save-excursion
- (goto-char (sp-get sp-last-wrapped-region :beg-in))
- (not (sp--looking-back-p "[[{(]"))))
- (save-excursion
- (goto-char (sp-get sp-last-wrapped-region :end-in))
- (insert " ")
- (goto-char (sp-get sp-last-wrapped-region :beg-in))
- (insert " "))))
-
-(defun sp-latex-skip-match-apostrophe (ms _mb me)
- "MS, MB, ME."
- (when (equal ms "'")
- (save-excursion
- (goto-char me)
- (looking-at-p "\\sw"))))
-
-(defun sp-latex-skip-double-quote (_id action _context)
- "ID, ACTION, CONTEXT."
- (when (eq action 'insert)
- (when (looking-at-p "''''")
- (delete-char -2)
- (delete-char 2)
- (forward-char 2))))
-
-(defun sp-latex-point-after-backslash (id action _context)
- "Return t if point follows a backslash, nil otherwise.
-This predicate is only tested on \"insert\" action.
-ID, ACTION, CONTEXT."
- (when (eq action 'insert)
- (let ((trigger (sp-get-pair id :trigger)))
- (looking-back (concat "\\\\" (regexp-quote (if trigger trigger id))) nil))))
-
-(add-to-list 'sp-navigate-skip-match
- '((tex-mode plain-tex-mode latex-mode) . sp--backslash-skip-match))
-
-(sp-with-modes '(
- tex-mode
- plain-tex-mode
- latex-mode
- LaTeX-mode
- )
- (sp-local-pair "`" "'"
- :actions '(:rem autoskip)
- :skip-match 'sp-latex-skip-match-apostrophe
- :unless '(sp-latex-point-after-backslash sp-in-math-p))
- ;; math modes, yay. The :actions are provided automatically if
- ;; these pairs do not have global definitions.
- (sp-local-pair "$" "$")
- (sp-local-pair "\\[" "\\]"
- :unless '(sp-latex-point-after-backslash))
-
- ;; disable useless pairs.
- (sp-local-pair "\\\\(" nil :actions nil)
- (sp-local-pair "'" nil :actions nil)
- (sp-local-pair "\\\"" nil :actions nil)
-
- ;; quote should insert ``'' instead of double quotes. If we ever
- ;; need to insert ", C-q is our friend.
- (sp-local-pair "``" "''"
- :trigger "\""
- :unless '(sp-latex-point-after-backslash sp-in-math-p)
- :post-handlers '(sp-latex-skip-double-quote))
-
- ;; add the prefix function sticking to {} pair
- (sp-local-pair "{" nil :prefix "\\\\\\(\\sw\\|\\s_\\)*")
-
- ;; do not add more space when slurping
- (sp-local-pair "{" "}")
- (sp-local-pair "(" ")")
- (sp-local-pair "[" "]")
-
- ;; pairs for big brackets. Needs more research on what pairs are
- ;; useful to add here. Post suggestions if you know some.
- (sp-local-pair "\\left(" "\\right)"
- :trigger "\\l("
- :when '(sp-in-math-p)
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\left[" "\\right]"
- :trigger "\\l["
- :when '(sp-in-math-p)
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\left\\{" "\\right\\}"
- :trigger "\\l{"
- :when '(sp-in-math-p)
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\left|" "\\right|"
- :trigger "\\l|"
- :when '(sp-in-math-p)
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\bigl(" "\\bigr)"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\biggl(" "\\biggr)"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Bigl(" "\\Bigr)"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Biggl(" "\\Biggr)"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\bigl[" "\\bigr]"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\biggl[" "\\biggr]"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Bigl[" "\\Bigr]"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Biggl[" "\\Biggr]"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\bigl\\{" "\\bigr\\}"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\biggl\\{" "\\biggr\\}"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Bigl\\{" "\\Bigr\\}"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\Biggl\\{" "\\Biggr\\}"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\lfloor" "\\rfloor"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\lceil" "\\rceil"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\langle" "\\rangle"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\lVert" "\\rVert"
- :when '(sp-in-math-p)
- :trigger "\\lVert"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
- (sp-local-pair "\\lvert" "\\rvert"
- :when '(sp-in-math-p)
- :trigger "\\lvert"
- :post-handlers '(sp-latex-insert-spaces-inside-pair))
-
- ;; some common wrappings
- (sp-local-tag "\"" "``" "''" :actions '(wrap))
- (sp-local-tag "\\b" "\\begin{_}" "\\end{_}")
- (sp-local-tag "bi" "\\begin{itemize}" "\\end{itemize}")
- (sp-local-tag "be" "\\begin{enumerate}" "\\end{enumerate}"))
-
-(provide 'smartparens-latex)
-
-;;; smartparens-latex.el ends here
Copyright 2019--2024 Marius PETER