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

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

[nongnu] elpa/go-mode 9617f0c 176/495: move actual parsing of coverage f


From: ELPA Syncer
Subject: [nongnu] elpa/go-mode 9617f0c 176/495: move actual parsing of coverage file into own function
Date: Sat, 7 Aug 2021 09:05:08 -0400 (EDT)

branch: elpa/go-mode
commit 9617f0c85102a51331c678ce841c0d3a9a1f182b
Author: Dominik Honnef <dominikh@fork-bomb.org>
Commit: Dominik Honnef <dominikh@fork-bomb.org>

    move actual parsing of coverage file into own function
---
 go-mode.el | 43 +++++++++++++++++++++++--------------------
 1 file changed, 23 insertions(+), 20 deletions(-)

diff --git a/go-mode.el b/go-mode.el
index ebe9480..efa6dd5 100644
--- a/go-mode.el
+++ b/go-mode.el
@@ -1055,22 +1055,11 @@ over the entire buffer."
     (point-max))
    'face 'go-coverage-untracked))
 
-(defun go-coverage (&optional coverage-file)
-  "Open a clone of the current buffer and overlay it with
-coverage information gathered via go test -coverprofile=COVERAGE-FILE.
-
-If COVERAGE-FILE is nil, it will either be infered from the
-current buffer if it's already a coverage buffer, or be prompted
-for."
-  (interactive)
-  (setq coverage-file (or coverage-file (go--coverage-file)))
-  (let* ((ranges '())
-         (cur-buffer (current-buffer))
-         (origin-buffer (go--coverage-origin-buffer))
-         (file-name (file-name-nondirectory (buffer-file-name origin-buffer)))
-         (gocov-buffer-name (concat (buffer-name origin-buffer) "<gocov>"))
-         (max-count 0)
-         divisor)
+(defun go--coverage-parse-file (coverage-file file-name)
+  "Parse COVERAGE-FILE and extract coverage information and
+divisor for FILE-NAME."
+  (let ((ranges '())
+        (max-count 0))
     (with-temp-buffer
       (insert-file-contents coverage-file)
       (go--goto-line 2) ;; Skip over mode
@@ -1098,9 +1087,23 @@ for."
 
           (forward-line)))
 
-      (if (> max-count 0)
-          (setq divisor (log max-count))))
+      (list ranges (if (> max-count 0) (log max-count) 0)))))
 
+(defun go-coverage (&optional coverage-file)
+  "Open a clone of the current buffer and overlay it with
+coverage information gathered via go test -coverprofile=COVERAGE-FILE.
+
+If COVERAGE-FILE is nil, it will either be infered from the
+current buffer if it's already a coverage buffer, or be prompted
+for."
+  (interactive)
+  (let* ((cur-buffer (current-buffer))
+         (origin-buffer (go--coverage-origin-buffer))
+         (gocov-buffer-name (concat (buffer-name origin-buffer) "<gocov>"))
+         (coverage-file (or coverage-file (go--coverage-file)))
+         (ranges-and-divisor (go--coverage-parse-file
+                              coverage-file
+                              (file-name-nondirectory (buffer-file-name 
origin-buffer)))))
     (with-current-buffer (or
                           (get-buffer gocov-buffer-name)
                           (make-indirect-buffer origin-buffer 
gocov-buffer-name t))
@@ -1109,8 +1112,8 @@ for."
 
       (save-excursion
         (go--coverage-clear-overlays)
-        (dolist (range ranges)
-          (go--coverage-make-overlay range divisor)))
+        (dolist (range (car ranges-and-divisor))
+          (go--coverage-make-overlay range (cadr ranges-and-divisor))))
 
       (if (not (eq cur-buffer (current-buffer)))
           (display-buffer (current-buffer) 'display-buffer-reuse-window)))))



reply via email to

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