aboutsummaryrefslogtreecommitdiffstats
path: root/commands/account/select.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/account/select.go')
-rw-r--r--commands/account/select.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/commands/account/select.go b/commands/account/select.go
new file mode 100644
index 00000000..bd44c1bd
--- /dev/null
+++ b/commands/account/select.go
@@ -0,0 +1,37 @@
+package account
+
+import (
+ "errors"
+ "strconv"
+
+ "git.sr.ht/~sircmpwn/aerc/widgets"
+)
+
+func init() {
+ register("select-message", SelectMessage)
+}
+
+func SelectMessage(aerc *widgets.Aerc, args []string) error {
+ if len(args) != 2 {
+ return errors.New("Usage: :select-message <n>")
+ }
+ var (
+ n int = 1
+ err error
+ )
+ if len(args) > 1 {
+ n, err = strconv.Atoi(args[1])
+ if err != nil {
+ return errors.New("Usage: :select-message <n>")
+ }
+ }
+ acct := aerc.SelectedAccount()
+ if acct == nil {
+ return errors.New("No account selected")
+ }
+ if acct.Messages().Empty() {
+ return nil
+ }
+ acct.Messages().Select(n)
+ return nil
+}