diff options
author | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
commit | bd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch) | |
tree | 95b9933376770381bd8859782ae763be81c2d72b /elpa/auctex-13.1.3/style/l3doc.el | |
parent | b07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff) | |
parent | ef160dea332af4b4fe5e2717b962936c67e5fe9e (diff) |
Merge conflict
Diffstat (limited to 'elpa/auctex-13.1.3/style/l3doc.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/l3doc.el | 270 |
1 files changed, 0 insertions, 270 deletions
diff --git a/elpa/auctex-13.1.3/style/l3doc.el b/elpa/auctex-13.1.3/style/l3doc.el deleted file mode 100644 index e51e83a..0000000 --- a/elpa/auctex-13.1.3/style/l3doc.el +++ /dev/null @@ -1,270 +0,0 @@ -;;; l3doc.el --- AUCTeX style for `l3doc.cls' -*- lexical-binding: t; -*- - -;; Copyright (C) 2022 Free Software Foundation, Inc. - -;; Author: Arash Esbati <arash@gnu.org> -;; Maintainer: auctex-devel@gnu.org -;; Created: 2022-03-05 -;; 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 `l3doc.cls' dated 2022/02/24. - -;;; Code: - -(require 'tex) -(require 'latex) - -;; Silence the compiler: -(declare-function font-latex-add-keywords - "font-latex" - (keywords class)) -(defvar LaTeX-article-class-options) - -(defvar LaTeX-l3doc-cmd-key-val-options - '(("index") - ("noindex") - ("module" ("TeX")) - ("replace" ("true" "false"))) - "Key=value options for l3doc macros.") - -(defun LaTeX-env-l3doc-function (environment) - "Insert the ENVIRONMENT provided by l3doc.cls. -This function should be used for the environments 'function' and -'variable' provided by the l3doc class. Also ask the user if a -'syntax' environment should be added as well." - (let* ((time (format-time-string "%Y-%m-%d" (current-time))) - (exp-flag (TeX-read-key-val t `(("added" (,time)) - ("updated" (,time)) - ("deprecated") - ("tested") - ("EXP") - ("rEXP") - ("TF") - ("pTF") - ("noTF") - ("label") - ("verb")) - "Flags (k=v)")) - (mac (TeX-read-string - (TeX-argument-prompt nil nil "Macro(s)") - TeX-esc)) - (active-mark (and (TeX-active-mark) - (not (eq (mark) (point))))) - (elt-count 0) - (count 1) - (comment-func (lambda () - (if (TeX-in-line-comment) - (indent-according-to-mode) - (delete-horizontal-space) - (beginning-of-line) - (insert "%") - (indent-according-to-mode)))) - p) - (LaTeX-insert-environment environment - (concat - (unless (zerop (length exp-flag)) - (format "[%s]" exp-flag)) - TeX-grop mac TeX-grcl)) - ;; Remember where we start: - (setq p (point-marker)) - ;; Now make sure we have '%' everywhere, start at the beginning: - (search-backward (concat TeX-esc "begin" TeX-grop environment TeX-grcl) - (if active-mark nil (line-beginning-position 0)) - t) - (funcall comment-func) - ;; Now at the end: - (goto-char p) - (search-forward (concat TeX-esc "end" TeX-grop environment TeX-grcl) - (if active-mark nil (line-end-position 2)) - t) - (goto-char (match-beginning 0)) - (funcall comment-func) - ;; Finally for where we started and clean up only when region was - ;; not active: - (goto-char p) - (unless active-mark (funcall comment-func)) - (set-marker p nil) - ;; Ask if we should insert a 'syntax' environment: - (when (and (not active-mark) - (y-or-n-p "Insert syntax environment? ")) - (LaTeX-environment-menu "syntax") - (funcall comment-func) - ;; Try to be smart: insert \cs{mac} into buffer. First, delete - ;; any whitespaces after the ',' if inserted: - (setq mac (split-string - (replace-regexp-in-string "[[:blank:]]" - "" - mac) - "," t)) - ;; Count the number of elements for the number of linebreaks: - (setq elt-count (length mac)) - ;; Now insert the functions wrapped in \cs: - (save-excursion - (dolist (elt mac) - (insert TeX-esc "cs" TeX-grop (substring elt 1) TeX-grcl) - (when (< count elt-count) - (LaTeX-newline) - (setq count (1+ count))))) - ;; Now move to end of the first line: - (end-of-line) - (just-one-space)))) - -(defun LaTeX-item-l3doc-syntax () - "Insert line break macro on the last line. -For syntax environment from l3doc class." - (save-excursion - (end-of-line 0) - (just-one-space) - (TeX-insert-macro "\\"))) - -(TeX-add-style-hook - "l3doc" - (lambda () - - ;; l3doc.cls loads shortvrb.sty and sets '|' and '"' as shorthands. - ;; We append them to a local version of `LaTeX-shortvrb-chars' - ;; before running the style hook for 'shortvrb' which is done - ;; inside 'doc.el': - (make-local-variable 'LaTeX-shortvrb-chars) - (dolist (elt '(?| ?\")) - (add-to-list 'LaTeX-shortvrb-chars elt t)) - - (TeX-run-style-hooks "expl3" "doc" "ltx-base" - "article" "array" "amsmath" "booktabs" - "color" "colortbl" "hologo" "enumitem" - "textcomp" "csquotes" "fancyvrb" "verbatim" - "underscore") - - (TeX-add-symbols - ;; 4.2 Partitioning documentation and implementation - '("EnableDocumentation" 0) - '("EnableImplementation" 0) - '("DisableDocumentation" 0) - '("DisableImplementation" 0) - '("DocInputAgain" 0) - - ;; 4.3 General text markup - '("cmd" - [TeX-arg-key-val LaTeX-l3doc-cmd-key-val-options] - TeX-arg-macro) - '("cs" - [TeX-arg-key-val LaTeX-l3doc-cmd-key-val-options] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Macro") - (TeX-symbol-list))) - '("tn" - [TeX-arg-key-val LaTeX-l3doc-key-val-options] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Macro") - (TeX-symbol-list))) - - ;; "meta" is provided by doc.el, so don't add here again - '("Arg" "Argument") - '("marg" "Mandatory argument") - '("oarg" "Optional argument") - '("parg" "Picture mode argument") - - '("file" "File name") - '("env" LaTeX-env-args - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Environment") - (LaTeX-environment-list))) - '("pkg" "Package name") - '("cls" "Class name") - - '("NB" "Tag" t) - - '("DocInput" - (TeX-arg-eval - (lambda () - (let ((file (TeX-read-string - (format "File(s) to include (default %s): " (current-buffer)) - nil nil (current-buffer)))) - (format "%s" file))))) - - ;; 4.5 Describing functions in the implementation - '("TestFiles" "File(s)") - '("UnitTested" 0) - '("TestMissing" t)) - - (LaTeX-add-environments - '("documentation") - '("implementation") - '("NOTE" "Tag") - '("function" LaTeX-env-l3doc-function) - '("variable" LaTeX-env-l3doc-function) - ;; Feature in 'syntax' environment: Hit 'M-RET' to insert '\\': - '("syntax") - '("texnote") - '("arguments" LaTeX-env-item)) - - ;; Do not indent the content of the 'documentation' and - ;; 'implementation' environments; it is odd when major parts of the - ;; document are indented. Append them to a local version of - ;; `LaTeX-document-regexp': - (unless (string-match-p "\\<implementation\\>" LaTeX-document-regexp) - (set (make-local-variable 'LaTeX-document-regexp) - (concat LaTeX-document-regexp - "\\|documentation\\|implementation"))) - - ;; Append syntax to `LaTeX-item-list' with `LaTeX-item-l3doc-syntax' - (add-to-list 'LaTeX-item-list '("syntax" . LaTeX-item-l3doc-syntax) t) - - ;; Fontification - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords '(("cmd" "[{") - ("cs" "[{") - ("Arg" "{") - ("marg" "{") - ("oarg" "{") - ("parg" "{") - ("file" "{") - ("env" "{") - ("pkg" "{") - ("cls" "{") - ("NB" "{{")) - 'textual) - (font-latex-add-keywords '(("EnableDocumentation" "") - ("EnableImplementation" "") - ("DisableDocumentation" "") - ("DisableImplementation" "") - ("DocInputAgain" "") - ("TestFiles" "{") - ("UnitTested" "") - ("TestMissing" "{")) - 'function) - (font-latex-add-keywords '("DocInput" "{") - 'reference))) - TeX-dialect) - -(defvar LaTeX-l3doc-class-options - (progn - (TeX-load-style "article") - (append (remove "a5paper" LaTeX-article-class-options) - '("full" "onlydoc" "check" "nocheck" "checktest" - "nochecktest" "kernel" "stdmodule" "cm-default" - "lm-default" "cs-break-off" "cs-break-nohyphen" - "show-notes" "hide-notes"))) - "Class options for the l3doc class.") - -;;; l3doc.el ends here |