You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: main.go
    path of file: ./repos/goreportcard/vendor/github.com/fzipp/gocyclo/cmd/gocyclo
    
    the code of the file until where you have to start completion: // Copyright 2013 Frederik Zipp. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// Gocyclo calculates the cyclomatic complexities of functions and
// methods in Go source code.
//
// Usage:
//     gocyclo [<flag> ...] <Go file or directory> ...
//
// Flags:
//     -over N               show functions with complexity > N only and
//                           return exit code 1 if the output is non-empty
//     -top N                show the top N most complex functions only
//     -avg, -avg-short      show the average complexity;
//                           the short option pri
    
func main() {
	over := flag.Int("over", 0, "show functions with complexity > N only")
	top := flag.Int("top", -1, "show the top N most complex functions only")
	avg := flag.Bool("avg", false, "show the average complexity")
	avgShort := flag.Bool("avg-short", false, "show the average complexity without a label")
	total := flag.Bool("total", false, "show the total complexity")
	totalShort := flag.Bool("total-short", false, "show the total complexity without a label")
	ignore := flag.String("ignore", "", "exclude files matching the given regular expression")

	log.SetFlags(0)
	log.SetPrefix("gocyclo: ")
	flag.Usage = usage
	flag.Parse()
	paths := flag.Args()
	if len(paths) == 0 {
		usage()
	}

	allStats := gocyclo.Analyze(paths, regex(*ignore))
	shownStats := allStats.SortAndFilter(*top, *over)

	printStats(shownStats)
	if *avg || *avgShort {
		printAverage(allStats, *avgShort)
	}
	if *total || *totalShort {
		printTotal(allStats, *totalShort)
	}

	if *over > 0 && len(shownStats) > 0 {
		os.Exit(1)
	}
}