Separate out hashtable/string/array C API into a SFH (ckit.h)
The main issue here is dependencies. For example the docs parser only uses some tables strings and arrays, but, depends on CF making CI builds for docs way slower than they should be. There's little reason to deeply embed these things altogether.
Most of this work is already done: https://github.com/RandyGaul/ckit.h
Remaining work is to get string over, and to think about perhaps making a separate header for the "advanced" hashtable (variable sized keys/values).
I think the docsparser could be defined separately in CMake, with only 2-3 files. It should probably be moved to scripts/ or tools/ directory, too. Another option is using different tech, like Python or Ruby 😉
Yes agreed, and I’m not opposed to eg python for a tool like this per se, it’s that I’m familiar with C so the risk of maintenance is lower in C land. Also, it’s a really great way to exercise more of the CF api and ensure its quality (dogfooding).