<div dir="ltr"><div>The proposal looks promising, but why only reindent? Here are two useful type-as-you-go heuristics that I've seen ('^' indicates cursor position before and after adding a newline):</div><div><br></div><div>1. Reformatting braces.</div><div>before:</div><div>if (foo) {^}</div><div><br></div><div>after (note two newlines were added, so strictly speaking it's not just a reindent):</div><div>if (foo) {</div><div>  ^</div><div>}</div><div><br></div><div>with a different brace formatting style: </div><div>if (foo)</div><div>{</div><div>  ^</div><div>}</div><div><br></div><div>2. Auto-typing comment markers.</div><div><br></div><div>before:</div><div>/// Comment line 1.^</div><div>/// Comment line 2.</div><div>int foo();</div><div><br></div><div>after:</div><div>/// Comment line 1.</div><div>/// ^</div><div>/// Comment line 2.</div><div><br></div><div>With a different comment type. Before:</div><div>/** Comment line 1. ^</div><div>  * Comment line 2.</div><div>  */</div><div><br></div><div>after:<br></div><div><div>/** Comment line 1. </div><div>  * ^</div><div>  * Comment line 2.</div><div>  */</div><br class="gmail-Apple-interchange-newline"></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Sep 6, 2018 at 8:27 PM Alex L via clangd-dev <<a href="mailto:clangd-dev@lists.llvm.org">clangd-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I would like to implement clang-format aware newline indentation in Clangd. It looks like Clangd only supports '}' trigger character for the 'onTypeFormatting' request. Would it make sense to extend it to support the newline character, and to insert appropriate indentation instead of reformatting the range in that case?</div><div><br></div><div>Cheers,</div><div>Alex</div></div>
_______________________________________________<br>
clangd-dev mailing list<br>
<a href="mailto:clangd-dev@lists.llvm.org" target="_blank">clangd-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/clangd-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Regards,</div><div>Ilya Biryukov</div></div></div></div></div>