kadircet marked 3 inline comments as done.
kadircet added inline comments.

================
Comment at: clangd/CodeComplete.cpp:1377
+      // Check whether function has any parameters or not.
+      LSP.textEdit->newText += SnippetSuffix.size() > 2 ? "(${0})" : "()";
+    else
----------------
ioeric wrote:
> There seems to be no guarantee on whether the snippet is function arg 
> template when `SnippetSuffix.size() > 2`. A heuristic we could use is 
> probably checking that the template starts with `(` and ends with `)`? 
> Alternatively, we could try to avoid generating the proper snippet according 
> to the flag when we still have the function declaration around. Not sure if 
> this is feasible for index results though.
Actually I was first trying to directly look at function argument count as you 
mentioned, but unfortunately Symbols coming from index don't have any 
declarations. Therefore it turns back to looking at Signature in this case, 
which is same with this one. Apart from that, IIUC, SnippetSuffix contains 
anything only when completion item is a function otherwise it is empty. So IMO 
this check should be OK.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D50835



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to