diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go index 13b0161..e26ef0f 100644 --- a/pkg/cli/cli.go +++ b/pkg/cli/cli.go @@ -1,23 +1,42 @@ package cli import ( + "context" + "github.com/LazyBachelor/LazyPM/internal/service" "github.com/LazyBachelor/LazyPM/pkg/cli/commands" - "context" ) type CLIConfig = service.Config func Run(ctx context.Context, config CLIConfig) error { svc, cleanup, err := service.NewServices(ctx, config) - if err != nil { return err } defer cleanup() - if err := commands.Execute(svc); err != nil { + commands.SetServices(svc) + + if err := commands.Execute(); err != nil { + return err + } + + return nil +} + +func RunWithArgs(ctx context.Context, config CLIConfig, args []string) error { + svc, cleanup, err := service.NewServices(ctx, config) + if err != nil { + return err + } + + defer cleanup() + + commands.SetServices(svc) + + if err := commands.ExecuteArgs(args); err != nil { return err }