mirror of
https://github.com/jimeh/evm.git
synced 2026-02-19 07:26:40 +00:00
chore(log): use PersistentPreRunE to setup logging in a cleaner way
This commit is contained in:
@@ -11,17 +11,13 @@ import (
|
|||||||
|
|
||||||
type runEFunc func(cmd *cobra.Command, _ []string) error
|
type runEFunc func(cmd *cobra.Command, _ []string) error
|
||||||
|
|
||||||
func WithPrettyLogging(
|
func PersistentPreRunE(cmd *cobra.Command, _ []string) error {
|
||||||
f func(cmd *cobra.Command, args []string) error,
|
err := SetupZerolog(cmd)
|
||||||
) func(cmd *cobra.Command, args []string) error {
|
if err != nil {
|
||||||
return func(cmd *cobra.Command, args []string) error {
|
return err
|
||||||
err := SetupZerolog(cmd)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return f(cmd, args)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func SetupZerolog(cmd *cobra.Command) error {
|
func SetupZerolog(cmd *cobra.Command) error {
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ func NewConfig(mgr *manager.Manager) (*cobra.Command, error) {
|
|||||||
Short: "Show evm environment/setup details",
|
Short: "Show evm environment/setup details",
|
||||||
Aliases: []string{"env", "info"},
|
Aliases: []string{"env", "info"},
|
||||||
ValidArgs: []string{},
|
ValidArgs: []string{},
|
||||||
RunE: WithPrettyLogging(configRunE(mgr)),
|
RunE: configRunE(mgr),
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Flags().StringP("format", "f", "", "output format (yaml or json)")
|
cmd.Flags().StringP("format", "f", "", "output format (yaml or json)")
|
||||||
|
|||||||
@@ -7,8 +7,10 @@ import (
|
|||||||
|
|
||||||
func NewEvm(mgr *manager.Manager) (*cobra.Command, error) {
|
func NewEvm(mgr *manager.Manager) (*cobra.Command, error) {
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "evm",
|
Use: "evm",
|
||||||
Short: "A simple and opinionated Emacs Version Manager and build tool",
|
Short: "A simple and opinionated Emacs Version Manager " +
|
||||||
|
"and build tool",
|
||||||
|
PersistentPreRunE: PersistentPreRunE,
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.PersistentFlags().StringP(
|
cmd.PersistentFlags().StringP(
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ func NewExec(mgr *manager.Manager) (*cobra.Command, error) {
|
|||||||
DisableFlagsInUseLine: true,
|
DisableFlagsInUseLine: true,
|
||||||
Hidden: true,
|
Hidden: true,
|
||||||
ValidArgsFunction: execValidArgs(mgr),
|
ValidArgsFunction: execValidArgs(mgr),
|
||||||
RunE: WithPrettyLogging(execRunE(mgr)),
|
RunE: execRunE(mgr),
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmd, nil
|
return cmd, nil
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ func NewList(mgr *manager.Manager) (*cobra.Command, error) {
|
|||||||
Aliases: []string{"ls", "versions"},
|
Aliases: []string{"ls", "versions"},
|
||||||
Args: cobra.ExactArgs(0),
|
Args: cobra.ExactArgs(0),
|
||||||
ValidArgsFunction: noValidArgs,
|
ValidArgsFunction: noValidArgs,
|
||||||
RunE: WithPrettyLogging(listRunE(mgr)),
|
RunE: listRunE(mgr),
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Flags().StringP("format", "f", "", "output format (yaml or json)")
|
cmd.Flags().StringP("format", "f", "", "output format (yaml or json)")
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ func NewRehash(mgr *manager.Manager) (*cobra.Command, error) {
|
|||||||
Short: "Update shims for all or specific versions",
|
Short: "Update shims for all or specific versions",
|
||||||
Aliases: []string{"reshim"},
|
Aliases: []string{"reshim"},
|
||||||
ValidArgsFunction: rehashValidArgs(mgr),
|
ValidArgsFunction: rehashValidArgs(mgr),
|
||||||
RunE: WithPrettyLogging(rehashRunE(mgr)),
|
RunE: rehashRunE(mgr),
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmd, nil
|
return cmd, nil
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ func NewUse(mgr *manager.Manager) (*cobra.Command, error) {
|
|||||||
Aliases: []string{"activate", "switch"},
|
Aliases: []string{"activate", "switch"},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
ValidArgsFunction: useValidArgs(mgr),
|
ValidArgsFunction: useValidArgs(mgr),
|
||||||
RunE: WithPrettyLogging(useRunE(mgr)),
|
RunE: useRunE(mgr),
|
||||||
}
|
}
|
||||||
|
|
||||||
return cmd, nil
|
return cmd, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user