Starting with:
function foo(a: Int, b$1: Int): Int
method bar() {
}
Typing foo inside the method will (correctly) suggest the foo function for tab completion. Accepting the suggestion, we end up with two cursors:
function foo(a: Int, b$1: Int): Int
method bar() {
foo(<a>, b<a>)
}
The expected behaviour is that only the first argument is selected, then tab would bring us to the second. However, somewhere along the line $1 gets interpreted as a special character, perhaps it needs to be escaped?