fix colon deletion behavior

This commit is contained in:
DanyaPostfactum 2013-02-06 12:54:49 +10:00
commit 0d08edc3c2

View file

@ -70,6 +70,13 @@ var CssBehaviour = function () {
this.add("colon", "deletion", function (state, action, editor, session, range) { this.add("colon", "deletion", function (state, action, editor, session, range) {
var selected = session.doc.getTextRange(range); var selected = session.doc.getTextRange(range);
if (!range.isMultiLine() && selected === ':') { if (!range.isMultiLine() && selected === ':') {
var cursor = editor.getCursorPosition();
var iterator = new TokenIterator(session, cursor.row, cursor.column);
var token = iterator.getCurrentToken();
if (token && token.value.match(/\s+/)) {
token = iterator.stepBackward();
}
if (token && token.type === 'support.type') {
var line = session.doc.getLine(range.start.row); var line = session.doc.getLine(range.start.row);
var rightChar = line.substring(range.end.column, range.end.column + 1); var rightChar = line.substring(range.end.column, range.end.column + 1);
if (rightChar === ';') { if (rightChar === ';') {
@ -77,6 +84,7 @@ var CssBehaviour = function () {
return range; return range;
} }
} }
}
}); });
this.add("semicolon", "insertion", function (state, action, editor, session, text) { this.add("semicolon", "insertion", function (state, action, editor, session, text) {