summaryrefslogtreecommitdiff
path: root/src/runtime
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime')
-rw-r--r--src/runtime/javascript/minibar/minibar.js18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/runtime/javascript/minibar/minibar.js b/src/runtime/javascript/minibar/minibar.js
index 7849f0153..0f3bd8790 100644
--- a/src/runtime/javascript/minibar/minibar.js
+++ b/src/runtime/javascript/minibar/minibar.js
@@ -241,10 +241,11 @@ function finish_typed(inp) {
//alert("finish_typed "+inp.value);
var box=element("words");
var w=inp.value;
+ var keep=w.substr(0,w.length-box.completed_text.length);
if(box.completions.length==1)
- add_word(box.completions[0]);
+ add_words(keep+box.completions[0]);
else if(elem(w,box.completions))
- add_word(w);
+ add_words(w);
}
function generate_random() {
@@ -298,6 +299,15 @@ function add_word(s) {
get_completions(menu);
}
+function add_words(s) {
+ var menu=element("language_menu");
+ var words=s.split(" ");
+ for(var i=0;i<words.length;i++)
+ add_word1(menu,words[i]+" ");
+ element("words").innerHTML="...";
+ get_completions(menu);
+}
+
function show_completions(complete_output) {
var box=element("words");
var menu=element("language_menu");
@@ -305,10 +315,10 @@ function show_completions(complete_output) {
var emptycnt=0;
var completions=complete_output[0].completions;
box.innerHTML="";
- box.completions=[];
+ box.completions=completions;
+ box.completed_text=complete_output[0].text;
for(var i=0;i<completions.length;i++) {
var s=completions[i];
- box.completions[i]=s;
if(s.length>0) box.appendChild(word(s));
else emptycnt++;
}