From 159fb38daf5336758abc425447cf2c2ed51de59a Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Mon, 4 Dec 2023 23:39:49 +0100 Subject: commands: refactor registration Register all commands with the same function and store them in the same map. Use bit flags to determine in which contexts each command should be available. Remove duplicate commands now that the same command can be exposed in multiple contexts. Refactor API to allow executing commands from other commands without import cycles. Signed-off-by: Robin Jarry Tested-by: Bence Ferdinandy Tested-by: Johannes Thyssen Tishman --- commands/prompt.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'commands/prompt.go') diff --git a/commands/prompt.go b/commands/prompt.go index 4fcf8a80..9ab2aac1 100644 --- a/commands/prompt.go +++ b/commands/prompt.go @@ -12,7 +12,11 @@ type Prompt struct { } func init() { - register(Prompt{}) + Register(Prompt{}) +} + +func (Prompt) Context() CommandContext { + return GLOBAL } func (Prompt) Aliases() []string { @@ -20,7 +24,7 @@ func (Prompt) Aliases() []string { } func (*Prompt) CompleteCommand(arg string) []string { - return FilterList(GlobalCommands.Names(), arg, nil) + return FilterList(ActiveCommandNames(), arg, nil) } func (p Prompt) Execute(args []string) error { -- cgit