Skip to content

Commit 7468ef5

Browse files
committed
Added support for comments
1 parent 9e82356 commit 7468ef5

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

main.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ type {{.Name}} interface {
3434
func functionDef(fun *ast.FuncDecl, fset *token.FileSet) string {
3535
name := fun.Name.Name
3636
params := make([]string, 0)
37+
comments := make([]string, 0)
38+
if fun.Doc != nil {
39+
for _, comment := range fun.Doc.List {
40+
comments = append(comments, comment.Text)
41+
}
42+
}
3743
for _, p := range fun.Type.Params.List {
3844
var typeNameBuf bytes.Buffer
3945
err := printer.Fprint(&typeNameBuf, fset, p.Type)
@@ -64,13 +70,17 @@ func functionDef(fun *ast.FuncDecl, fset *token.FileSet) string {
6470
} else if len(returns) > 1 {
6571
returnString = fmt.Sprintf("(%s)", strings.Join(returns, ", "))
6672
}
67-
return fmt.Sprintf("%s (%s) %v", name, strings.Join(params, ", "), returnString)
73+
commentsString := ""
74+
if len(comments) > 0 {
75+
commentsString = strings.Join(comments, "\n") + "\n"
76+
}
77+
return fmt.Sprintf("%s%s (%s) %v", commentsString, name, strings.Join(params, ", "), returnString)
6878
}
6979

7080
func generateInterface(folder, outputFile, pkgName, structName, ifName, outputTemplate string) {
7181
fset := token.NewFileSet()
7282

73-
pkgs, err := parser.ParseDir(fset, folder, nil, parser.AllErrors)
83+
pkgs, err := parser.ParseDir(fset, folder, nil, parser.AllErrors|parser.ParseComments)
7484
if err != nil {
7585
log.Fatalf("Unable to parse %s folder", folder)
7686
}

0 commit comments

Comments
 (0)