pkg reader, const Append MergeAction
pkg reader, const AppendJiriProfile AppendJiriProfileMode
pkg reader, const DoNotAppendJiriProfile bool
pkg reader, const First MergeAction
pkg reader, const Ignore MergeAction
pkg reader, const IgnoreBaseAndAppend MergeAction
pkg reader, const IgnoreBaseAndPrepend MergeAction
pkg reader, const IgnoreBaseAndUseFirst MergeAction
pkg reader, const IgnoreBaseAndUseLast MergeAction
pkg reader, const IgnoreProfiles MergeAction
pkg reader, const Last MergeAction
pkg reader, const Prepend MergeAction
pkg reader, const SkipProfiles ProfilesMode
pkg reader, const UseProfiles ProfilesMode
pkg reader, func GoEnvironmentFromOS() []string
pkg reader, func InitProfilesFromFlag(string, AppendJiriProfileMode) []string
pkg reader, func JiriMergePolicies() MergePolicies
pkg reader, func MergeEnv(map[string]MergePolicy, *envvar.Vars, ...[]string)
pkg reader, func NewReader(*jiri.X, ProfilesMode, string) (*Reader, error)
pkg reader, func ProfileMergePolicies() MergePolicies
pkg reader, func RegisterReaderFlags(*flag.FlagSet, *ProfilesMode, *string, *string, string, *MergePolicies)
pkg reader, func UnsetGoEnvMap(map[string]string)
pkg reader, func UnsetGoEnvVars(*envvar.Vars)
pkg reader, func WithDefaultVersion(profiles.Target) profiles.Target
pkg reader, method (*MergePolicy) String() string
pkg reader, method (*ProfilesMode) Get() interface{}
pkg reader, method (*ProfilesMode) IsBoolFlag() bool
pkg reader, method (*ProfilesMode) Set(string) error
pkg reader, method (*ProfilesMode) String() string
pkg reader, method (*Reader) EnvFromProfile(string, profiles.Target) []string
pkg reader, method (*Reader) GoPath() string
pkg reader, method (*Reader) JiriProfile() []string
pkg reader, method (*Reader) LookupProfile(string) *profiles.Profile
pkg reader, method (*Reader) LookupProfileTarget(string, profiles.Target) *profiles.Target
pkg reader, method (*Reader) MergeEnv(map[string]MergePolicy, ...[]string)
pkg reader, method (*Reader) MergeEnvFromProfiles(map[string]MergePolicy, profiles.Target, ...string)
pkg reader, method (*Reader) PrependToPATH(string)
pkg reader, method (*Reader) ProfileNames() []string
pkg reader, method (*Reader) Profiles() []*profiles.Profile
pkg reader, method (*Reader) SchemaVersion() profiles.Version
pkg reader, method (*Reader) SkippingProfiles() bool
pkg reader, method (*Reader) VDLPath() string
pkg reader, method (*Reader) ValidateRequestedProfilesAndTarget([]string, profiles.Target) error
pkg reader, method (MergePolicies) DebugString() string
pkg reader, method (MergePolicies) Get() interface{}
pkg reader, method (MergePolicies) Set(string) error
pkg reader, method (MergePolicies) String() string
pkg reader, method (MergePolicies) Usage() string
pkg reader, type AppendJiriProfileMode bool
pkg reader, type MergeAction int
pkg reader, type MergePolicies map[string]MergePolicy
pkg reader, type MergePolicy struct
pkg reader, type MergePolicy struct, Action MergeAction
pkg reader, type MergePolicy struct, Separator string
pkg reader, type ProfilesMode bool
pkg reader, type Reader struct
pkg reader, type Reader struct, embedded *envvar.Vars
pkg reader, var AppendFlag MergePolicy
pkg reader, var AppendPath MergePolicy
pkg reader, var GoFlags []string
pkg reader, var IgnoreBaseAppendFlag MergePolicy
pkg reader, var IgnoreBaseAppendPath MergePolicy
pkg reader, var IgnoreBasePrependFlag MergePolicy
pkg reader, var IgnoreBasePrependPath MergePolicy
pkg reader, var IgnoreBaseUseFirst MergePolicy
pkg reader, var IgnoreBaseUseLast MergePolicy
pkg reader, var IgnoreVariable MergePolicy
pkg reader, var PrependFlag MergePolicy
pkg reader, var PrependPath MergePolicy
pkg reader, var UseBaseIgnoreProfiles MergePolicy
pkg reader, var UseFirst MergePolicy
pkg reader, var UseLast MergePolicy
