Export the callbacks
Tag the callback types
Get rid of the global data
We clear it before we process each version, so there is no advantage to
it being an instance variable other than saving on passing arguments.
Instead create it when needed and mutate the data for each version as
Mark doc gen methods as mutating when appropriate
Show comments for types
Gather descriptions for opaque types and copy them into the output
Show these in the descriptions again.
Correctly identify opaque types
The name of the symbol changed.
Fix functions returning an opaque struct
These nodes appear as children of the function and we used to let them
in as though they were arguments. Let only the param declarations
through to avoid this.
Show struct and enum field docs
Since clang can tell us about the docs for individual fields, let's show
them. This replaces the 'sections' we had for auto-created enums.
We still need to figure out what to do with those.
test: skip ones for creation of enums
We don't currently auto-create enums from defines, and we cannot get
documentation for them from clang, so we probably won't in the future
For now skip those tests that rely on that.
test: we now detect more uses
I'm not entirely sure why the old code doesn't detect these uses.
test: include common.h in errors.h
We need common.h to define what GIT_EXTERN() is so the parser doesn't
bail on us.
Better subject/description splitting
Don't repeat the subject, and separate paragraphs by two LFs.
Get repo_test to pass a bit
Better typedef handling
enum field values
Add basic enum test
Store struct field docs
Add test for struct
Add a test for GIT_EXTERN()
This means we need to go and write stuff to disk.
both doc-parser tests pass
make first test pass
make a real argline
Start testing the doc parser
Store multi-doc enums as a list
If a series of defines is transformed into an enum, we might have
multiple doc blocks, grouped by purpose. Store the docs and definitions
as a list of pairs for rendering.
Add failing test for auto-enums
When defines with a common prefix are made into enums, later blocks of
comment override earlier ones, which makes us lose them.
Add a test for this behaviour.
Port the old 'repo' tests to minitest
We skip one as we know about the failure
Remove zlib from the fixture
Capture gen's output
Make sure we like conf file we generate
Rename the legacy test file so it doesn't look like a test
Add a simple test for the c parser