diff --git a/core/ansi_term.js b/core/ansi_term.js index 504a1709..7eb10ec2 100644 --- a/core/ansi_term.js +++ b/core/ansi_term.js @@ -56,7 +56,7 @@ exports.getSyncTERMFontFromAlias = getSyncTERMFontFromAlias; exports.setSyncTermFontWithAlias = setSyncTermFontWithAlias; exports.setCursorStyle = setCursorStyle; exports.setEmulatedBaudRate = setEmulatedBaudRate; -exports.getVtxHyperlink = getVtxHyperlink; +exports.vtxHyperlink = vtxHyperlink; // // See also @@ -486,13 +486,13 @@ function setEmulatedBaudRate(rate) { return 0 === speed ? exports.emulationSpeed() : exports.emulationSpeed(1, speed); } -function getVtxHyperlink(client, url, text) { +function vtxHyperlink(client, url, len) { if(!client.terminalSupports('vtx_hyperlink')) { return ''; } - text = text || url; + len = len || url.length; url = url.split('').map(c => c.charCodeAt(0)).join(';'); - return `${ESC_CSI}1;${text.length};1;1;${url}\\`; + return `${ESC_CSI}1;${len};1;1;${url}\\`; } \ No newline at end of file diff --git a/core/client.js b/core/client.js index 71d7a9ad..08776bf4 100644 --- a/core/client.js +++ b/core/client.js @@ -501,7 +501,7 @@ Client.prototype.terminalSupports = function(query) { return 'vtx' === termClient; case 'vtx_hyperlink' : - return termClient === 'vtx'; + return 'vtx' === termClient; default : return false; diff --git a/mods/file_area_list.js b/mods/file_area_list.js index 21b5557d..64a663cb 100644 --- a/mods/file_area_list.js +++ b/mods/file_area_list.js @@ -274,7 +274,7 @@ exports.getModule = class FileAreaList extends MenuModule { } else { const webDlExpireTimeFormat = config.webDlExpireTimeFormat || 'YYYY-MMM-DD @ h:mm'; - entryInfo.webDlLink = ansi.getVtxHyperlink(this.client, serveItem.url) + serveItem.url; + entryInfo.webDlLink = ansi.vtxHyperlink(this.client, serveItem.url) + serveItem.url; entryInfo.webDlExpire = moment(serveItem.expireTimestamp).format(webDlExpireTimeFormat); } @@ -497,7 +497,7 @@ exports.getModule = class FileAreaList extends MenuModule { const webDlExpireTimeFormat = self.menuConfig.config.webDlExpireTimeFormat || 'YYYY-MMM-DD @ h:mm'; - self.currentFileEntry.entryInfo.webDlLink = ansi.getVtxHyperlink(self.client, url) + url; + self.currentFileEntry.entryInfo.webDlLink = ansi.vtxHyperlink(self.client, url) + url; self.currentFileEntry.entryInfo.webDlExpire = expireTime.format(webDlExpireTimeFormat); return callback(null);