package main import ( "flag" "scripts/internal/command" "scripts/internal/config" e "scripts/pkg/errors" "scripts/pkg/logger" l "scripts/pkg/logger" ) const defaultConfigPath = "config.json" func main() { var ( commandName string confPath string ) flag.StringVar(&confPath, "config", defaultConfigPath, "path to config file") flag.StringVar(&commandName, "c", "", "command name") flag.Parse() config.MustLoad(confPath) if commandName == "" { l.Log.Error().Msg("flag '-c' required") return } logger.MustInit() command.InitSripts() cmd, exists := command.Scripts[commandName] if !exists { l.Log.Warn().Err(e.ErrCommandNotFound).Str("command", commandName).Send() l.Log.Info().Msg("selected command - 'help'") if err := command.Scripts["help"].Exec(); err != nil { l.Log.Error().Err(err).Str("command", commandName).Msg("failed to use help command") return } return } l.Log.Info().Str("selected command", commandName).Send() if err := cmd.Exec(); err != nil { l.Log.Error().Err(err).Str("command", commandName).Msg("failed to execude command") return } }