整理打印

This commit is contained in:
2025-09-30 01:48:54 +08:00
parent cee7898fff
commit bff7f73d8b
4 changed files with 73 additions and 15 deletions
+29
View File
@@ -2,6 +2,8 @@ package zm_lib
import (
"errors"
"fmt"
"io"
"os"
"path/filepath"
"strings"
@@ -22,3 +24,30 @@ func GetPluginPathByWd(pluginName string) (string, error) {
}
return "", errors.New("no find plugin")
}
func PrintArgsMap(argsMap map[string]any) error {
return FprintfArgsMap(1, os.Stdout, argsMap)
}
func FprintfArgsMap(layer int, out io.Writer, argsMap map[string]any) error {
for key, arg := range argsMap {
switch value := arg.(type) {
case map[string]any:
if _, err := fmt.Fprintf(out, "%s%s: \n", strings.Repeat("- ", layer), key); err != nil {
return err
}
if err := FprintfArgsMap(layer+1, out, value); err != nil {
return err
}
case []string:
if _, err := fmt.Fprintf(out, "%s%s: [%v]\n", strings.Repeat("- ", layer), key, strings.Join(value, ",")); err != nil {
return err
}
default:
if _, err := fmt.Fprintf(out, "%s%s: %v\n", strings.Repeat("- ", layer), key, value); err != nil {
return err
}
}
}
return nil
}