@@ -46,9 +46,8 @@ int ddoxMain(string[] args)
46
46
return 1 ;
47
47
}
48
48
49
- int cmdGenerateHtml (string [] args)
49
+ int cmdGenerateHtml (string [] args, GeneratorSettings gensettings = new GeneratorSettings() )
50
50
{
51
- GeneratorSettings gensettings;
52
51
Package pack;
53
52
if ( auto ret = setupGeneratorInput(args, gensettings, pack) )
54
53
return ret;
@@ -57,14 +56,13 @@ int cmdGenerateHtml(string[] args)
57
56
return 0 ;
58
57
}
59
58
60
- int cmdServeHtml (string [] args)
59
+ int cmdServeHtml (string [] args, GeneratorSettings gensettings = new GeneratorSettings() )
61
60
{
62
61
string [] webfiledirs;
63
62
getopt(args,
64
63
config.passThrough,
65
64
" web-file-dir" , &webfiledirs);
66
65
67
- GeneratorSettings gensettings;
68
66
Package pack;
69
67
if ( auto ret = setupGeneratorInput(args, gensettings, pack) )
70
68
return ret;
@@ -84,11 +82,9 @@ int cmdServeHtml(string[] args)
84
82
return runEventLoop ();
85
83
}
86
84
87
- int cmdServeTest (string [] args)
85
+ int cmdServeTest (string [] args, GeneratorSettings gensettings = new GeneratorSettings(), DdoxSettings docsettings = new DdoxSettings() )
88
86
{
89
87
string [] webfiledirs;
90
- auto docsettings = new DdoxSettings;
91
- auto gensettings = new GeneratorSettings;
92
88
93
89
auto pack = parseD(args[2 .. $]);
94
90
@@ -111,7 +107,9 @@ int cmdServeTest(string[] args)
111
107
112
108
int setupGeneratorInput (ref string [] args, out GeneratorSettings gensettings, out Package pack)
113
109
{
114
- gensettings = new GeneratorSettings;
110
+ if (gensettings is null )
111
+ gensettings = new GeneratorSettings;
112
+
115
113
auto docsettings = new DdoxSettings;
116
114
117
115
string [] macrofiles;
@@ -153,7 +151,7 @@ int setupGeneratorInput(ref string[] args, out GeneratorSettings gensettings, ou
153
151
return 0 ;
154
152
}
155
153
156
- int cmdFilterDocs (string [] args)
154
+ int cmdFilterDocs (string [] args, GeneratorSettings generatorSettings = new GeneratorSettings() )
157
155
{
158
156
string [] excluded, included;
159
157
Protection minprot = Protection.Private;
@@ -225,6 +223,8 @@ int cmdFilterDocs(string[] args)
225
223
if (last_decl[" comment" ].opt! string .empty) {
226
224
writefln(" Warning: Cannot add documented unit test %s to %s, which is not documented." , name, last_decl[" name" ].opt! string );
227
225
} else {
226
+ if (generatorSettings.postUnittestSourceCode ! is null )
227
+ source = generatorSettings.postUnittestSourceCode(source);
228
228
last_decl[" comment" ] ~= format(" Example:\n %s$(DDOX_UNITTEST_HEADER %s)\n ---\n %s\n ---\n $(DDOX_UNITTEST_FOOTER %s)\n " , comment.strip, name, source, name);
229
229
}
230
230
} catch (Exception e) {
0 commit comments