diff options
author | Robin Jarry <robin@jarry.cc> | 2023-10-10 00:08:31 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-10-10 11:38:01 +0200 |
commit | bc176bd61ba726351a489cabf4da16a47dc5ec3b (patch) | |
tree | bbf06f731592d072f3d6f76f1648d61989375f2e /commands/compose/postpone.go | |
parent | 598e4a5803578ab3e291f232d6aad31b4efd8ea4 (diff) | |
download | aerc-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.go | 24 |
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: |