iso-profiles-settings/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/todo.txt@bart.libert.gmail.com/urlHighlighter.js
2019-07-09 04:57:09 +03:00

42 lines
1.2 KiB
JavaScript

function getParentHighlighter() {
if (typeof imports.ui.messageTray.URLHighlighter != 'undefined') {
return imports.ui.messageTray.URLHighlighter;
}
try {
return imports.ui.messageList.URLHighlighter;
}
catch (err) {
return imports.ui.calendar.URLHighlighter;
}
}
const Highlighter = getParentHighlighter();
const Lang = imports.lang;
const Util = imports.misc.util;
var TaskURLHighlighter = new Lang.Class({
Name: 'TaskURLHighlighter',
Extends: Highlighter,
markupFunction: null,
_init: function(text, lineWrap, allowMarkup, urlMarkupFunction) {
this.markupFunction = urlMarkupFunction;
this.parent(text, lineWrap, allowMarkup);
},
_highlightUrls: function() {
let urls = Util.findUrls(this._text);
let markup = '';
let pos = 0;
for (let i = 0; i < urls.length; i++) {
let url = urls[i];
let str = this._text.substr(pos, url.pos - pos);
markup += str + this.markupFunction(url.url, this._linkColor);
pos = url.pos + url.url.length;
}
markup += this._text.substr(pos);
this.actor.clutter_text.set_markup(markup);
}
});
/* vi: set expandtab tabstop=4 shiftwidth=4: */