branch: elpa/magit
commit 527777293fd040eb2e1f2968f95c73a0196f3e04
Author: Jonas Bernoulli <jo...@bernoul.li>
Commit: Jonas Bernoulli <jo...@bernoul.li>

    magit-process-finish-section: New function
---
 lisp/magit-process.el | 54 +++++++++++++++++++++++++++------------------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/lisp/magit-process.el b/lisp/magit-process.el
index 9a3df2669a2..7c9ba4a71c2 100644
--- a/lisp/magit-process.el
+++ b/lisp/magit-process.el
@@ -1181,31 +1181,7 @@ Limited by `magit-process-error-tooltip-max-lines'."
     (dired-uncache default-dir))
   (when (buffer-live-p process-buf)
     (with-current-buffer process-buf
-      (let ((inhibit-read-only t)
-            (marker (oref section start)))
-        (goto-char marker)
-        (save-excursion
-          (delete-char 3)
-          (set-marker-insertion-type marker nil)
-          (insert (propertize (format "%3s" arg)
-                              'magit-section section
-                              'font-lock-face (if (= arg 0)
-                                                  'magit-process-ok
-                                                'magit-process-ng)))
-          (set-marker-insertion-type marker t))
-        (when magit-process-finish-apply-ansi-colors
-          (ansi-color-apply-on-region (oref section content)
-                                      (oref section end)))
-        (if (= (oref section end)
-               (+ (line-end-position) 2))
-            (save-excursion
-              (goto-char (1+ (line-end-position)))
-              (delete-char -1)
-              (oset section content nil))
-          (when (and (= arg 0)
-                     (not (--any-p (eq (window-buffer it) process-buf)
-                                   (window-list))))
-            (magit-section-hide section))))))
+      (magit-process-finish-section section arg)))
   (if (= arg 0)
       ;; Unset the `mode-line-process' value upon success.
       (magit-process-unset-mode-line default-dir)
@@ -1238,6 +1214,34 @@ Limited by `magit-process-error-tooltip-max-lines'."
                  (buffer-name process-buf))))))
   arg)
 
+(defun magit-process-finish-section (section exit-code)
+  (let ((inhibit-read-only t)
+        (buffer (current-buffer))
+        (marker (oref section start)))
+    (goto-char marker)
+    (save-excursion
+      (delete-char 3)
+      (set-marker-insertion-type marker nil)
+      (insert (propertize (format "%3s" exit-code)
+                          'magit-section section
+                          'font-lock-face (if (= exit-code 0)
+                                              'magit-process-ok
+                                            'magit-process-ng)))
+      (set-marker-insertion-type marker t))
+    (when magit-process-finish-apply-ansi-colors
+      (ansi-color-apply-on-region (oref section content)
+                                  (oref section end)))
+    (if (= (oref section end)
+           (+ (line-end-position) 2))
+        (save-excursion
+          (goto-char (1+ (line-end-position)))
+          (delete-char -1)
+          (oset section content nil))
+      (when (and (= exit-code 0)
+                 (not (--any-p (eq (window-buffer it) buffer)
+                               (window-list))))
+        (magit-section-hide section)))))
+
 (defun magit-process-display-buffer (process)
   (when (process-live-p process)
     (let ((buf (process-buffer process)))

Reply via email to