<div dir="ltr">+val, the author of ycm</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jan 15, 2014 at 10:07 AM, Anders Bakken <span dir="ltr"><<a href="mailto:agbakken@gmail.com" target="_blank">agbakken@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We're aware of the project. I think his project focuses mostly on<br>
completion whereas ours focuses most on indexing. Certainly there's a<br>
lot of duplicated efforts in both projects but they're both quite<br>
mature and fully functional. I kinda doubt that either project would<br>
want to replace itself with the other one tbh but one could maybe<br>
imagine a world where both projects would work for either editor but<br>
our ipc mechanisms are different enough that I'm not convinced there<br>
would be much savings in terms of workload.<br>
<span class="HOEnZb"><font color="#888888"><br>
Anders<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Mon, Jan 13, 2014 at 9:58 PM, Matt Fowles <<a href="mailto:matt.fowles@gmail.com">matt.fowles@gmail.com</a>> wrote:<br>
> Anders~<br>
><br>
> YouCompleteMe (the vim plugin) is built with a parser and completion engine<br>
> server and a client process that sits inside vim. Not sure how far your<br>
> implementation is, but you may wish to consider sharing work it.<br>
><br>
> <a href="https://github.com/Valloric/YouCompleteMe" target="_blank">https://github.com/Valloric/YouCompleteMe</a><br>
><br>
> Matt<br>
><br>
><br>
> On Tue, Jan 14, 2014 at 12:46 AM, Anders Bakken <<a href="mailto:agbakken@gmail.com">agbakken@gmail.com</a>> wrote:<br>
>><br>
>> Hi<br>
>><br>
>> We're using to make an indexer daemon which can be queried from emacs<br>
>> (or other editors if so desired). In doing this we, for various<br>
>> reasons, preprocess the file first using internal APIs and then invoke<br>
>> clang_parseTranslationUnit on the preprocessed content. The code for<br>
>> this is here:<br>
>><br>
>><br>
>> <a href="https://github.com/Andersbakken/rtags/blob/multi-process/src/RTagsClang.cpp" target="_blank">https://github.com/Andersbakken/rtags/blob/multi-process/src/RTagsClang.cpp</a><br>
>><br>
>> Starting at line 450.<br>
>><br>
>> The problem we're facing is that clang seems to collapse things like this:<br>
>><br>
>> struct A<br>
>> {<br>
>> void foo();<br>
>> };<br>
>><br>
>> into this:<br>
>><br>
>> struct A<br>
>> {<br>
>> void foo();<br>
>> };<br>
>><br>
>> int main()<br>
>> {<br>
>> A a;<br>
>> a.foo();<br>
>> }<br>
>><br>
>> I realize the standard (at least according to GCC) permits this and<br>
>> that it of course would speed up parsing of the resulting code ever so<br>
>> slightly. My question is, is it possible to:<br>
>><br>
>> A) Turn this behavior off with an option?<br>
>> or<br>
>> B) Someone query which lines had what amounts of space removed.<br>
>><br>
>> I assume something can be done since if I let<br>
>> clang_parseTranslationUnit index it without preprocessing myself<br>
>> everything works as expected.<br>
>><br>
>> From (<a href="http://gcc.gnu.org/onlinedocs/gcc-3.3/cpp/Preprocessor-Output.html" target="_blank">http://gcc.gnu.org/onlinedocs/gcc-3.3/cpp/Preprocessor-Output.html</a>)<br>
>><br>
>> The ISO standard specifies that it is implementation defined whether a<br>
>> preprocessor preserves whitespace between tokens, or replaces it with<br>
>> e.g. a single space. In GNU CPP, whitespace between tokens is<br>
>> collapsed to become a single space, with the exception that the first<br>
>> token on a non-directive line is preceded with sufficient spaces that<br>
>> it appears in the same column in the preprocessed output that it<br>
>> appeared in the original source file. This is so the output is easy to<br>
>> read. See Differences from previous versions. CPP does not insert any<br>
>> whitespace where there was none in the original source, except where<br>
>> necessary to prevent an accidental token paste.<br>
>><br>
>> Thanks and kudos for an awesome project.<br>
>><br>
>> regards<br>
>><br>
>> Anders<br>
>> _______________________________________________<br>
>> cfe-dev mailing list<br>
>> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div>