diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-08-13 10:55:50 +0900 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-08-13 10:55:50 +0900 |
commit | 4fc6fee734e1b88c9aab94e66f5a2f908a86452f (patch) | |
tree | 76a2d79320ec2da88762d28ef66a391243206543 /commands/close.go | |
parent | f0a0c5aa733fa66958c113465bfc5fdd3d7cc9f0 (diff) | |
download | aerc-4fc6fee734e1b88c9aab94e66f5a2f908a86452f.tar.gz |
Revert "add close command at global level"
This reverts commit f0a0c5aa733fa66958c113465bfc5fdd3d7cc9f0.
Diffstat (limited to 'commands/close.go')
-rw-r--r-- | commands/close.go | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/commands/close.go b/commands/close.go deleted file mode 100644 index c885ee9e..00000000 --- a/commands/close.go +++ /dev/null @@ -1,59 +0,0 @@ -package commands - -import ( - "errors" - "fmt" - - "git.sr.ht/~sircmpwn/aerc/widgets" -) - -type Close struct{} - -func init() { - register(Close{}) -} - -func (_ Close) Aliases() []string { - return []string{"close", "abort"} -} - -func (_ Close) Complete(aerc *widgets.Aerc, args []string) []string { - return nil -} - -func (_ Close) Execute(aerc *widgets.Aerc, args []string) error { - if len(args) > 2 { - return errors.New("Usage: close [tab name]") - } else if len(args) == 1 { - return CloseTab(aerc, aerc.SelectedTabName()) - } else { - tabname := args[1] - for _, tab := range aerc.TabNames() { - if tab == tabname { - return CloseTab(aerc, tabname) - } - } - return errors.New(fmt.Sprintf("Tab %s not found", tabname)) - } - return nil -} - -func CloseTab(aerc *widgets.Aerc, tabname string) error { - curTabIndex := aerc.SelectedTabIndex() - aerc.SelectTab(tabname) - switch tab := aerc.SelectedTab().(type) { - default: - aerc.RemoveTab(tab) - return nil - case *widgets.Terminal: - tab.Close(nil) - return nil - case *widgets.Composer: - aerc.RemoveTab(tab) - tab.Close() - return nil - case *widgets.AccountView: - aerc.SelectTabIndex(curTabIndex) - return errors.New("Cannot close account tab") - } -} |