func initializeConfig() *configuration.Config {
	return configuration.New()
}
initializeConfig reads in config file and ENV variables if set.
package cmd
import (
	"fmt"
	"os"
	"github.com/spf13/cobra"
	"github.com/mrcook/time_warrior/configuration"
	"github.com/mrcook/time_warrior/manager"
	"github.com/mrcook/time_warrior/timeslip"
)
var rootCmd = &cobra.Command{
	Use:     "tw",
	Version: "1.3.2",
	Short:   "TimeWarrior: a CLI based time tracking tool",
	Long: `TimeWarrior is a command line time tracking tool for developers and freelance
workers who need to track time worked on their client and personal projects.`,
	Run: func(cmd *cobra.Command, args []string) {
		m := manager.NewFromConfig(initializeConfig())
		if !m.PendingTimeSlipExists() {
			cmd.Help()
			return
		}
		slipJSON, slipError := m.PendingTimeSlip()
		if slipError != nil {
			fmt.Println(slipError)
			return
		}
		slip := &timeslip.Slip{}
		if err := timeslip.Unmarshal(slipJSON, slip); err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println(slip)
	},
}
func Execute() {
	if err := rootCmd.Execute(); err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}