From becff06c71d277647eda4378203d03ab36e141eb Mon Sep 17 00:00:00 2001 From: mattkae Date: Tue, 17 May 2022 07:07:37 -0400 Subject: Evil mode and latex support --- elpa/auctex-13.1.3/style/tcolorboxlib-raster.el | 202 ++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 elpa/auctex-13.1.3/style/tcolorboxlib-raster.el (limited to 'elpa/auctex-13.1.3/style/tcolorboxlib-raster.el') diff --git a/elpa/auctex-13.1.3/style/tcolorboxlib-raster.el b/elpa/auctex-13.1.3/style/tcolorboxlib-raster.el new file mode 100644 index 0000000..db61a03 --- /dev/null +++ b/elpa/auctex-13.1.3/style/tcolorboxlib-raster.el @@ -0,0 +1,202 @@ +;;; tcolorboxlib-raster.el --- AUCTeX style for `raster' library from tcolorbox -*- lexical-binding: t; -*- + +;; Copyright (C) 2016--2021 Free Software Foundation, Inc. + +;; Author: Arash Esbati +;; Maintainer: auctex-devel@gnu.org +;; Keywords: tex + +;; This file is part of AUCTeX. + +;; AUCTeX 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, or (at your option) +;; any later version. + +;; AUCTeX 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 AUCTeX; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +;; 02110-1301, USA. + +;;; Commentary: + +;; This file adds support for `raster' library from tcolorbox.sty. + +;;; Code: + +(require 'tex) +(require 'latex) + +;; Silence the compiler: +(declare-function font-latex-add-keywords + "font-latex" + (keywords class)) +(declare-function LaTeX-tcolorbox-keyval-options "tcolorbox" ()) +(defvar LaTeX-tcolorbox-keyval-options-full) + +(defvar LaTeX-tcolorbox-lib-raster-keyval-options + '(;; 14.3 Option Keys of the Library + ("raster columns") + ("raster rows") + ("raster width") + ("raster height") + ("raster before skip") + ("raster after skip") + ("raster equal skip") + ("raster left skip") + ("raster right skip") + ("raster column skip") + ("raster row skip") + ("raster halign" ("left" "center" "right")) + ("raster valign" ("top" "center" "bottom")) + ("raster equal height" ("noe" "rows" "all")) + ("raster equal height group") + ("raster force size" ("true" "false")) + ("raster reset") + ;; 14.4 Adding Styles for Specific Boxes + ("raster every box") + ("raster odd column") + ("raster even column") + ("raster column 1") + ("raster column 2") + ("raster column 3") + ("raster column 4") + ("raster odd row") + ("raster even row") + ("raster row 1") + ("raster row 2") + ("raster row 3") + ("raster row 4") + ("raster odd number") + ("raster even number") + ;; raster row m column n is left to user + ("raster number 1") + ("raster number 2") + ("raster number 3") + ("raster number 4") + ;; 14.5 Combining Columns or Rows + ("raster multicolumn") + ("raster multirow")) + "Key=value options for raster library from tcolorbox.") + +(defun LaTeX-tcolorbox-lib-raster-env-item (environment) + "Insert ENVIRONMENT, ask for arguments and the first item." + (LaTeX-insert-environment + environment + (let ((opts (TeX-read-key-val t (append + LaTeX-tcolorbox-lib-raster-keyval-options + (LaTeX-tcolorbox-keyval-options)) + (when (string= environment "tcboxeditemize") + "Raster options (k=v)"))) + (box-opts (when (string= environment "tcboxeditemize") + (TeX-read-key-val nil (LaTeX-tcolorbox-keyval-options) + "Box options (k=v)")))) + (concat + (when (and opts (not (string= opts ""))) + (format "[%s]" opts)) + (when (string= environment "tcboxeditemize") + (format "{%s}" box-opts))))) + (if (TeX-active-mark) + (progn + (LaTeX-find-matching-begin) + (end-of-line 1)) + (end-of-line 0)) + (delete-char 1) + (when (looking-at (concat "^[ \t]+$\\|" + "^[ \t]*" TeX-comment-start-regexp "+[ \t]*$")) + (delete-region (point) (line-end-position))) + (delete-horizontal-space) + ;; Deactivate the mark here in order to prevent `TeX-parse-macro' + ;; from swapping point and mark and the \item ending up right after + ;; \begin{...}. + (deactivate-mark) + (LaTeX-insert-item) + ;; The inserted \item may have outdented the first line to the + ;; right. Fill it, if appropriate. + (when (and auto-fill-function + (not (looking-at "$")) + (not (assoc environment LaTeX-indent-environment-list)) + (> (- (line-end-position) (line-beginning-position)) + (current-fill-column))) + (LaTeX-fill-paragraph nil))) + +(defun LaTeX-tcolorbox-lib-raster-insert-item () + "Insert \"tcbitem\" and query for optional argument." + (TeX-insert-macro "tcbitem")) + +(TeX-add-style-hook + "tcolorboxlib-raster" + (lambda () + + ;; Register key-vals from library to `LaTeX-tcolorbox-keyval-options-full': + (add-to-list 'LaTeX-tcolorbox-keyval-options-full + 'LaTeX-tcolorbox-lib-raster-keyval-options) + + (TeX-add-symbols + ;; 14.2 Macros of the Library + '("tcbitem" + [TeX-arg-key-val (LaTeX-tcolorbox-keyval-options) "Item options (k=v)" ] + (TeX-arg-literal " "))) + + (LaTeX-add-environments + ;; 14.2 Macros of the Library + '("tcbraster" + (lambda (env) + (LaTeX-insert-environment + env + (let ((raster-opts + (TeX-read-key-val t (append + LaTeX-tcolorbox-lib-raster-keyval-options + (LaTeX-tcolorbox-keyval-options))))) + (when (and raster-opts (not (string= raster-opts ""))) + (concat LaTeX-optop raster-opts LaTeX-optcl)))))) + + '("tcbitemize" LaTeX-tcolorbox-lib-raster-env-item) + + '("tcboxedraster" + (lambda (env) + (LaTeX-insert-environment + env + (let ((raster-opts + (TeX-read-key-val t (append + LaTeX-tcolorbox-lib-raster-keyval-options + (LaTeX-tcolorbox-keyval-options)) + "Raster options (k=v)")) + (box-opts + (TeX-read-key-val nil (LaTeX-tcolorbox-keyval-options) + "Box options (k=v)"))) + (concat + (when (and raster-opts (not (string= raster-opts ""))) + (concat LaTeX-optop raster-opts LaTeX-optcl)) + TeX-grop box-opts TeX-grcl))))) + + '("tcboxeditemize" LaTeX-tcolorbox-lib-raster-env-item)) + + ;; Append tcb(oxed)?itemize to `LaTeX-item-list': + (add-to-list 'LaTeX-item-list + '("tcbitemize" . LaTeX-tcolorbox-lib-raster-insert-item) t) + (add-to-list 'LaTeX-item-list + '("tcboxeditemize" . LaTeX-tcolorbox-lib-raster-insert-item) t) + + ;; Append tcbitem to `LaTeX-item-regexp': + (unless (string-match "tcbitem" LaTeX-item-regexp) + (set (make-local-variable 'LaTeX-item-regexp) + (concat + LaTeX-item-regexp + "\\|" + "tcbitem\\b")) + (LaTeX-set-paragraph-start)) + + ;; Fontification + (when (and (featurep 'font-latex) + (eq TeX-install-font-lock 'font-latex-setup)) + (font-latex-add-keywords '(("tcbitem" "[")) + 'textual))) + TeX-dialect) + +;;; tcolorboxlib-raster.el ends here -- cgit v1.2.1