diff options
Diffstat (limited to 'elpa/auctex-13.1.3/tex-font.el')
-rw-r--r-- | elpa/auctex-13.1.3/tex-font.el | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/elpa/auctex-13.1.3/tex-font.el b/elpa/auctex-13.1.3/tex-font.el deleted file mode 100644 index 5f483d8..0000000 --- a/elpa/auctex-13.1.3/tex-font.el +++ /dev/null @@ -1,178 +0,0 @@ -;;; tex-font.el --- Font-Lock support stolen from Emacs 21. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 1985-2021 Free Software Foundation, Inc. - -;; Maintainer: auctex-devel@gnu.org -;; Keywords: tex, faces - -;; This file is part of AUC TeX. - -;; AUC TeX 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. - -;; AUC TeX 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 AUC TeX; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -;; Boston, MA 02110-1301, USA. - -;;; Comments: - -;; Please keep this file in sync with GNU Emacs 21. - -;;; Code: - -(defconst tex-font-lock-keywords-1 - (eval-when-compile - (let* (;; Names of commands whose arg should be fontified as heading, etc. - (headings (regexp-opt - '("title" "begin" "end" "chapter" "part" - "section" "subsection" "subsubsection" - "paragraph" "subparagraph" "subsubparagraph" - "newcommand" "renewcommand" "newenvironment" - "newtheorem") - t)) - (variables (regexp-opt - '("newcounter" "newcounter*" "setcounter" "addtocounter" - "setlength" "addtolength" "settowidth") - t)) - (includes (regexp-opt - '("input" "include" "includeonly" "bibliography" - "epsfig" "psfig" "epsf" "nofiles" "usepackage" - "documentstyle" "documentclass" "verbatiminput" - "includegraphics" "includegraphics*") - t)) - ;; Miscellany. - (slash "\\\\") - (opt " *\\(\\[[^]]*\\] *\\)*") - ;; This would allow highlighting \newcommand\CMD but requires - ;; adapting subgroup numbers below. - ;; (arg "\\(?:{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)\\|\\\\[a-z*]+\\)")) - (arg "{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)")) - (list - ;; Heading args. - (list (concat slash headings "\\*?" opt arg) - ;; If ARG ends up matching too much (if the {} don't match, f.ex) - ;; jit-lock will do funny things: when updating the buffer - ;; the re-highlighting is only done locally so it will just - ;; match the local line, but defer-contextually will - ;; match more lines at a time, so ARG will end up matching - ;; a lot more, which might suddenly include a comment - ;; so you get things highlighted bold when you type them - ;; but they get turned back to normal a little while later - ;; because "there's already a face there". - ;; Using `keep' works around this un-intuitive behavior as well - ;; as improves the behavior in the very rare case where you do - ;; have a comment in ARG. - 3 'font-lock-function-name-face 'keep) - (list (concat slash "\\(re\\)?newcommand\\** *\\(\\\\[A-Za-z@]+\\)") - 2 'font-lock-function-name-face 'keep) - ;; Variable args. - (list (concat slash variables " *" arg) 2 'font-lock-variable-name-face) - ;; Include args. - (list (concat slash includes opt arg) 3 'font-lock-builtin-face) - ;; Definitions. I think. - '("^[ \t]*\\\\def *\\\\\\(\\(\\w\\|@\\)+\\)" - 1 font-lock-function-name-face)))) - "Subdued expressions to highlight in TeX modes.") - -(defconst tex-font-lock-keywords-2 - (append tex-font-lock-keywords-1 - (eval-when-compile - (let* (;; - ;; Names of commands whose arg should be fontified with fonts. - (bold (regexp-opt '("textbf" "textsc" "textup" - "boldsymbol" "pmb") - t)) - (italic (regexp-opt '("textit" "textsl" "emph") t)) - ;; (type (regexp-opt '("texttt" "textmd" "textrm" "textsf") t)) - ;; - ;; Names of commands whose arg should be fontified as a citation. - (citations (regexp-opt - '("label" "ref" "pageref" "vref" "eqref" - "cite" "nocite" "index" "glossary" "bibitem" - ;; These are text, rather than citations. - ;; "caption" "footnote" "footnotemark" "footnotetext" - ) - t)) - ;; - ;; Names of commands that should be fontified. - (specials (regexp-opt - '("\\" "\\*" ;; "-" - "linebreak" "nolinebreak" "pagebreak" "nopagebreak" - "newline" "newpage" "clearpage" "cleardoublepage" - "displaybreak" "allowdisplaybreaks" "enlargethispage") - t)) - (general "\\([a-zA-Z@]+\\**\\|[^ \t\n]\\)") - ;; - ;; Miscellany. - (slash "\\\\") - (opt " *\\(\\[[^]]*\\] *\\)*") - (arg "{\\(\\(?:[^{}\\]+\\|\\\\.\\|{[^}]*}\\)+\\)")) - (list - ;; - ;; Citation args. - (list (concat slash citations opt arg) 3 'font-lock-constant-face) - ;; - ;; Text between `` quotes ''. - (cons (concat (regexp-opt `("``" "\"<" "\"`" "<<" "«") t) - "[^'\">»]+" ;a bit pessimistic - (regexp-opt `("''" "\">" "\"'" ">>" "»") t)) - 'font-lock-string-face) - ;; - ;; Command names, special and general. - (cons (concat slash specials) 'font-lock-warning-face) - (concat slash general) - ;; - ;; Font environments. It seems a bit dubious to use `bold' etc. faces - ;; since we might not be able to display those fonts. - (list (concat slash bold " *" arg) 2 '(quote bold) 'append) - (list (concat slash italic " *" arg) 2 '(quote italic) 'append) - ;; (list (concat slash type arg) 2 '(quote bold-italic) 'append) - ;; - ;; Old-style bf/em/it/sl. Stop at `\\' and un-escaped `&', for tables. - (list (concat "\\\\\\(\\(bf\\)\\|em\\|it\\|sl\\)\\>" - "\\(\\([^}&\\]\\|\\\\[^\\]\\)+\\)") - 3 '(if (match-beginning 2) 'bold 'italic) 'append))))) - "Gaudy expressions to highlight in TeX modes.") - -(defvar tex-font-lock-keywords tex-font-lock-keywords-1 - "Default expressions to highlight in TeX modes.") - - -(defface tex-math-face - '((t :inherit font-lock-string-face)) - "Face used to highlight TeX math expressions." - :group 'tex) -(defvar tex-math-face 'tex-math-face) - -;; Use string syntax but math face for $...$. -(defun tex-font-lock-syntactic-face-function (state) - (if (nth 3 state) tex-math-face font-lock-comment-face)) - -;;;###autoload -(defun tex-font-setup () - "Setup font lock support for TeX." - (set (make-local-variable 'font-lock-defaults) - '((tex-font-lock-keywords - tex-font-lock-keywords-1 tex-font-lock-keywords-2) - nil nil ((?$ . "\"")) nil - ;; Who ever uses that anyway ??? - (font-lock-mark-block-function . mark-paragraph) - (font-lock-syntactic-face-function - . tex-font-lock-syntactic-face-function))) - ) - -(provide 'tex-font) - -;; Local Variables: -;; coding: utf-8 -;; End: - -;;; tex-font.el ends here |