ansi-to-html

将ansi码转为html美化输出

  1. // modules are defined as an array
  2. // [ module function, map of requires ]
  3. //
  4. // map of requires is short require name -> numeric require
  5. //
  6. // anything defined in a previous bundle is accessed via the
  7. // orig method which is the require for previous bundles
  8. parcelRequire = (function (modules, cache, entry, globalName) {
  9. // Save the require from previous bundle to this closure if any
  10. var previousRequire = typeof parcelRequire === 'function' && parcelRequire;
  11. var nodeRequire = typeof require === 'function' && require;
  12.  
  13. function newRequire(name, jumped) {
  14. if (!cache[name]) {
  15. if (!modules[name]) {
  16. // if we cannot find the module within our internal map or
  17. // cache jump to the current global require ie. the last bundle
  18. // that was added to the page.
  19. var currentRequire = typeof parcelRequire === 'function' && parcelRequire;
  20. if (!jumped && currentRequire) {
  21. return currentRequire(name, true);
  22. }
  23.  
  24. // If there are other bundles on this page the require from the
  25. // previous one is saved to 'previousRequire'. Repeat this as
  26. // many times as there are bundles until the module is found or
  27. // we exhaust the require chain.
  28. if (previousRequire) {
  29. return previousRequire(name, true);
  30. }
  31.  
  32. // Try the node require function if it exists.
  33. if (nodeRequire && typeof name === 'string') {
  34. return nodeRequire(name);
  35. }
  36.  
  37. var err = new Error('Cannot find module \'' + name + '\'');
  38. err.code = 'MODULE_NOT_FOUND';
  39. throw err;
  40. }
  41.  
  42. localRequire.resolve = resolve;
  43. localRequire.cache = {};
  44.  
  45. var module = cache[name] = new newRequire.Module(name);
  46.  
  47. modules[name][0].call(module.exports, localRequire, module, module.exports, this);
  48. }
  49.  
  50. return cache[name].exports;
  51.  
  52. function localRequire(x){
  53. return newRequire(localRequire.resolve(x));
  54. }
  55.  
  56. function resolve(x){
  57. return modules[name][1][x] || x;
  58. }
  59. }
  60.  
  61. function Module(moduleName) {
  62. this.id = moduleName;
  63. this.bundle = newRequire;
  64. this.exports = {};
  65. }
  66.  
  67. newRequire.isParcelRequire = true;
  68. newRequire.Module = Module;
  69. newRequire.modules = modules;
  70. newRequire.cache = cache;
  71. newRequire.parent = previousRequire;
  72. newRequire.register = function (id, exports) {
  73. modules[id] = [function (require, module) {
  74. module.exports = exports;
  75. }, {}];
  76. };
  77.  
  78. var error;
  79. for (var i = 0; i < entry.length; i++) {
  80. try {
  81. newRequire(entry[i]);
  82. } catch (e) {
  83. // Save first error but execute all entries
  84. if (!error) {
  85. error = e;
  86. }
  87. }
  88. }
  89.  
  90. if (entry.length) {
  91. // Expose entry point to Node, AMD or browser globals
  92. // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
  93. var mainExports = newRequire(entry[entry.length - 1]);
  94.  
  95. // CommonJS
  96. if (typeof exports === "object" && typeof module !== "undefined") {
  97. module.exports = mainExports;
  98.  
  99. // RequireJS
  100. } else if (typeof define === "function" && define.amd) {
  101. define(function () {
  102. return mainExports;
  103. });
  104.  
  105. // <script>
  106. } else if (globalName) {
  107. this[globalName] = mainExports;
  108. }
  109. }
  110.  
  111. // Override the current require with this new one
  112. parcelRequire = newRequire;
  113.  
  114. if (error) {
  115. // throw error from earlier, _after updating parcelRequire_
  116. throw error;
  117. }
  118.  
  119. return newRequire;
  120. })({"../node_modules/ansi_up/ansi_up.js":[function(require,module,exports) {
  121. var define;
  122. /* ansi_up.js
  123. * author : Dru Nelson
  124. * license : MIT
  125. * http://github.com/drudru/ansi_up
  126. */
  127. (function (root, factory) {
  128. if (typeof define === 'function' && define.amd) {
  129. // AMD. Register as an anonymous module.
  130. define(['exports'], factory);
  131. } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
  132. // CommonJS
  133. factory(exports);
  134. } else {
  135. // Browser globals
  136. var exp = {};
  137. factory(exp);
  138. root.AnsiUp = exp.default;
  139. }
  140. }(this, function (exports) {
  141. "use strict";
  142. var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
  143. if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
  144. return cooked;
  145. };
  146. var PacketKind;
  147. (function (PacketKind) {
  148. PacketKind[PacketKind["EOS"] = 0] = "EOS";
  149. PacketKind[PacketKind["Text"] = 1] = "Text";
  150. PacketKind[PacketKind["Incomplete"] = 2] = "Incomplete";
  151. PacketKind[PacketKind["ESC"] = 3] = "ESC";
  152. PacketKind[PacketKind["Unknown"] = 4] = "Unknown";
  153. PacketKind[PacketKind["SGR"] = 5] = "SGR";
  154. PacketKind[PacketKind["OSCURL"] = 6] = "OSCURL";
  155. })(PacketKind || (PacketKind = {}));
  156. var AnsiUp = (function () {
  157. function AnsiUp() {
  158. this.VERSION = "4.0.4";
  159. this.setup_palettes();
  160. this._use_classes = false;
  161. this._escape_for_html = true;
  162. this.bold = false;
  163. this.fg = this.bg = null;
  164. this._buffer = '';
  165. this._url_whitelist = { 'http': 1, 'https': 1 };
  166. }
  167. Object.defineProperty(AnsiUp.prototype, "use_classes", {
  168. get: function () {
  169. return this._use_classes;
  170. },
  171. set: function (arg) {
  172. this._use_classes = arg;
  173. },
  174. enumerable: true,
  175. configurable: true
  176. });
  177. Object.defineProperty(AnsiUp.prototype, "escape_for_html", {
  178. get: function () {
  179. return this._escape_for_html;
  180. },
  181. set: function (arg) {
  182. this._escape_for_html = arg;
  183. },
  184. enumerable: true,
  185. configurable: true
  186. });
  187. Object.defineProperty(AnsiUp.prototype, "url_whitelist", {
  188. get: function () {
  189. return this._url_whitelist;
  190. },
  191. set: function (arg) {
  192. this._url_whitelist = arg;
  193. },
  194. enumerable: true,
  195. configurable: true
  196. });
  197. AnsiUp.prototype.setup_palettes = function () {
  198. var _this = this;
  199. this.ansi_colors =
  200. [
  201. [
  202. { rgb: [0, 0, 0], class_name: "ansi-black" },
  203. { rgb: [187, 0, 0], class_name: "ansi-red" },
  204. { rgb: [0, 187, 0], class_name: "ansi-green" },
  205. { rgb: [187, 187, 0], class_name: "ansi-yellow" },
  206. { rgb: [0, 0, 187], class_name: "ansi-blue" },
  207. { rgb: [187, 0, 187], class_name: "ansi-magenta" },
  208. { rgb: [0, 187, 187], class_name: "ansi-cyan" },
  209. { rgb: [255, 255, 255], class_name: "ansi-white" }
  210. ],
  211. [
  212. { rgb: [85, 85, 85], class_name: "ansi-bright-black" },
  213. { rgb: [255, 85, 85], class_name: "ansi-bright-red" },
  214. { rgb: [0, 255, 0], class_name: "ansi-bright-green" },
  215. { rgb: [255, 255, 85], class_name: "ansi-bright-yellow" },
  216. { rgb: [85, 85, 255], class_name: "ansi-bright-blue" },
  217. { rgb: [255, 85, 255], class_name: "ansi-bright-magenta" },
  218. { rgb: [85, 255, 255], class_name: "ansi-bright-cyan" },
  219. { rgb: [255, 255, 255], class_name: "ansi-bright-white" }
  220. ]
  221. ];
  222. this.palette_256 = [];
  223. this.ansi_colors.forEach(function (palette) {
  224. palette.forEach(function (rec) {
  225. _this.palette_256.push(rec);
  226. });
  227. });
  228. var levels = [0, 95, 135, 175, 215, 255];
  229. for (var r = 0; r < 6; ++r) {
  230. for (var g = 0; g < 6; ++g) {
  231. for (var b = 0; b < 6; ++b) {
  232. var col = { rgb: [levels[r], levels[g], levels[b]], class_name: 'truecolor' };
  233. this.palette_256.push(col);
  234. }
  235. }
  236. }
  237. var grey_level = 8;
  238. for (var i = 0; i < 24; ++i, grey_level += 10) {
  239. var gry = { rgb: [grey_level, grey_level, grey_level], class_name: 'truecolor' };
  240. this.palette_256.push(gry);
  241. }
  242. };
  243. AnsiUp.prototype.escape_txt_for_html = function (txt) {
  244. return txt.replace(/[&<>]/gm, function (str) {
  245. if (str === "&")
  246. return "&amp;";
  247. if (str === "<")
  248. return "&lt;";
  249. if (str === ">")
  250. return "&gt;";
  251. });
  252. };
  253. AnsiUp.prototype.append_buffer = function (txt) {
  254. var str = this._buffer + txt;
  255. this._buffer = str;
  256. };
  257. AnsiUp.prototype.get_next_packet = function () {
  258. var pkt = {
  259. kind: PacketKind.EOS,
  260. text: '',
  261. url: ''
  262. };
  263. var len = this._buffer.length;
  264. if (len == 0)
  265. return pkt;
  266. var pos = this._buffer.indexOf("\x1B");
  267. if (pos == -1) {
  268. pkt.kind = PacketKind.Text;
  269. pkt.text = this._buffer;
  270. this._buffer = '';
  271. return pkt;
  272. }
  273. if (pos > 0) {
  274. pkt.kind = PacketKind.Text;
  275. pkt.text = this._buffer.slice(0, pos);
  276. this._buffer = this._buffer.slice(pos);
  277. return pkt;
  278. }
  279. if (pos == 0) {
  280. if (len == 1) {
  281. pkt.kind = PacketKind.Incomplete;
  282. return pkt;
  283. }
  284. var next_char = this._buffer.charAt(1);
  285. if ((next_char != '[') && (next_char != ']')) {
  286. pkt.kind = PacketKind.ESC;
  287. pkt.text = this._buffer.slice(0, 1);
  288. this._buffer = this._buffer.slice(1);
  289. return pkt;
  290. }
  291. if (next_char == '[') {
  292. if (!this._csi_regex) {
  293. this._csi_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \u001B[ # CSI\n ([<-?]?) # private-mode char\n ([d;]*) # any digits or semicolons\n ([ -/]? # an intermediate modifier\n [@-~]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \u001B[ # CSI\n [ -~]* # anything legal\n ([\0-\u001F:]) # anything illegal\n )\n "], ["\n ^ # beginning of line\n #\n # First attempt\n (?: # legal sequence\n \\x1b\\[ # CSI\n ([\\x3c-\\x3f]?) # private-mode char\n ([\\d;]*) # any digits or semicolons\n ([\\x20-\\x2f]? # an intermediate modifier\n [\\x40-\\x7e]) # the command\n )\n | # alternate (second attempt)\n (?: # illegal sequence\n \\x1b\\[ # CSI\n [\\x20-\\x7e]* # anything legal\n ([\\x00-\\x1f:]) # anything illegal\n )\n "]));
  294. }
  295. var match = this._buffer.match(this._csi_regex);
  296. if (match === null) {
  297. pkt.kind = PacketKind.Incomplete;
  298. return pkt;
  299. }
  300. if (match[4]) {
  301. pkt.kind = PacketKind.ESC;
  302. pkt.text = this._buffer.slice(0, 1);
  303. this._buffer = this._buffer.slice(1);
  304. return pkt;
  305. }
  306. if ((match[1] != '') || (match[3] != 'm'))
  307. pkt.kind = PacketKind.Unknown;
  308. else
  309. pkt.kind = PacketKind.SGR;
  310. pkt.text = match[2];
  311. var rpos = match[0].length;
  312. this._buffer = this._buffer.slice(rpos);
  313. return pkt;
  314. }
  315. if (next_char == ']') {
  316. if (len < 4) {
  317. pkt.kind = PacketKind.Incomplete;
  318. return pkt;
  319. }
  320. if ((this._buffer.charAt(2) != '8')
  321. || (this._buffer.charAt(3) != ';')) {
  322. pkt.kind = PacketKind.ESC;
  323. pkt.text = this._buffer.slice(0, 1);
  324. this._buffer = this._buffer.slice(1);
  325. return pkt;
  326. }
  327. if (!this._osc_st) {
  328. this._osc_st = rgxG(__makeTemplateObject(["\n (?: # legal sequence\n (\u001B\\) # ESC | # alternate\n (\u0007) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\0-\u0006] # anything illegal\n | # alternate\n [\b-\u001A] # anything illegal\n | # alternate\n [\u001C-\u001F] # anything illegal\n )\n "], ["\n (?: # legal sequence\n (\\x1b\\\\) # ESC \\\n | # alternate\n (\\x07) # BEL (what xterm did)\n )\n | # alternate (second attempt)\n ( # illegal sequence\n [\\x00-\\x06] # anything illegal\n | # alternate\n [\\x08-\\x1a] # anything illegal\n | # alternate\n [\\x1c-\\x1f] # anything illegal\n )\n "]));
  329. }
  330. this._osc_st.lastIndex = 0;
  331. {
  332. var match_1 = this._osc_st.exec(this._buffer);
  333. if (match_1 === null) {
  334. pkt.kind = PacketKind.Incomplete;
  335. return pkt;
  336. }
  337. if (match_1[3]) {
  338. pkt.kind = PacketKind.ESC;
  339. pkt.text = this._buffer.slice(0, 1);
  340. this._buffer = this._buffer.slice(1);
  341. return pkt;
  342. }
  343. }
  344. {
  345. var match_2 = this._osc_st.exec(this._buffer);
  346. if (match_2 === null) {
  347. pkt.kind = PacketKind.Incomplete;
  348. return pkt;
  349. }
  350. if (match_2[3]) {
  351. pkt.kind = PacketKind.ESC;
  352. pkt.text = this._buffer.slice(0, 1);
  353. this._buffer = this._buffer.slice(1);
  354. return pkt;
  355. }
  356. }
  357. if (!this._osc_regex) {
  358. this._osc_regex = rgx(__makeTemplateObject(["\n ^ # beginning of line\n #\n \u001B]8; # OSC Hyperlink\n [ -:<-~]* # params (excluding ;)\n ; # end of params\n ([!-~]{0,512}) # URL capture\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n ([!-~]+) # TEXT capture\n \u001B]8;; # OSC Hyperlink End\n (?: # ST\n (?:\u001B\\) # ESC | # alternate\n (?:\u0007) # BEL (what xterm did)\n )\n "], ["\n ^ # beginning of line\n #\n \\x1b\\]8; # OSC Hyperlink\n [\\x20-\\x3a\\x3c-\\x7e]* # params (excluding ;)\n ; # end of params\n ([\\x21-\\x7e]{0,512}) # URL capture\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n ([\\x21-\\x7e]+) # TEXT capture\n \\x1b\\]8;; # OSC Hyperlink End\n (?: # ST\n (?:\\x1b\\\\) # ESC \\\n | # alternate\n (?:\\x07) # BEL (what xterm did)\n )\n "]));
  359. }
  360. var match = this._buffer.match(this._osc_regex);
  361. if (match === null) {
  362. pkt.kind = PacketKind.ESC;
  363. pkt.text = this._buffer.slice(0, 1);
  364. this._buffer = this._buffer.slice(1);
  365. return pkt;
  366. }
  367. pkt.kind = PacketKind.OSCURL;
  368. pkt.url = match[1];
  369. pkt.text = match[2];
  370. var rpos = match[0].length;
  371. this._buffer = this._buffer.slice(rpos);
  372. return pkt;
  373. }
  374. }
  375. };
  376. AnsiUp.prototype.ansi_to_html = function (txt) {
  377. this.append_buffer(txt);
  378. var blocks = [];
  379. while (true) {
  380. var packet = this.get_next_packet();
  381. if ((packet.kind == PacketKind.EOS)
  382. || (packet.kind == PacketKind.Incomplete))
  383. break;
  384. if ((packet.kind == PacketKind.ESC)
  385. || (packet.kind == PacketKind.Unknown))
  386. continue;
  387. if (packet.kind == PacketKind.Text)
  388. blocks.push(this.transform_to_html(this.with_state(packet)));
  389. else if (packet.kind == PacketKind.SGR)
  390. this.process_ansi(packet);
  391. else if (packet.kind == PacketKind.OSCURL)
  392. blocks.push(this.process_hyperlink(packet));
  393. }
  394. return blocks.join("");
  395. };
  396. AnsiUp.prototype.with_state = function (pkt) {
  397. return { bold: this.bold, fg: this.fg, bg: this.bg, text: pkt.text };
  398. };
  399. AnsiUp.prototype.process_ansi = function (pkt) {
  400. var sgr_cmds = pkt.text.split(';');
  401. while (sgr_cmds.length > 0) {
  402. var sgr_cmd_str = sgr_cmds.shift();
  403. var num = parseInt(sgr_cmd_str, 10);
  404. if (isNaN(num) || num === 0) {
  405. this.fg = this.bg = null;
  406. this.bold = false;
  407. }
  408. else if (num === 1) {
  409. this.bold = true;
  410. }
  411. else if (num === 22) {
  412. this.bold = false;
  413. }
  414. else if (num === 39) {
  415. this.fg = null;
  416. }
  417. else if (num === 49) {
  418. this.bg = null;
  419. }
  420. else if ((num >= 30) && (num < 38)) {
  421. this.fg = this.ansi_colors[0][(num - 30)];
  422. }
  423. else if ((num >= 40) && (num < 48)) {
  424. this.bg = this.ansi_colors[0][(num - 40)];
  425. }
  426. else if ((num >= 90) && (num < 98)) {
  427. this.fg = this.ansi_colors[1][(num - 90)];
  428. }
  429. else if ((num >= 100) && (num < 108)) {
  430. this.bg = this.ansi_colors[1][(num - 100)];
  431. }
  432. else if (num === 38 || num === 48) {
  433. if (sgr_cmds.length > 0) {
  434. var is_foreground = (num === 38);
  435. var mode_cmd = sgr_cmds.shift();
  436. if (mode_cmd === '5' && sgr_cmds.length > 0) {
  437. var palette_index = parseInt(sgr_cmds.shift(), 10);
  438. if (palette_index >= 0 && palette_index <= 255) {
  439. if (is_foreground)
  440. this.fg = this.palette_256[palette_index];
  441. else
  442. this.bg = this.palette_256[palette_index];
  443. }
  444. }
  445. if (mode_cmd === '2' && sgr_cmds.length > 2) {
  446. var r = parseInt(sgr_cmds.shift(), 10);
  447. var g = parseInt(sgr_cmds.shift(), 10);
  448. var b = parseInt(sgr_cmds.shift(), 10);
  449. if ((r >= 0 && r <= 255) && (g >= 0 && g <= 255) && (b >= 0 && b <= 255)) {
  450. var c = { rgb: [r, g, b], class_name: 'truecolor' };
  451. if (is_foreground)
  452. this.fg = c;
  453. else
  454. this.bg = c;
  455. }
  456. }
  457. }
  458. }
  459. }
  460. };
  461. AnsiUp.prototype.transform_to_html = function (fragment) {
  462. var txt = fragment.text;
  463. if (txt.length === 0)
  464. return txt;
  465. if (this._escape_for_html)
  466. txt = this.escape_txt_for_html(txt);
  467. if (!fragment.bold && fragment.fg === null && fragment.bg === null)
  468. return txt;
  469. var styles = [];
  470. var classes = [];
  471. var fg = fragment.fg;
  472. var bg = fragment.bg;
  473. if (fragment.bold)
  474. styles.push('font-weight:bold');
  475. if (!this._use_classes) {
  476. if (fg)
  477. styles.push("color:rgb(" + fg.rgb.join(',') + ")");
  478. if (bg)
  479. styles.push("background-color:rgb(" + bg.rgb + ")");
  480. }
  481. else {
  482. if (fg) {
  483. if (fg.class_name !== 'truecolor') {
  484. classes.push(fg.class_name + "-fg");
  485. }
  486. else {
  487. styles.push("color:rgb(" + fg.rgb.join(',') + ")");
  488. }
  489. }
  490. if (bg) {
  491. if (bg.class_name !== 'truecolor') {
  492. classes.push(bg.class_name + "-bg");
  493. }
  494. else {
  495. styles.push("background-color:rgb(" + bg.rgb.join(',') + ")");
  496. }
  497. }
  498. }
  499. var class_string = '';
  500. var style_string = '';
  501. if (classes.length)
  502. class_string = " class=\"" + classes.join(' ') + "\"";
  503. if (styles.length)
  504. style_string = " style=\"" + styles.join(';') + "\"";
  505. return "<span" + style_string + class_string + ">" + txt + "</span>";
  506. };
  507. ;
  508. AnsiUp.prototype.process_hyperlink = function (pkt) {
  509. var parts = pkt.url.split(':');
  510. if (parts.length < 1)
  511. return '';
  512. if (!this._url_whitelist[parts[0]])
  513. return '';
  514. var result = "<a href=\"" + this.escape_txt_for_html(pkt.url) + "\">" + this.escape_txt_for_html(pkt.text) + "</a>";
  515. return result;
  516. };
  517. return AnsiUp;
  518. }());
  519. function rgx(tmplObj) {
  520. var subst = [];
  521. for (var _i = 1; _i < arguments.length; _i++) {
  522. subst[_i - 1] = arguments[_i];
  523. }
  524. var regexText = tmplObj.raw[0];
  525. var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm;
  526. var txt2 = regexText.replace(wsrgx, '');
  527. return new RegExp(txt2);
  528. }
  529. function rgxG(tmplObj) {
  530. var subst = [];
  531. for (var _i = 1; _i < arguments.length; _i++) {
  532. subst[_i - 1] = arguments[_i];
  533. }
  534. var regexText = tmplObj.raw[0];
  535. var wsrgx = /^\s+|\s+\n|\s*#[\s\S]*?\n|\n/gm;
  536. var txt2 = regexText.replace(wsrgx, '');
  537. return new RegExp(txt2, 'g');
  538. }
  539.  
  540. Object.defineProperty(exports, "__esModule", { value: true });
  541. exports.default = AnsiUp;
  542. }));
  543.  
  544. },{}],"C:/Users/llej/AppData/Roaming/npm/node_modules/parcel/src/builtins/_empty.js":[function(require,module,exports) {
  545.  
  546. },{}],"ansi_to_html.user.ts":[function(require,module,exports) {
  547. "use strict";
  548.  
  549. var _ansi_up = _interopRequireDefault(require("ansi_up"));
  550.  
  551. var _fs = _interopRequireDefault(require("fs"));
  552.  
  553. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  554.  
  555. var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
  556. function adopt(value) {
  557. return value instanceof P ? value : new P(function (resolve) {
  558. resolve(value);
  559. });
  560. }
  561.  
  562. return new (P || (P = Promise))(function (resolve, reject) {
  563. function fulfilled(value) {
  564. try {
  565. step(generator.next(value));
  566. } catch (e) {
  567. reject(e);
  568. }
  569. }
  570.  
  571. function rejected(value) {
  572. try {
  573. step(generator["throw"](value));
  574. } catch (e) {
  575. reject(e);
  576. }
  577. }
  578.  
  579. function step(result) {
  580. result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
  581. }
  582.  
  583. step((generator = generator.apply(thisArg, _arguments || [])).next());
  584. });
  585. };
  586.  
  587. const ansi_up = new _ansi_up.default(); // ==UserScript==
  588. // @name ansi-to-html
  589. // @namespace http://tampermonkey.net/
  590. // @version 1.1.2
  591. // @description
  592. // @author 崮生 2234839456@qq.com
  593. // @include *://www.showdoc.cc/*
  594. // @grant unsafeWindow
  595. // @connect shenzilong.cn
  596. // @description 将ansi码转为html美化输出
  597. // ==/UserScript==
  598.  
  599. var css = ".llej_userjs_ansi-pre {\r\n background-color: #b3b0b0;\r\n background-color: #cfcfcf;\r\n}\r\n\r\n.llej_userjs_ansi-btn {\r\n position: fixed;\r\n z-index: 999;\r\n top: 50px;\r\n right: 60px;\r\n}\r\n"; // <-- The css reader
  600.  
  601. var style = document.createElement("style");
  602. style.type = "text/css";
  603. style.appendChild(document.createTextNode(css));
  604. document.head.appendChild(style);
  605.  
  606. (function () {
  607. return __awaiter(this, void 0, void 0, function* () {
  608. const btn = document.createElement("button");
  609. btn.textContent = "美化输出";
  610. btn.classList.add("llej_userjs_ansi-btn");
  611. document.body.appendChild(btn);
  612. btn.addEventListener("click", function () {
  613. Array.from(document.querySelectorAll(".console-output")).forEach(el => {
  614. const html = ansi_up.ansi_to_html(el.innerHTML);
  615. el.classList.add("llej_userjs_ansi-pre");
  616. el.innerHTML = html;
  617. });
  618. });
  619. });
  620. })();
  621. },{"ansi_up":"../node_modules/ansi_up/ansi_up.js","fs":"C:/Users/llej/AppData/Roaming/npm/node_modules/parcel/src/builtins/_empty.js"}],"C:/Users/llej/AppData/Roaming/npm/node_modules/parcel/src/builtins/hmr-runtime.js":[function(require,module,exports) {
  622. var global = arguments[3];
  623. var OVERLAY_ID = '__parcel__error__overlay__';
  624. var OldModule = module.bundle.Module;
  625.  
  626. function Module(moduleName) {
  627. OldModule.call(this, moduleName);
  628. this.hot = {
  629. data: module.bundle.hotData,
  630. _acceptCallbacks: [],
  631. _disposeCallbacks: [],
  632. accept: function (fn) {
  633. this._acceptCallbacks.push(fn || function () {});
  634. },
  635. dispose: function (fn) {
  636. this._disposeCallbacks.push(fn);
  637. }
  638. };
  639. module.bundle.hotData = null;
  640. }
  641.  
  642. module.bundle.Module = Module;
  643. var checkedAssets, assetsToAccept;
  644. var parent = module.bundle.parent;
  645.  
  646. if ((!parent || !parent.isParcelRequire) && typeof WebSocket !== 'undefined') {
  647. var hostname = "" || location.hostname;
  648. var protocol = location.protocol === 'https:' ? 'wss' : 'ws';
  649. var ws = new WebSocket(protocol + '://' + hostname + ':' + "50239" + '/');
  650.  
  651. ws.onmessage = function (event) {
  652. checkedAssets = {};
  653. assetsToAccept = [];
  654. var data = JSON.parse(event.data);
  655.  
  656. if (data.type === 'update') {
  657. var handled = false;
  658. data.assets.forEach(function (asset) {
  659. if (!asset.isNew) {
  660. var didAccept = hmrAcceptCheck(global.parcelRequire, asset.id);
  661.  
  662. if (didAccept) {
  663. handled = true;
  664. }
  665. }
  666. }); // Enable HMR for CSS by default.
  667.  
  668. handled = handled || data.assets.every(function (asset) {
  669. return asset.type === 'css' && asset.generated.js;
  670. });
  671.  
  672. if (handled) {
  673. console.clear();
  674. data.assets.forEach(function (asset) {
  675. hmrApply(global.parcelRequire, asset);
  676. });
  677. assetsToAccept.forEach(function (v) {
  678. hmrAcceptRun(v[0], v[1]);
  679. });
  680. } else if (location.reload) {
  681. // `location` global exists in a web worker context but lacks `.reload()` function.
  682. location.reload();
  683. }
  684. }
  685.  
  686. if (data.type === 'reload') {
  687. ws.close();
  688.  
  689. ws.onclose = function () {
  690. location.reload();
  691. };
  692. }
  693.  
  694. if (data.type === 'error-resolved') {
  695. console.log('[parcel] ✨ Error resolved');
  696. removeErrorOverlay();
  697. }
  698.  
  699. if (data.type === 'error') {
  700. console.error('[parcel] 🚨 ' + data.error.message + '\n' + data.error.stack);
  701. removeErrorOverlay();
  702. var overlay = createErrorOverlay(data);
  703. document.body.appendChild(overlay);
  704. }
  705. };
  706. }
  707.  
  708. function removeErrorOverlay() {
  709. var overlay = document.getElementById(OVERLAY_ID);
  710.  
  711. if (overlay) {
  712. overlay.remove();
  713. }
  714. }
  715.  
  716. function createErrorOverlay(data) {
  717. var overlay = document.createElement('div');
  718. overlay.id = OVERLAY_ID; // html encode message and stack trace
  719.  
  720. var message = document.createElement('div');
  721. var stackTrace = document.createElement('pre');
  722. message.innerText = data.error.message;
  723. stackTrace.innerText = data.error.stack;
  724. overlay.innerHTML = '<div style="background: black; font-size: 16px; color: white; position: fixed; height: 100%; width: 100%; top: 0px; left: 0px; padding: 30px; opacity: 0.85; font-family: Menlo, Consolas, monospace; z-index: 9999;">' + '<span style="background: red; padding: 2px 4px; border-radius: 2px;">ERROR</span>' + '<span style="top: 2px; margin-left: 5px; position: relative;">🚨</span>' + '<div style="font-size: 18px; font-weight: bold; margin-top: 20px;">' + message.innerHTML + '</div>' + '<pre>' + stackTrace.innerHTML + '</pre>' + '</div>';
  725. return overlay;
  726. }
  727.  
  728. function getParents(bundle, id) {
  729. var modules = bundle.modules;
  730.  
  731. if (!modules) {
  732. return [];
  733. }
  734.  
  735. var parents = [];
  736. var k, d, dep;
  737.  
  738. for (k in modules) {
  739. for (d in modules[k][1]) {
  740. dep = modules[k][1][d];
  741.  
  742. if (dep === id || Array.isArray(dep) && dep[dep.length - 1] === id) {
  743. parents.push(k);
  744. }
  745. }
  746. }
  747.  
  748. if (bundle.parent) {
  749. parents = parents.concat(getParents(bundle.parent, id));
  750. }
  751.  
  752. return parents;
  753. }
  754.  
  755. function hmrApply(bundle, asset) {
  756. var modules = bundle.modules;
  757.  
  758. if (!modules) {
  759. return;
  760. }
  761.  
  762. if (modules[asset.id] || !bundle.parent) {
  763. var fn = new Function('require', 'module', 'exports', asset.generated.js);
  764. asset.isNew = !modules[asset.id];
  765. modules[asset.id] = [fn, asset.deps];
  766. } else if (bundle.parent) {
  767. hmrApply(bundle.parent, asset);
  768. }
  769. }
  770.  
  771. function hmrAcceptCheck(bundle, id) {
  772. var modules = bundle.modules;
  773.  
  774. if (!modules) {
  775. return;
  776. }
  777.  
  778. if (!modules[id] && bundle.parent) {
  779. return hmrAcceptCheck(bundle.parent, id);
  780. }
  781.  
  782. if (checkedAssets[id]) {
  783. return;
  784. }
  785.  
  786. checkedAssets[id] = true;
  787. var cached = bundle.cache[id];
  788. assetsToAccept.push([bundle, id]);
  789.  
  790. if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
  791. return true;
  792. }
  793.  
  794. return getParents(global.parcelRequire, id).some(function (id) {
  795. return hmrAcceptCheck(global.parcelRequire, id);
  796. });
  797. }
  798.  
  799. function hmrAcceptRun(bundle, id) {
  800. var cached = bundle.cache[id];
  801. bundle.hotData = {};
  802.  
  803. if (cached) {
  804. cached.hot.data = bundle.hotData;
  805. }
  806.  
  807. if (cached && cached.hot && cached.hot._disposeCallbacks.length) {
  808. cached.hot._disposeCallbacks.forEach(function (cb) {
  809. cb(bundle.hotData);
  810. });
  811. }
  812.  
  813. delete bundle.cache[id];
  814. bundle(id);
  815. cached = bundle.cache[id];
  816.  
  817. if (cached && cached.hot && cached.hot._acceptCallbacks.length) {
  818. cached.hot._acceptCallbacks.forEach(function (cb) {
  819. cb();
  820. });
  821.  
  822. return true;
  823. }
  824. }
  825. },{}]},{},["C:/Users/llej/AppData/Roaming/npm/node_modules/parcel/src/builtins/hmr-runtime.js","ansi_to_html.user.ts"], null)
  826. //# sourceMappingURL=/ansi_to_html.user.js.map

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址