Fix it up

This commit is contained in:
Garen Torikian 2012-12-23 01:18:40 -08:00 • committed by nightwing
commit dcdcd81584
2 changed files with 6 additions and 20 deletions

View file

@ -193,7 +193,8 @@ var Autocomplete = function() {
var max = this.popup.session.getLength() - 1; var max = this.popup.session.getLength() - 1;
var choices = this.popup.container.getElementsByClassName("ace_text-layer")[0].childNodes; var choices = this.popup.container.getElementsByClassName("ace_text-layer")[0].childNodes;
dom.removeCssClass(choices[row], "autocomplete_selected"); if (choices[row])
dom.removeCssClass(choices[row], "autocomplete_selected");
switch(where) { switch(where) {
case "up": row = row < 0 ? max : row-1; break; case "up": row = row < 0 ? max : row-1; break;
@ -202,7 +203,8 @@ var Autocomplete = function() {
case "end": row = max; break case "end": row = max; break
} }
dom.addCssClass(choices[row], "autocomplete_selected"); if (choices[row])
dom.addCssClass(choices[row], "autocomplete_selected");
this.popup.setRow(row); this.popup.setRow(row);
}; };
@ -326,7 +328,7 @@ var Autocomplete = function() {
//var MultiSelect = require("ace/multi_select").MultiSelect; //var MultiSelect = require("ace/multi_select").MultiSelect;
//new MultiSelect(editor); //new MultiSelect(editor);
editor.session.setUndoManager(new UndoManager()); //editor.session.setUndoManager(new UndoManager());
editor.setHighlightActiveLine(false); editor.setHighlightActiveLine(false);
editor.setShowPrintMargin(false); editor.setShowPrintMargin(false);

View file

@ -90,7 +90,7 @@ var Editor = function(renderer, session) {
}); });
this.setSession(session || new EditSession("")); this.setSession(session || new EditSession(""));
this.autocomplete = new Autocomplete(this); Autocomplete.addTo(this);
config.resetOptions(this); config.resetOptions(this);
config._emit("editor", this); config._emit("editor", this);
}; };
@ -473,26 +473,10 @@ var Editor = function(renderer, session) {
this._emit("change", e); this._emit("change", e);
var source = this.session.getValue();
var _self = this;
setTimeout(function() {
var cursor = _self.getCursorPosition();
var line = _self.session.getLine(cursor.row);
_self.autocomplete.activate(cursor.row, cursor.column);
_self.autocomplete.suggest(name);
}, 0);
// update cursor because tab characters can influence the cursor position // update cursor because tab characters can influence the cursor position
this.$cursorChange(); this.$cursorChange();
}; };
this.$hideautocomplete = function() {
if (this.autocomplete.isActive())
this.autocomplete.deactivate();
};
this.onTokenizerUpdate = function(e) { this.onTokenizerUpdate = function(e) {
var rows = e.data; var rows = e.data;
this.renderer.updateLines(rows.first, rows.last); this.renderer.updateLines(rows.first, rows.last);