We can now use @array and @arraylen{param} annotations for arrays that
will make it to the generated gtkdoc header.
g-ir-scanner cannot properly parse 'gchar **' parameters without this.
Doxygen adds unhandled xml output for structs that define types inline, for
example struct Foo { enum { FOO, BAR } baz; }. A type definitions precedes the
members. The script wrongly assumed the first sectiondef child of compounddef
would contain all members, but actually this is the case for sectiondefs with
kind=public-attrib (the sectiondef defining the type has kind=public-type).
geany-sciwrappers-gtkdoc.h contains all scintilla_object_* methods. It is
intended that they are going to be exposed through a separate .gir file,
therefore a separate header makes things easier.
This is useful when you want scintlla-related stuff in a separate .gir file or
oarse it specially otherwise.
gen-api-gtkdoc.py: Add switch to write out scintilla_object methods
Because of the missing "typedef struct TMFoo" it was missing from the gtkdoc
header (the struct listings are always without typedef). This is also
consistent with the rest of geany.
@gironly for TMParserType so it's picked up as well.
gtkcompat.h is more convinient, and includes gtk.h and glib.h. Due to
including ScintillaWidget.h, the manual ScintillaObject typedef isn't required
anymore.
It's invalid to forward-declare enumerations, yet they might be
referenced by typedefs.
Fix this by outputting enumerations first so typedefs can references
them. As enumerations can't reference other types, it's safe to place
them before anything else.
Closes#952.
Closes#955.
Make Doxygen ignore `G_{BEGIN,END}_DECLS` and `GEANY_API_SYMBOL` itself
instead of stripping those manually when parsing the XML output.
This makes Doxygen parsing more robust by ignoring some odd C syntax,
and also improves the HTML version removing some incorrect C code
references.
- do not write out scintilla_object_* functions
- remove scioutput file parameter
- do not open output file until after xml parsing to avoid stale files
- fixed simplesect handling
- handle output being a pipe to head or tail
The script reads the doxygen xml output and generates two headers (optionally
a single header) that contains all of the plugin API in gtk-doc format.
Two headers because it's preferrable to group Scintilla related stuff
into its own namespace. This is a lot easier if g-ir-scanner can
work with a separate header file. If we change minds later on the script is
prepared to generate only one header.