diff options
author | Arun Isaac <arunisaac@systemreboot.net> | 2023-03-08 15:36:56 +0000 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2023-03-30 22:57:19 +0200 |
commit | 4520035a18c6d96fc6de35cd9fcb489bdc6724ef (patch) | |
tree | 1a127015f4ac990d35d1f04fe4a8acad9aa37f39 /scripts | |
parent | a648cfbe3203d0f26c79396482eefa7c9366616c (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')
-rw-r--r-- | scripts/mumi.in | 20 |
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)) |