(e)
| 1620 | var counter = 0; |
| 1621 | |
| 1622 | function extend(e) { |
| 1623 | var curCount = ++counter; |
| 1624 | var cur = posFromMouse(cm, e, true); |
| 1625 | if (!cur) return; |
| 1626 | if (!posEq(cur, last)) { |
| 1627 | if (!cm.state.focused) onFocus(cm); |
| 1628 | last = cur; |
| 1629 | doSelect(cur); |
| 1630 | var visible = visibleLines(display, doc); |
| 1631 | if (cur.line >= visible.to || cur.line < visible.from) |
| 1632 | setTimeout(operation(cm, function(){if (counter == curCount) extend(e);}), 150); |
| 1633 | } else { |
| 1634 | var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0; |
| 1635 | if (outside) setTimeout(operation(cm, function() { |
| 1636 | if (counter != curCount) return; |
| 1637 | display.scroller.scrollTop += outside; |
| 1638 | extend(e); |
| 1639 | }), 50); |
| 1640 | } |
| 1641 | } |
| 1642 | |
| 1643 | function done(e) { |
| 1644 | counter = Infinity; |
no test coverage detected