func (p *Parser) ParseArgs(doc string, argv []string, version string) (Opts, error) {
	return p.parse(doc, argv, version)
}
ParseArgs parses custom arguments based on the interface described in doc. If you provide a non-empty version
string, then this will be displayed when the --version flag is found.
package docopt
import (
	"fmt"
	"os"
	"regexp"
	"strings"
)
type Parser struct {
	HelpHandler func(err error, usage string)
	OptionsFirst bool
	SkipHelpFlags bool
}
var PrintHelpAndExit = func(err error, usage string) {
	if err != nil {
		fmt.Fprintln(os.Stderr, usage)
		os.Exit(1)
	} else {
		fmt.Println(usage)
		os.Exit(0)
	}
}
var PrintHelpOnly = func(err error, usage string) {
	if err != nil {
		fmt.Fprintln(os.Stderr, usage)
	} else {
		fmt.Println(usage)
	}
}
var NoHelpHandler = func(err error, usage string) {}
var DefaultParser = &Parser{
	HelpHandler:   PrintHelpAndExit,
	OptionsFirst:  false,
	SkipHelpFlags: false,
}
func ParseDoc(doc string) (Opts, error) {
	return ParseArgs(doc, nil, "")
}
func ParseArgs(doc string, argv []string, version string) (Opts, error) {
	return DefaultParser.ParseArgs(doc, argv, version)
}