Hello,
I'm trying to make thrift spit documentation with the objects when
generating. Code.
I'm testing the HTML generation that's also quite nice already.
But something like:
/*
Comment line 2
id: test
*/
struct MvcCustomerDTO
{
/* Comment line 1*/
1 : i32 id,
2 : MvcCustomerStatusDTO mvcCustomerStatusDTO,
3 : string firstname,
4 : string lastname,
5 : i64 dateCreated,
6 : i64 dateUpdated,
7 : string fullName,
8 : string customerCode,
}
Doesn't spit anything on output. No comment for the struct and no
comment for the field.
It's nasty cause the generator has the code in to handle everything.
f_out_ << "<table class=\"table-bordered table-striped
table-condensed\">";
f_out_ <<
"<thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</"
"th><th>Default value</th></thead>" << endl;
for (; mem_iter != members.end(); mem_iter++) {
f_out_ << "<tr><td>" << (*mem_iter)->get_key() << "</td><td>";
f_out_ << (*mem_iter)->get_name();
f_out_ << "</td><td>";
print_type((*mem_iter)->get_type());
f_out_ << "</td><td>";
f_out_ << escape_html((*mem_iter)->get_doc());
f_out_ << "</td><td>";
if ((*mem_iter)->get_req() == t_field::T_OPTIONAL) {
f_out_ << "optional";
} else if ((*mem_iter)->get_req() == t_field::T_REQUIRED) {
f_out_ << "required";
} else {
f_out_ << "default";
}
f_out_ << "</td><td>";
t_const_value* default_val = (*mem_iter)->get_value();
if (default_val != NULL) {
f_out_ << "<code>";
print_const_value((*mem_iter)->get_type(), default_val);
f_out_ << "</code>";
}
f_out_ << "</td></tr>" << endl;
And the output has the field to be filled in.
Struct: MvcClientDTO
Key Field Type Description Requiredness Default value
1 id |i32|
default
2 firstname |string|
default
3 lastname |string|
default
4 status |string|
default
5 dateCreated |i64|
default
6 dateUpdated |i64|
default
7 fullName |string|
default
8 clientCode |string|
default
So I suppose it's just a matter of doing the comments right. But what's
the exact format?