Merge pull request #1865 from ajaxorg/autocomplete-noselect

Add autoSelect option to auto completion
This commit is contained in:
Lennart Kats 2014-03-20 15:59:46 +01:00
commit 65822b59fe

View file

@ -40,6 +40,7 @@ var snippetManager = require("./snippets").snippetManager;
var Autocomplete = function() {
this.autoInsert = true;
this.autoSelect = true;
this.keyboardHandler = new HashHandler();
this.keyboardHandler.bindKeys(this.commands);
@ -69,8 +70,8 @@ var Autocomplete = function() {
this.popup.setData(this.completions.filtered);
var renderer = editor.renderer;
this.popup.setRow(this.autoSelect ? 0 : -1);
if (!keepPopupPosition) {
this.popup.setRow(0);
this.popup.setFontSize(editor.getFontSize());
var lineHeight = renderer.layerConfig.lineHeight;
@ -171,7 +172,13 @@ var Autocomplete = function() {
"Esc": function(editor) { editor.completer.detach(); },
"Space": function(editor) { editor.completer.detach(); editor.insert(" ");},
"Return": function(editor) { editor.completer.insertMatch(); },
"Return": function(editor) {
if (editor.completer.popup.getRow() > -1) {
editor.completer.insertMatch();
} else {
editor.insert("\n");
}
},
"Shift-Return": function(editor) { editor.completer.insertMatch(true); },
"Tab": function(editor) { editor.completer.insertMatch(); },