Any interest in libgit bindings?

Jacob Carlborg doob at me.com
Thu Oct 11 23:49:07 PDT 2012


On 2012-10-11 21:38, Andrej Mitrovic wrote:

> I guess it depends on what you get from clang. The XML I'm working on
> has this sort of output:
>    <File id="f3" name="git2/submodule.h"/>
>    <File id="f4"
> name="c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../../include/inttypes.h"/>
>    <File id="f39" name="c:/mingw/bin/../lib/gcc/mingw32/4.6.1/include/stddef.h"/>

I'm pretty sure I get the full path of every header. That is 
"/usr/home/foo/libgit2/includes/git2/submodule.h", or something similar.

> This is translated into:
> git2\submodule.d
> mingw\include\inttypes.d
> mingw\lib\gcc\mingw32\_4\_6\_1\include\stddef.d
>
> The last one could use improvement (_4\_6\_1\ should be _4_6_1). I
> call remDrive, chomp(".h"), chomp(".tcc"), translate slashes to dot,
> and I make sure module names aren't keywords and it's done.

Yeah, that looks a bit ugly.

> As for macros, I don't have access to those. If a symbol is
> initialized with a macro then I get the post-processed value of the
> macro, but I don't have the definition of the macro itself.

I haven't tackled macros yet. There are no API for this in libclang yet 
so I would have to create that first.

On the other hand, libclang do have an API for doxygen documentation 
which recently got added. If think that is awesome and it will be in the 
next release of Clang, which they recently announced the release 
schedule for.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list