[clangd] Reduce availability of extract function
This patch introduces hoisting detection logic into prepare state with a partial AST traversal of the enclosing function. We had some complaints from the users about this code action being almost always available but failing most of the time. Hopefully this should reduce that noise. The latency/correctness tradeoff is a bunch of hand-waving, but at least today we don't have any other actions that are available on selection of statements, so when we get to do the traversal it is quite likely that all the other checks will bail out early. But this is still up for discussion, I am happy to abandon the patch if you believe this is not practical. Differential Revision: https://reviews.llvm.org/D85354
Loading
Please sign in to comment