aboutsummaryrefslogtreecommitdiffstats
path: root/commands/msg/archive.go
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-10-10 00:08:31 +0200
committerRobin Jarry <robin@jarry.cc>2023-10-10 11:38:01 +0200
commitbc176bd61ba726351a489cabf4da16a47dc5ec3b (patch)
treebbf06f731592d072f3d6f76f1648d61989375f2e /commands/msg/archive.go
parent598e4a5803578ab3e291f232d6aad31b4efd8ea4 (diff)
downloadaerc-bc176bd61ba726351a489cabf4da16a47dc5ec3b.tar.gz
app: export global functions
The single Aerc object is passed around in almost all command functions. This hinders readability. Store the single Aerc instance as a global variable. Export public functions from the app package to access methods of that object. Remove all explicit references to *app.Aerc and replace them with calls to these functions. For references to private/unexported fields and functions from within the app package, directly access the global aerc object. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
Diffstat (limited to 'commands/msg/archive.go')
-rw-r--r--commands/msg/archive.go22
1 files changed, 11 insertions, 11 deletions
diff --git a/commands/msg/archive.go b/commands/msg/archive.go
index 9753f664..f326d0c6 100644
--- a/commands/msg/archive.go
+++ b/commands/msg/archive.go
@@ -29,26 +29,26 @@ func (Archive) Aliases() []string {
return []string{"archive"}
}
-func (Archive) Complete(aerc *app.Aerc, args []string) []string {
+func (Archive) Complete(args []string) []string {
valid := []string{"flat", "year", "month"}
- return commands.CompletionFromList(aerc, valid, args)
+ return commands.CompletionFromList(valid, args)
}
-func (Archive) Execute(aerc *app.Aerc, args []string) error {
+func (Archive) Execute(args []string) error {
if len(args) != 2 {
return errors.New("Usage: archive <flat|year|month>")
}
- h := newHelper(aerc)
+ h := newHelper()
msgs, err := h.messages()
if err != nil {
return err
}
- err = archive(aerc, msgs, args[1])
+ err = archive(msgs, args[1])
return err
}
-func archive(aerc *app.Aerc, msgs []*models.MessageInfo, archiveType string) error {
- h := newHelper(aerc)
+func archive(msgs []*models.MessageInfo, archiveType string) error {
+ h := newHelper()
acct, err := h.account()
if err != nil {
return err
@@ -74,7 +74,7 @@ func archive(aerc *app.Aerc, msgs []*models.MessageInfo, archiveType string) err
archiveDir,
fmt.Sprintf("%d", msg.Envelope.Date.Year()),
fmt.Sprintf("%02d", msg.Envelope.Date.Month()),
- }, aerc.SelectedAccount().Worker().PathSeparator(),
+ }, app.SelectedAccount().Worker().PathSeparator(),
)
return dir
})
@@ -83,7 +83,7 @@ func archive(aerc *app.Aerc, msgs []*models.MessageInfo, archiveType string) err
dir := strings.Join([]string{
archiveDir,
fmt.Sprintf("%v", msg.Envelope.Date.Year()),
- }, aerc.SelectedAccount().Worker().PathSeparator(),
+ }, app.SelectedAccount().Worker().PathSeparator(),
)
return dir
})
@@ -104,7 +104,7 @@ func archive(aerc *app.Aerc, msgs []*models.MessageInfo, archiveType string) err
case *types.Done:
wg.Done()
case *types.Error:
- aerc.PushError(msg.Error.Error())
+ app.PushError(msg.Error.Error())
success = false
wg.Done()
marker.Remark()
@@ -117,7 +117,7 @@ func archive(aerc *app.Aerc, msgs []*models.MessageInfo, archiveType string) err
wg.Wait()
if success {
- handleDone(aerc, acct, next, "Messages archived.", store)
+ handleDone(acct, next, "Messages archived.", store)
}
}()
return nil