summaryrefslogtreecommitdiff
path: root/scripts/mumi.in
diff options
context:
space:
mode:
authorArun Isaac <arunisaac@systemreboot.net>2023-03-08 15:36:56 +0000
committerRicardo Wurmus <rekado@elephly.net>2023-03-30 22:57:19 +0200
commit4520035a18c6d96fc6de35cd9fcb489bdc6724ef (patch)
tree1a127015f4ac990d35d1f04fe4a8acad9aa37f39 /scripts/mumi.in
parenta648cfbe3203d0f26c79396482eefa7c9366616c (diff)
client: Support checking in to a specific issue.
* mumi/client.scm: Import (srfi srfi-26). (current-issue-file, current-issue-number): New functions. (print-current-issue, set-current-issue!, clear-current-issue!): New public functions. * scripts/mumi.in (show-mumi-usage): Document current and new subcommands. (main): Add current and new subcommands.
Diffstat (limited to 'scripts/mumi.in')
-rw-r--r--scripts/mumi.in20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/mumi.in b/scripts/mumi.in
index 9b61729..dfd082d 100644
--- a/scripts/mumi.in
+++ b/scripts/mumi.in
@@ -120,6 +120,12 @@
`mumi search QUERY':
search mumi for issues.
+ `mumi current [ISSUE-NUMBER]':
+ print or set current issue.
+
+ `mumi new':
+ clear current issue presumably to open a new one.
+
`mumi web [--address=address] [--port=port] [--listen-repl[=port]] [--disable-mailer]':
start the application web server.
@@ -138,6 +144,20 @@
(match (cdr (program-arguments))
(("search" . query-strings)
(client:search (string-join query-strings)))
+ (("current")
+ (client:print-current-issue))
+ (("current" issue-number-string)
+ (let ((issue-number (string->number issue-number-string)))
+ (if issue-number
+ (client:set-current-issue! issue-number)
+ (begin
+ (format (current-error-port)
+ "Invalid issue number `~a'~%"
+ issue-number-string)
+ (exit #f))))
+ (client:print-current-issue))
+ (("new")
+ (client:clear-current-issue!))
(("mailer" . rest)
(let* ((opts (parse-options rest))
(sender (assoc-ref opts 'sender))