git-project-manager/cmd/clear.go
2023-12-07 12:08:56 -05:00

30 lines
771 B
Go

package cmd
import (
"github.com/spf13/cobra"
"github.com/spf13/viper"
"golang.org/x/exp/slog"
)
const longDesc = `Used to reset a project cache, forcing it to be rebuilt.
If --clearAliases is provided, will also reset aliases. Use with caution.`
var clearCmd = &cobra.Command{
Use: "clear",
Short: "Clear GitLab Project Cache",
Long: longDesc,
Run: clearCache,
}
func clearCache(cmd *cobra.Command, args []string) {
slog.Debug("Preparing to clear local cache")
cache.Clear(conf.Cache.Clear.ClearAliases)
}
func init() {
cacheCmd.AddCommand(clearCmd)
clearCmd.Flags().Bool("clearAliases", false, "Will also clear aliases from the cache, use with caution")
viper.BindPFlag("cache.clear.clearAliases", clearCmd.LocalFlags().Lookup("clearAliases"))
}