Binding-aware renaming avoids broad textual replacement
Text replacement cannot distinguish a binding reference from a string or unrelated property key. This route operates on Babel bindings instead.
A rename targets the binding declared at the selected one-based line and column. It is rejected when the destination already exists in that declaration scope or would capture a reference.