@@ -24,6 +24,7 @@ func ClassesFromDir(dir string) []Class {
24
24
filename := dir + "/" + file .Name ()
25
25
class := classFromFile (filename )
26
26
if class .Line != 0 {
27
+ class .Filename = strings .Replace (class .Name , ".go" , "" , 1 )
27
28
classes = append (classes , class )
28
29
}
29
30
}
@@ -119,3 +120,37 @@ func Write(filepath string, classes []Class) {
119
120
panic (err )
120
121
}
121
122
}
123
+
124
+ func InsertClassLinks (classes Classes ) Classes {
125
+ var returned_classes Classes
126
+ puncs := []string {" " , "," , "." , ";" , "\n " }
127
+ // loop classes
128
+ for _ , class := range classes {
129
+ text := string (class .Comment )
130
+ // insert link to class comment
131
+ for _ , each_class := range classes {
132
+ each_class_link := " [" + each_class .Name + "](" + each_class .Filename + ".html) "
133
+ for _ , sym := range puncs {
134
+ text = strings .Replace (text , " " + each_class .Name + sym , each_class_link , - 1 )
135
+ }
136
+ }
137
+
138
+ // loop methods in a class
139
+ for i , method := range class .InstanceMethods {
140
+ text := string (method .Comment )
141
+ // insert link to method comment
142
+ for _ , each_class := range classes {
143
+ each_class_link := " [" + each_class .Name + "](" + each_class .Filename + ".html) "
144
+ for _ , sym := range puncs {
145
+ text = strings .Replace (text , " " + each_class .Name + sym , each_class_link , - 1 )
146
+ }
147
+ }
148
+ class .InstanceMethods [i ].Comment = template .HTML (text )
149
+ }
150
+
151
+ class .Comment = template .HTML (text )
152
+ returned_classes = append (returned_classes , class )
153
+ }
154
+
155
+ return returned_classes
156
+ }
0 commit comments