@@ -76,6 +76,7 @@ func (c *Cli) parseGenerateArgs() {
7676 generateDocsCmd := flag .NewFlagSet ("generateCode" , flag .ExitOnError )
7777 lang := generateDocsCmd .String ("language" , "" , "Programming language: JavaScript, Java, Kotlin" )
7878 replace := generateDocsCmd .Bool ("replace" , false , "Determines if the existing code is replaced" )
79+ codePath := generateDocsCmd .String ("codepath" , "" , "The codepath to match." )
7980
8081 err := generateDocsCmd .Parse (os .Args [3 :])
8182 if err != nil {
@@ -98,14 +99,15 @@ func (c *Cli) parseGenerateArgs() {
9899 cl := c .createClient (* config )
99100 files := generateDocsCmd .Args ()[0 :]
100101
101- if err := c .generateCode (cl , lang , replace , files ); err != nil {
102+ if err := c .generateCode (cl , lang , replace , codePath , files ); err != nil {
102103 c .logger .Errorf ("Could not generate the code %v" , err )
103104 }
104105 break
105106 case "docs" :
106107 generateDocsCmd := flag .NewFlagSet ("generateDocs" , flag .ExitOnError )
107108 lang := generateDocsCmd .String ("language" , "" , "Programming language: JavaScript, Java, Kotlin" )
108109 replace := generateDocsCmd .Bool ("replace" , false , "Determines if the existing documentations are replaced" )
110+ codePath := generateDocsCmd .String ("codepath" , "" , "The codepath to match." )
109111
110112 err := generateDocsCmd .Parse (os .Args [3 :])
111113 if err != nil {
@@ -128,7 +130,7 @@ func (c *Cli) parseGenerateArgs() {
128130 cl := c .createClient (* config )
129131 files := generateDocsCmd .Args ()[0 :]
130132
131- if err := c .generateDocumentation (cl , lang , replace , files ); err != nil {
133+ if err := c .generateDocumentation (cl , lang , replace , codePath , files ); err != nil {
132134 c .logger .Errorf ("Could not generate the documentation %v" , err )
133135 }
134136 break
@@ -251,7 +253,7 @@ func (c *Cli) parseRefactorArgs() {
251253 }
252254}
253255
254- func (c * Cli ) generateCode (cl client.Client , lang * string , replace * bool , files []string ) error {
256+ func (c * Cli ) generateCode (cl client.Client , lang * string , replace * bool , codePath * string , files []string ) error {
255257 return c .walkPath (files , func (file string ) error {
256258 if lang == nil || len (* lang ) == 0 {
257259 actLang , err := languageFromExtension (filepath .Ext (file ))
@@ -267,7 +269,7 @@ func (c *Cli) generateCode(cl client.Client, lang *string, replace *bool, files
267269 return err
268270 }
269271
270- output , err := c .process (cl , client .ModeCode , * lang , * replace , "" , source )
272+ output , err := c .process (cl , client .ModeCode , * lang , * replace , codePath , "" , source )
271273 if err != nil {
272274 return err
273275 }
@@ -280,7 +282,7 @@ func (c *Cli) generateCode(cl client.Client, lang *string, replace *bool, files
280282 })
281283}
282284
283- func (c * Cli ) generateDocumentation (cl client.Client , lang * string , replace * bool , files []string ) error {
285+ func (c * Cli ) generateDocumentation (cl client.Client , lang * string , replace * bool , codePath * string , files []string ) error {
284286 return c .walkPath (files , func (file string ) error {
285287 if lang == nil || len (* lang ) == 0 {
286288 actLang , err := languageFromExtension (filepath .Ext (file ))
@@ -296,7 +298,7 @@ func (c *Cli) generateDocumentation(cl client.Client, lang *string, replace *boo
296298 return err
297299 }
298300
299- output , err := c .process (cl , client .ModeDocument , * lang , * replace , "" , source )
301+ output , err := c .process (cl , client .ModeDocument , * lang , * replace , codePath , "" , source )
300302 if err != nil {
301303 return err
302304 }
@@ -327,7 +329,7 @@ func (c *Cli) generateTests(cl client.Client, lang *string, files []string, outp
327329 return err
328330 }
329331
330- output , err := c .process (cl , client .ModeUnitTest , * lang , false , "" , source )
332+ output , err := c .process (cl , client .ModeUnitTest , * lang , false , nil , "" , source )
331333 if err != nil {
332334 c .logger .Errorf ("failed to generate documentation for file %s %v" , file , err )
333335 return err
@@ -376,7 +378,7 @@ func (c *Cli) migrateSyntax(cl client.Client, lang *string, langVer *string, fil
376378 return nil
377379 }
378380
379- output , err := c .process (cl , client .ModeMigrateSyntax , * lang , false , * langVer , source )
381+ output , err := c .process (cl , client .ModeMigrateSyntax , * lang , false , nil , * langVer , source )
380382 if err != nil {
381383 c .logger .Errorf ("failed to migrate syntax in file %s %v" , file , err )
382384 return nil
@@ -408,7 +410,7 @@ func (c *Cli) refactorNaming(cl client.Client, lang *string, files []string) err
408410 return nil
409411 }
410412
411- output , err := c .process (cl , client .ModeRefactorNaming , * lang , false , "" , source )
413+ output , err := c .process (cl , client .ModeRefactorNaming , * lang , false , nil , "" , source )
412414 if err != nil {
413415 c .logger .Errorf ("failed to rename variables in file %s %v" , file , err )
414416 return nil
@@ -422,12 +424,16 @@ func (c *Cli) refactorNaming(cl client.Client, lang *string, files []string) err
422424 })
423425}
424426
425- func (c * Cli ) process (cl client.Client , mode string , lang string , replace bool , langVer string , source string ) (* string , error ) {
427+ func (c * Cli ) process (cl client.Client , mode string , lang string , replace bool , codePath * string , langVer string , source string ) (* string , error ) {
426428 modify := client .ModifyNone
427429 if replace {
428430 modify = client .ModifyReplace
429431 }
430432
433+ if codePath == nil || len (* codePath ) == 0 {
434+ codePath = nil
435+ }
436+
431437 process , err := cl .CreateProcess (& client.CreateProcessRequest {
432438 Process : client.Process {
433439 Mode : mode ,
@@ -438,6 +444,7 @@ func (c *Cli) process(cl client.Client, mode string, lang string, replace bool,
438444 Options : & client.Options {
439445 LanguageVersion : & langVer ,
440446 Modify : & modify ,
447+ CodePath : codePath ,
441448 },
442449 },
443450 })
0 commit comments