I'd prefer if completion never deleted the following word. I can delete it myself. I often need to insert code around existing expression, such as adding a function call to some existing expression.
The problem I have is that when I place my cursor before myObject here and type "anoth":
someFunction(myObject.variable)
When I complete to "anotherFunction" (pressing Tab or Enter), I get this:
someFunction(anotherFunction().variable)
I did not need it to delete the myObject, because what I wanted to arrive at was:
someFunction(anotherFunction(myObject.variable))
This happens in some cases, but not in others. I can't really figure out what the logic is for when it deletes the word and when it leaves it behind, and that's really frustrating. I'd prefer to be able to just turn it off entirely.