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/menukeys.el | |
parent | b07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff) | |
parent | ef160dea332af4b4fe5e2717b962936c67e5fe9e (diff) |
Merge conflict
Diffstat (limited to 'elpa/auctex-13.1.3/style/menukeys.el')
-rw-r--r-- | elpa/auctex-13.1.3/style/menukeys.el | 547 |
1 files changed, 0 insertions, 547 deletions
diff --git a/elpa/auctex-13.1.3/style/menukeys.el b/elpa/auctex-13.1.3/style/menukeys.el deleted file mode 100644 index ac375ea..0000000 --- a/elpa/auctex-13.1.3/style/menukeys.el +++ /dev/null @@ -1,547 +0,0 @@ -;;; menukeys.el --- AUCTeX style for `menukeys.sty' (v1.4) -*- lexical-binding: t; -*- - -;; Copyright (C) 2016, 2018, 2020 Free Software Foundation, Inc. - -;; Author: Arash Esbati <arash@gnu.org> -;; Maintainer: auctex-devel@gnu.org -;; Created: 2016-02-07 -;; 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 `menukeys.sty' (v1.4) from 2016/04/18. -;; `menukeys.sty' is part of TeXLive. - -;;; Code: - -;; Needed for auto-parsing: -(require 'tex) -(require 'latex) - -;; Silence the compiler: -(declare-function font-latex-add-keywords - "font-latex" - (keywords class)) - -(declare-function LaTeX-xcolor-definecolor-list "xcolor" ()) - -(defvar LaTeX-menukeys-input-separators-list - '("/" "=" "*" "+" "," ";" ":" "-" ">" "<" "bslash") - "List of input separators for macros of menukeys package.") - -(defvar LaTeX-menukeys-predefined-styles-list - '("menus" "roundedmenus" "angularmenus" "roundedkeys" - "shadowedroundedkeys" "angularkeys" "shadowedangularkeys" - "typewriterkeys" "paths" "pathswithfolder" - "pathswithblackfolder" "hyphenatepaths" - "hyphenatepathswithfolder" - "hyphenatepathswithblackfolder") - "List of predefined styles for macros from menukeys package.") - -;; Setup for \newmenustyle(simple): -(TeX-auto-add-type "menukeys-newmenustyle" "LaTeX") - -(defvar LaTeX-menukeys-newmenustyle-regexp - '("\\\\\\(?:new\\|copy\\)menustyle\\(?:simple\\)?*?{\\([^}]+\\)}" - 1 LaTeX-auto-menukeys-newmenustyle) - "Matches the argument of \\newmenustyle and -\\newmenustylesimple from menukeys package.") - -;; Setup for \newmenucolortheme: -(TeX-auto-add-type "menukeys-newmenucolortheme" "LaTeX") - -(defvar LaTeX-menukeys-newmenucolortheme-regexp - '("\\\\\\(?:new\\|copy\\)menucolortheme{\\([^}]+\\)}" - 1 LaTeX-auto-menukeys-newmenucolortheme) - "Matches the argument of \\newmenucolortheme from menukeys package.") - -;; Setup for \newmenumacro: -(TeX-auto-add-type "menukeys-newmenumacro" "LaTeX") - -(defvar LaTeX-menukeys-newmenumacro-regexp - `(,(concat - "\\\\\\(new\\|renew\\|provide\\)menumacro" - "{?" - (regexp-quote TeX-esc) - "\\([a-zA-Z]+\\)" - "}?" - "\\(?:\\[\\([^]]*\\)\\]\\)?") - (2 3 1) LaTeX-auto-menukeys-newmenumacro) - "Matches the arguments of \\newmenumacro from menukeys package.") - -(defun LaTeX-menukeys-auto-prepare () - "Clear various `LaTeX-auto-menukeys-*' variables before parsing." - (setq LaTeX-auto-menukeys-newmenustyle nil - LaTeX-auto-menukeys-newmenucolortheme nil - LaTeX-auto-menukeys-newmenumacro nil)) - -(defun LaTeX-menukeys-auto-cleanup () - "Process the parsed elements for menukeys package. -This function adds parsed elements from the variable -`LaTeX-menukeys-newmenumacro-list' to AUCTeX via the function -`TeX-add-symbols'. The variable -`LaTeX-menukeys-newmenumacro-list' and not the function with the -same name is used since this function looks for the order of -commands which are set by \\renewmenumacro in order to pick the -current separator. These renew-commands are also removed first -from the variable `TeX-symbol-list' before being re-added." - (dolist (x (apply #'append LaTeX-menukeys-newmenumacro-list)) - (let ((macro (nth 0 x)) - (sep (nth 1 x)) - (renew (when (string= (nth 2 x) "renew") - (nth 2 x)))) - ;; When we are renewmenumacro'ing, delete the entry first from the - ;; variable `TeX-symbol-list' and then add the new spec: - (when renew - (setq TeX-symbol-list - (assq-delete-all (car (assoc macro (TeX-symbol-list))) TeX-symbol-list))) - (TeX-add-symbols - `(,macro [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil - ,(concat "Input separator " - "(default " - (if (and sep (not (string= sep ""))) - sep - ",") - ")")) - LaTeX-menukeys-input-separators-list ] t )) - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords `((,macro "[{")) - 'textual))))) - -(add-hook 'TeX-auto-prepare-hook #'LaTeX-menukeys-auto-prepare t) -(add-hook 'TeX-auto-cleanup-hook #'LaTeX-menukeys-auto-cleanup t) -(add-hook 'TeX-update-style-hook #'TeX-auto-parse t) - -(defun TeX-arg-menukeys-newmenumacro (optional &optional renew) - "Query and insert the arguments of \\newmenumacro from menukeys package. -After inserting, add the name of macro and the optional separator -to the name of known macros via `TeX-add-symbols'. If -font-latex.el is loaded, also use `font-latex-add-keywords' on -macro. If RENEW is non-nil, query for an already defined macro." - (let ((macro (if renew - (completing-read - (concat "Macro: " TeX-esc) - (TeX-delete-duplicate-strings (mapcar #'car (LaTeX-menukeys-newmenumacro-list)))) - (TeX-read-string (concat "Macro: " TeX-esc)))) - (sep (completing-read - (TeX-argument-prompt optional nil "Input separator (default ,)") - LaTeX-menukeys-input-separators-list)) - (style (completing-read - (TeX-argument-prompt optional nil "Style") - (LaTeX-menukeys-newmenustyle-list)))) - (TeX-argument-insert (concat TeX-esc macro) optional) - (when (and sep (not (string= sep ""))) - (insert (format "[%s]" sep))) - (TeX-argument-insert style optional) - ;; When we are renewmenumacro'ing, delete the entry first from the - ;; variable `TeX-symbol-list' and then add the new spec: - (when renew - (setq TeX-symbol-list - (assq-delete-all (car (assoc macro (TeX-symbol-list))) TeX-symbol-list))) - (TeX-add-symbols - `(,macro [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil - ,(concat "Input separator " - "(default " - (if (and sep (not (string= sep ""))) - sep - ",") - ")")) - LaTeX-menukeys-input-separators-list ] t )) - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords `((,macro "[{")) - 'textual)))) - -(TeX-add-style-hook - "menukeys" - (lambda () - - ;; Add menukeys to the parser - (TeX-auto-add-regexp LaTeX-menukeys-newmenustyle-regexp) - (TeX-auto-add-regexp LaTeX-menukeys-newmenucolortheme-regexp) - (TeX-auto-add-regexp LaTeX-menukeys-newmenumacro-regexp) - - ;; Activate predefined stuff - (apply #'LaTeX-add-menukeys-newmenustyles LaTeX-menukeys-predefined-styles-list) - (LaTeX-add-menukeys-newmenucolorthemes "gray" "blacknwhite") - - ;; Run style hooks for xcolor, tikz and relsize - (TeX-run-style-hooks "xcolor" "tikz" "relsize") - - ;; 4.1 Basic macros: These are not defined if the package option - ;; definemenumacros ist set to false (default is true). We check - ;; for the package option here and add them. - (unless (LaTeX-provided-package-options-member "menukeys" "definemenumacros=false") - (TeX-add-symbols - ;; \menu [<separator>]{<sequence>} - ;; \directory [<separator>]{path} - ;; \keys [<separator>]{keystrokes} - '("menu" - [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil "Input separator") - LaTeX-menukeys-input-separators-list ] - t) - - '("directory" - [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil "Input separator") - LaTeX-menukeys-input-separators-list ] - t) - - '("keys" - [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil "Input separator") - LaTeX-menukeys-input-separators-list ] - t))) - - (TeX-add-symbols - ;; 4.2.1 Predefined styles - ;; \drawtikzfolder[<front fill>][<draw>] - '("drawtikzfolder" - [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil "Front color") - (LaTeX-xcolor-definecolor-list) ] - [ TeX-arg-eval completing-read - (TeX-argument-prompt t nil "Line color") - (LaTeX-xcolor-definecolor-list) ] ) - - ;; 4.2.2 Declaring styles - ;; \newmenustylesimple*{<name>}[<pre>]{<style>}[<sep>][<post>]{<theme>} - '("newmenustylesimple" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - '("newmenustylesimple*" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - ;; \newmenustyle*{<name>}[<pre>]{<first>}[<sep>]{<mid>}{<last>}{<single>}[<post>]{<theme>} - '("newmenustyle" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] nil nil nil [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - '("newmenustyle*" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] nil nil nil [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - '("CurrentMenuElement" 0) - - ;; 4.2.3 Copying styles - '("copymenustyle" - (TeX-arg-eval - (lambda () - (let ((copy (TeX-read-string - (TeX-argument-prompt nil nil "Copy"))) - (orig (completing-read - (TeX-argument-prompt nil nil "Original") - (LaTeX-menukeys-newmenustyle-list)))) - (LaTeX-add-menukeys-newmenustyles copy) - (TeX-argument-insert copy nil) - (format "%s" orig))))) - - ;; 4.2.4 Changing styles - ;; \changemenuelement*{name}{element}{definition} - '("changemenuelement" - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Name") - (LaTeX-menukeys-newmenustyle-list)) - 2) - - '("changemenuelement*" - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Name") - (LaTeX-menukeys-newmenustyle-list)) - 2) - - ;; Same arguments as \newmenustylesimple - '("renewmenustylesimple" - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Name") - (LaTeX-menukeys-newmenustyle-list)) - [ t ] nil [ nil ] [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - '("providemenustylesimple" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - ;; Same arguments as \newmenustyle - '("providemenustyle" - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Name") - (LaTeX-menukeys-newmenustyle-list)) - [ t ] nil [ nil ] nil nil nil [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - '("renewmenustyle" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenustyles name) - (format "%s" name)))) - [ t ] nil [ nil ] nil nil nil [ nil ] - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Color theme") - (LaTeX-menukeys-newmenucolortheme-list))) - - ;; 4.3 Color themes - ;; 4.3.2 Create a theme - ;; \newmenucolortheme{<name>}{<model>}{<bg>}{<br>}{<txt>}[<a>][<b>][<c>] - '("newmenucolortheme" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenucolorthemes name) - (format "%s" name)))) - (TeX-arg-eval - (lambda () - (let ((model (completing-read - (TeX-argument-prompt nil nil "Model") - (LaTeX-xcolor-color-models)))) - (TeX-argument-insert model nil) - (if (string= model "named") - (let ((bg (completing-read - (TeX-argument-prompt nil nil "Node background color") - (LaTeX-xcolor-definecolor-list))) - (br (completing-read - (TeX-argument-prompt nil nil "Node border color") - (LaTeX-xcolor-definecolor-list))) - (txt (completing-read - (TeX-argument-prompt nil nil "Node text color") - (LaTeX-xcolor-definecolor-list)))) - (TeX-argument-insert bg nil) - (TeX-argument-insert br nil) - (format "%s" txt)) - (let ((bg (TeX-read-string - (TeX-argument-prompt nil nil "Node background color spec"))) - (br (TeX-read-string - (TeX-argument-prompt nil nil "Node border color spec"))) - (txt (TeX-read-string - (TeX-argument-prompt nil nil "Node text color spec")))) - (TeX-argument-insert bg nil) - (TeX-argument-insert br nil) - (format "%s" txt)))))) - (TeX-arg-conditional (y-or-n-p "With additional optional arguments? ") - ( [ 3 ] ) - (ignore))) - - ;; 4.3.3 Copy a theme - '("copymenucolortheme" - (TeX-arg-eval - (lambda () - (let ((copy (TeX-read-string - (TeX-argument-prompt nil nil "Copy"))) - (orig (completing-read - (TeX-argument-prompt nil nil "Original") - (LaTeX-menukeys-newmenucolortheme-list)))) - (LaTeX-add-menukeys-newmenucolorthemes copy) - (TeX-argument-insert copy nil) - (format "%s" orig))))) - - ;; 4.3.4 Change a theme - '("changemenucolor" - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Name") - (LaTeX-menukeys-newmenucolortheme-list)) - (TeX-arg-eval completing-read - (TeX-argument-prompt nil nil "Element") - '("bg" "br" "txt")) - (TeX-arg-eval - (lambda () - (let ((model (completing-read - (TeX-argument-prompt nil nil "Model") - (LaTeX-xcolor-color-models)))) - (TeX-argument-insert model nil) - (if (string= model "named") - (let ((color (completing-read - (TeX-argument-prompt nil nil "Color") - (LaTeX-xcolor-definecolor-list)))) - (format "%s" color)) - (let ((color (TeX-read-string - (TeX-argument-prompt nil nil "Color spec")))) - (format "%s" color))))))) - - ;; Same arguments as \newmenucolortheme - '("renewmenucolortheme" - (TeX-arg-eval - (lambda () - (let ((name (TeX-read-string - (TeX-argument-prompt nil nil "Name")))) - (LaTeX-add-menukeys-newmenucolorthemes name) - (format "%s" name)))) - (TeX-arg-eval - (lambda () - (let ((model (completing-read - (TeX-argument-prompt nil nil "Model") - (LaTeX-xcolor-color-models)))) - (TeX-argument-insert model nil) - (if (string= model "named") - (let ((bg (completing-read - (TeX-argument-prompt nil nil "Node background color") - (LaTeX-xcolor-definecolor-list))) - (br (completing-read - (TeX-argument-prompt nil nil "Node border color") - (LaTeX-xcolor-definecolor-list))) - (txt (completing-read - (TeX-argument-prompt nil nil "Node text color") - (LaTeX-xcolor-definecolor-list)))) - (TeX-argument-insert bg nil) - (TeX-argument-insert br nil) - (format "%s" txt)) - (let ((bg (TeX-read-string - (TeX-argument-prompt nil nil "Node background color spec"))) - (br (TeX-read-string - (TeX-argument-prompt nil nil "Node border color spec"))) - (txt (TeX-read-string - (TeX-argument-prompt nil nil "Node text color spec")))) - (TeX-argument-insert bg nil) - (TeX-argument-insert br nil) - (format "%s" txt)))))) - (TeX-arg-conditional (y-or-n-p "With additional optional arguments? ") - ( [ 3 ] ) - (ignore))) - - ;; 4.4 Menu macros - ;; 4.4.2 Defining or changing menu macros - ;; \newmenumacro{<macro>} [<input sep>]{<style>} - '("newmenumacro" TeX-arg-menukeys-newmenumacro) - '("providemenumacro" TeX-arg-menukeys-newmenumacro) - '("renewmenumacro" (TeX-arg-menukeys-newmenumacro t))) - - ;; 4.5 Keys: These macros are defined when definekeys option is not - ;; false. - ;; 0 : No argment, one macro - ;; 1 : One argument, with completion - ;; 2 : No argment, three macros: \<key>, \<key>win, \<key>mac - (unless (LaTeX-provided-package-options-member "menukeys" "definekeys=false") - (let ((keycmds '(("shift" . 0) ("capslock" . 2) ("tab" . 2) - ("esc" . 2) ("ctrl" . 2) ("alt" . 2) - ("AltGr" . 0) ("cmd" . 0) ("Space" . 0) - ("SPACE" . 0) ("return" . 2) ("enter" . 2) - ("winmenu" . 0) ("backspace" . 0) ("del" . 0) - ("arrowkeyup" . 0) ("arrowkeydown" . 0) - ("arrowkeyleft" . 0) ("arrowkeyright" . 0) - ("arrowkey" . 1) - ;; Text inside some keys: - ("ctrlname" . 0) ("delname" . 0) ("spacename" . 0))) - (os '("mac" "win")) - collector) - (dolist (cmd keycmds) - (cond - ((= (cdr cmd) 0) - (push (car cmd) collector)) - ((= (cdr cmd) 1) - (push (list (car cmd) '(TeX-arg-eval completing-read - "Direction: " - '("^" "v" ">" "<"))) - collector)) - ((= (cdr cmd) 2) - (push (car cmd) collector) - (dolist (x os) - (push (concat (car cmd) x) collector))))) - (apply #'TeX-add-symbols collector))) - - ;; Fontification: - (when (and (featurep 'font-latex) - (eq TeX-install-font-lock 'font-latex-setup)) - (font-latex-add-keywords '(("menu" "[{") - ("directory" "[{") - ("keys" "[{") - ("drawtikzfolder" "[[")) - 'textual) - (font-latex-add-keywords '(("newmenustylesimple" "*{[{[[{") - ("newmenustyle" "*{[{[{{{[{") - ("copymenustyle" "{{") - ("changemenuelement" "*{{{") - ("renewmenustylesimple" "{[{[[{") - ("providemenustylesimple" "{[{[[{") - ("providemenustyle" "{[{[{{{[{") - ("renewmenustyle" "{[{[{{{[{") - ("newmenucolortheme" "{{{{{[[[") - ("copymenucolortheme" "{{") - ("changemenucolor" "{{{{") - ("renewmenucolortheme" "{{{{{[[[") - ("newmenumacro" "|{\\[{") - ("providemenumacro" "|{\\[{") - ("renewmenumacro" "|{\\[{")) - 'function))) - TeX-dialect) - -(defvar LaTeX-menukeys-package-options-list - '(("definemenumacros" ("true" "false")) - ("definekeys" ("true" "false")) - ("mackeys" ("text" "symbols")) - ("os" ("mac" "win"))) - "Package options for menukeys package.") - -(defun LaTeX-menukeys-package-options () - "Prompt for package options for the menukeys package." - (TeX-read-key-val t LaTeX-menukeys-package-options-list)) - -;;; menukeys.el ends here |