]> git.proxmox.com Git - mirror_xterm.js.git/blob - addons/linkify/linkify.js
[addon linkify] Start working on "linkifying" URLs in the terminal
[mirror_xterm.js.git] / addons / linkify / linkify.js
1 (function (linkify) {
2 })(function (Xterm) {
3 Xterm.prototype.linkify = function () {
4 var rows = this.rowContainer.children,
5 buffer = document.createElement('span');
6
7 for (var i=0; i<rows.length; i++) {
8 var line = rows[i], nodes = line.childNodes;
9
10 for (var j=0; j<nodes.length; j++) {
11 var node = nodes[j];
12
13 if (node.nodeType == 3) {
14 var match = node.data.match(/(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?/);
15
16 if (match) {
17 var url=match[0],
18 newData = node.data.replace(url, '<a href="http://' + url + '" target="_blank" >' + url + '</a>');
19 buffer.textContent = node.data;
20 line.innerHTML = line.innerHTML.replace(buffer.innerHTML, newData);
21 this.emit('linkify:line', line);
22 }
23 }
24 }
25 }
26 };
27 });