Skip to content

Commit f552e35

Browse files
Added replace option to code & documentation generation
1 parent 610ecb7 commit f552e35

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

cli/cli.go

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)