func (option *Option) IsSetDefault() bool {
	return option.isSetDefault
}
IsSetDefault returns true if option has been set via the default option tag
package flags
import (
	"bytes"
	"fmt"
	"os"
	"reflect"
	"strings"
	"unicode/utf8"
)
type Option struct {
	Description string
	ShortName rune
	LongName string
	Default []string
	EnvDefaultKey string
	EnvDefaultDelim string
	OptionalArgument bool
	OptionalValue []string
	Required bool
	ValueName string
	DefaultMask string
	Choices []string
	Hidden bool
	group *Group
	field reflect.StructField
	value reflect.Value
	iniQuote bool
	tag            multiTag
	isSet          bool
	isSetDefault   bool
	preventDefault bool
	defaultLiteral string
}
func (option *Option) LongNameWithNamespace() string {
	if len(option.LongName) == 0 {
		return ""
	}
	namespaceDelimiter := ""
	g := option.group
	for {
		if p, ok := g.parent.(*Parser); ok {
			namespaceDelimiter = p.NamespaceDelimiter
			break
		}
		switch i := g.parent.(type) {
		case *Command:
			g = i.Group
		case *Group:
			g = i
		}
	}
	longName := option.LongName
	g = option.group
	for g != nil {
		if g.Namespace != "" {
			longName = g.Namespace + namespaceDelimiter + longName
		}
		switch i := g.parent.(type) {
		case *Command:
			g = i.Group
		case *Group:
			g = i
		case *Parser:
			g = nil
		}
	}
	return longName
}
func (option *Option) String() string {
	var s string
	var short string
	if option.ShortName != 0 {
		data := make([]byte, utf8.RuneLen(option.ShortName))
		utf8.EncodeRune(data, option.ShortName)
		short = string(data)
		if len(option.LongName) != 0 {
			s = fmt.Sprintf("%s%s, %s%s",
				string(defaultShortOptDelimiter), short,
				defaultLongOptDelimiter, option.LongNameWithNamespace())
		} else {
			s = fmt.Sprintf("%s%s", string(defaultShortOptDelimiter), short)
		}
	} else if len(option.LongName) != 0 {
		s = fmt.Sprintf("%s%s", defaultLongOptDelimiter, option.LongNameWithNamespace())
	}
	return s
}
func (option *Option) Value() interface{} {
	return option.value.Interface()
}
func (option *Option) Field() reflect.StructField {
	return option.field
}
func (option *Option) IsSet() bool {
	return option.isSet
}