fpdoc extension: embed topic [Re: [fpc-devel] FPDoc sources]
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Wed Aug 31 13:46:57 CEST 2011
On Wed, 31 Aug 2011, Martin wrote:
> On 31/08/2011 09:43, Hans-Peter Diettrich wrote:
>> Michael Van Canneyt schrieb:
>>
>>> Now, you could "fix" that, of course.
>>> That would require you to copy all information which is contained in the
>>> interface section of the pascal file to the XML file.
>>>
>>> For example:
>>> <element name="TMyEnum" type="enumeration">
>>> <element name="TMyEnum.One" type="enumerationelement" Parent="TMyEnum">
>>> <element name="TMyEnum.Two" type="enumerationelement" Parent="TMyEnum">
>>>
>>> But, copying this information to the XML file would be a) duplicate and
>>> thus redundant information.
>>> b) require more work as soon as anything changes in the interface section.
>>> and therefor would be - in my eyes - extremely bad design.
>>
>> Just this design is very questionable, with regards to useful
>> documentation. My counterexample:
>>
>> type
>> TMyEnum = (one, two);
>> TMySet = set of TMyEnum;
>> ...
>> property MyProp: TMySet read GetIt write SetIt;
>>
>> Now we have 7 identifiers, all refering to the essentially same data type.
>> IMO it's only excess work, to document all these elements by themselves,
>> when finally only the property is of interest. Instead I'd prefer a single
>> doc entry, for the property, that also describes the enum elements. All
>> related elements then can be linked to that unique description.
>
> IMHO the location of where the enum is located is not relevant to the
> requirement of (or ability to the do without) scanning the source.
>
> Never the less, this could be an interesting feature. If fpdoc could be told
> (as part of the xml) that the documentation of an element should be embgedded
> in the parent (enum element, in enum type), or even embedded in a specific
> other node (a property specified by name, that uses the enum).
>
> Then fpdoc could also automatically adjust all links to those elements.
It could do this now already. It's just a matter of specifying an alias.
A rule like
TMyEnum. -> TMyOtherEnum.
would do it. (the dot meaning that all identifiers starting with TmYEnum
must be remapped)
But personally, I don't want the linear XML structure disturbed.
I edit the xml files manually, and having a 'tree like' XML then makes
it more difficult to edit.
But the fpdoc editor is another matter. You could perfectly adapt lazde
to show a tree:
TMyEnum
+- One
+- Two
Same for classes functions, procedures, whatnot. It's just a matter of
scanning the element name and creating separate nodes for each part in
the dotted name.
I can appreciate that this would be a useful option (and maybe even the
default view).
Michael.
More information about the fpc-devel
mailing list