emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/buttercup 5821cd0 184/340: Merge pull request #131 from sn


From: ELPA Syncer
Subject: [nongnu] elpa/buttercup 5821cd0 184/340: Merge pull request #131 from snogge/markdown
Date: Thu, 16 Dec 2021 14:59:30 -0500 (EST)

branch: elpa/buttercup
commit 5821cd06d2bb5c157ed106b71607657cfa9b4ec9
Merge: bc13b53 6330610
Author: Jorgen Schäfer <Jorgen.Schaefer@gmail.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #131 from snogge/markdown
    
    Add more markdown running functions
---
 buttercup.el | 46 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 34 insertions(+), 12 deletions(-)

diff --git a/buttercup.el b/buttercup.el
index d32e92b..4bc8040 100644
--- a/buttercup.el
+++ b/buttercup.el
@@ -1282,18 +1282,26 @@ current directory."
     (buttercup-run)))
 
 ;;;###autoload
-(defun buttercup-run-markdown ()
-  "Run all test suites defined in Markdown files passed as arguments.
-A suite must be defined within a Markdown \"lisp\" code block."
-  (let ((lisp-buffer (generate-new-buffer "elisp")))
-    (dolist (file command-line-args-left)
-      (with-current-buffer (find-file-noselect file)
-        (goto-char (point-min))
-        (let ((case-fold-search t))
-          (while (re-search-forward
-                  "```\\(?:emacs-\\|e\\)?lisp\n\\(\\(?:.\\|\n\\)*?\\)```"
-                  nil t)
-            (let ((code (match-string 1)))
+(defun buttercup-run-markdown-buffer (&rest markdown-buffers)
+  "Run all test suites defined in MARKDOWN-BUFFERS.
+A suite must be defined within a Markdown \"lisp\" code block.
+If MARKDOWN-BUFFERS is empty (nil), use the current buffer."
+  (interactive)
+  (unless markdown-buffers
+    (setq markdown-buffers (list (current-buffer))))
+  (let ((lisp-buffer (generate-new-buffer "elisp"))
+        (case-fold-search t)
+        code
+        buttercup-suites)
+    (dolist (markdown-buffer markdown-buffers)
+      (with-current-buffer markdown-buffer
+        (save-excursion
+          (save-match-data
+            (goto-char (point-min))
+            (while (re-search-forward
+                    "```\\(?:emacs-\\|e\\)?lisp\n\\(\\(?:.\\|\n\\)*?\\)```"
+                    nil t)
+              (setq code (match-string 1))
               (with-current-buffer lisp-buffer
                 (insert code)))))))
     (with-current-buffer lisp-buffer
@@ -1302,6 +1310,20 @@ A suite must be defined within a Markdown \"lisp\" code 
block."
                    (point-max)))
     (buttercup-run)))
 
+;;;###autoload
+(defun buttercup-run-markdown ()
+  "Run all test suites defined in Markdown files passed as arguments.
+A suite must be defined within a Markdown \"lisp\" code block."
+  (apply #'buttercup-run-markdown-buffer (mapcar #'find-file-noselect
+                                                 command-line-args-left)))
+
+;;;###autoload
+(defun buttercup-run-markdown-file (file)
+  "Run all test suites defined in Markdown FILE.
+A suite must be defined within a Markdown \"lisp\" code block."
+  (interactive "fMarkdown file: ")
+  (buttercup-run-markdown-buffer (find-file-noselect file)))
+
 (eval-when-compile
   ;; Defined below in a dedicated section
   (defvar buttercup-reporter))



reply via email to

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