aboutsummaryrefslogtreecommitdiffstats
path: root/commands/compose/postpone.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/compose/postpone.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/compose/postpone.go')
-rw-r--r--commands/compose/postpone.go24
1 files changed, 12 insertions, 12 deletions
diff --git a/commands/compose/postpone.go b/commands/compose/postpone.go
index e33c9ab7..ac16d904 100644
--- a/commands/compose/postpone.go
+++ b/commands/compose/postpone.go
@@ -29,29 +29,29 @@ func (Postpone) Options() string {
return "t:"
}
-func (Postpone) CompleteOption(aerc *app.Aerc, r rune, arg string) []string {
+func (Postpone) CompleteOption(r rune, arg string) []string {
var valid []string
if r == 't' {
- valid = commands.GetFolders(aerc, []string{arg})
+ valid = commands.GetFolders([]string{arg})
}
- return commands.CompletionFromList(aerc, valid, []string{arg})
+ return commands.CompletionFromList(valid, []string{arg})
}
-func (Postpone) Complete(aerc *app.Aerc, args []string) []string {
+func (Postpone) Complete(args []string) []string {
return nil
}
-func (p Postpone) Execute(aerc *app.Aerc, args []string) error {
+func (p Postpone) Execute(args []string) error {
opts, optind, err := getopt.Getopts(args, p.Options())
if err != nil {
return err
}
- acct := aerc.SelectedAccount()
+ acct := app.SelectedAccount()
if acct == nil {
return errors.New("No account selected")
}
- tab := aerc.SelectedTab()
+ tab := app.SelectedTab()
if tab == nil {
return errors.New("No tab selected")
}
@@ -104,17 +104,17 @@ func (p Postpone) Execute(aerc *app.Aerc, args []string) error {
errStr := <-errChan
if errStr != "" {
- aerc.PushError(errStr)
+ app.PushError(errStr)
return
}
handleErr := func(err error) {
- aerc.PushError(err.Error())
+ app.PushError(err.Error())
log.Errorf("Postponing failed: %v", err)
- aerc.NewTab(composer, tabName)
+ app.NewTab(composer, tabName)
}
- aerc.RemoveTab(composer, false)
+ app.RemoveTab(composer, false)
buf := &bytes.Buffer{}
err = composer.WriteMessage(header, buf)
@@ -131,7 +131,7 @@ func (p Postpone) Execute(aerc *app.Aerc, args []string) error {
}, func(msg types.WorkerMessage) {
switch msg := msg.(type) {
case *types.Done:
- aerc.PushStatus("Message postponed.", 10*time.Second)
+ app.PushStatus("Message postponed.", 10*time.Second)
composer.SetPostponed()
composer.Close()
case *types.Error: