Beispiel #1
0
func doSystem(c *cli.Context) {
	args := c.Args()
	if c.Bool("cd-before") {
		if len(args) == 2 {
			environment.Deactivate(args[0], args[1])
		} else {
			util.PrintArgumentError(2)
		}
	} else if c.Bool("cd-after") {
		if len(args) == 2 {
			environment.Activate(args[0], args[1])
		} else {
			util.PrintArgumentError(2)
		}
	} else if c.Bool("cd") {
		if len(args) == 3 {
			environment.Deactivate(args[0], args[1])
			environment.Activate(args[0], args[2])
		} else {
			util.PrintArgumentError(3)
		}
	} else if c.Bool("clean") {
		if len(args) == 1 {
			environment.Clean(args[0])
		} else {
			util.PrintArgumentError(1)
		}
	}
}
Beispiel #2
0
func doDeactivate(c *cli.Context) {
	args := c.Args()
	if len(args) == 2 {
		environment.GetGlobalEnv(args[1]).Deactivate(args[0])
	} else {
		util.PrintArgumentError(2)
	}
}
Beispiel #3
0
func doLink(c *cli.Context) {
	args := c.Args()
	if c.Bool("remove") {
		env := GetEnv()
		env.ReadSettings()
		env.RemoveItems("link", removeLink, util.Wrap(args))
		env.Write()
	} else if len(args) == 0 {
		env := GetEnv()
		env.ReadSettings()
		for _, link := range env.GetItems("link") {
			util.Print(link[0] + " " + link[1])
		}
	} else if len(args) != 2 {
		util.PrintArgumentError(2)
	} else {
		env := GetEnv()
		env.ReadSettings()
		env.AddItems("link", c.Bool("force"), []string{args[0], args[1]})
		env.Write()
	}
}
Beispiel #4
0
func doConfig(c *cli.Context) {
	args := c.Args()
	argc := len(args)
	Env.ReadSettings()
	// list settings
	if argc == 0 {
		for _, i := range Env.GetItems(GIT_CONFIG) {
			util.Print(strings.Join(i, " "))
		}
	} else if c.Bool("remove") {
		p := [][]string{}
		var global bool
		if c.Bool("global") {
			global = true
		}
		for _, a := range args {
			if global {
				p = append(p, []string{a})
			} else {
				p = append(p, []string{Dir, a})
			}
		}
		Env.RemoveItems(GIT_CONFIG, removeConfig, p)
		Env.Write()
	} else {
		if argc != 2 {
			util.PrintArgumentError(2)
		}
		if c.Bool("global") {
			Env.AddItems(GIT_CONFIG, c.Bool("force"), []string{args[0], args[1]})
		} else {
			Env.AddItems(GIT_CONFIG, c.Bool("force"), []string{Dir, args[0], args[1]})
		}
		Env.Write()
	}
}
Beispiel #5
0
func doCheckout(c *cli.Context) {
	args := c.Args()
	argc := len(args)
	Env.ReadSettings()
	// list settings
	if argc == 0 {
		for _, i := range Env.GetItems(GIT_CHECKOUT) {
			util.Print(strings.Join(i, " "))
		}
	} else if c.Bool("remove") {
		p := [][]string{}
		for _, a := range args {
			p = append(p, []string{util.ExpandPath(a)})
		}
		Env.RemoveItems(GIT_CHECKOUT, remove0, p)
		Env.Write()
	} else {
		if argc != 1 {
			util.PrintArgumentError(1)
		}
		Env.AddItems(GIT_CHECKOUT, c.Bool("force"), []string{Dir, args[0]})
		Env.Write()
	}
}