From f9786a7de37030c56efee112b3cee2bd7366d0b2 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Fri, 5 Jun 2020 09:12:16 +0800 Subject: [PATCH] showDoc on cursor --- _server/CodeMirror/codeMirror.plugin.js | 19 +++++++++---------- _server/editor_multi.js | 5 ++++- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/_server/CodeMirror/codeMirror.plugin.js b/_server/CodeMirror/codeMirror.plugin.js index efc069ed..15405db8 100644 --- a/_server/CodeMirror/codeMirror.plugin.js +++ b/_server/CodeMirror/codeMirror.plugin.js @@ -1860,21 +1860,21 @@ function showContextInfo(ts, cm, pos, queryName, c) { ts.request(cm, queryName, function(error, data) { - if (error) return showError(ts, cm, error); - if (ts.options.typeTip) { - var tip = ts.options.typeTip(data); - } else { + data = data || {}; + data.type = data.type || ''; + data.doc = data.doc || ''; + if (!error && (data.type.startsWith('fn(') || data.doc)) { var tip = elt("span", null, elt("strong", null, data.type || "not found")); if (data.doc) - tip.appendChild(document.createTextNode(" — " + data.doc)); - if (data.url) { + tip.appendChild(document.createTextNode(" — " + data.doc)); /* + if (data.type.startsWith('fn(') && data.url) { tip.appendChild(document.createTextNode(" ")); var child = tip.appendChild(elt("a", null, "[docs]")); child.href = data.url; child.target = "_blank"; - } + } */ + tempTooltip(cm, tip, ts); } - tempTooltip(cm, tip, ts); if (c) c(); }, pos); } @@ -2204,7 +2204,6 @@ } // Tooltips - function tempTooltip(cm, content, ts) { if (cm.state.ternTooltip) remove(cm.state.ternTooltip); var where = cm.cursorCoords(); @@ -2215,7 +2214,7 @@ } function clear() { cm.state.ternTooltip = null; - if (tip.parentNode) fadeOut(tip) + if (tip.parentNode) remove(tip) clearActivity() } var mouseOnTip = false, old = false; diff --git a/_server/editor_multi.js b/_server/editor_multi.js index 4900839c..3d11982f 100644 --- a/_server/editor_multi.js +++ b/_server/editor_multi.js @@ -34,7 +34,10 @@ editor_multi = function () { editor_multi.codeEditor = codeEditor; codeEditor.on("cursorActivity", function (cm) { - ternServer.updateArgHints(cm); + if (codeEditor.getOption("autocomplete")) { + ternServer.updateArgHints(cm); + ternServer.showDocs(cm); + } }); codeEditor.on("keyup", function (cm, event) {