better trim
This commit is contained in:
parent
8dc14633eb
commit
68e19a0b2e
@ -4525,7 +4525,7 @@
|
|||||||
return range;
|
return range;
|
||||||
},
|
},
|
||||||
makeLink: function(range) {
|
makeLink: function(range) {
|
||||||
var a, char, len, text, toggle, trim;
|
var a, char, i, len, text, toggle, trim;
|
||||||
|
|
||||||
text = range.toString();
|
text = range.toString();
|
||||||
trim = function() {
|
trim = function() {
|
||||||
@ -4535,37 +4535,25 @@
|
|||||||
return text = text.slice(0, -1);
|
return text = text.slice(0, -1);
|
||||||
};
|
};
|
||||||
if (/[(\[{<]/.test(text.charAt(0))) {
|
if (/[(\[{<]/.test(text.charAt(0))) {
|
||||||
if (/[\)\]}>]/.test(text.charAt(text.length - 1))) {
|
text = text.slice(1);
|
||||||
trim();
|
|
||||||
}
|
|
||||||
text.slice(1);
|
|
||||||
if (range.startOffset !== range.startContainer.data.length) {
|
if (range.startOffset !== range.startContainer.data.length) {
|
||||||
range.setStart(range.startContainer, range.startOffset + 1);
|
range.setStart(range.startContainer, range.startOffset + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (/[\)\]}>,]/.exec(char = text.charAt(text.length - 1))) {
|
while (/[)\]}>.,]/.test(char = text.charAt((len = text.length) - 1))) {
|
||||||
if (char === ',') {
|
if (/[.,]/.test(char)) {
|
||||||
trim();
|
trim();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
len = text.length;
|
i = 0;
|
||||||
|
toggle = false;
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
toggle = false;
|
if (/[()\[\]{}<>]/.test(text[i++])) {
|
||||||
switch (text[i++]) {
|
toggle = !toggle;
|
||||||
case '(':
|
|
||||||
case ')':
|
|
||||||
case '[':
|
|
||||||
case ']':
|
|
||||||
case '{':
|
|
||||||
case '}':
|
|
||||||
case '<':
|
|
||||||
case '>':
|
|
||||||
toggle = !toggle;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (toggle) {
|
if (toggle) {
|
||||||
trim();
|
trim();
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4531,7 +4531,7 @@
|
|||||||
return range;
|
return range;
|
||||||
},
|
},
|
||||||
makeLink: function(range) {
|
makeLink: function(range) {
|
||||||
var a, char, len, text, toggle, trim;
|
var a, char, i, len, text, toggle, trim;
|
||||||
|
|
||||||
text = range.toString();
|
text = range.toString();
|
||||||
trim = function() {
|
trim = function() {
|
||||||
@ -4541,37 +4541,25 @@
|
|||||||
return text = text.slice(0, -1);
|
return text = text.slice(0, -1);
|
||||||
};
|
};
|
||||||
if (/[(\[{<]/.test(text.charAt(0))) {
|
if (/[(\[{<]/.test(text.charAt(0))) {
|
||||||
if (/[\)\]}>]/.test(text.charAt(text.length - 1))) {
|
text = text.slice(1);
|
||||||
trim();
|
|
||||||
}
|
|
||||||
text.slice(1);
|
|
||||||
if (range.startOffset !== range.startContainer.data.length) {
|
if (range.startOffset !== range.startContainer.data.length) {
|
||||||
range.setStart(range.startContainer, range.startOffset + 1);
|
range.setStart(range.startContainer, range.startOffset + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (/[\)\]}>,]/.exec(char = text.charAt(text.length - 1))) {
|
while (/[)\]}>.,]/.test(char = text.charAt((len = text.length) - 1))) {
|
||||||
if (char === ',') {
|
if (/[.,]/.test(char)) {
|
||||||
trim();
|
trim();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
len = text.length;
|
i = 0;
|
||||||
|
toggle = false;
|
||||||
while (i < len) {
|
while (i < len) {
|
||||||
toggle = false;
|
if (/[()\[\]{}<>]/.test(text[i++])) {
|
||||||
switch (text[i++]) {
|
toggle = !toggle;
|
||||||
case '(':
|
|
||||||
case ')':
|
|
||||||
case '[':
|
|
||||||
case ']':
|
|
||||||
case '{':
|
|
||||||
case '}':
|
|
||||||
case '<':
|
|
||||||
case '>':
|
|
||||||
toggle = !toggle;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (toggle) {
|
if (toggle) {
|
||||||
trim();
|
trim();
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -110,25 +110,23 @@ Linkify =
|
|||||||
range.setEnd range.endContainer, range.endOffset - 1 unless range.endOffset < 1
|
range.setEnd range.endContainer, range.endOffset - 1 unless range.endOffset < 1
|
||||||
text = text.slice 0, -1
|
text = text.slice 0, -1
|
||||||
|
|
||||||
# Clean brackets, hanging commas
|
# Clean leading brackets
|
||||||
if /[(\[{<]/.test text.charAt 0
|
if /[(\[{<]/.test text.charAt 0
|
||||||
trim() if /[\)\]}>]/.test text.charAt text.length - 1
|
text = text.slice 1
|
||||||
text.slice 1
|
|
||||||
unless range.startOffset is range.startContainer.data.length
|
unless range.startOffset is range.startContainer.data.length
|
||||||
range.setStart range.startContainer, range.startOffset + 1
|
range.setStart range.startContainer, range.startOffset + 1
|
||||||
|
|
||||||
while /[\)\]}>,]/.exec char = text.charAt text.length - 1
|
# Clean hanging brackets, commas, periods
|
||||||
if char is ','
|
while /[)\]}>.,]/.test char = text.charAt (len = text.length) - 1
|
||||||
|
if /[.,]/.test char
|
||||||
trim()
|
trim()
|
||||||
continue
|
continue
|
||||||
len = text.length
|
i = 0
|
||||||
|
toggle = false
|
||||||
while i < len
|
while i < len
|
||||||
toggle = false
|
if /[()\[\]{}<>]/.test text[i++] then toggle = !toggle
|
||||||
switch text[i++]
|
|
||||||
when '(', ')', '[', ']', '{', '}', '<', '>' then toggle = !toggle
|
|
||||||
if toggle
|
if toggle
|
||||||
trim()
|
trim()
|
||||||
continue
|
|
||||||
break
|
break
|
||||||
|
|
||||||
text =
|
text =
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user