summaryrefslogtreecommitdiff
path: root/argv.go
blob: 7c6e867d49cb237b16622069ff18702b2f1a318e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package main

/*
	this parses the command line arguements
*/

var argv args

type args struct {
	Trim    bool `arg:"--trim"      default:"true"     help:"trim entries from go.sum"`
	Verbose bool `arg:"--verbose"                      help:"show more"`
	Restore bool `arg:"--restore"                      help:"only restore from go/pkg/mod/"`
	Force   bool `arg:"--force"                        help:"remove things and redo them no matter what"`
	Strict  bool `arg:"--strict"                       help:"never make go.* files unless everything is perfect"`
	Purge   bool `arg:"--purge"                        help:"purge all the git notes. this might be bad for you."`
	Smart   bool `arg:"--smart"                        help:"whatever seems best at the time. never os.Exit(-1)"`
}

func (args) Version() string {
	return "go-mod-clean " + VERSION + "    Built on " + BUILDTIME
}

func (a args) Description() string {
	return `
go-mod-clean will try to verify your go.* files are using the newest package versions

* Recreate go.* with 'go mod init' and 'go mod tidy'
* Set your required go in go.mod (default is go1.21
* Check that the most recent master branch versions are used
* Try to trim go.sum of non-existent entries
`
}