diff options
| author | Alex Kost <alezost@gmail.com> | 2018-07-22 19:46:08 +0300 |
|---|---|---|
| committer | Alex Kost <alezost@gmail.com> | 2018-07-27 12:14:24 +0300 |
| commit | a36d80b8748de9c170749424b1c10b5ee74936d3 (patch) | |
| tree | 36c5bb4f3d59f0acc909d843898ed882ee93b401 | |
| parent | Add project url to Project Info buffer (diff) | |
| download | emacs-build-farm-a36d80b8748de9c170749424b1c10b5ee74936d3.tar.gz | |
Colorize names of jobsets in Jobset List buffer
Similarly to the Hydra web interface.
* build-farm-jobset.el (build-farm-jobset-list-status-scheduled)
(build-farm-jobset-list-status-succeeded)
(build-farm-jobset-list-status-failed): New faces.
(build-farm-jobset-list-get-name): New function.
(build-farm-jobset-list-format): Use it.
| -rw-r--r-- | build-farm-jobset.el | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/build-farm-jobset.el b/build-farm-jobset.el index bf97aa6..94ebae0 100644 --- a/build-farm-jobset.el +++ b/build-farm-jobset.el @@ -109,7 +109,7 @@ :describe-function 'build-farm-list-describe :mode-name "Farm-Jobset-List" :buffer-name "*Farm Jobsets*" - :format '((name nil 25 t) + :format '((name build-farm-jobset-list-get-name 25 t) (project nil 10 t) (scheduled nil 12 t) (succeeded nil 12 t) @@ -120,6 +120,21 @@ (let ((map build-farm-jobset-list-mode-map)) (define-key map (kbd "B") 'build-farm-jobset-list-latest-builds)) +(defface build-farm-jobset-list-status-scheduled + '((t)) + "Face used for a jobset name if there are scheduled jobs." + :group 'build-farm-jobset-list-faces) + +(defface build-farm-jobset-list-status-succeeded + '((t :inherit build-farm-build-status-succeeded)) + "Face used for a jobset name if there are no failed or scheduled jobs." + :group 'build-farm-jobset-list-faces) + +(defface build-farm-jobset-list-status-failed + '((t :inherit build-farm-build-status-failed)) + "Face used for a jobset name if there are failed jobs." + :group 'build-farm-jobset-list-faces) + (defvar build-farm-jobset-list-default-hint '(("\\[build-farm-jobset-list-latest-builds]") " show latest builds of the current jobset;\n")) @@ -130,6 +145,19 @@ build-farm-jobset-list-default-hint (bui-default-hint))) +(defun build-farm-jobset-list-get-name (name entry) + "Return NAME of the jobset ENTRY. +Colorize it with an appropriate face if needed." + (bui-get-string + name + (cond ((> (bui-entry-value entry 'failed) 0) + 'build-farm-jobset-list-status-failed) + ((> (bui-entry-value entry 'scheduled) 0) + 'build-farm-jobset-list-status-scheduled) + ((= (bui-entry-value entry 'total) + (bui-entry-value entry 'succeeded)) + 'build-farm-jobset-list-status-succeeded)))) + (defun build-farm-jobset-list-latest-builds (number &rest args) "Display latest NUMBER of builds of the current jobset. Interactively, use `build-farm-number-of-builds' variable for |
