flags

package module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2023 License: MIT Imports: 11 Imported by: 58

README

flags

Build codecov Quality Gate Status

Golang flags parser with zero dependency.

Usage

See simple.go for a basic usage.

Concept

flags gives a simple way to get flag's value from argument or environment variable.

Argument takes priority over environment variable. Argument and environment variable names are generated from configuration you pass.

The FlagSet name is used to prefix all environment variable, replacing - by _.

The prefix name is used then to specialize your flag name (e.g. if you have want to use the same flags twice, you can change the prefix)

The argument's name is in camelCase format. The environement variable name is in SNAKE_UPPER_CASE format.

Flags can take a default value, that can be overriden programatically, always in the case you reuse the same flags twice (see advanced.go example.)

Security

Be careful when using the arguments values, if someone list the processes on the system, they will appear in plain-text. Pass secrets by environment variables: it's less easily visible.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool added in v1.0.0

func Bool(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value bool, overrides []Override) *bool

Bool creates a bool flag

func BoolVar added in v1.4.0

func BoolVar(fs *flag.FlagSet, output *bool, prefix, docPrefix, name, shorthand, label, env string, value bool, overrides []Override)

BoolVar binds a bool flag

func Duration added in v1.1.0

func Duration(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value time.Duration, overrides []Override) *time.Duration

Duration creates a duration flag

func DurationVar added in v1.4.0

func DurationVar(fs *flag.FlagSet, output *time.Duration, prefix, docPrefix, name, shorthand, label, env string, value time.Duration, overrides []Override)

DurationVar binds a duration flag

func Float64 added in v1.0.0

func Float64(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value float64, overrides []Override) *float64

Float64 creates a float64 flag

func Float64Slice added in v1.5.0

func Float64Slice(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env, envSeparator string, values []float64, overrides []Override) *[]float64

Float64Slice creates a string slice flag

func Float64SliceVar added in v1.5.0

func Float64SliceVar(fs *flag.FlagSet, output *[]float64, prefix, docPrefix, name, shorthand, label, env, envSeparator string, values []float64, overrides []Override)

Float64SliceVar binds a string slice flag

func Float64Var added in v1.4.0

func Float64Var(fs *flag.FlagSet, output *float64, prefix, docPrefix, name, shorthand, label, env string, value float64, overrides []Override)

Float64Var binds a float64 flag

func Int added in v1.0.0

func Int(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value int, overrides []Override) *int

Int creates an int flag

func Int64 added in v1.0.0

func Int64(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value int64, overrides []Override) *int64

Int64 creates an int64 flag

func Int64Var added in v1.4.0

func Int64Var(fs *flag.FlagSet, output *int64, prefix, docPrefix, name, shorthand, label, env string, value int64, overrides []Override)

Int64Var bind an int64 flag

func IntVar added in v1.4.0

func IntVar(fs *flag.FlagSet, output *int, prefix, docPrefix, name, shorthand, label, env string, value int, overrides []Override)

IntVar bind an int flag

func Sha added in v1.3.1

func Sha(content string) string

func SnakeCase

func SnakeCase(s string) string

func String added in v1.0.0

func String(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value string, overrides []Override) *string

String creates a string flag

func StringSlice added in v1.3.0

func StringSlice(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env, envSeparator string, values []string, overrides []Override) *[]string

StringSlice creates a string slice flag

func StringSliceVar added in v1.4.0

func StringSliceVar(fs *flag.FlagSet, output *[]string, prefix, docPrefix, name, shorthand, label, env, envSeparator string, values []string, overrides []Override)

StringSliceVar binds a string slice flag

func StringVar added in v1.4.0

func StringVar(fs *flag.FlagSet, output *string, prefix, docPrefix, name, shorthand, label, env string, value string, overrides []Override)

StringVar bind a string flag

func Uint added in v1.0.0

func Uint(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value uint, overrides []Override) *uint

Uint creates an uint flag

func Uint64 added in v1.0.0

func Uint64(fs *flag.FlagSet, prefix, docPrefix, name, shorthand, label, env string, value uint64, overrides []Override) *uint64

Uint64 creates an uint64 flag

func Uint64Var added in v1.4.0

func Uint64Var(fs *flag.FlagSet, output *uint64, prefix, docPrefix, name, shorthand, label, env string, value uint64, overrides []Override)

Uint64Var binds an uint64 flag

func UintVar added in v1.4.0

func UintVar(fs *flag.FlagSet, output *uint, prefix, docPrefix, name, shorthand, label, env string, value uint, overrides []Override)

UintVar bind an uint flag

func Usage added in v1.3.1

func Usage(fs *flag.FlagSet) func()

Types

type Builder added in v1.3.1

type Builder struct {
	// contains filtered or unexported fields
}

func New

func New(name, label string) Builder

func (Builder) Bool added in v1.3.1

func (b Builder) Bool(fs *flag.FlagSet, value bool, overrides []Override) *bool

func (Builder) BoolVar added in v1.4.1

func (b Builder) BoolVar(fs *flag.FlagSet, output *bool, value bool, overrides []Override)

func (Builder) DocPrefix added in v1.3.1

func (b Builder) DocPrefix(docPrefix string) Builder

func (Builder) Duration added in v1.3.1

func (b Builder) Duration(fs *flag.FlagSet, value time.Duration, overrides []Override) *time.Duration

func (Builder) DurationVar added in v1.4.1

func (b Builder) DurationVar(fs *flag.FlagSet, output *time.Duration, value time.Duration, overrides []Override)

func (Builder) Env added in v1.3.1

func (b Builder) Env(env string) Builder

func (Builder) EnvSeparator added in v1.3.1

func (b Builder) EnvSeparator(envSeparator string) Builder

func (Builder) Float64 added in v1.3.1

func (b Builder) Float64(fs *flag.FlagSet, value float64, overrides []Override) *float64

func (Builder) Float64Slice added in v1.5.0

func (b Builder) Float64Slice(fs *flag.FlagSet, value []float64, overrides []Override) *[]float64

func (Builder) Float64SliceVar added in v1.5.0

func (b Builder) Float64SliceVar(fs *flag.FlagSet, output *[]float64, value []float64, overrides []Override)

func (Builder) Float64Var added in v1.4.1

func (b Builder) Float64Var(fs *flag.FlagSet, output *float64, value float64, overrides []Override)

func (Builder) Int added in v1.3.1

func (b Builder) Int(fs *flag.FlagSet, value int, overrides []Override) *int

func (Builder) Int64 added in v1.3.1

func (b Builder) Int64(fs *flag.FlagSet, value int64, overrides []Override) *int64

func (Builder) Int64Var added in v1.4.1

func (b Builder) Int64Var(fs *flag.FlagSet, output *int64, value int64, overrides []Override)

func (Builder) IntVar added in v1.4.1

func (b Builder) IntVar(fs *flag.FlagSet, output *int, value int, overrides []Override)

func (Builder) Prefix added in v1.3.1

func (b Builder) Prefix(prefix string) Builder

func (Builder) Shorthand added in v1.3.1

func (b Builder) Shorthand(shorthand string) Builder

func (Builder) String added in v1.3.1

func (b Builder) String(fs *flag.FlagSet, value string, overrides []Override) *string

func (Builder) StringSlice added in v1.3.1

func (b Builder) StringSlice(fs *flag.FlagSet, value []string, overrides []Override) *[]string

func (Builder) StringSliceVar added in v1.4.1

func (b Builder) StringSliceVar(fs *flag.FlagSet, output *[]string, value []string, overrides []Override)

func (Builder) StringVar added in v1.4.1

func (b Builder) StringVar(fs *flag.FlagSet, output *string, value string, overrides []Override)

func (Builder) Uint added in v1.3.1

func (b Builder) Uint(fs *flag.FlagSet, value uint, overrides []Override) *uint

func (Builder) Uint64 added in v1.3.1

func (b Builder) Uint64(fs *flag.FlagSet, value uint64, overrides []Override) *uint64

func (Builder) Uint64Var added in v1.4.1

func (b Builder) Uint64Var(fs *flag.FlagSet, output *uint64, value uint64, overrides []Override)

func (Builder) UintVar added in v1.4.1

func (b Builder) UintVar(fs *flag.FlagSet, output *uint, value uint, overrides []Override)

type Flag

type Flag struct {
	// contains filtered or unexported fields
}

func (*Flag) AddName added in v1.3.1

func (f *Flag) AddName(name string)

type Override

type Override struct {
	// contains filtered or unexported fields
}

Override is an override of default value

func NewOverride

func NewOverride(name string, value any) Override

NewOverride create a default override value

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL