Lets be a bit smarter about moving the offset

This commit is contained in:
Zixaphir 2013-08-12 16:36:05 -07:00
parent 4a047c39e8
commit 86d4fcb07c
3 changed files with 15 additions and 18 deletions

View File

@ -4434,17 +4434,16 @@
} }
range = Linkify.makeRange(node, endNode, index, length); range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) { if (link = Linkify.regString.exec(text = range.toString())) {
if ((lIndex = link.index) !== index) { if (lIndex = link.index) {
range.setStart(node, lIndex); range.setStart(node, lIndex + index);
} }
links.push([range, text]); links.push([range, text]);
} }
break; break;
} else { } else {
if (result = Linkify.regString.exec(result[0])) { if (link = Linkify.regString.exec(result[0])) {
Linkify.regString.lastIndex = 0; range = Linkify.makeRange(node, node, link.index, link.length);
range = Linkify.makeRange(node, node, result.index, result.length); links.push([range, link]);
links.push([range, result[0]]);
} }
} }
} }

View File

@ -4439,17 +4439,16 @@
} }
range = Linkify.makeRange(node, endNode, index, length); range = Linkify.makeRange(node, endNode, index, length);
if (link = Linkify.regString.exec(text = range.toString())) { if (link = Linkify.regString.exec(text = range.toString())) {
if ((lIndex = link.index) !== index) { if (lIndex = link.index) {
range.setStart(node, lIndex); range.setStart(node, lIndex + index);
} }
links.push([range, text]); links.push([range, text]);
} }
break; break;
} else { } else {
if (result = Linkify.regString.exec(result[0])) { if (link = Linkify.regString.exec(result[0])) {
Linkify.regString.lastIndex = 0; range = Linkify.makeRange(node, node, link.index, link.length);
range = Linkify.makeRange(node, node, result.index, result.length); links.push([range, link]);
links.push([range, result[0]]);
} }
} }
} }

View File

@ -69,16 +69,15 @@ Linkify =
if length is endNode.data.length then test.lastIndex = 0 if length is endNode.data.length then test.lastIndex = 0
range = Linkify.makeRange node, endNode, index, length range = Linkify.makeRange node, endNode, index, length
if link = Linkify.regString.exec text = range.toString() if link = Linkify.regString.exec text = range.toString()
if (lIndex = link.index) isnt index if lIndex = link.index
range.setStart node, lIndex range.setStart node, lIndex + index
links.push [range, text] links.push [range, text]
break break
else else
if result = Linkify.regString.exec result[0] if link = Linkify.regString.exec result[0]
Linkify.regString.lastIndex = 0 range = Linkify.makeRange node, node, link.index, link.length
range = Linkify.makeRange node, node, result.index, result.length links.push [range, link]
links.push [range, result[0]]
for range in links.reverse() for range in links.reverse()
@nodes.links.push Linkify.makeLink range, @ @nodes.links.push Linkify.makeLink range, @