ilya-biryukov added a comment. If we are going down that path, could we consider to pre-selecting a name of the extract variable and its usage (using multi-select)? I.e. the optimal workflow seems to be (`[[code]] marks selected regions`):
// Input: foo([[10+10]]); // 'extract' turns this into the following code (and selects for editors that support this): int [[dummy]] = 10+10; foo([[dummy]]); At this point users can type a new name and get it updated directly. There are a bunch of reasons why running the full-blown rename is suboptimal: - rename can fail, e.g. if you had other variables called `dummy` in this scope or if we actions happen to produce broken AST, - rename UI is generally clunkier than multi-selection (a new window is opened, this moves focus from the code to the editor). - rename has to wait for the AST, in general case this might result in high latency for actions that can add an `#include` or if we any of the included files changed. The obvious drawback is that this workflow might be hard to implement in some editors, but both Vim and VSCode should be able to provide a decent experience here. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65263/new/ https://reviews.llvm.org/D65263 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits