@@ -75,6 +75,7 @@ func (c *Cli) parseGenerateArgs() {
7575 case "code" :
7676 generateDocsCmd := flag .NewFlagSet ("generateCode" , flag .ExitOnError )
7777 lang := generateDocsCmd .String ("language" , "" , "Programming language: JavaScript, Java, Kotlin" )
78+ replace := generateDocsCmd .Bool ("replace" , false , "Determines if the existing code is replaced" )
7879
7980 err := generateDocsCmd .Parse (os .Args [3 :])
8081 if err != nil {
@@ -97,13 +98,14 @@ func (c *Cli) parseGenerateArgs() {
9798 cl := c .createClient (* config )
9899 files := generateDocsCmd .Args ()[0 :]
99100
100- if err := c .generateCode (cl , lang , files ); err != nil {
101+ if err := c .generateCode (cl , lang , replace , files ); err != nil {
101102 c .logger .Errorf ("Could not generate the code %v" , err )
102103 }
103104 break
104105 case "docs" :
105106 generateDocsCmd := flag .NewFlagSet ("generateDocs" , flag .ExitOnError )
106107 lang := generateDocsCmd .String ("language" , "" , "Programming language: JavaScript, Java, Kotlin" )
108+ replace := generateDocsCmd .Bool ("replace" , false , "Determines if the existing documentations are replaced" )
107109
108110 err := generateDocsCmd .Parse (os .Args [3 :])
109111 if err != nil {
@@ -126,7 +128,7 @@ func (c *Cli) parseGenerateArgs() {
126128 cl := c .createClient (* config )
127129 files := generateDocsCmd .Args ()[0 :]
128130
129- if err := c .generateDocumentation (cl , lang , files ); err != nil {
131+ if err := c .generateDocumentation (cl , lang , replace , files ); err != nil {
130132 c .logger .Errorf ("Could not generate the documentation %v" , err )
131133 }
132134 break
@@ -249,7 +251,7 @@ func (c *Cli) parseRefactorArgs() {
249251 }
250252}
251253
252- func (c * Cli ) generateCode (cl client.Client , lang * string , files []string ) error {
254+ func (c * Cli ) generateCode (cl client.Client , lang * string , replace * bool , files []string ) error {
253255 return c .walkPath (files , func (file string ) error {
254256 if lang == nil || len (* lang ) == 0 {
255257 actLang , err := languageFromExtension (filepath .Ext (file ))
@@ -265,7 +267,7 @@ func (c *Cli) generateCode(cl client.Client, lang *string, files []string) error
265267 return err
266268 }
267269
268- output , err := c .process (cl , client .ModeCode , * lang , "" , source )
270+ output , err := c .process (cl , client .ModeCode , * lang , * replace , "" , source )
269271 if err != nil {
270272 return err
271273 }
@@ -278,7 +280,7 @@ func (c *Cli) generateCode(cl client.Client, lang *string, files []string) error
278280 })
279281}
280282
281- func (c * Cli ) generateDocumentation (cl client.Client , lang * string , files []string ) error {
283+ func (c * Cli ) generateDocumentation (cl client.Client , lang * string , replace * bool , files []string ) error {
282284 return c .walkPath (files , func (file string ) error {
283285 if lang == nil || len (* lang ) == 0 {
284286 actLang , err := languageFromExtension (filepath .Ext (file ))
@@ -294,7 +296,7 @@ func (c *Cli) generateDocumentation(cl client.Client, lang *string, files []stri
294296 return err
295297 }
296298
297- output , err := c .process (cl , client .ModeDocument , * lang , "" , source )
299+ output , err := c .process (cl , client .ModeDocument , * lang , * replace , "" , source )
298300 if err != nil {
299301 return err
300302 }
@@ -325,7 +327,7 @@ func (c *Cli) generateTests(cl client.Client, lang *string, files []string, outp
325327 return err
326328 }
327329
328- output , err := c .process (cl , client .ModeUnitTest , * lang , "" , source )
330+ output , err := c .process (cl , client .ModeUnitTest , * lang , false , "" , source )
329331 if err != nil {
330332 c .logger .Errorf ("failed to generate documentation for file %s %v" , file , err )
331333 return err
@@ -374,7 +376,7 @@ func (c *Cli) migrateSyntax(cl client.Client, lang *string, langVer *string, fil
374376 return nil
375377 }
376378
377- output , err := c .process (cl , client .ModeMigrateSyntax , * lang , * langVer , source )
379+ output , err := c .process (cl , client .ModeMigrateSyntax , * lang , false , * langVer , source )
378380 if err != nil {
379381 c .logger .Errorf ("failed to migrate syntax in file %s %v" , file , err )
380382 return nil
@@ -406,7 +408,7 @@ func (c *Cli) refactorNaming(cl client.Client, lang *string, files []string) err
406408 return nil
407409 }
408410
409- output , err := c .process (cl , client .ModeRefactorNaming , * lang , "" , source )
411+ output , err := c .process (cl , client .ModeRefactorNaming , * lang , false , "" , source )
410412 if err != nil {
411413 c .logger .Errorf ("failed to rename variables in file %s %v" , file , err )
412414 return nil
@@ -420,7 +422,12 @@ func (c *Cli) refactorNaming(cl client.Client, lang *string, files []string) err
420422 })
421423}
422424
423- func (c * Cli ) process (cl client.Client , mode string , lang string , langVer string , source string ) (* string , error ) {
425+ func (c * Cli ) process (cl client.Client , mode string , lang string , replace bool , langVer string , source string ) (* string , error ) {
426+ modify := client .ModifyNone
427+ if replace {
428+ modify = client .ModifyReplace
429+ }
430+
424431 process , err := cl .CreateProcess (& client.CreateProcessRequest {
425432 Process : client.Process {
426433 Mode : mode ,
@@ -430,6 +437,7 @@ func (c *Cli) process(cl client.Client, mode string, lang string, langVer string
430437 },
431438 Options : & client.Options {
432439 LanguageVersion : & langVer ,
440+ Modify : & modify ,
433441 },
434442 },
435443 })
0 commit comments