aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2023-04-26 23:43:53 +1000
committerYuchen Pei <hi@ypei.me>2023-04-26 23:43:53 +1000
commit07c135a7ce5769dd2cf3076eab790d2514fef97d (patch)
treec1367e684372708f96d5d1e96d9e35fb2d7afb0f
parent3de5304a5caa66f60b8d41716358557a72b6b2c5 (diff)
Adding functions to navigate to the next and previous failures.
Also updated keybindings: n/p for next/previous failures; M-n/M-p for next/previous header; f/b for next/previous header of the same thing.
-rw-r--r--buildbot-view.el26
1 files changed, 22 insertions, 4 deletions
diff --git a/buildbot-view.el b/buildbot-view.el
index 214444d..a45aa60 100644
--- a/buildbot-view.el
+++ b/buildbot-view.el
@@ -36,7 +36,15 @@
(end-of-line 1)
(re-search-forward buildbot-view-header-regex)
(beginning-of-line 1)))
-(define-key buildbot-view-mode-map "n" 'buildbot-view-next-header)
+(define-key buildbot-view-mode-map (kbd "M-n") 'buildbot-view-next-header)
+
+(defun buildbot-view-next-failed-header (n)
+ (interactive "p")
+ (dotimes (_ n)
+ (end-of-line 1)
+ (text-property-search-forward 'face 'error)
+ (beginning-of-line 1)))
+(define-key buildbot-view-mode-map "n" 'buildbot-view-next-failed-header)
(defun buildbot-view-next-header-same-thing (n)
(interactive "p")
@@ -46,7 +54,7 @@
(buildbot-view-next-header 1)
(while (not (eq (get-text-property (point) 'type) type))
(buildbot-view-next-header 1)))))
-(define-key buildbot-view-mode-map (kbd "M-n")
+(define-key buildbot-view-mode-map "f"
'buildbot-view-next-header-same-thing)
(defun buildbot-view-previous-header (n)
@@ -56,7 +64,17 @@
(re-search-backward buildbot-view-header-regex))
(dotimes (_ n)
(re-search-backward buildbot-view-header-regex)))
-(define-key buildbot-view-mode-map "p" 'buildbot-view-previous-header)
+(define-key buildbot-view-mode-map (kbd "M-p") 'buildbot-view-previous-header)
+
+(defun buildbot-view-previous-failed-header (n)
+ (interactive "p")
+ (beginning-of-line 1)
+ (unless (looking-at buildbot-view-header-regex)
+ (re-search-backward buildbot-view-header-regex))
+ (dotimes (_ n)
+ (text-property-search-backward 'face 'error))
+ (beginning-of-line 1))
+(define-key buildbot-view-mode-map "p" 'buildbot-view-previous-failed-header)
(defun buildbot-view-previous-header-same-thing (n)
(interactive "p")
@@ -66,7 +84,7 @@
(buildbot-view-previous-header 1)
(while (not (eq (get-text-property (point) 'type) type))
(buildbot-view-previous-header 1)))))
-(define-key buildbot-view-mode-map (kbd "M-p")
+(define-key buildbot-view-mode-map (kbd "b")
'buildbot-view-previous-header-same-thing)
(defun buildbot-view-format-revision-info (revision-info)