package main

/*
	this parses the command line arguements
	this enables command line options from other packages like 'gui' and 'log'
*/

import (
	"go.wit.com/dev/alexflint/arg"
	"go.wit.com/lib/debugger"
	"go.wit.com/lib/gui/logsettings"
	"go.wit.com/log"
)

type argv struct {
	DownloadAll   bool `arg:"--download-all"                    help:"download everything from go.wit.com"`
	GitPull       bool `arg:"--git-pull"                        help:"do git pull in every repository"`
	CheckoutUser  bool `arg:"--switch-to-user-branch"           help:"switch everything to your user branch"`
	CheckoutDevel bool `arg:"--switch-to-devel-branch"          help:"switch everything to the devel branch"`
	OnlyMe        bool `arg:"--only-me"                         help:"only scan repos from ~/.config/autotypist"`
	Port          int  `arg:"--port"     default:"9419"         help:"do fun stuff with curl"`
	NoConfig      int  `arg:"--no-config"                       help:"don't load ~/.config/autotypist"`
}

func init() {
	arg.MustParse(&myargv)

	if debugger.ArgDebug() {
		log.Info("cmd line --debugger == true")
		go func() {
			log.Sleep(2)
			debugger.DebugWindow()
		}()
	}
	if debugger.ArgLogger() {
		log.Info("cmd line --loggger == true")
		go func() {
			log.Sleep(4)
			logsettings.LogWindow()
			logsettings.LogWindow()
		}()
	}
}

func (argv) Version() string {
	return "autotypist " + VERSION
}