From 1ef456579afeb151a4da18b9cba8bc61266ad61c Mon Sep 17 00:00:00 2001 From: Jan Tytgat Date: Tue, 3 Jun 2025 14:15:48 +0200 Subject: [PATCH] Add debug function to print initializing command names Signed-off-by: Jan Tytgat --- application/globals.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/application/globals.go b/application/globals.go index c2d60a0..186db64 100644 --- a/application/globals.go +++ b/application/globals.go @@ -1,6 +1,7 @@ package application import ( + "fmt" "io" "log/slog" "os" @@ -24,6 +25,10 @@ var ( outWriter io.Writer = os.Stdout ) +func SubCommandInitializePrintNameFunc(cmd *cobra.Command) { + fmt.Println("Initializing:", cmd.Name()) +} + func HelpFuncE(cmd *cobra.Command, args []string) error { return cmd.Help() } @@ -51,7 +56,7 @@ func persistentPreRunFuncE(cmd *cobra.Command, args []string) error { } // Make sure that we show the app help if no commands or flags are passed - if cmd.CalledAs() == appName && runtime.FuncForPC(reflect.ValueOf(cmd.RunE).Pointer()).Name() == runtime.FuncForPC(reflect.ValueOf(runFuncE).Pointer()).Name() { + if cmd.CalledAs() == appName && runtime.FuncForPC(reflect.ValueOf(cmd.RunE).Pointer()).Name() == runtime.FuncForPC(reflect.ValueOf(RunCatchFuncE).Pointer()).Name() { slogd.FromContext(cmd.Context()).LogAttrs(cmd.Context(), slogd.LevelTrace, "overriding command", slog.String("old_function", runtime.FuncForPC(reflect.ValueOf(cmd.RunE).Pointer()).Name()), slog.String("new_function", runtime.FuncForPC(reflect.ValueOf(HelpFuncE).Pointer()).Name())) cmd.RunE = HelpFuncE