(cm, content, ts)
| 599 | // Tooltips |
| 600 | |
| 601 | function tempTooltip(cm, content, ts) { |
| 602 | if (cm.state.ternTooltip) remove(cm.state.ternTooltip); |
| 603 | var where = cm.cursorCoords(); |
| 604 | var tip = cm.state.ternTooltip = makeTooltip(where.right + 1, where.bottom, content, cm); |
| 605 | function maybeClear() { |
| 606 | old = true; |
| 607 | if (!mouseOnTip) clear(); |
| 608 | } |
| 609 | function clear() { |
| 610 | cm.state.ternTooltip = null; |
| 611 | if (tip.parentNode) fadeOut(tip) |
| 612 | clearActivity() |
| 613 | } |
| 614 | var mouseOnTip = false, old = false; |
| 615 | CodeMirror.on(tip, "mousemove", function() { mouseOnTip = true; }); |
| 616 | CodeMirror.on(tip, "mouseout", function(e) { |
| 617 | var related = e.relatedTarget || e.toElement |
| 618 | if (!related || !CodeMirror.contains(tip, related)) { |
| 619 | if (old) clear(); |
| 620 | else mouseOnTip = false; |
| 621 | } |
| 622 | }); |
| 623 | setTimeout(maybeClear, ts.options.hintDelay ? ts.options.hintDelay : 1700); |
| 624 | var clearActivity = onEditorActivity(cm, clear) |
| 625 | } |
| 626 | |
| 627 | function onEditorActivity(cm, f) { |
| 628 | cm.on("cursorActivity", f) |
no test coverage detected