nl_tokens: Update the selection . Last two args are only used by updateDoc since they have to be expressed in the line numbers before the update .
pl_tokens: function setSelection ( cm , anchor , head , bias , checkAtomic ) { cm . view . goalColumn = null ; var sel = cm . view . sel ; // Skip over atomic spans. if ( checkAtomic || ! posEq ( anchor , sel . anchor ) ) anchor = skipAtomic ( cm , anchor , bias , checkAtomic != "push" ) ; if ( checkAtomic || ! posEq ( <mask> , sel . head ) ) head = skipAtomic ( cm , head , bias , checkAtomic != "push" ) ; if ( posEq ( sel . anchor , anchor ) && posEq ( sel . head , head ) ) return ; sel . anchor = anchor ; sel . head = head ; var inv = posLess ( head , anchor ) ; sel . from = inv ? head : anchor ; sel . to = inv ? anchor : head ; cm . curOp . updateInput = true ; cm . curOp . selectionChanged = true ; }