<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 8, 2021, 9:41 PM Andrew Tomazos via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org">cfe-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"><div dir="ltr">On Mon, Nov 8, 2021 at 11:18 AM Haojian Wu <<a href="mailto:hokein@google.com" target="_blank" rel="noreferrer">hokein@google.com</a>> wrote:<br></div><div class="gmail_quote"><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 dir="ltr">IDE use cases (for clangd)<br></div><div class="gmail_quote"><div>-  provide code-folding, outline, syntax highlighting, selection features without a long "warmup" time;</div><div>-  a fast index to provides approximate results;</div><div><br></div><div>Other use cases we aim to support:</div><div>- smart diff and merge tool for C++ code;</div><div>- a fast linter, a cpplint replacement, with clang-tidy-like extensibility;</div><div>- syntactic grep/sed tools;</div></div></div></blockquote><div><br></div><div>* Syntax highlighting is the only use case of those listed that can tolerate inaccuracy.  </div></div></div></blockquote></div></div><div dir="auto"><br></div><div dir="auto"></div><div dir="auto">That's definitely not true. I use "etags" quite regularly as a quick code index, for example. I use "git grep" regularly as a symbol reference "index". My editor matches curly braces to find the bounds of a block, completely ignoring the fact that someone might have done "#define END }". I use diff/merge tools that completely ignore C syntax clues, and run sed to make global changes in c++ projects.</div><div dir="auto"><br></div><div dir="auto">These existing tools are all quite far from accurate, yet they all work well enough to be extremely useful -- and, most importantly, they work without building intermediate artifacts, or doing any build system integration. If this new project can do a better job than these tools, and keep the same simplicity of use, it sounds like a win to me!</div></div>