about summary refs log tree commit diff stats
path: root/commands/terminal
diff options
context:
space:
mode:
Diffstat (limited to 'commands/terminal')
-rw-r--r--commands/terminal/close.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/commands/terminal/close.go b/commands/terminal/close.go
new file mode 100644
index 0000000..8256e67
--- /dev/null
+++ b/commands/terminal/close.go
@@ -0,0 +1,30 @@
+package terminal
+
+import (
+	"errors"
+
+	"git.sr.ht/~sircmpwn/aerc/widgets"
+)
+
+type Close struct{}
+
+func init() {
+	register(Close{})
+}
+
+func (_ Close) Aliases() []string {
+	return []string{"close"}
+}
+
+func (_ Close) Complete(aerc *widgets.Aerc, args []string) []string {
+	return nil
+}
+
+func (_ Close) Execute(aerc *widgets.Aerc, args []string) error {
+	if len(args) != 1 {
+		return errors.New("Usage: close")
+	}
+	term, _ := aerc.SelectedTab().(*widgets.Terminal)
+	term.Close(nil)
+	return nil
+}