@@ -23,14 +23,18 @@ import (
2323var nameMap = map [string ]map [string ]string {
2424 "DE" : {
2525 "type" : "Typ" ,
26+ "value" : "Wert" ,
2627 "var" : "Variablen" ,
28+ "const" : "Konstante" ,
2729 "func" : "Funktionen" ,
2830 "comb" : "Kombinationen" ,
2931 "moduleEmpty" : "Dieses Modul ist Leer" ,
3032 },
3133 "EN" : {
3234 "type" : "Type" ,
35+ "value" : "Value" ,
3336 "var" : "variables" ,
37+ "const" : "constants" ,
3438 "func" : "functions" ,
3539 "comb" : "combinations" ,
3640 "moduleEmpty" : "This module is empty" ,
@@ -134,11 +138,9 @@ func makeMdFiles(publicDecls []ast.Declaration, inputFile []byte, outputFilePath
134138}
135139
136140func writeMD (inputFile string , outputFile * os.File , publicDecls []ast.Declaration , lang string ) {
137- funcBldr := & bytes.Buffer {}
138- varBldr := & bytes.Buffer {}
139- structBldr := & bytes.Buffer {}
141+ funcBldr , varBldr , constBldr , structBldr := & bytes.Buffer {}, & bytes.Buffer {}, & bytes.Buffer {}, & bytes.Buffer {}
140142
141- hasStructs , hasVars , hasFuncs := false , false , false
143+ hasStructs , hasVars , hasConsts , hasFuncs := false , false , false , false
142144
143145 for _ , decl := range publicDecls {
144146 switch decl := decl .(type ) {
@@ -161,7 +163,7 @@ func writeMD(inputFile string, outputFile *os.File, publicDecls []ast.Declaratio
161163 types := make ([]string , 0 , len (decl .Parameters ))
162164 for _ , param := range decl .Parameters {
163165 names = append (names , "<code>" + param .Name .String ()+ "</code>" )
164- types = append (types , "<code>" + param .Type .String ()+ "</code>" )
166+ types = append (types , "<code>" + param .Type .Type . String ()+ "</code>" )
165167 }
166168
167169 params = strings .Join (names , ", " )
@@ -193,13 +195,20 @@ func writeMD(inputFile string, outputFile *os.File, publicDecls []ast.Declaratio
193195 }
194196
195197 fmt .Fprintf (funcBldr , "{{< duden-function name=\" %s\" desc=\" %s\" params=\" %s\" paramTypes=\" %s\" ret=\" %s\" impl=\" %s\" extern=\" %t\" aliases=\" %s\" >}}\n \n " , // }}"
196- decl .Name (), descr , params , paramTypes , decl .Type .String (), impl , isExtern , aliases )
198+ decl .Name (), descr , params , paramTypes , decl .ReturnType .String (), impl , isExtern , aliases )
197199 case * ast.VarDecl :
198200 hasVars = true
199201
200202 fmt .Fprintf (varBldr , "## %s\n " , decl .Name ())
201203 fmt .Fprintf (varBldr , "* %s: <code>%s</code>\n " , nameMap [lang ]["type" ], decl .Type )
202204 fmt .Fprintln (varBldr , "" )
205+ case * ast.ConstDecl :
206+ hasConsts = true
207+
208+ fmt .Fprintf (constBldr , "## %s\n " , decl .Name ())
209+ fmt .Fprintf (constBldr , "* %s: <code>%s</code>\n " , nameMap [lang ]["type" ], decl .Type )
210+ fmt .Fprintf (constBldr , "* %s: <code>%s</code>\n " , nameMap [lang ]["value" ], decl .Val .Token ().Literal )
211+ fmt .Fprintln (constBldr , "" )
203212 case * ast.StructDecl :
204213 hasStructs = true
205214
@@ -250,11 +259,15 @@ func writeMD(inputFile string, outputFile *os.File, publicDecls []ast.Declaratio
250259 fmt .Fprintf (outputFile , "# Duden/%s %s\n " , fileName , nameMap [lang ]["var" ])
251260 fmt .Fprintln (outputFile , varBldr )
252261 }
262+ if hasConsts {
263+ fmt .Fprintf (outputFile , "# Duden/%s %s\n " , fileName , nameMap [lang ]["const" ])
264+ fmt .Fprintln (outputFile , constBldr )
265+ }
253266 if hasFuncs {
254267 fmt .Fprintf (outputFile , "# Duden/%s %s\n " , fileName , nameMap [lang ]["func" ])
255268 fmt .Fprintln (outputFile , funcBldr )
256269 }
257- if ! hasFuncs && ! hasVars {
258- fmt .Fprintf (outputFile , nameMap [lang ]["moduleEmpty" ])
270+ if ! hasFuncs && ! hasVars && hasConsts && ! hasStructs {
271+ fmt .Fprint (outputFile , nameMap [lang ]["moduleEmpty" ])
259272 }
260273}
0 commit comments