<div dir="ltr">Ben, Milian,<div><br></div><div>Thank you for the feedback!<br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 10, 2016 at 12:59 PM, Milian Wolff via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a>> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div class="gmail-m_-5695102305954582788HOEnZb"><div class="gmail-m_-5695102305954582788h5">On Mittwoch, 10. August 2016 00:06:46 CEST Ben Jackson via cfe-dev wrote:<br>
> First, I think clang-refactor is a great idea and a great point of focus for<br>
> really useful tools.<span class="gmail-"><br>
> > My proposed solution is to create clang-refactor tool, which would be an<br>
> > “umbrella” for other refactoring modules. A prototype of clang-refactor<br>
> > would merge clang-rename inside of it and other modules and refactorings<br>
> > would be added later.<br>
> ><br>
> > A properly designed clang-refactor tool would be able to process multiple<br></span>
> > Translation Units, which is crucial for all mentioned refactoring.<br>
><br>
> As a maintainer of a code comprehension tool which uses libclang, it would<br>
> be really useful if such a refactoring ability was exposed via the<br>
> higher-level APIs. We’d *love* to have IDE-like refactoring for C/C++/etc.<br>
> in the tool, and I’m sure our users would too :).<br>
><br>
> One of the challenges we have with clang-rename, clang-include-fixer etc. is<br>
> that they are difficult to integrate with existing applications which use<br>
> libclang. Or perhaps I should say, they require orthogonal integration -<br>
> currently to integrate these tools, even though I have successfully<br>
> generated a TU/AST etc., I have to shell out to a binary which users may or<br>
> may not have installed.<br></div></div></div></div></blockquote><div>That's true. Clang-refactor should consider making the interface to all of the subtools more or less uniform.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div class="gmail-m_-5695102305954582788HOEnZb"><div class="gmail-m_-5695102305954582788h5">
><br>
> I know that is probably complex to deliver in practice, and I understand<br>
> that the maintainers may have different opinions on the scope of libclang<br>
> (or even the scope of this discussion!), but I wanted to throw the idea out<br>
> there, in case there is appetite. Certainly, I would be super excited to<br>
> integrate these tools into ycmd/YouCompleteMe. I don’t doubt others would<br>
> similarly benefit.<br></div></div></div></div></blockquote><div>Yes, ycmd and YCM are very good things to integrate into, but I think that shouldn't be the only focus, i.e. a good high-level API should provide a nice and easy way of integration to any other third-party projects, too. </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div class="gmail-m_-5695102305954582788HOEnZb"><div class="gmail-m_-5695102305954582788h5">
<br>
</div></div>I can only second the above. KDevelop is in exactly the same position, and I<br>
bet lots of other tools out there are as well. Just think of the potential<br>
time that can be saved by handing in an existing TU instead of having to parse<br>
that yet again.<br>
<br>
Cheers<br>
<span class="gmail-m_-5695102305954582788HOEnZb"><font color="#888888"><br>
--<br>
Milian Wolff<br>
<a href="mailto:mail@milianw.de" target="_blank">mail@milianw.de</a><br>
<a href="http://milianw.de" rel="noreferrer" target="_blank">http://milianw.de</a></font></span><span class="gmail-"><br>______________________________<wbr>_________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-dev</a><br></span></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best regards,<div>Kirill Bobyrev</div></div></div>
</div></div></div>