Bracket removal

This commit is contained in:
Zixaphir 2013-08-13 18:16:34 -07:00
parent 976f539c8c
commit cb941ee3fa
3 changed files with 51 additions and 29 deletions

View File

@ -4438,7 +4438,7 @@
});
},
node: function() {
var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
var data, el, end, endNode, i, index, items, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
if (this.isClone) {
if (Conf['Embedding']) {
@ -4484,17 +4484,13 @@
}
range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) {
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
range.setStart(node, len);
}
text = text.slice(0, lIndex);
links.push([range, text]);
links.push(range);
}
break;
} else {
if (link = Linkify.regString.exec(result[0])) {
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
links.push([range, link]);
links.push(range);
}
}
}
@ -4528,11 +4524,21 @@
range.setEnd(endNode, endOffset);
return range;
},
makeLink: function(_arg) {
var a, range, text;
makeLink: function(range) {
var a, check, text;
range = _arg[0], text = _arg[1];
text;
text = range.toString();
if (/[(\[{<]/.test(text.charAt(0))) {
if (check = /[\)\]}>]/.test(text.charAt(text.length - 1))) {
if (!(range.endOffset < 1)) {
range.setEnd(range.endContainer, range.endOffset - 1);
}
}
text = check ? text.slice(1, -1) : text.slice(1);
if (range.startOffset !== range.startContainer.data.length) {
range.setStart(range.startContainer, range.startOffset + 1);
}
}
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
a = $.el('a', {
className: 'linkify',

View File

@ -4444,7 +4444,7 @@
});
},
node: function() {
var data, el, end, endNode, i, index, items, lIndex, len, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
var data, el, end, endNode, i, index, items, length, link, links, node, range, result, saved, snapshot, space, test, text, _i, _len, _ref;
if (this.isClone) {
if (Conf['Embedding']) {
@ -4490,17 +4490,13 @@
}
range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) {
if ((lIndex = link.index) && (len = lIndex + index) < node.data.length) {
range.setStart(node, len);
}
text = text.slice(0, lIndex);
links.push([range, text]);
links.push(range);
}
break;
} else {
if (link = Linkify.regString.exec(result[0])) {
range = Linkify.makeRange(node, node, index + link.index, length + link.index);
links.push([range, link]);
links.push(range);
}
}
}
@ -4534,11 +4530,21 @@
range.setEnd(endNode, endOffset);
return range;
},
makeLink: function(_arg) {
var a, range, text;
makeLink: function(range) {
var a, check, text;
range = _arg[0], text = _arg[1];
text;
text = range.toString();
if (/[(\[{<]/.test(text.charAt(0))) {
if (check = /[\)\]}>]/.test(text.charAt(text.length - 1))) {
if (!(range.endOffset < 1)) {
range.setEnd(range.endContainer, range.endOffset - 1);
}
}
text = check ? text.slice(1, -1) : text.slice(1);
if (range.startOffset !== range.startContainer.data.length) {
range.setStart(range.startContainer, range.startOffset + 1);
}
}
text = text.contains(':') ? text : (text.contains('@') ? 'mailto:' : 'http://') + text;
a = $.el('a', {
className: 'linkify',

View File

@ -76,16 +76,13 @@ Linkify =
test.lastIndex = 0 if length is endNode.data.length
range = Linkify.makeRange node, endNode, index, length
if link = Linkify.regString.exec text = range.toString()
if (lIndex = link.index) and (len = lIndex + index) < node.data.length
range.setStart node, len
text = text[...lIndex]
links.push [range, text]
links.push range
break
else
if link = Linkify.regString.exec result[0]
range = Linkify.makeRange node, node, index + link.index, length + link.index
links.push [range, link]
links.push range
for range in links.reverse()
@nodes.links.push Linkify.makeLink range, @
@ -107,8 +104,21 @@ Linkify =
range.setEnd endNode, endOffset
range
makeLink: ([range, text]) ->
text
makeLink: (range) ->
text = range.toString()
# Clean brackets
if /[(\[{<]/.test text.charAt 0
if check = /[\)\]}>]/.test text.charAt text.length - 1
unless range.endOffset < 1
range.setEnd range.endContainer, range.endOffset - 1
text = if check
text.slice 1, -1
else
text.slice 1
unless range.startOffset is range.startContainer.data.length
range.setStart range.startContainer, range.startOffset + 1
text =
if text.contains ':'
text