mathpix-markdown-it 2.0.38 → 2.0.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.
Files changed (97) hide show
  1. package/README.md +3 -0
  2. package/doc/changelog.md +128 -0
  3. package/es5/browser/auto-render.js +1 -1
  4. package/es5/bundle.js +4 -4
  5. package/es5/index.js +4 -4
  6. package/lib/components/mathpix-markdown/index.js +2 -1
  7. package/lib/components/mathpix-markdown/index.js.map +1 -1
  8. package/lib/index.d.ts +2 -1
  9. package/lib/index.js +3 -1
  10. package/lib/index.js.map +1 -1
  11. package/lib/markdown/common/consts.d.ts +5 -0
  12. package/lib/markdown/common/consts.js +17 -5
  13. package/lib/markdown/common/consts.js.map +1 -1
  14. package/lib/markdown/common/convert-math-to-html.d.ts +10 -0
  15. package/lib/markdown/common/convert-math-to-html.js +163 -41
  16. package/lib/markdown/common/convert-math-to-html.js.map +1 -1
  17. package/lib/markdown/common/labels.d.ts +9 -1
  18. package/lib/markdown/common/labels.js +82 -37
  19. package/lib/markdown/common/labels.js.map +1 -1
  20. package/lib/markdown/common/reset-mmd-state.d.ts +4 -0
  21. package/lib/markdown/common/reset-mmd-state.js +30 -0
  22. package/lib/markdown/common/reset-mmd-state.js.map +1 -0
  23. package/lib/markdown/common.d.ts +3 -0
  24. package/lib/markdown/common.js +34 -23
  25. package/lib/markdown/common.js.map +1 -1
  26. package/lib/markdown/highlight/highlight-math-token.js +1 -0
  27. package/lib/markdown/highlight/highlight-math-token.js.map +1 -1
  28. package/lib/markdown/index.js +22 -8
  29. package/lib/markdown/index.js.map +1 -1
  30. package/lib/markdown/mathpix-markdown-plugins.js +21 -1
  31. package/lib/markdown/mathpix-markdown-plugins.js.map +1 -1
  32. package/lib/markdown/md-block-rule/begin-tabular/common.d.ts +15 -1
  33. package/lib/markdown/md-block-rule/begin-tabular/common.js +57 -11
  34. package/lib/markdown/md-block-rule/begin-tabular/common.js.map +1 -1
  35. package/lib/markdown/md-block-rule/begin-tabular/index.d.ts +3 -0
  36. package/lib/markdown/md-block-rule/begin-tabular/index.js +79 -20
  37. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  38. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.d.ts +3 -1
  39. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +15 -9
  40. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
  41. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.d.ts +2 -1
  42. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +177 -73
  43. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js.map +1 -1
  44. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.d.ts +1 -0
  45. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.js +11 -23
  46. package/lib/markdown/md-block-rule/begin-tabular/sub-cell.js.map +1 -1
  47. package/lib/markdown/md-block-rule/begin-tabular/sub-code.d.ts +0 -6
  48. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js +10 -21
  49. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js.map +1 -1
  50. package/lib/markdown/md-block-rule/begin-tabular/sub-math.d.ts +13 -5
  51. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +132 -93
  52. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
  53. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.d.ts +3 -1
  54. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js +44 -36
  55. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js.map +1 -1
  56. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.d.ts +11 -3
  57. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +207 -57
  58. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
  59. package/lib/markdown/md-block-rule/mmd-html-block.js +11 -2
  60. package/lib/markdown/md-block-rule/mmd-html-block.js.map +1 -1
  61. package/lib/markdown/md-core-rules/set-positions.js +90 -15
  62. package/lib/markdown/md-core-rules/set-positions.js.map +1 -1
  63. package/lib/markdown/md-inline-rule/core-inline.js +41 -9
  64. package/lib/markdown/md-inline-rule/core-inline.js.map +1 -1
  65. package/lib/markdown/md-inline-rule/tabular.js +5 -2
  66. package/lib/markdown/md-inline-rule/tabular.js.map +1 -1
  67. package/lib/markdown/md-latex-footnotes/block-rule.js +72 -3
  68. package/lib/markdown/md-latex-footnotes/block-rule.js.map +1 -1
  69. package/lib/markdown/md-latex-lists-env/re-level.js +39 -22
  70. package/lib/markdown/md-latex-lists-env/re-level.js.map +1 -1
  71. package/lib/markdown/md-renderer-rules/render-tabular.js +115 -36
  72. package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
  73. package/lib/markdown/md-svg-to-base64/base64.js +8 -8
  74. package/lib/markdown/md-svg-to-base64/base64.js.map +1 -1
  75. package/lib/markdown/md-theorem/block-rule.js +10 -6
  76. package/lib/markdown/md-theorem/block-rule.js.map +1 -1
  77. package/lib/markdown/mdPluginRaw.js +24 -3
  78. package/lib/markdown/mdPluginRaw.js.map +1 -1
  79. package/lib/markdown/mdPluginTOC.js +30 -4
  80. package/lib/markdown/mdPluginTOC.js.map +1 -1
  81. package/lib/markdown/mdPluginTableTabular.js +46 -1
  82. package/lib/markdown/mdPluginTableTabular.js.map +1 -1
  83. package/lib/markdown/utils.js +3 -0
  84. package/lib/markdown/utils.js.map +1 -1
  85. package/lib/mathjax/index.js +3 -3
  86. package/lib/mathjax/index.js.map +1 -1
  87. package/lib/mathpix-markdown-model/index.d.ts +4 -0
  88. package/lib/mathpix-markdown-model/index.js +2 -1
  89. package/lib/mathpix-markdown-model/index.js.map +1 -1
  90. package/package.json +1 -1
  91. package/pr-specs/2026-04-global-state-cleanup-and-perf.md +212 -0
  92. package/pr-specs/2026-04-optimize-tabular-parsing.md +211 -0
  93. package/pr-specs/2026-05-footnote-perf-and-parser-invariants.md +246 -0
  94. package/pr-specs/2026-05-tabular-vertical-align-bracket.md +270 -0
  95. package/lib/markdown/mdPluginSeparateForBlock.d.ts +0 -2
  96. package/lib/markdown/mdPluginSeparateForBlock.js +0 -209
  97. package/lib/markdown/mdPluginSeparateForBlock.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parse-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/parse-tabular.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/parse-tabular.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ export declare const ClearDiagboxTable: () => void;
1
2
  export declare const getSubDiagbox: (str: string) => string;
2
3
  export declare const extractNextBraceContent: (str: string, startIndex: number) => [string, number];
3
4
  export declare const findInDiagboxTable: (id: string) => string | undefined;
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findInDiagboxTable = exports.extractNextBraceContent = exports.getSubDiagbox = void 0;
3
+ exports.findInDiagboxTable = exports.extractNextBraceContent = exports.getSubDiagbox = exports.ClearDiagboxTable = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var common_1 = require("./common");
6
6
  var consts_1 = require("../../common/consts");
7
7
  var common_2 = require("../../common");
8
8
  var diagboxTable = new Map();
9
+ var diagboxById = new Map();
10
+ var ClearDiagboxTable = function () {
11
+ diagboxTable.clear();
12
+ diagboxById.clear();
13
+ };
14
+ exports.ClearDiagboxTable = ClearDiagboxTable;
9
15
  var getSubDiagbox = function (str) {
10
16
  var result = '';
11
17
  var lastIndex = 0;
@@ -19,6 +25,7 @@ var getSubDiagbox = function (str) {
19
25
  if (!id) {
20
26
  id = (0, common_1.generateUniqueId)();
21
27
  diagboxTable.set(fullMatch, id);
28
+ diagboxById.set(id, fullMatch);
22
29
  }
23
30
  result += str.slice(lastIndex, index) + "<<".concat(id, ">>");
24
31
  lastIndex = endIndex;
@@ -34,13 +41,10 @@ var extractNextBraceContent = function (str, startIndex) {
34
41
  return ['', startIndex];
35
42
  }
36
43
  var beforeCharCode = 0;
37
- var inlineCodeList = (0, common_2.getInlineCodeListFromString)(str);
44
+ var codePositions = (0, common_2.buildInlineCodePositionSet)((0, common_2.getInlineCodeListFromString)(str));
38
45
  while (i < str.length) {
39
46
  var char = str[i];
40
- var isCode = (inlineCodeList === null || inlineCodeList === void 0 ? void 0 : inlineCodeList.length)
41
- ? inlineCodeList.find(function (item) { return item.posStart <= i && item.posEnd >= i; })
42
- : null;
43
- if (beforeCharCode !== 0x5c /* \ */ && !isCode) {
47
+ if (beforeCharCode !== 0x5c /* \ */ && !codePositions.has(i)) {
44
48
  if (char === '{' && depth++ === 0) {
45
49
  i++;
46
50
  continue;
@@ -56,23 +60,7 @@ var extractNextBraceContent = function (str, startIndex) {
56
60
  };
57
61
  exports.extractNextBraceContent = extractNextBraceContent;
58
62
  var findInDiagboxTable = function (id) {
59
- var e_1, _a;
60
- try {
61
- for (var diagboxTable_1 = tslib_1.__values(diagboxTable), diagboxTable_1_1 = diagboxTable_1.next(); !diagboxTable_1_1.done; diagboxTable_1_1 = diagboxTable_1.next()) {
62
- var _b = tslib_1.__read(diagboxTable_1_1.value, 2), key = _b[0], value = _b[1];
63
- if (value === id) {
64
- return key;
65
- }
66
- }
67
- }
68
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
69
- finally {
70
- try {
71
- if (diagboxTable_1_1 && !diagboxTable_1_1.done && (_a = diagboxTable_1.return)) _a.call(diagboxTable_1);
72
- }
73
- finally { if (e_1) throw e_1.error; }
74
- }
75
- return undefined;
63
+ return diagboxById.get(id);
76
64
  };
77
65
  exports.findInDiagboxTable = findInDiagboxTable;
78
66
  //# sourceMappingURL=sub-cell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sub-cell.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-cell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-cell.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-cell.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,7 @@ type TExtractedCodeBlock = {
2
2
  id: string;
3
3
  content: string;
4
4
  };
5
- /**
6
- * Clear all previously extracted code blocks.
7
- */
8
5
  export declare const ClearExtractedCodeBlocks: () => void;
9
- /**
10
- * Add a single extracted code block to the internal storage.
11
- */
12
6
  export declare const addExtractedCodeBlock: (item: TExtractedCodeBlock) => void;
13
7
  /**
14
8
  * Replace placeholder markers (<<id>> / <id>) with extracted code block content.
@@ -7,19 +7,13 @@ var common_2 = require("../../common");
7
7
  var placeholder_utils_1 = require("./placeholder-utils");
8
8
  var CODE_FENCE = '```';
9
9
  var CODE_FENCE_RE = /```/;
10
- var extractedCodeBlocks = [];
11
- /**
12
- * Clear all previously extracted code blocks.
13
- */
10
+ var extractedCodeBlocks = new Map();
14
11
  var ClearExtractedCodeBlocks = function () {
15
- extractedCodeBlocks = [];
12
+ extractedCodeBlocks.clear();
16
13
  };
17
14
  exports.ClearExtractedCodeBlocks = ClearExtractedCodeBlocks;
18
- /**
19
- * Add a single extracted code block to the internal storage.
20
- */
21
15
  var addExtractedCodeBlock = function (item) {
22
- extractedCodeBlocks.push(item);
16
+ extractedCodeBlocks.set(item.id, item.content);
23
17
  };
24
18
  exports.addExtractedCodeBlock = addExtractedCodeBlock;
25
19
  /**
@@ -28,37 +22,32 @@ exports.addExtractedCodeBlock = addExtractedCodeBlock;
28
22
  * Note: does NOT call getContent; callers should normalize once at the end.
29
23
  */
30
24
  var getExtractedCodeBlockContent = function (inputStr, i) {
31
- var _a;
32
25
  var resContent = inputStr;
33
26
  var cellM = (0, placeholder_utils_1.findPlaceholders)(resContent, i);
34
27
  if (!cellM) {
35
28
  return inputStr;
36
29
  }
37
- var _loop_1 = function (j) {
30
+ for (var j = 0; j < cellM.length; j++) {
38
31
  var placeholder = cellM[j];
39
32
  var id = (0, placeholder_utils_1.placeholderToId)(placeholder);
40
33
  if (!id) {
41
- return "continue";
34
+ continue;
42
35
  }
43
- var index = extractedCodeBlocks.findIndex(function (item) { return item.id === id; });
44
- if (index < 0) {
45
- return "continue";
36
+ if (!extractedCodeBlocks.has(id)) {
37
+ continue;
46
38
  }
39
+ var original = extractedCodeBlocks.get(id);
47
40
  var start = resContent.indexOf(placeholder);
48
41
  if (start === -1) {
49
- return "continue";
42
+ continue;
50
43
  }
51
- var original = (_a = extractedCodeBlocks[index].content) !== null && _a !== void 0 ? _a : "";
52
44
  var end = start + placeholder.length;
53
45
  // expand nested placeholders first
54
46
  var injected = (0, exports.getExtractedCodeBlockContent)(original, 0);
55
47
  // decide wrapping based on inline neighbors
56
- var _b = (0, placeholder_utils_1.getInlineContextAroundSpan)(resContent, start, end), beforeNonSpace = _b.beforeNonSpace, afterNonSpace = _b.afterNonSpace;
48
+ var _a = (0, placeholder_utils_1.getInlineContextAroundSpan)(resContent, start, end), beforeNonSpace = _a.beforeNonSpace, afterNonSpace = _a.afterNonSpace;
57
49
  injected = (0, placeholder_utils_1.wrapWithNewlinesIfInline)(injected, beforeNonSpace, afterNonSpace);
58
50
  resContent = resContent.slice(0, start) + injected + resContent.slice(end);
59
- };
60
- for (var j = 0; j < cellM.length; j++) {
61
- _loop_1(j);
62
51
  }
63
52
  return resContent;
64
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sub-code.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-code.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-code.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,17 @@
1
- type TSubMath = {
1
+ export declare const ClearSubMathLists: () => void;
2
+ export declare const mathTablePush: (idOrItem: string | {
2
3
  id: string;
3
4
  content: string;
4
- };
5
- export declare const ClearSubMathLists: () => void;
6
- export declare const mathTablePush: (item: TSubMath) => void;
5
+ }, content?: string) => void;
6
+ /** Replace UUID placeholders with original math content.
7
+ * Uses trimmed string for regex matching (consistent with getSubMath),
8
+ * but untrimmed sub for slicing to preserve original whitespace. */
7
9
  export declare const getMathTableContent: (sub: string, i: number) => string;
10
+ /**
11
+ * Extract math expressions from a string, replacing them with placeholders.
12
+ * Iterative single-pass: scans the original string once, collects non-math
13
+ * segments and placeholders into an array, joins at the end.
14
+ *
15
+ * `startPos` is a seek offset applied via `re.lastIndex` before scanning.
16
+ */
8
17
  export declare const getSubMath: (str: string, startPos?: number) => string;
9
- export {};
@@ -6,135 +6,174 @@ var mdPluginRaw_1 = require("../../mdPluginRaw");
6
6
  var utils_1 = require("../../utils");
7
7
  var sub_code_1 = require("./sub-code");
8
8
  var consts_1 = require("../../common/consts");
9
- var mathTable = [];
9
+ var RE_MATH_OPEN = /\\\\\[|\\\[|\\\\\(|\\\(|\$\$|\$|\\begin\{([^}]*)\}|eqref\{([^}]*)\}|ref\{([^}]*)\}/;
10
+ // Shared `/g`-flag scanner reused across calls — getSubMath is not reentrant
11
+ // (no recursion, no callbacks out), so we just reset lastIndex on entry.
12
+ var RE_MATH_OPEN_G = new RegExp(RE_MATH_OPEN.source, 'g');
13
+ var mathTable = new Map();
10
14
  var ClearSubMathLists = function () {
11
- mathTable = [];
15
+ mathTable.clear();
12
16
  };
13
17
  exports.ClearSubMathLists = ClearSubMathLists;
14
- var mathTablePush = function (item) {
15
- mathTable.push(item);
18
+ var mathTablePush = function (idOrItem, content) {
19
+ if (typeof idOrItem === 'string') {
20
+ mathTable.set(idOrItem, content);
21
+ }
22
+ else {
23
+ mathTable.set(idOrItem.id, idOrItem.content);
24
+ }
16
25
  };
17
26
  exports.mathTablePush = mathTablePush;
27
+ /** Replace UUID placeholders with original math content.
28
+ * Uses trimmed string for regex matching (consistent with getSubMath),
29
+ * but untrimmed sub for slicing to preserve original whitespace. */
18
30
  var getMathTableContent = function (sub, i) {
19
- var resContent = sub;
20
- sub = sub.trim();
21
- var cellM = sub.slice(i).match(consts_1.doubleCurlyBracketUuidPattern);
22
- cellM = cellM ? cellM : sub.slice(i).match(consts_1.singleCurlyBracketPattern);
31
+ var tail = sub.trim().slice(i);
32
+ var cellM = tail.match(consts_1.doubleCurlyBracketUuidPattern);
33
+ cellM = cellM ? cellM : tail.match(consts_1.singleCurlyBracketPattern);
23
34
  if (!cellM) {
24
35
  return '';
25
36
  }
26
- var _loop_1 = function (j) {
27
- var content = cellM[j].replace(/\{/g, '').replace(/\}/g, '');
28
- var index = mathTable.findIndex(function (item) { return item.id === content; });
29
- if (index >= 0) {
30
- var iB = resContent.indexOf(cellM[j]);
31
- resContent = resContent.slice(0, iB) + mathTable[index].content + resContent.slice(iB + cellM[j].length);
32
- }
33
- };
37
+ var parts = [];
38
+ var lastIdx = 0;
34
39
  for (var j = 0; j < cellM.length; j++) {
35
- _loop_1(j);
40
+ var id = cellM[j].replace(/\{/g, '').replace(/\}/g, '');
41
+ var mathContent = mathTable.get(id);
42
+ if (mathContent !== undefined) {
43
+ var iB = sub.indexOf(cellM[j], lastIdx);
44
+ if (iB >= 0) {
45
+ parts.push(sub.slice(lastIdx, iB));
46
+ parts.push(mathContent);
47
+ lastIdx = iB + cellM[j].length;
48
+ }
49
+ }
50
+ }
51
+ if (parts.length === 0) {
52
+ return (0, common_1.getContent)(sub);
36
53
  }
37
- resContent = (0, common_1.getContent)(resContent);
38
- return resContent;
54
+ parts.push(sub.slice(lastIdx));
55
+ return (0, common_1.getContent)(parts.join(''));
39
56
  };
40
57
  exports.getMathTableContent = getMathTableContent;
58
+ /**
59
+ * Returns the end marker for a matched opening marker.
60
+ * - string: end marker to search for (e.g. "\\]", "$")
61
+ * - null: self-closing match (eqref/ref) — no end marker needed, content = match itself
62
+ * - undefined: \begin{env} — caller must resolve via balanced tag search
63
+ */
64
+ var getEndMarker = function (matchStr, envGroup, eqrefGroup, refGroup) {
65
+ if (matchStr === "\\\\[")
66
+ return "\\\\]";
67
+ if (matchStr === "\\[")
68
+ return "\\]";
69
+ if (matchStr === "\\\\(")
70
+ return "\\\\)";
71
+ if (matchStr === "\\(")
72
+ return "\\)";
73
+ if (eqrefGroup !== undefined || refGroup !== undefined)
74
+ return null;
75
+ if (matchStr === "$$")
76
+ return "$$";
77
+ if (matchStr === "$")
78
+ return "$";
79
+ return undefined;
80
+ };
81
+ var shouldSkipDollar = function (str, marker, beginMarkerPos, endMarkerPos) {
82
+ var beforeEnd = str.charCodeAt(endMarkerPos - 1);
83
+ if (beforeEnd === 0x5c ||
84
+ (beginMarkerPos > 0 && str.charCodeAt(beginMarkerPos - 1) === 0x5c)) {
85
+ return true;
86
+ }
87
+ if (marker === "$") {
88
+ var afterStart = str.charCodeAt(beginMarkerPos + 1);
89
+ if (beforeEnd === 0x20 || beforeEnd === 0x09 || beforeEnd === 0x0a ||
90
+ afterStart === 0x20 || afterStart === 0x09 || afterStart === 0x0a) {
91
+ return true;
92
+ }
93
+ }
94
+ var suffix = str.charCodeAt(endMarkerPos + 1);
95
+ if (suffix >= 0x30 && suffix < 0x3a) {
96
+ return true;
97
+ }
98
+ return false;
99
+ };
100
+ /**
101
+ * Extract math expressions from a string, replacing them with placeholders.
102
+ * Iterative single-pass: scans the original string once, collects non-math
103
+ * segments and placeholders into an array, joins at the end.
104
+ *
105
+ * `startPos` is a seek offset applied via `re.lastIndex` before scanning.
106
+ */
41
107
  var getSubMath = function (str, startPos) {
42
- var _a, _b;
108
+ var _a;
43
109
  if (startPos === void 0) { startPos = 0; }
44
- var match = str
45
- .slice(startPos)
46
- .match(/(?:\\\\\[|\\\[|\\\\\(|\\\(|\$\$|\$|\\begin\{([^}]*)\}|eqref\{([^}]*)\}|ref\{([^}]*)\})/);
47
- var endMarkerPos = -1;
48
- if (match) {
49
- var beginMarkerPos = startPos + match.index;
110
+ var re = RE_MATH_OPEN_G;
111
+ re.lastIndex = startPos > 0 ? startPos : 0;
112
+ var parts = [];
113
+ var lastCopied = 0;
114
+ var match;
115
+ while ((match = re.exec(str)) !== null) {
116
+ var beginMarkerPos = match.index;
50
117
  var startMathPos = beginMarkerPos + match[0].length;
51
- var endMarker = void 0;
52
- if (match[0] === "\\\\[") {
53
- endMarker = "\\\\]";
118
+ var envGroup = match[1];
119
+ var endMarker = getEndMarker(match[0], envGroup, match[2], match[3]);
120
+ var endMarkerPos = -1;
121
+ if (endMarker === null) {
122
+ endMarkerPos = startMathPos;
123
+ endMarker = '';
54
124
  }
55
- else if (match[0] === "\\[") {
56
- endMarker = "\\]";
57
- }
58
- else if (match[0] === "\\\\(") {
59
- endMarker = "\\\\)";
60
- }
61
- else if (match[0] === "\\(") {
62
- endMarker = "\\)";
63
- }
64
- else if (match[0].includes("eqref")) {
65
- endMarker = "";
66
- }
67
- else if (match[0].includes("ref")) {
68
- endMarker = "";
69
- }
70
- else if (match[1] && match[1] !== 'abstract' && match[1] !== 'tabular') {
71
- var environment = match[1].trim();
72
- var openTag = (0, utils_1.beginTag)(environment, true);
73
- var closeTag = (0, utils_1.endTag)(environment, true);
74
- if (closeTag && openTag) {
75
- var data = (0, utils_1.findOpenCloseTagsMathEnvironment)(str.slice(startPos), openTag, closeTag);
76
- if ((_a = data === null || data === void 0 ? void 0 : data.arrClose) === null || _a === void 0 ? void 0 : _a.length) {
77
- endMarkerPos = startPos + ((_b = data.arrClose[data.arrClose.length - 1]) === null || _b === void 0 ? void 0 : _b.posStart);
125
+ else if (endMarker === undefined) {
126
+ if (envGroup && envGroup !== 'abstract' && envGroup !== 'tabular') {
127
+ var environment = envGroup.trim();
128
+ var openTag = (0, utils_1.beginTag)(environment, true);
129
+ var closeTag = (0, utils_1.endTag)(environment, true);
130
+ if (closeTag && openTag) {
131
+ var data = (0, utils_1.findOpenCloseTagsMathEnvironment)(str.slice(beginMarkerPos), openTag, closeTag);
132
+ var lastClose = ((_a = data === null || data === void 0 ? void 0 : data.arrClose) === null || _a === void 0 ? void 0 : _a.length) ? data.arrClose[data.arrClose.length - 1] : null;
133
+ if (lastClose && typeof lastClose.posStart === 'number') {
134
+ endMarkerPos = beginMarkerPos + lastClose.posStart;
135
+ }
136
+ endMarker = "\\end{".concat(envGroup, "}");
78
137
  }
79
- endMarker = "\\end{".concat(match[1], "}");
138
+ }
139
+ if (endMarker === undefined) {
140
+ continue;
80
141
  }
81
142
  }
82
- else if (match[0] === "$$") {
83
- endMarker = match[0];
84
- }
85
- else if (match[0] === "$") {
86
- endMarker = match[0];
143
+ if (endMarkerPos === -1) {
144
+ endMarkerPos = (0, mdPluginRaw_1.findEndMarkerPos)(str, endMarker, startMathPos);
87
145
  }
88
- endMarkerPos = endMarkerPos !== -1
89
- ? endMarkerPos
90
- : (0, mdPluginRaw_1.findEndMarkerPos)(str, endMarker, startMathPos);
91
146
  if (endMarkerPos === -1) {
92
- /** If the end marker is not found, it is necessary to search further, excluding the current marker. */
93
- str = (0, exports.getSubMath)(str, startMathPos);
94
- return str;
147
+ re.lastIndex = startMathPos;
148
+ continue;
95
149
  }
96
150
  if (match[0] === "$" || match[0] === "$$") {
97
- var beforeEndMarker = str.charCodeAt(endMarkerPos - 1);
98
- if (beforeEndMarker === 0x5c /* \ */ ||
99
- (beginMarkerPos > 0 && str.charCodeAt(beginMarkerPos - 1) === 0x5c /* \ */)) {
100
- /** If the marker is shielded, it is necessary to search further, excluding the current marker. */
101
- str = (0, exports.getSubMath)(str, startMathPos);
102
- return str;
103
- }
104
- if (match[0] === "$") {
105
- var afterStartMarker = str.charCodeAt(beginMarkerPos + 1);
106
- if (beforeEndMarker === 0x20 /* space */ ||
107
- beforeEndMarker === 0x09 /* \t */ ||
108
- beforeEndMarker === 0x0a /* \n */ ||
109
- afterStartMarker === 0x20 /* space */ ||
110
- afterStartMarker === 0x09 /* \t */ ||
111
- afterStartMarker === 0x0a /* \n */) {
112
- str = (0, exports.getSubMath)(str, startMathPos);
113
- return str;
114
- }
115
- }
116
- // Skip if closing $ is succeeded by a digit (eg $5 $10 ...)
117
- var suffix = str.charCodeAt(endMarkerPos + 1);
118
- if (suffix >= 0x30 && suffix < 0x3a) {
119
- str = (0, exports.getSubMath)(str, startMathPos);
120
- return str;
151
+ if (shouldSkipDollar(str, match[0], beginMarkerPos, endMarkerPos)) {
152
+ re.lastIndex = startMathPos;
153
+ continue;
121
154
  }
122
155
  }
123
156
  var nextPos = endMarkerPos + endMarker.length;
124
157
  var content = str.slice(beginMarkerPos, nextPos);
125
158
  var id = (0, common_1.generateUniqueId)();
126
- var isCodeEnv = match[1] && consts_1.LATEX_BLOCK_ENV.has(match[1]);
159
+ var isCodeEnv = !!(envGroup && consts_1.LATEX_BLOCK_ENV.has(envGroup));
127
160
  if (isCodeEnv) {
128
161
  (0, sub_code_1.addExtractedCodeBlock)({ id: id, content: content });
129
162
  }
130
163
  else {
131
- mathTable.push({ id: id, content: content });
164
+ (0, exports.mathTablePush)(id, content);
132
165
  }
133
166
  var placeholder = isCodeEnv ? "<<".concat(id, ">>") : "{".concat(id, "}");
134
- str = str.slice(0, startPos) + str.slice(startPos, beginMarkerPos) + placeholder + str.slice(endMarkerPos + endMarker.length);
135
- str = (0, exports.getSubMath)(str, startPos);
167
+ parts.push(str.slice(lastCopied, beginMarkerPos));
168
+ parts.push(placeholder);
169
+ lastCopied = nextPos;
170
+ re.lastIndex = nextPos;
171
+ }
172
+ if (parts.length === 0) {
173
+ return str;
136
174
  }
137
- return str;
175
+ parts.push(str.slice(lastCopied));
176
+ return parts.join('');
138
177
  };
139
178
  exports.getSubMath = getSubMath;
140
179
  //# sourceMappingURL=sub-math.js.map