From 2a0961701c4cabecc53d134ed1782e5612e64580 Mon Sep 17 00:00:00 2001 From: Gregory Mullen Date: Thu, 27 Jun 2019 10:33:11 -0700 Subject: Implement basic tab completion support Tab completion currently only works on commands. Contextual completion will be added in the future. --- commands/terminal/close.go | 14 ++++++++++++-- commands/terminal/terminal.go | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) (limited to 'commands/terminal') diff --git a/commands/terminal/close.go b/commands/terminal/close.go index 0ea7a5a..35c4799 100644 --- a/commands/terminal/close.go +++ b/commands/terminal/close.go @@ -6,11 +6,21 @@ import ( "git.sr.ht/~sircmpwn/aerc/widgets" ) +type Close struct{} + func init() { - register("close", CommandClose) + register(Close{}) +} + +func (_ Close) Aliases() []string { + return []string{"close"} +} + +func (_ Close) Complete(aerc *widgets.Aerc, args []string) []string { + return nil } -func CommandClose(aerc *widgets.Aerc, args []string) error { +func (_ Close) Execute(aerc *widgets.Aerc, args []string) error { if len(args) != 1 { return errors.New("Usage: close") } diff --git a/commands/terminal/terminal.go b/commands/terminal/terminal.go index fb1583f..710d796 100644 --- a/commands/terminal/terminal.go +++ b/commands/terminal/terminal.go @@ -8,9 +8,9 @@ var ( TerminalCommands *commands.Commands ) -func register(name string, cmd commands.AercCommand) { +func register(cmd commands.Command) { if TerminalCommands == nil { TerminalCommands = commands.NewCommands() } - TerminalCommands.Register(name, cmd) + TerminalCommands.Register(cmd) } -- cgit v1.2.3