[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)))))
- [nongnu] elpa/go-mode 55295da 128/495: formatting, (continued)
- [nongnu] elpa/go-mode 55295da 128/495: formatting, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 50412f7 136/495: add gitignore, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode ec73086 157/495: remove unused code, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 5fd1c63 156/495: document go-goto-opening-parenthesis, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode f4d2977 158/495: add go-coverage to display coverage information, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode a5d5039 161/495: use go--goto-line where applicable, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 7ef7e56 163/495: correct docstrings of go-coverage-covered and go-coverage-uncovered, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 042f08c 169/495: if go-coverage is called in a coverage buffer, update it by using stored variables, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode eea3ccf 170/495: move some coverage code into own functions, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode fdb2132 179/495: no free variables, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 9617f0c 176/495: move actual parsing of coverage file into own function,
ELPA Syncer <=
- [nongnu] elpa/go-mode 1949b57 184/495: match unused imports where path and package name differ, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode ff30ae1 190/495: use (function) for function symbols, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 50fb3b2 192/495: allow users to customize the gofmt command, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 49c885d 188/495: (foo)(bar) is not a function call when there's a letter directly preceding it, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 83c4e32 185/495: fix typo, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode b4cbae5 193/495: minor cleanups, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 4a96be2 186/495: handle empty "import ()" in go-goto-imports, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 4055561 191/495: Don't break on emacsen that don't have declare-function macro, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode ad5e273 203/495: suggest flycheck as well as flymake and fix URL markup, ELPA Syncer, 2021/08/07
- [nongnu] elpa/go-mode 26ca1fd 199/495: do not highlight built-in function if not followed by '(', ELPA Syncer, 2021/08/07