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.
* Update Scintilla to version 3.7.5
This now requires a C++11-capable compiler.
Closes#1308.
* Test using newer dist on Travis
Since Scintilla needs C++11
* Add debugging code for when configure fails
* Workaround a pkg-config-corsswrapper bug on Ubuntu 14.04
See https://bugs.launchpad.net/ubuntu/+source/mingw-w64/+bug/1327242
This drops the self-compiled 'grep' version which caused issues
with recursive searches on Windows as well as with non-ASCII
characters in paths.
The pre-compiled 'grep' binary from MSYS2 (matching the target ABI)
seems to solve probably all of the known problems on Windows.
The only drawback is that we need to ship a few additional MSYS2
libraries on which the 'grep' binary depends.
Closes#1229 and #1260.
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).
Update the list of dependencies, include sort.exe and grep.exe,
create a information file with all download links of included
binaries and re-structure the script for better readability.
See #560 for details.
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.
This script was used in the nightly builds to verify plugins will load
and have no undefined symbol references. Since the new way plugins
are built and linked, this is no longer necessary.
Additionally, this script won't work with new style geany_load_module()
plugins.