Last week I learned how autogen works. Therefore I had the ability to adapt the new parser-clang plugin so that the plugin will be only build, if llvm and clang are available on the system. Otherwise it will be ignored by the compile process. After this work I played a little bit with clang. Once you know the way of working of clang it’s very easy to program with it.
This week I continued with splitting language plugins in a parser part. The language-support-python plugin does nothing other than operate with rope. And at first view this is also the same case at the language-support-js plugin. So splitting these two plugins makes no sense, because after that, there is no basic plugin left in the basket, which we can use as a language-support plugin. The Vala language-support plugin has some dependencies on the parser part, which are not trivial to solve.
Hence I stop splitting the language-support plugins and finally I split only the language-support-cpp-java plugin. The new interface for the completion engine is called IAnjutaParser. So I integrate IAnjutaParser in the Vala, Python and JS language-support plugin now. Only C/C++ has its own parser plugin and consequently not the language-support-cpp-java plugin, but the two parser plugins parser-cxx and parser-clang integrate the IAnjutaParser interface.