From 7dd3eb1586d35562b50dbac2ca835bf3aeac2c4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Mon, 22 May 2023 18:33:31 +0200 Subject: [PATCH] Basic flags usage and show in overview. --- src/brmember.scm | 7 ++++++- src/members-print.scm | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/brmember.scm b/src/brmember.scm index 4d54fb5..813a5c5 100644 --- a/src/brmember.scm +++ b/src/brmember.scm @@ -339,7 +339,12 @@ (if (brmember-suspended? mr) 'suspended #f) (if (brmember-active? mr) 'active #f) (if (brmember-destroyed? mr) 'destroyed #f) - (if (brmember-existing? mr) 'existing #f)))) + (if (brmember-existing? mr) 'existing #f) + (if (brmember-chair? mr) 'chair #f) + (if (brmember-council? mr) 'council #f) + (if (brmember-revision? mr) 'revision #f) + (if (brmember-grant? mr) 'grant #f) + ))) ;; Nickname as string (define (brmember-nick mr) diff --git a/src/members-print.scm b/src/members-print.scm index a842dca..cb036e1 100644 --- a/src/members-print.scm +++ b/src/members-print.scm @@ -239,6 +239,18 @@ row) tbl)))))) + ;; Members table row based on predicate + (define (members-pred-table-row mb label pred? fmt) + (let ((mrs (sort (find-members-by-predicate mb pred?) + brmemberstring mrs fmt) + 60))))) + ;; Prints nicely aligned members base info (define (print-members-base-table mb) (let* ((bi (mbase-info mb)) @@ -264,6 +276,22 @@ (filter identity (list (list "Type" "Count" "List") + (members-pred-table-row mb + (ansi-string #:yellow "Chair:") + brmember-chair? + "~N") + (members-pred-table-row mb + (ansi-string #:yellow "Council:") + brmember-council? + "~N") + (members-pred-table-row mb + (ansi-string #:yellow "Revision:") + brmember-revision? + "~N") + (members-pred-table-row mb + (ansi-string #:yellow "Grant:") + brmember-grant? + "~N") (members-table-row a:success "Active:" active-mrs "~N~E") (members-table-row a:highlight "Students:" student-mrs "~N~E") (members-table-row a:warning "Suspended:" suspended-mrs "~N~E (~S)")