auctex-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 4b9dafad 2/2: Simplify implementation of style/fancyvrb.el


From: Arash Esbati
Subject: master 4b9dafad 2/2: Simplify implementation of style/fancyvrb.el
Date: Wed, 30 Nov 2022 06:18:42 -0500 (EST)

branch: master
commit 4b9dafad8606987d08c752b84fe3f607a33896c3
Author: Arash Esbati <arash@gnu.org>
Commit: Arash Esbati <arash@gnu.org>

    Simplify implementation of style/fancyvrb.el
    
    * style/fancyvrb.el (LaTeX-fancyvrb-arg-define-macro): Check if
    the package "fvextra" is loaded and allow verbatim arguments in
    braces.  Adjust fontification accordingly.
    ("fancyvrb"): Replace `TeX-arg-eval'.
    Use standard hooks to insert environments.
---
 style/fancyvrb.el | 91 +++++++++++++++++++++++++------------------------------
 1 file changed, 41 insertions(+), 50 deletions(-)

diff --git a/style/fancyvrb.el b/style/fancyvrb.el
index 6703a30e..ccf68d2a 100644
--- a/style/fancyvrb.el
+++ b/style/fancyvrb.el
@@ -308,13 +308,14 @@ RECUSTOM is non-nil, delete macros from the variable
              (TeX-add-symbols
               `(,mac-name
                 [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
-                (TeX-arg-eval
-                 (lambda ()
+                ,(lambda (optional)
                    (let ((name (TeX-read-string
-                                (TeX-argument-prompt nil nil "Save name"))))
+                                (TeX-argument-prompt optional nil "Save 
name"))))
                      (LaTeX-add-fancyvrb-saveverbs name)
-                     (format "%s" name))))
-                TeX-arg-verb))
+                     (TeX-argument-insert name optional)))
+                (TeX-arg-conditional (member "fvextra" (TeX-style-list))
+                    (TeX-arg-verb-delim-or-brace)
+                  (TeX-arg-verb))))
              (when (and (fboundp 'font-latex-add-keywords)
                         (eq TeX-install-font-lock 'font-latex-setup))
                (font-latex-add-keywords `((,mac-name "[{"))
@@ -333,16 +334,23 @@ RECUSTOM is non-nil, delete macros from the variable
              (TeX-add-symbols
               `(,mac-name
                 [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
-                TeX-arg-verb)
+                (TeX-arg-conditional (member "fvextra" (TeX-style-list))
+                    (TeX-arg-verb-delim-or-brace)
+                  (TeX-arg-verb)))
               ;; Defined macros have a starred version where the
               ;; `showspaces' key is set to true
               `(,(concat mac-name "*")
                 [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
-                TeX-arg-verb))
-             (add-to-list 'LaTeX-verbatim-macros-with-delims-local
-                          mac-name t)
-             (add-to-list 'LaTeX-verbatim-macros-with-delims-local
-                          (concat mac-name "*") t)
+                (TeX-arg-conditional (member "fvextra" (TeX-style-list))
+                    (TeX-arg-verb-delim-or-brace)
+                  (TeX-arg-verb))))
+             (dolist (elt `(,mac-name ,(concat mac-name "*")))
+               (add-to-list 'LaTeX-verbatim-macros-with-delims-local
+                            elt t))
+             (when (member "fvextra" (TeX-style-list))
+               (dolist (elt `(,mac-name ,(concat mac-name "*")))
+                 (add-to-list 'LaTeX-verbatim-macros-with-braces-local
+                              elt t)))
              (when (and (fboundp 'font-latex-add-keywords)
                         (eq TeX-install-font-lock 'font-latex-setup))
                (font-latex-add-keywords `((,mac-name "*["))
@@ -570,21 +578,15 @@ ENV is the name of current environment as a string."
     ;; Improved verbatim commands
     '("Verb" [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
       (TeX-arg-conditional (member "fvextra" (TeX-style-list))
-                           (TeX-arg-verb-delim-or-brace)
-                           (TeX-arg-verb)))
+          (TeX-arg-verb-delim-or-brace)
+        (TeX-arg-verb)))
     ;; \Verb also has a starred version
     '("Verb*" [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
       (TeX-arg-conditional (member "fvextra" (TeX-style-list))
-                           (TeX-arg-verb-delim-or-brace)
-                           (TeX-arg-verb)))
-    '("DefineShortVerb" (TeX-arg-eval
-                         TeX-read-string
-                         (TeX-argument-prompt nil nil "Character")
-                         TeX-esc))
-    '("UndefineShortVerb" (TeX-arg-eval
-                           TeX-read-string
-                           (TeX-argument-prompt nil nil "Character")
-                           TeX-esc))
+          (TeX-arg-verb-delim-or-brace)
+        (TeX-arg-verb)))
+    `("DefineShortVerb" (TeX-arg-string "Character" ,TeX-esc))
+    `("UndefineShortVerb" (TeX-arg-string "Character" ,TeX-esc))
     ;; Verbatim environments
     '("fvset" (TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)))
     ;; Changing individual line formatting
@@ -611,17 +613,16 @@ ENV is the name of current environment as a string."
       (LaTeX-fancyvrb-arg-define-macro nil t))
 
     ;; Saving and restoring verbatim text and environments
-    '("SaveVerb"
+    `("SaveVerb"
       [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
-      (TeX-arg-eval
-       (lambda ()
+      ,(lambda (optional)
          (let ((name (TeX-read-string
-                      (TeX-argument-prompt nil nil "Save name"))))
+                      (TeX-argument-prompt optional nil "Save name"))))
            (LaTeX-add-fancyvrb-saveverbs name)
-           (format "%s" name))))
+           (TeX-argument-insert name optional)))
       (TeX-arg-conditional (member "fvextra" (TeX-style-list))
-                           (TeX-arg-verb-delim-or-brace)
-                           (TeX-arg-verb)))
+          (TeX-arg-verb-delim-or-brace)
+        (TeX-arg-verb)))
     '("UseVerb" (TeX-arg-completing-read (LaTeX-fancyvrb-saveverb-list)
                                          "Saved name"))
     ;; \UseVerb also has a starred version
@@ -661,26 +662,16 @@ ENV is the name of current environment as a string."
     '("LVerbatim*" LaTeX-env-args
       [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
       LaTeX-fancyvrb-env-reflabel-key-val)
-    '("SaveVerbatim"
-      (lambda (env)
-        (let ((options (TeX-read-key-val t (LaTeX-fancyvrb-key-val-options)))
-              (name (TeX-read-string "Save name: ")))
-          (LaTeX-insert-environment
-           env
-           (concat
-            (unless (zerop (length options))
-              (concat LaTeX-optop options LaTeX-optcl))
-            (concat TeX-grop name TeX-grcl)))
-          (LaTeX-add-fancyvrb-saveverbatims name))))
-    '("VerbatimOut"
-      (lambda (env)
-        (let ((options (TeX-read-key-val t (LaTeX-fancyvrb-key-val-options)))
-              (file (TeX-read-string "Output file: ")))
-          (LaTeX-insert-environment
-           env
-           (concat (unless (zerop (length options))
-                     (concat LaTeX-optop options LaTeX-optcl))
-                   (concat TeX-grop file TeX-grcl)))))))
+    `("SaveVerbatim" LaTeX-env-args
+      [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
+      ,(lambda (optional)
+         (let ((name (TeX-read-string
+                      (TeX-argument-prompt optional nil "Save name"))))
+           (LaTeX-add-fancyvrb-saveverbatims name)
+           (TeX-argument-insert name optional))))
+    '("VerbatimOut" LaTeX-env-args
+      [TeX-arg-key-val (LaTeX-fancyvrb-key-val-options)]
+      "Output file"))
 
    (let ((envs '("BVerbatim" "BVerbatim*"
                  "LVerbatim" "LVerbatim*"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]