Source code analysis with libclang : what is the right piece ?

Hi, I’m a little bit confused here, what is the part of the Clang project that allows me to do perform and code the kind of applications/tasks described by Chandler Carruth in this talk https://www.youtube.com/watch?v=yuIOGfcOH0k ?

I mean this is part of libclang, libTooling, plugins … ?

Just so we are clear I’m interested in doing 2 things :

  • some static analysis on the syntax and on my code base just as described in that video.
  • write a plugin for syntax highlighting ( colorful words ) and code completion in C++ ( not python )

My confusion grows when at this point https://www.youtube.com/watch?v=yuIOGfcOH0k#t=5m06s Mr Carruth talks about " the structure " of the Clang project and notice how “Tooling” is listed as a different piece from “refactoring”, but at this page http://clang.llvm.org/docs/Tooling.html#libtooling you can clearly read that Libtooling > includes < the refactoring tools.

Maybe it’s just me but can you clarify this points for me ? Can you name some headers or parts of the library that I can locate on my llvm repository to understand what is the part of the project that I need ?

Thanks a lot.