@@ -102,7 +102,7 @@ func Save(env *Environment) error {
102102func AppendEnv (name , value string ) error {
103103 env , err := Load ()
104104 if err != nil {
105- return err
105+ return fmt . Errorf ( "failed to load environment: %v" , err )
106106 }
107107 env .Setters = filter (env .Setters , func (nv NameValue ) bool {
108108 return nv .Name != name || nv .Value != value
@@ -115,40 +115,53 @@ func AppendEnv(name, value string) error {
115115 env .Unsetters = filter (env .Unsetters , func (nv NameValue ) bool {
116116 return nv .Name != name
117117 })
118- return Save (env )
118+ err = Save (env )
119+ if err != nil {
120+ return fmt .Errorf ("failed to save environment: %v" , err )
121+ }
122+ return nil
119123}
120124
121125// SetEnv permanently sets an environment variable
122126func SetEnv (name , value string ) error {
123- defs , err := Load ()
127+ env , err := Load ()
124128 if err != nil {
125- return err
129+ return fmt . Errorf ( "failed to load environment: %v" , err )
126130 }
127- defs .Setters = filter (defs .Setters , func (nv NameValue ) bool {
131+ env .Setters = filter (env .Setters , func (nv NameValue ) bool {
128132 return nv .Name != name
129133 })
130- defs .Setters = append (defs .Setters , NameValue {name , value })
131- defs .Unsetters = filter (defs .Unsetters , func (nv NameValue ) bool {
134+ env .Setters = append (env .Setters , NameValue {name , value })
135+ env .Unsetters = filter (env .Unsetters , func (nv NameValue ) bool {
132136 return nv .Name != name
133137 })
134- return Save (defs )
138+ err = Save (env )
139+ if err != nil {
140+ return fmt .Errorf ("failed to save environment: %v" , err )
141+ }
142+ return nil
135143}
136144
137145// UnsetEnv permanently unsets an environment variable
138146func UnsetEnv (name string ) error {
139- defs , err := Load ()
147+ env , err := Load ()
140148 if err != nil {
141- return err
149+ return fmt . Errorf ( "failed to load environment: %v" , err )
142150 }
143- defs .Setters = filter (defs .Setters , func (nv NameValue ) bool {
151+ env .Setters = filter (env .Setters , func (nv NameValue ) bool {
144152 return nv .Name != name
145153 })
146- defs .Appenders = filter (defs .Appenders , func (nv NameValue ) bool {
154+ env .Appenders = filter (env .Appenders , func (nv NameValue ) bool {
147155 return nv .Name != name
148156 })
149- defs .Unsetters = filter (defs .Unsetters , func (nv NameValue ) bool {
157+ env .Unsetters = filter (env .Unsetters , func (nv NameValue ) bool {
150158 return nv .Name != name
151159 })
152- defs .Unsetters = append (defs .Unsetters , NameValue {name , "" })
153- return Save (defs )
160+ env .Unsetters = append (env .Unsetters , NameValue {name , "" })
161+
162+ err = Save (env )
163+ if err != nil {
164+ return fmt .Errorf ("failed to save environment: %v" , err )
165+ }
166+ return nil
154167}
0 commit comments