@@ -15,27 +15,30 @@ type Program interface {
15
15
// ProgramFunc is a type of function that initializes programs based on arguments.
16
16
type ProgramFunc func (args ... string ) Program
17
17
18
- // NewShellProgramFunc creates programs that are executed in a Shell.
19
- func NewShellProgramFunc (name string ) ProgramFunc {
20
- return NewShellProgramFuncWithEnv (name , nil )
18
+ // NewShellProgramFunc creates a [ProgramFunc] to run command in a [Shell].
19
+ func NewShellProgramFunc (command string ) ProgramFunc {
20
+ return func (args ... string ) Program {
21
+ return createProgramCmdRedirectErr (command , args , nil )
22
+ }
21
23
}
22
24
23
- // NewShellProgramFuncWithEnv creates programs that are executed in a Shell with environment variables
24
- func NewShellProgramFuncWithEnv (name string , env * map [string ]string ) ProgramFunc {
25
+ // NewShellProgramFuncWithEnv creates a [ProgramFunc] tu run command
26
+ // in a [Shell] with the given environment variables.
27
+ func NewShellProgramFuncWithEnv (command string , env * map [string ]string ) ProgramFunc {
25
28
return func (args ... string ) Program {
26
- return & Shell { cmd : createProgramCmdRedirectErr (name , args , env )}
29
+ return createProgramCmdRedirectErr (command , args , env )
27
30
}
28
31
}
29
32
30
- func createProgramCmdRedirectErr (commandName string , args []string , env * map [string ]string ) * exec. Cmd {
31
- programCmd := exec .Command (commandName , args ... )
33
+ func createProgramCmdRedirectErr (command string , args []string , env * map [string ]string ) * Shell {
34
+ ec := exec .Command (command , args ... )
32
35
if env != nil {
33
36
for k , v := range * env {
34
- programCmd .Env = append (programCmd .Environ (), k + "=" + v )
37
+ ec .Env = append (ec .Environ (), k + "=" + v )
35
38
}
36
39
}
37
- programCmd .Stderr = os .Stderr
38
- return programCmd
40
+ ec .Stderr = os .Stderr
41
+ return & Shell { cmd : ec }
39
42
}
40
43
41
44
// Shell invokes shell commands to talk with a remote credentials-helper.
0 commit comments