@@ -100,30 +100,14 @@ func (c *Command) Runnable() bool {
100100 return c .Run != nil
101101}
102102
103- // Usage is the usage-reporting function, filled in by package main
104- // but here for reference by other packages.
105- //
106- // flag.Usage func()
107-
108- // CmdName - "build", "install", "list", "mod tidy", etc.
109- var CmdName string
110-
111- // Main runs a command.
112- func Main (c * Command , app string , args []string ) {
113- name := c .UsageLine
114- if i := strings .Index (name , " [" ); i >= 0 {
115- c .UsageLine = app + name [i :]
116- }
117- c .Run (c , args )
118- }
119-
120- func RunCmdWithName (cmd * Command , args []string , name string ) {
103+ func RunCmdWithName (cmd * Command , args []string , name string , out * io.PipeWriter ) {
121104 err := cmd .Flag .Parse (args )
122- check (err )
105+ Check (err )
123106
124107 cfgFile := config .LLCPPG_CFG
108+
125109 bytesOfConf , err := config .MarshalConfigFile (cfgFile )
126- check (err )
110+ Check (err )
127111
128112 if cmd .Flag .NArg () == 0 {
129113 args = append (args , "-" )
@@ -132,12 +116,32 @@ func RunCmdWithName(cmd *Command, args []string, name string) {
132116 nameCmd := exec .Command (name , args ... )
133117 nameCmd .Stdin = bytes .NewReader (bytesOfConf )
134118 nameCmd .Stdout = os .Stdout
119+ if out != nil {
120+ nameCmd .Stdout = out
121+ }
135122 nameCmd .Stderr = os .Stderr
136123 nameCmd .Run ()
137124}
138125
139- func check (err error ) {
126+ func Check (err error ) {
140127 if err != nil {
141128 panic (err )
142129 }
143130}
131+
132+ // Usage is the usage-reporting function, filled in by package main
133+ // but here for reference by other packages.
134+ //
135+ // flag.Usage func()
136+
137+ // CmdName - "build", "install", "list", "mod tidy", etc.
138+ var CmdName string
139+
140+ // Main runs a command.
141+ func Main (c * Command , app string , args []string ) {
142+ name := c .UsageLine
143+ if i := strings .Index (name , " [" ); i >= 0 {
144+ c .UsageLine = app + name [i :]
145+ }
146+ c .Run (c , args )
147+ }
0 commit comments