[Autocomplete] fix insertion of words containing - sign

This commit is contained in:
nightwing 2013-06-16 21:06:40 +04:00
commit f82c4df96a
2 changed files with 19 additions and 16 deletions

View file

@ -138,8 +138,11 @@ var Autocomplete = function() {
} else { } else {
if (data.value) if (data.value)
data = data.value; data = data.value;
if (this.completions.filterText) if (this.completions.filterText) {
this.editor.removeWordLeft(); var range = this.editor.selection.getRange();
range.start.column -= this.completions.filterText.length;
this.editor.session.remove(range);
}
this.editor.insert(data); this.editor.insert(data);
} }
}; };

View file

@ -3,7 +3,7 @@
* *
* Copyright (c) 2012, Ajax.org B.V. * Copyright (c) 2012, Ajax.org B.V.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
@ -14,7 +14,7 @@
* * Neither the name of Ajax.org B.V. nor the * * Neither the name of Ajax.org B.V. nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@ -32,20 +32,20 @@ define(function(require, exports, module) {
"use strict"; "use strict";
exports.parForEach = function(array, fn, callback) { exports.parForEach = function(array, fn, callback) {
var completed = 0; var completed = 0;
var arLength = array.length; var arLength = array.length;
if (arLength === 0) if (arLength === 0)
callback(); callback();
for (var i = 0; i < arLength; i++) { for (var i = 0; i < arLength; i++) {
fn(array[i], function(result, err) { fn(array[i], function(result, err) {
completed++; completed++;
if (completed === arLength) if (completed === arLength)
callback(result, err); callback(result, err);
}); });
} }
} }
var ID_REGEX = /[a-zA-Z_0-9\$]/; var ID_REGEX = /[a-zA-Z_0-9\$-]/;
exports.retrievePrecedingIdentifier = function(text, pos, regex) { exports.retrievePrecedingIdentifier = function(text, pos, regex) {
regex = regex || ID_REGEX; regex = regex || ID_REGEX;