@tamagui/code-to-html 2.0.0-rc.4 → 2.0.0-rc.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","highlightWord_exports","__export","highlightWord","module","exports","import_hast_util_to_html","require","import_rehype_parse","__toESM","import_unified","CALLOUT","code","html","toHtml","result","replace","_","text","hast","unified","use","default","emitParseErrors","fragment","parse"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,qBAAuB;AAIvB,IAAAK,wBAAgB,GAAAC,OAAA;EAAAC,mBAAA,GAAAC,OAAA,CAAAF,OAAA;EAAAG,cAAA,GAAAH,OAAA;EAAAI,OAAA;AAET,SAASR,cAAcS,IAAA,EAAM;EAElC,IAAAC,IAAM,OAAAP,wBADO,CAAAQ,MAAA,EAAAF,IAAO;IAAAG,MACA,GAAAF,IAAA,CAAAG,OAAA,CAAAL,OAAA,YAAAM,CAAA,EAAAC,IAAA;MAClB,uCAAAA,IAAA;IAAA,EACA;IAACC,IAAG,OAAST,cAAA,CAAAU,OAAA,IAAAC,GAAA,CAAAb,mBAAoC,CAAAc,OAAA;MACnDC,eAAA;MAIAC,QAAA,EAHa;IAIf,GAAAC,KAAA,CAAAV,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","highlightWord_exports","__export","highlightWord","module","exports","import_hast_util_to_html","require","import_rehype_parse","__toESM","import_unified","CALLOUT","code","html","toHtml","result","replace","_","text","hast","unified","use","default","emitParseErrors","fragment"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,qBAAuB;AACvB,IAAAK,wBAAkB,GAAAC,OAAA;AAClB,IAAAC,mBAAwB,GAAAC,OAAA,CAAAF,OAAA;AAExB,IAAAG,cAAgB,GAAAH,OAAA;AAET,IAAAI,OAAS,eAAc;AAC5B,SAAMR,aAAOA,CAAAS,IAAA;EACb,IAAAC,IAAM,OAASP,wBAAK,CAAAQ,MAAA,EAAAF,IAAA;EAAA,IAClBG,MAAA,GAAAF,IAAA,CAAAG,OAAA,CAAAL,OAAA,YAAAM,CAAA,EAAAC,IAAA;IACA,OAAI,gCAASA,IAAA,SAAoC;EACnD;EACA,IAAAC,IAAM,OAAAT,cAAO,CAAAU,OAAA,IAAQC,GAClB,CAAAb,mBAAI,CAAAc,OAAA;IAEPC,eAAY,MAAU;IACxBC,QAAA","ignoreList":[]}
@@ -2,48 +2,53 @@ var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf,
6
- __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
- value: mod,
27
- enumerable: !0
28
- }) : target, mod)),
29
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
30
- value: !0
31
- }), mod);
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
+ value: mod,
29
+ enumerable: true
30
+ }) : target, mod));
31
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
+ value: true
33
+ }), mod);
32
34
  var index_exports = {};
33
35
  __export(index_exports, {
34
36
  codeToHTML: () => codeToHTML
35
37
  });
36
38
  module.exports = __toCommonJS(index_exports);
37
- var import_hast_util_to_html = require("hast-util-to-html"),
38
- import_parse_numeric_range = __toESM(require("parse-numeric-range")),
39
- import_refractor = require("refractor"),
40
- import_css = __toESM(require("refractor/lang/css")),
41
- import_tsx = __toESM(require("refractor/lang/tsx")),
42
- import_highlightLine = require("./highlightLine.cjs"),
43
- import_highlightWord = require("./highlightWord.cjs");
39
+ var import_hast_util_to_html = require("hast-util-to-html");
40
+ var import_parse_numeric_range = __toESM(require("parse-numeric-range"));
41
+ var import_refractor = require("refractor");
42
+ var import_css = __toESM(require("refractor/lang/css"));
43
+ var import_tsx = __toESM(require("refractor/lang/tsx"));
44
+ var import_highlightLine = require("./highlightLine.cjs");
45
+ var import_highlightWord = require("./highlightWord.cjs");
44
46
  import_refractor.refractor.register(import_tsx.default);
45
47
  import_refractor.refractor.register(import_css.default);
46
48
  function codeToHTML(source, language, line = "0") {
47
49
  let result = import_refractor.refractor.highlight(source, language);
48
- return result = (0, import_highlightLine.highlightLine)(result, (0, import_parse_numeric_range.default)(line)), result = (0, import_highlightWord.highlightWord)(result), result = (0, import_hast_util_to_html.toHtml)(result), result;
50
+ result = (0, import_highlightLine.highlightLine)(result, (0, import_parse_numeric_range.default)(line));
51
+ result = (0, import_highlightWord.highlightWord)(result);
52
+ result = (0, import_hast_util_to_html.toHtml)(result);
53
+ return result;
49
54
  }
@@ -4,50 +4,55 @@ var __create = Object.create;
4
4
  var __defProp = Object.defineProperty;
5
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf,
8
- __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: !0
13
- });
14
- },
15
- __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
17
18
  get: () => from[key],
18
19
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
19
20
  });
20
- return to;
21
- };
21
+ }
22
+ return to;
23
+ };
22
24
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
- // If the importer is in node compatibility mode or this is not an ESM
24
- // file that has been converted to a CommonJS file using a Babel-
25
- // compatible transform (i.e. "__esModule" has not been set), then set
26
- // "default" to the CommonJS "module.exports" for node compatibility.
27
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
28
- value: mod,
29
- enumerable: !0
30
- }) : target, mod)),
31
- __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
32
- value: !0
33
- }), mod);
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
34
36
  var index_exports = {};
35
37
  __export(index_exports, {
36
38
  codeToHTML: () => codeToHTML
37
39
  });
38
40
  module.exports = __toCommonJS(index_exports);
39
- var import_hast_util_to_html = require("hast-util-to-html"),
40
- import_parse_numeric_range = __toESM(require("parse-numeric-range")),
41
- import_refractor = require("refractor"),
42
- import_css = __toESM(require("refractor/lang/css")),
43
- import_tsx = __toESM(require("refractor/lang/tsx")),
44
- import_highlightLine = require("./highlightLine.native.js"),
45
- import_highlightWord = require("./highlightWord.native.js");
41
+ var import_hast_util_to_html = require("hast-util-to-html");
42
+ var import_parse_numeric_range = __toESM(require("parse-numeric-range"));
43
+ var import_refractor = require("refractor");
44
+ var import_css = __toESM(require("refractor/lang/css"));
45
+ var import_tsx = __toESM(require("refractor/lang/tsx"));
46
+ var import_highlightLine = require("./highlightLine.native.js");
47
+ var import_highlightWord = require("./highlightWord.native.js");
46
48
  import_refractor.refractor.register(import_tsx.default);
47
49
  import_refractor.refractor.register(import_css.default);
48
50
  function codeToHTML(source, language) {
49
- var line = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0",
50
- result = import_refractor.refractor.highlight(source, language);
51
- return result = (0, import_highlightLine.highlightLine)(result, (0, import_parse_numeric_range.default)(line)), result = (0, import_highlightWord.highlightWord)(result), result = (0, import_hast_util_to_html.toHtml)(result), result;
51
+ var line = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "0";
52
+ var result = import_refractor.refractor.highlight(source, language);
53
+ result = (0, import_highlightLine.highlightLine)(result, (0, import_parse_numeric_range.default)(line));
54
+ result = (0, import_highlightWord.highlightWord)(result);
55
+ result = (0, import_hast_util_to_html.toHtml)(result);
56
+ return result;
52
57
  }
53
58
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","codeToHTML","module","exports","import_hast_util_to_html","require","import_parse_numeric_range","__toESM","import_refractor","import_css","import_tsx","import_highlightLine","import_highlightWord","refractor","register","default","source","language","line","arguments","length","result","highlight","highlightLine","highlightWord","toHtml"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,aAAuB;AASvB,IAAAK,wBAAU,GAAAC,OAAS,oBAAG;EAAAC,0BAAA,GAAAC,OAAA,CAAAF,OAAA;EAAAG,gBAAA,GAAAH,OAAA;EAAAI,UAAA,GAAAF,OAAA,CAAAF,OAAA;EAAAK,UAAA,GAAAH,OAAA,CAAAF,OAAA;EAAAM,oBAAA,GAAAN,OAAA;EAAAO,oBAAA,GAAAP,OAAA;AACtBG,gBAAA,CAAAK,SAAA,CAAUC,QAAA,CAASJ,UAAA,CAAAK,OAAG;AAEfP,gBAAS,CAAAK,SAAW,CAAAC,QAAgB,CAAAL,UAAyC,CAAAM,OAAK;AACvF,SAAId,UAAcA,CAAAe,MAAA,EAAAC,QAAA;EAClB,IAAAC,IAAA,GAAAC,SAAS,CAAAC,MAAA,QAAAD,SAAA,aAAc,IAAAA,SAAQ;IAAAE,MAAA,GAAAb,gBAAY,CAAAK,SAC3C,CAAAS,SAAS,CAAAN,MAAA,EAAAC,QAAA;EAGX,OAAAI,MAAA,OAAAV,oBAAA,CAAAY,aAAA,EAAAF,MAAA,MAAAf,0BAAA,CAAAS,OAAA,EAAAG,IAAA,IAAAG,MAAA,OAAAT,oBAAA,CAAAY,aAAA,EAAAH,MAAA,GAAAA,MAAA,OAAAjB,wBAAA,CAAAqB,MAAA,EAAAJ,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","__export","codeToHTML","module","exports","import_hast_util_to_html","require","import_parse_numeric_range","__toESM","import_refractor","import_css","import_tsx","import_highlightLine","import_highlightWord","refractor","register","default","source","language","line","arguments","length","result","highlight","highlightLine","highlightWord","toHtml"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,UAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAA,CAAAK,aAAuB;AACvB,IAAAK,wBAAA,GAAAC,OAAwB;AACxB,IAAAC,0BAA0B,GAAAC,OAAA,CAAAF,OAAA;AAC1B,IAAAG,gBAAgB,GAAAH,OAAA;AAChB,IAAAI,UAAA,GAAgBF,OAAA,CAAAF,OAAA;AAEhB,IAAAK,UAAA,GAAAH,OAAA,CAAAF,OAA8B;AAC9B,IAAAM,oBAAA,GAA8BN,OAAA;AAE9B,IAAAO,oBAAA,GAAUP,OAAA,4BAAS;AACnBG,gBAAA,CAAAK,SAAA,CAAUC,QAAA,CAASJ,UAAA,CAAAK,OAAG;AAEfP,gBAAS,CAAAK,SAAW,CAAAC,QAAgB,CAAAL,UAAyC,CAAAM,OAAK;AACvF,SAAId,UAAcA,CAAAe,MAAA,EAAAC,QAAA;EAClB,IAAAC,IAAA,GAAAC,SAAS,CAAAC,MAAA,QAAAD,SAAA,QAAc,SAAQA,SAAA;EAC/B,IAAAE,MAAA,GAASb,gBAAA,CAAAK,SAAA,CAAAS,SAAc,CAAAN,MAAM,EAAAC,QAAA;EAC7BI,MAAA,OAASV,oBAAA,CAAAY,aAAO,EAAAF,MAAM,MAAAf,0BAAA,CAAAS,OAAA,EAAAG,IAAA;EACtBG,MAAA,GAAO,IAAAT,oBAAA,CAAAY,aAAA,EAAAH,MAAA;EACTA,MAAA,OAAAjB,wBAAA,CAAAqB,MAAA,EAAAJ,MAAA","ignoreList":[]}
@@ -2,75 +2,92 @@ import { toHtml } from "hast-util-to-html";
2
2
  import parse from "rehype-parse";
3
3
  import { unified } from "unified";
4
4
  const lineNumberify = function lineNumberify2(ast, lineNum = 1) {
5
- let lineNumber = lineNum;
6
- return ast.reduce((result, node) => {
7
- if (node.type === "text") {
8
- if (node.value.indexOf(`
9
- `) === -1) return node.lineNumber = lineNumber, result.nodes.push(node), result;
10
- const lines = node.value.split(`
11
- `);
12
- for (let i = 0; i < lines.length; i++) i !== 0 && ++lineNumber, !(i === lines.length - 1 && lines[i].length === 0) && result.nodes.push({
5
+ let lineNumber = lineNum;
6
+ return ast.reduce((result, node) => {
7
+ if (node.type === "text") {
8
+ if (node.value.indexOf("\n") === -1) {
9
+ node.lineNumber = lineNumber;
10
+ result.nodes.push(node);
11
+ return result;
12
+ }
13
+ const lines = node.value.split("\n");
14
+ for (let i = 0; i < lines.length; i++) {
15
+ if (i !== 0) ++lineNumber;
16
+ if (i === lines.length - 1 && lines[i].length === 0) continue;
17
+ result.nodes.push({
13
18
  type: "text",
14
19
  value: i === lines.length - 1 ? lines[i] : `${lines[i]}
15
20
  `,
16
21
  lineNumber
17
22
  });
18
- return result.lineNumber = lineNumber, result;
19
23
  }
20
- if (node.children) {
21
- node.lineNumber = lineNumber;
22
- const processed = lineNumberify2(node.children, lineNumber);
23
- return node.children = processed.nodes, result.lineNumber = processed.lineNumber, result.nodes.push(node), result;
24
+ result.lineNumber = lineNumber;
25
+ return result;
26
+ }
27
+ if (node.children) {
28
+ node.lineNumber = lineNumber;
29
+ const processed = lineNumberify2(node.children, lineNumber);
30
+ node.children = processed.nodes;
31
+ result.lineNumber = processed.lineNumber;
32
+ result.nodes.push(node);
33
+ return result;
34
+ }
35
+ result.nodes.push(node);
36
+ return result;
37
+ }, {
38
+ nodes: [],
39
+ lineNumber
40
+ });
41
+ };
42
+ const wrapLines = function wrapLines2(ast, linesToHighlight) {
43
+ const highlightAll = linesToHighlight.length === 1 && linesToHighlight[0] === 0;
44
+ const allLines = Array.from(new Set(ast.map(x => x.lineNumber)));
45
+ let i = 0;
46
+ const wrapped = allLines.reduce((nodes, marker) => {
47
+ const line = marker;
48
+ const children = [];
49
+ for (; i < ast.length; i++) {
50
+ if (ast[i].lineNumber < line) {
51
+ nodes.push(ast[i]);
52
+ continue;
24
53
  }
25
- return result.nodes.push(node), result;
26
- }, {
27
- nodes: [],
28
- lineNumber
29
- });
30
- },
31
- wrapLines = function (ast, linesToHighlight) {
32
- const highlightAll = linesToHighlight.length === 1 && linesToHighlight[0] === 0,
33
- allLines = Array.from(new Set(ast.map(x => x.lineNumber)));
34
- let i = 0;
35
- return allLines.reduce((nodes, marker) => {
36
- const line = marker,
37
- children = [];
38
- for (; i < ast.length; i++) {
39
- if (ast[i].lineNumber < line) {
40
- nodes.push(ast[i]);
41
- continue;
42
- }
43
- if (ast[i].lineNumber === line) {
44
- children.push(ast[i]);
45
- continue;
46
- }
47
- if (ast[i].lineNumber > line) break;
54
+ if (ast[i].lineNumber === line) {
55
+ children.push(ast[i]);
56
+ continue;
57
+ }
58
+ if (ast[i].lineNumber > line) {
59
+ break;
48
60
  }
49
- return nodes.push({
50
- type: "element",
51
- tagName: "div",
52
- properties: {
53
- dataLine: line,
54
- className: "highlight-line",
55
- dataHighlighted: linesToHighlight.includes(line) || highlightAll ? "true" : "false"
56
- },
57
- children,
58
- lineNumber: line
59
- }), nodes;
60
- }, []);
61
- },
62
- MULTILINE_TOKEN_SPAN = /<span class="token ([^"]+)">[^<]*\n[^<]*<\/span>/g,
63
- applyMultilineFix = ast => {
64
- let html = toHtml(ast);
65
- return html = html.replace(MULTILINE_TOKEN_SPAN, (match, token) => match.replace(/\n/g, `</span>
66
- <span class="token ${token}">`)), unified().use(parse, {
67
- emitParseErrors: !0,
68
- fragment: !0
69
- }).parse(html).children;
70
- };
61
+ }
62
+ nodes.push({
63
+ type: "element",
64
+ tagName: "div",
65
+ properties: {
66
+ dataLine: line,
67
+ className: "highlight-line",
68
+ dataHighlighted: linesToHighlight.includes(line) || highlightAll ? "true" : "false"
69
+ },
70
+ children,
71
+ lineNumber: line
72
+ });
73
+ return nodes;
74
+ }, []);
75
+ return wrapped;
76
+ };
77
+ const MULTILINE_TOKEN_SPAN = /<span class="token ([^"]+)">[^<]*\n[^<]*<\/span>/g;
78
+ const applyMultilineFix = ast => {
79
+ let html = toHtml(ast);
80
+ html = html.replace(MULTILINE_TOKEN_SPAN, (match, token) => match.replace(/\n/g, `</span>
81
+ <span class="token ${token}">`));
82
+ const hast = unified().use(parse, {
83
+ emitParseErrors: true,
84
+ fragment: true
85
+ }).parse(html);
86
+ return hast["children"];
87
+ };
71
88
  function highlightLine(ast, lines) {
72
- const formattedAst = applyMultilineFix(ast),
73
- numbered = lineNumberify(formattedAst).nodes;
89
+ const formattedAst = applyMultilineFix(ast);
90
+ const numbered = lineNumberify(formattedAst).nodes;
74
91
  return wrapLines(numbered, lines);
75
92
  }
76
93
  export { highlightLine };
@@ -1 +1 @@
1
- {"version":3,"names":["toHtml","parse","unified","lineNumberify","lineNumberify2","ast","lineNum","lineNumber","reduce","result","node","type","value","indexOf","nodes","push","lines","split","i","length","children","processed","wrapLines","linesToHighlight","highlightAll","allLines","Array","from","Set","map","x","marker","line","tagName","properties","dataLine","className","dataHighlighted","includes","MULTILINE_TOKEN_SPAN","applyMultilineFix","html","replace","match","token","use","emitParseErrors","fragment","highlightLine","formattedAst","numbered"],"sources":["../../src/highlightLine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toHtml","parse","unified","lineNumberify","lineNumberify2","ast","lineNum","lineNumber","reduce","result","node","type","value","indexOf","nodes","push","lines","split","i","length","children","processed","wrapLines","wrapLines2","linesToHighlight","highlightAll","allLines","Array","from","Set","map","x","wrapped","marker","line","tagName","properties","dataLine","className","dataHighlighted","includes","MULTILINE_TOKEN_SPAN","applyMultilineFix","html","replace","match","token","hast","use","emitParseErrors","fragment","highlightLine","formattedAst","numbered"],"sources":["../../src/highlightLine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,80 +2,97 @@ import { toHtml } from "hast-util-to-html";
2
2
  import parse from "rehype-parse";
3
3
  import { unified } from "unified";
4
4
  var lineNumberify = function lineNumberify2(ast) {
5
- var lineNum = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1,
6
- lineNumber = lineNum;
7
- return ast.reduce(function (result, node) {
8
- if (node.type === "text") {
9
- if (node.value.indexOf(`
10
- `) === -1) return node.lineNumber = lineNumber, result.nodes.push(node), result;
11
- for (var lines = node.value.split(`
12
- `), i = 0; i < lines.length; i++) i !== 0 && ++lineNumber, !(i === lines.length - 1 && lines[i].length === 0) && result.nodes.push({
5
+ var lineNum = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
6
+ var lineNumber = lineNum;
7
+ return ast.reduce(function (result, node) {
8
+ if (node.type === "text") {
9
+ if (node.value.indexOf("\n") === -1) {
10
+ node.lineNumber = lineNumber;
11
+ result.nodes.push(node);
12
+ return result;
13
+ }
14
+ var lines = node.value.split("\n");
15
+ for (var i = 0; i < lines.length; i++) {
16
+ if (i !== 0) ++lineNumber;
17
+ if (i === lines.length - 1 && lines[i].length === 0) continue;
18
+ result.nodes.push({
13
19
  type: "text",
14
20
  value: i === lines.length - 1 ? lines[i] : `${lines[i]}
15
21
  `,
16
22
  lineNumber
17
23
  });
18
- return result.lineNumber = lineNumber, result;
19
24
  }
20
- if (node.children) {
21
- node.lineNumber = lineNumber;
22
- var processed = lineNumberify2(node.children, lineNumber);
23
- return node.children = processed.nodes, result.lineNumber = processed.lineNumber, result.nodes.push(node), result;
25
+ result.lineNumber = lineNumber;
26
+ return result;
27
+ }
28
+ if (node.children) {
29
+ node.lineNumber = lineNumber;
30
+ var processed = lineNumberify2(node.children, lineNumber);
31
+ node.children = processed.nodes;
32
+ result.lineNumber = processed.lineNumber;
33
+ result.nodes.push(node);
34
+ return result;
35
+ }
36
+ result.nodes.push(node);
37
+ return result;
38
+ }, {
39
+ nodes: [],
40
+ lineNumber
41
+ });
42
+ };
43
+ var wrapLines = function wrapLines2(ast, linesToHighlight) {
44
+ var highlightAll = linesToHighlight.length === 1 && linesToHighlight[0] === 0;
45
+ var allLines = Array.from(new Set(ast.map(function (x) {
46
+ return x.lineNumber;
47
+ })));
48
+ var i = 0;
49
+ var wrapped = allLines.reduce(function (nodes, marker) {
50
+ var line = marker;
51
+ var children = [];
52
+ for (; i < ast.length; i++) {
53
+ if (ast[i].lineNumber < line) {
54
+ nodes.push(ast[i]);
55
+ continue;
24
56
  }
25
- return result.nodes.push(node), result;
26
- }, {
27
- nodes: [],
28
- lineNumber
57
+ if (ast[i].lineNumber === line) {
58
+ children.push(ast[i]);
59
+ continue;
60
+ }
61
+ if (ast[i].lineNumber > line) {
62
+ break;
63
+ }
64
+ }
65
+ nodes.push({
66
+ type: "element",
67
+ tagName: "div",
68
+ properties: {
69
+ dataLine: line,
70
+ className: "highlight-line",
71
+ dataHighlighted: linesToHighlight.includes(line) || highlightAll ? "true" : "false"
72
+ },
73
+ children,
74
+ lineNumber: line
29
75
  });
30
- },
31
- wrapLines = function (ast, linesToHighlight) {
32
- var highlightAll = linesToHighlight.length === 1 && linesToHighlight[0] === 0,
33
- allLines = Array.from(new Set(ast.map(function (x) {
34
- return x.lineNumber;
35
- }))),
36
- i = 0,
37
- wrapped = allLines.reduce(function (nodes, marker) {
38
- for (var line = marker, children = []; i < ast.length; i++) {
39
- if (ast[i].lineNumber < line) {
40
- nodes.push(ast[i]);
41
- continue;
42
- }
43
- if (ast[i].lineNumber === line) {
44
- children.push(ast[i]);
45
- continue;
46
- }
47
- if (ast[i].lineNumber > line) break;
48
- }
49
- return nodes.push({
50
- type: "element",
51
- tagName: "div",
52
- properties: {
53
- dataLine: line,
54
- className: "highlight-line",
55
- dataHighlighted: linesToHighlight.includes(line) || highlightAll ? "true" : "false"
56
- },
57
- children,
58
- lineNumber: line
59
- }), nodes;
60
- }, []);
61
- return wrapped;
62
- },
63
- MULTILINE_TOKEN_SPAN = /<span class="token ([^"]+)">[^<]*\n[^<]*<\/span>/g,
64
- applyMultilineFix = function (ast) {
65
- var html = toHtml(ast);
66
- html = html.replace(MULTILINE_TOKEN_SPAN, function (match, token) {
67
- return match.replace(/\n/g, `</span>
76
+ return nodes;
77
+ }, []);
78
+ return wrapped;
79
+ };
80
+ var MULTILINE_TOKEN_SPAN = /<span class="token ([^"]+)">[^<]*\n[^<]*<\/span>/g;
81
+ var applyMultilineFix = function (ast) {
82
+ var html = toHtml(ast);
83
+ html = html.replace(MULTILINE_TOKEN_SPAN, function (match, token) {
84
+ return match.replace(/\n/g, `</span>
68
85
  <span class="token ${token}">`);
69
- });
70
- var hast = unified().use(parse, {
71
- emitParseErrors: !0,
72
- fragment: !0
73
- }).parse(html);
74
- return hast.children;
75
- };
86
+ });
87
+ var hast = unified().use(parse, {
88
+ emitParseErrors: true,
89
+ fragment: true
90
+ }).parse(html);
91
+ return hast["children"];
92
+ };
76
93
  function highlightLine(ast, lines) {
77
- var formattedAst = applyMultilineFix(ast),
78
- numbered = lineNumberify(formattedAst).nodes;
94
+ var formattedAst = applyMultilineFix(ast);
95
+ var numbered = lineNumberify(formattedAst).nodes;
79
96
  return wrapLines(numbered, lines);
80
97
  }
81
98
  export { highlightLine };
@@ -1 +1 @@
1
- {"version":3,"names":["toHtml","parse","unified","lineNumberify","lineNumberify2","ast","lineNum","arguments","length","lineNumber","reduce","result","node","type","value","indexOf","nodes","push","lines","split","i","children","processed","wrapLines","linesToHighlight","highlightAll","allLines","Array","from","Set","map","x","wrapped","marker","line","tagName","properties","dataLine","className","dataHighlighted","includes","MULTILINE_TOKEN_SPAN","applyMultilineFix","html","replace","match","token","hast","use","emitParseErrors","fragment","highlightLine"],"sources":["../../src/highlightLine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toHtml","parse","unified","lineNumberify","lineNumberify2","ast","lineNum","arguments","length","lineNumber","reduce","result","node","type","value","indexOf","nodes","push","lines","split","i","children","processed","wrapLines","wrapLines2","linesToHighlight","highlightAll","allLines","Array","from","Set","map","x","wrapped","marker","line","tagName","properties","dataLine","className","dataHighlighted","includes","MULTILINE_TOKEN_SPAN","applyMultilineFix","html","replace","match","token","hast","use","emitParseErrors","fragment"],"sources":["../../src/highlightLine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,11 +3,13 @@ import parse from "rehype-parse";
3
3
  import { unified } from "unified";
4
4
  const CALLOUT = /__(.*?)__/g;
5
5
  function highlightWord(code) {
6
- const result = toHtml(code).replace(CALLOUT, (_, text) => `<span class="highlight-word">${text}</span>`);
7
- return unified().use(parse, {
8
- emitParseErrors: !0,
9
- fragment: !0
10
- }).parse(result).children;
6
+ const html = toHtml(code);
7
+ const result = html.replace(CALLOUT, (_, text) => `<span class="highlight-word">${text}</span>`);
8
+ const hast = unified().use(parse, {
9
+ emitParseErrors: true,
10
+ fragment: true
11
+ }).parse(result);
12
+ return hast["children"];
11
13
  }
12
14
  export { highlightWord };
13
15
  //# sourceMappingURL=highlightWord.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["toHtml","parse","unified","CALLOUT","highlightWord","code","result","replace","_","text","use","emitParseErrors","fragment","children"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,OAAOC,KAAA,MAAW;AAClB,SAASC,OAAA,QAAe;AAExB,MAAMC,OAAA,GAAU;AAET,SAASC,cAAcC,IAAA,EAAM;EAElC,MAAMC,MAAA,GADON,MAAA,CAAOK,IAAI,EACJE,OAAA,CAClBJ,OAAA,EACA,CAACK,CAAA,EAAGC,IAAA,KAAS,gCAAgCA,IAAI,SACnD;EAIA,OAHaP,OAAA,CAAQ,EAClBQ,GAAA,CAAIT,KAAA,EAAO;IAAEU,eAAA,EAAiB;IAAMC,QAAA,EAAU;EAAK,CAAC,EACpDX,KAAA,CAAMK,MAAM,EACHO,QAAA;AACd","ignoreList":[]}
1
+ {"version":3,"names":["toHtml","parse","unified","CALLOUT","highlightWord","code","html","result","replace","_","text","hast","use","emitParseErrors","fragment"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,OAAOC,KAAA,MAAW;AAClB,SAASC,OAAA,QAAe;AAExB,MAAMC,OAAA,GAAU;AAET,SAASC,cAAcC,IAAA,EAAM;EAClC,MAAMC,IAAA,GAAON,MAAA,CAAOK,IAAI;EACxB,MAAME,MAAA,GAASD,IAAA,CAAKE,OAAA,CAClBL,OAAA,EACA,CAACM,CAAA,EAAGC,IAAA,KAAS,gCAAgCA,IAAI,SACnD;EACA,MAAMC,IAAA,GAAOT,OAAA,CAAQ,EAClBU,GAAA,CAAIX,KAAA,EAAO;IAAEY,eAAA,EAAiB;IAAMC,QAAA,EAAU;EAAK,CAAC,EACpDb,KAAA,CAAMM,MAAM;EACf,OAAOI,IAAA,CAAK,UAAU;AACxB","ignoreList":[]}
@@ -3,15 +3,15 @@ import parse from "rehype-parse";
3
3
  import { unified } from "unified";
4
4
  var CALLOUT = /__(.*?)__/g;
5
5
  function highlightWord(code) {
6
- var html = toHtml(code),
7
- result = html.replace(CALLOUT, function (_, text) {
8
- return `<span class="highlight-word">${text}</span>`;
9
- }),
10
- hast = unified().use(parse, {
11
- emitParseErrors: !0,
12
- fragment: !0
13
- }).parse(result);
14
- return hast.children;
6
+ var html = toHtml(code);
7
+ var result = html.replace(CALLOUT, function (_, text) {
8
+ return `<span class="highlight-word">${text}</span>`;
9
+ });
10
+ var hast = unified().use(parse, {
11
+ emitParseErrors: true,
12
+ fragment: true
13
+ }).parse(result);
14
+ return hast["children"];
15
15
  }
16
16
  export { highlightWord };
17
17
  //# sourceMappingURL=highlightWord.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["toHtml","parse","unified","CALLOUT","highlightWord","code","html","result","replace","_","text","hast","use","emitParseErrors","fragment"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,OAAOC,KAAA,MAAW;AAClB,SAASC,OAAA,QAAe;AAExB,IAAAC,OAAM,eAAU;AAET,SAASC,cAAcC,IAAA,EAAM;EAElC,IAAAC,IAAM,GAAAN,MADO,CAAAK,IAAO;IAAAE,MACA,GAAAD,IAAA,CAAAE,OAAA,CAAAL,OAAA,YAAAM,CAAA,EAAAC,IAAA;MAClB,uCAAAA,IAAA;IAAA,EACA;IAACC,IAAG,GAAAT,OAAS,GAAAU,GAAA,CAAAX,KAAA;MACfY,eAAA;MAIAC,QAHa;IAIf,GAAAb,KAAA,CAAAM,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["toHtml","parse","unified","CALLOUT","highlightWord","code","html","result","replace","_","text","hast","use","emitParseErrors","fragment"],"sources":["../../src/highlightWord.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,MAAA,QAAc;AACvB,OAAOC,KAAA,MAAW;AAClB,SAASC,OAAA,QAAe;AAExB,IAAAC,OAAM,eAAU;AAET,SAASC,cAAcC,IAAA,EAAM;EAClC,IAAAC,IAAM,GAAAN,MAAO,CAAAK,IAAO;EACpB,IAAAE,MAAM,GAAAD,IAAS,CAAAE,OAAK,CAAAL,OAAA,YAAAM,CAAA,EAAAC,IAAA;IAClB,uCAAAA,IAAA;EAAA,EACA;EACF,IAAAC,IAAA,GAAAT,OAAA,GAAAU,GAAA,CAAAX,KAAA;IACAY,eAAa,MACV;IAEHC,QAAO,EAAK;EACd,GAAAb,KAAA,CAAAM,MAAA","ignoreList":[]}