aboutsummaryrefslogtreecommitdiff
path: root/imports/codemirror/lib/util/simple-hint.js
diff options
context:
space:
mode:
Diffstat (limited to 'imports/codemirror/lib/util/simple-hint.js')
-rw-r--r--imports/codemirror/lib/util/simple-hint.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/imports/codemirror/lib/util/simple-hint.js b/imports/codemirror/lib/util/simple-hint.js
index b38f3892..7decd587 100644
--- a/imports/codemirror/lib/util/simple-hint.js
+++ b/imports/codemirror/lib/util/simple-hint.js
@@ -29,6 +29,10 @@
29 complete.style.left = pos.x + "px"; 29 complete.style.left = pos.x + "px";
30 complete.style.top = pos.yBot + "px"; 30 complete.style.top = pos.yBot + "px";
31 document.body.appendChild(complete); 31 document.body.appendChild(complete);
32 // If we're at the edge of the screen, then we want the menu to appear on the left of the cursor.
33 var winW = window.innerWidth || Math.max(document.body.offsetWidth, document.documentElement.offsetWidth);
34 if(winW - pos.x < sel.clientWidth)
35 complete.style.left = (pos.x - sel.clientWidth) + "px";
32 // Hack to hide the scrollbar. 36 // Hack to hide the scrollbar.
33 if (completions.length <= 10) 37 if (completions.length <= 10)
34 complete.style.width = (sel.clientWidth - 1) + "px"; 38 complete.style.width = (sel.clientWidth - 1) + "px";
@@ -53,6 +57,8 @@
53 else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();} 57 else if (code == 27) {CodeMirror.e_stop(event); close(); editor.focus();}
54 else if (code != 38 && code != 40) { 58 else if (code != 38 && code != 40) {
55 close(); editor.focus(); 59 close(); editor.focus();
60 // Pass the event to the CodeMirror instance so that it can handle things like backspace properly.
61 editor.triggerOnKeyDown(event);
56 setTimeout(function(){CodeMirror.simpleHint(editor, getHints);}, 50); 62 setTimeout(function(){CodeMirror.simpleHint(editor, getHints);}, 50);
57 } 63 }
58 }); 64 });