From a226d72e51eecb768b13600303f73483118d9104 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Wed, 10 Jun 2026 01:48:28 -0400 Subject: feat: implemented janky object interaction model --- internal/cmd/registry.go | 48 ------------------------------------------------ 1 file changed, 48 deletions(-) delete mode 100644 internal/cmd/registry.go (limited to 'internal/cmd/registry.go') diff --git a/internal/cmd/registry.go b/internal/cmd/registry.go deleted file mode 100644 index e056469..0000000 --- a/internal/cmd/registry.go +++ /dev/null @@ -1,48 +0,0 @@ -package cmd - -import ( - "fmt" - "strings" -) - -type Handler func(args []string) - -type Command struct { - Name string - Aliases []string - Handler Handler - MinArgs int -} - -type Registry struct { - cmds map[string]Command -} - -func NewRegistry() *Registry { - return &Registry{cmds: make(map[string]Command)} -} - -func (r *Registry) Register(cmd Command) { - r.cmds[cmd.Name] = cmd - for _, a := range cmd.Aliases { - r.cmds[a] = cmd - } -} - -func (r *Registry) Dispatch(input string) error { - parts := strings.Fields(input) - if len(parts) == 0 { - return nil - } - name := strings.ToLower(parts[0]) - cmd, ok := r.cmds[name] - if !ok { - return fmt.Errorf("unknown command: %s", name) - } - args := parts[1:] - if len(args) < cmd.MinArgs { - return fmt.Errorf("usage: %s requires at least %d arguments", cmd.Name, cmd.MinArgs) - } - cmd.Handler(args) - return nil -} -- cgit v1.2.3