mathpix-markdown-it 2.0.30 → 2.0.32

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 (85) hide show
  1. package/doc/changelog.md +22 -0
  2. package/es5/bundle.js +1 -1
  3. package/es5/context-menu.js +1 -1
  4. package/es5/index.js +1 -1
  5. package/lib/helpers/parse-mmd-element.js +28 -12
  6. package/lib/helpers/parse-mmd-element.js.map +1 -1
  7. package/lib/markdown/common/consts.d.ts +7 -2
  8. package/lib/markdown/common/consts.js +12 -7
  9. package/lib/markdown/common/consts.js.map +1 -1
  10. package/lib/markdown/common/list-markers.d.ts +25 -0
  11. package/lib/markdown/common/list-markers.js +134 -0
  12. package/lib/markdown/common/list-markers.js.map +1 -0
  13. package/lib/markdown/common/mmdRules.js +5 -0
  14. package/lib/markdown/common/mmdRules.js.map +1 -1
  15. package/lib/markdown/common/render-table-cell-content.d.ts +21 -1
  16. package/lib/markdown/common/render-table-cell-content.js +38 -3
  17. package/lib/markdown/common/render-table-cell-content.js.map +1 -1
  18. package/lib/markdown/md-block-rule/begin-tabular/common.d.ts +9 -0
  19. package/lib/markdown/md-block-rule/begin-tabular/common.js +41 -8
  20. package/lib/markdown/md-block-rule/begin-tabular/common.js.map +1 -1
  21. package/lib/markdown/md-block-rule/begin-tabular/index.d.ts +3 -0
  22. package/lib/markdown/md-block-rule/begin-tabular/index.js +22 -3
  23. package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
  24. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +7 -2
  25. package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
  26. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.d.ts +6 -2
  27. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +99 -16
  28. package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js.map +1 -1
  29. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.d.ts +22 -0
  30. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js +76 -0
  31. package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js.map +1 -0
  32. package/lib/markdown/md-block-rule/begin-tabular/sub-code.d.ts +3 -5
  33. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js +27 -19
  34. package/lib/markdown/md-block-rule/begin-tabular/sub-code.js.map +1 -1
  35. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +1 -1
  36. package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
  37. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.d.ts +5 -0
  38. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js +69 -59
  39. package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js.map +1 -1
  40. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +2 -1
  41. package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
  42. package/lib/markdown/md-block-rule/helper.d.ts +15 -0
  43. package/lib/markdown/md-block-rule/helper.js +86 -5
  44. package/lib/markdown/md-block-rule/helper.js.map +1 -1
  45. package/lib/markdown/md-inline-rule/core-inline.js +88 -63
  46. package/lib/markdown/md-inline-rule/core-inline.js.map +1 -1
  47. package/lib/markdown/md-inline-rule/tabular.js +12 -12
  48. package/lib/markdown/md-inline-rule/tabular.js.map +1 -1
  49. package/lib/markdown/md-latex-lists-env/index.js +8 -4
  50. package/lib/markdown/md-latex-lists-env/index.js.map +1 -1
  51. package/lib/markdown/md-latex-lists-env/latex-list-common.js +6 -2
  52. package/lib/markdown/md-latex-lists-env/latex-list-common.js.map +1 -1
  53. package/lib/markdown/md-latex-lists-env/latex-list-env-block.d.ts +11 -0
  54. package/lib/markdown/md-latex-lists-env/latex-list-env-block.js +222 -116
  55. package/lib/markdown/md-latex-lists-env/latex-list-env-block.js.map +1 -1
  56. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.d.ts +48 -0
  57. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js +247 -0
  58. package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js.map +1 -0
  59. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.d.ts +14 -0
  60. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js +137 -1
  61. package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js.map +1 -1
  62. package/lib/markdown/md-latex-lists-env/latex-list-items.js +1 -0
  63. package/lib/markdown/md-latex-lists-env/latex-list-items.js.map +1 -1
  64. package/lib/markdown/md-latex-lists-env/latex-list-tokens.js +1 -0
  65. package/lib/markdown/md-latex-lists-env/latex-list-tokens.js.map +1 -1
  66. package/lib/markdown/md-latex-lists-env/latex-list-types.d.ts +38 -2
  67. package/lib/markdown/md-latex-lists-env/latex-list-types.js.map +1 -1
  68. package/lib/markdown/md-latex-lists-env/re-level.d.ts +0 -4
  69. package/lib/markdown/md-latex-lists-env/re-level.js +4 -17
  70. package/lib/markdown/md-latex-lists-env/re-level.js.map +1 -1
  71. package/lib/markdown/md-latex-lists-env/render-latex-list-env.js +60 -6
  72. package/lib/markdown/md-latex-lists-env/render-latex-list-env.js.map +1 -1
  73. package/lib/markdown/md-renderer-rules/render-tabular.d.ts +26 -12
  74. package/lib/markdown/md-renderer-rules/render-tabular.js +288 -18
  75. package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
  76. package/lib/markdown/mdPluginRaw.js +3 -3
  77. package/lib/markdown/mdPluginRaw.js.map +1 -1
  78. package/lib/markdown/utils.d.ts +30 -0
  79. package/lib/markdown/utils.js +122 -1
  80. package/lib/markdown/utils.js.map +1 -1
  81. package/lib/styles/styles-lists.d.ts +1 -1
  82. package/lib/styles/styles-lists.js +1 -1
  83. package/lib/styles/styles-lists.js.map +1 -1
  84. package/package.json +1 -1
  85. package/pr-specs/2026-01-itemize-support-inside-tabular.md +149 -0
@@ -1 +1 @@
1
- {"version":3,"file":"core-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/core-inline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/core-inline.ts"],"names":[],"mappings":"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"}
@@ -3,30 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inlineTabular = void 0;
4
4
  var begin_tabular_1 = require("../md-block-rule/begin-tabular");
5
5
  var parse_tabular_1 = require("../md-block-rule/begin-tabular/parse-tabular");
6
+ var utils_1 = require("../utils");
7
+ var consts_1 = require("../common/consts");
6
8
  var inlineTabular = function (state, silent) {
7
9
  var _a;
8
10
  var startMathPos = state.pos;
9
11
  if (state.src.charCodeAt(startMathPos) !== 0x5c /* \ */) {
10
12
  return false;
11
13
  }
12
- var match = state.src
13
- .slice(++startMathPos)
14
- .match(/^(?:begin\s{0,}{tabular})/);
14
+ var src = state.src.slice(startMathPos);
15
+ var match = src
16
+ .match(consts_1.openTagTabular);
15
17
  if (!match) {
16
18
  return false;
17
19
  }
18
- var endMarker = '\\end{tabular}';
19
- var endMarkerPos = state.src
20
- .slice(startMathPos)
21
- .lastIndexOf(endMarker);
22
- if (endMarkerPos === -1) {
20
+ var block = (0, utils_1.findFirstTagContentWithNesting)(src, consts_1.BEGIN_TABULAR_INLINE_RE, consts_1.END_TABULAR_INLINE_RE).block;
21
+ if (!block) {
22
+ // there is no complete block
23
23
  return false;
24
24
  }
25
- endMarkerPos += startMathPos;
26
- var nextPos = endMarkerPos + endMarker.length;
25
+ var fullBlock = src.slice(block.open.posStart, block.close.posEnd);
26
+ var nextPos = startMathPos + block.close.posEnd;
27
27
  if (!silent) {
28
28
  var token = state.push("tabular_inline", "", 0);
29
- token.content = state.src.slice(startMathPos - 1, endMarkerPos + '\\end{tabular}'.length);
29
+ token.content = fullBlock;
30
30
  token.children = [];
31
31
  var cTabular = (0, begin_tabular_1.parseInlineTabular)(token.content);
32
32
  if (!cTabular) {
@@ -36,7 +36,7 @@ var inlineTabular = function (state, silent) {
36
36
  if (cTabular[i].type === 'inline') {
37
37
  continue;
38
38
  }
39
- var res = (0, parse_tabular_1.ParseTabular)(cTabular[i].content, 0, cTabular[i].align, state.md.options);
39
+ var res = (0, parse_tabular_1.ParseTabular)(cTabular[i].content, 0, cTabular[i].align, state.md.options, state.env.subTabular);
40
40
  for (var j = 0; j < res.length; j++) {
41
41
  var tok = res[j];
42
42
  if (tok.token === 'table_open' && ((_a = state.md.options) === null || _a === void 0 ? void 0 : _a.forDocx)) {
@@ -1 +1 @@
1
- {"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/tabular.ts"],"names":[],"mappings":";;;AACA,gEAAqG;AACrG,8EAA4E;AAErE,IAAM,aAAa,GAAe,UAAC,KAAK,EAAE,MAAM;;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;QACvD,OAAO,KAAK,CAAC;KACd;IACD,IAAM,KAAK,GAAG,KAAK,CAAC,GAAG;SACpB,KAAK,CAAC,EAAE,YAAY,CAAC;SACrB,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IACD,IAAM,SAAS,GAAE,gBAAgB,CAAC;IAClC,IAAI,YAAY,GAAG,KAAK,CAAC,GAAG;SACnB,KAAK,CAAC,YAAY,CAAC;SACnB,WAAW,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KACd;IACD,YAAY,IAAI,YAAY,CAAC;IAC7B,IAAM,OAAO,GAAG,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE;QACX,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,GAAC,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACxF,KAAK,CAAC,QAAQ,GAAE,EAAE,CAAC;QACnB,IAAM,QAAQ,GAAI,IAAA,kCAAkB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,KAAK,CAAA;SACb;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAC;gBAAC,SAAQ;aAAC;YAC5C,IAAM,GAAG,GAAgC,IAAA,4BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YAEnH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAG,CAAC,EAAE,EAAE;gBACpC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,KAAI,MAAA,KAAK,CAAC,EAAE,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAG;oBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;iBAC1C;gBACD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;wBACtB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACnE;yBAAM;wBACL,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;+BACpD,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;+BACpC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB;mCAC9C,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CACvG;wBACD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAClE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC5B;oBACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBACzB;qBAAM;oBACL,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,EAAE;wBACrC,GAAG,GAAG,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;qBAC/B;iBACF;gBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;KACF;IACD,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB"}
1
+ {"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/tabular.ts"],"names":[],"mappings":";;;AACA,gEAAqG;AACrG,8EAA4E;AAC5E,kCAA0D;AAC1D,2CAI0B;AAEnB,IAAM,aAAa,GAAe,UAAC,KAAK,EAAE,MAAM;;IACrD,IAAI,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC;IAC7B,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;QACvD,OAAO,KAAK,CAAC;KACd;IACD,IAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1C,IAAM,KAAK,GAAG,GAAG;SACd,KAAK,CAAC,uBAAc,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IACO,IAAA,KAAK,GAAK,IAAA,sCAA8B,EAAC,GAAG,EAAE,gCAAuB,EAAE,8BAAqB,CAAC,MAAxF,CAAyF;IACtG,IAAI,CAAC,KAAK,EAAE;QACV,6BAA6B;QAC7B,OAAO,KAAK,CAAC;KACd;IACD,IAAM,SAAS,GAAW,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAM,OAAO,GAAG,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAClD,IAAI,CAAC,MAAM,EAAE;QACX,IAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,KAAK,CAAC,QAAQ,GAAE,EAAE,CAAC;QACnB,IAAM,QAAQ,GAAI,IAAA,kCAAkB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,KAAK,CAAA;SACb;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAC;gBAAC,SAAQ;aAAC;YAC5C,IAAM,GAAG,GAAgC,IAAA,4BAAY,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAEzI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAG,CAAC,EAAE,EAAE;gBACpC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,GAAG,CAAC,KAAK,KAAK,YAAY,KAAI,MAAA,KAAK,CAAC,EAAE,CAAC,OAAO,0CAAE,OAAO,CAAA,EAAG;oBAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,CAAA;iBAC1C;gBACD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC1B,IAAI,QAAQ,GAAG,EAAE,CAAC;oBAClB,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;wBACtB,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;qBACnE;yBAAM;wBACL,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;+BACpD,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW;+BACpC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB;mCAC9C,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CACvG;wBACD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAClE,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;qBAC5B;oBACD,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;iBACzB;qBAAM;oBACL,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,EAAE;wBACrC,GAAG,GAAG,IAAA,kCAAkB,EAAC,GAAG,CAAC,CAAC;qBAC/B;iBACF;gBACD,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;KACF;IACD,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;IACpB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA5DW,QAAA,aAAa,iBA4DxB"}
@@ -8,6 +8,7 @@ var latex_list_env_inline_1 = require("./latex-list-env-inline");
8
8
  var renewcommand_2 = require("../md-inline-rule/renewcommand");
9
9
  var render_latex_list_env_1 = require("./render-latex-list-env");
10
10
  var list_state_1 = require("./list-state");
11
+ var common_1 = require("../common");
11
12
  /**
12
13
  * Markdown-it plugin that adds full LaTeX-style list environment support:
13
14
  * \begin{itemize} ... \end{itemize}
@@ -30,11 +31,14 @@ function pluginLatexListsEnv(md, options) {
30
31
  (0, re_level_1.clearItemizeLevelTokens)();
31
32
  var blockRuler = md.block.ruler;
32
33
  var inlineRuler = md.inline.ruler;
33
- blockRuler.after("list", "Lists", latex_list_env_block_1.Lists, md.options);
34
+ blockRuler.after("list", "Lists", latex_list_env_block_1.Lists, { alt: (0, common_1.getTerminatedRules)("Lists") });
34
35
  blockRuler.before("Lists", "ReNewCommand", renewcommand_1.ReNewCommand);
35
- inlineRuler.before('escape', 'list_begin_inline', latex_list_env_inline_1.listBeginInline);
36
- inlineRuler.before('list_begin_inline', 'renewcommand_inline', renewcommand_2.reNewCommandInLine);
37
- inlineRuler.after('list_begin_inline', 'list_setcounter_inline', latex_list_env_inline_1.listSetCounterInline);
36
+ // 1) Aggregator: full list env (nested) highest priority
37
+ inlineRuler.before('escape', 'latex_list_env_inline', latex_list_env_inline_1.latexListEnvInline);
38
+ // 2) Legacy rules (optional fallback for partial parsing)
39
+ inlineRuler.after('latex_list_env_inline', 'list_begin_inline', latex_list_env_inline_1.listBeginInline);
40
+ inlineRuler.before('latex_list_env_inline', 'renewcommand_inline', renewcommand_2.reNewCommandInLine);
41
+ inlineRuler.after('latex_list_env_inline', 'list_setcounter_inline', latex_list_env_inline_1.listSetCounterInline);
38
42
  inlineRuler.after('list_begin_inline', 'list_item_inline', latex_list_env_inline_1.listItemInline);
39
43
  inlineRuler.after('list_item_inline', 'list_close_inline', latex_list_env_inline_1.listCloseInline);
40
44
  var listRenderers = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/index.ts"],"names":[],"mappings":";;;AAGA,+DAA+C;AAC/C,uCAIoB;AACpB,8DAA6D;AAC7D,iEAKgC;AAChC,+DAAoE;AACpE,iEAQiC;AACjC,2CAA8C;AAE9C;;;;;;;;;;;;;GAaG;AACH,SAAwB,mBAAmB,CAAE,EAAc,EAAE,OAAO;IAClE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAA,2BAAc,GAAE,CAAC;IACjB,IAAA,iCAAsB,GAAE,CAAC;IACzB,IAAA,mCAAwB,GAAE,CAAC;IAC3B,IAAA,kCAAuB,GAAE,CAAC;IAC1B,IAAM,UAAU,GAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,IAAM,WAAW,GAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,4BAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IACrD,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,2BAAY,CAAC,CAAC;IACzD,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IACnE,WAAW,CAAC,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,iCAAkB,CAAC,CAAC;IACnF,WAAW,CAAC,KAAK,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,4CAAoB,CAAC,CAAC;IACvF,WAAW,CAAC,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,sCAAc,CAAC,CAAC;IAC3E,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IAC5E,IAAM,aAAa,GAAwC;QACzD,iBAAiB,EAAE,gDAAwB;QAC3C,mBAAmB,EAAE,kDAA0B;QAC/C,WAAW,EAAE,0CAAkB;QAC/B,kBAAkB,EAAE,iDAAyB;QAC7C,oBAAoB,EAAE,mDAA2B;QACjD,oBAAoB,EAAE,mDAA2B;QACjD,qBAAqB,EAAE,oDAA4B;KACpD,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;YAAZ,KAAA,qBAAY,EAAX,IAAI,QAAA,EAAE,IAAI,QAAA;QAChD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AA3BD,sCA2BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/index.ts"],"names":[],"mappings":";;;AAGA,+DAA+C;AAC/C,uCAIoB;AACpB,8DAA6D;AAC7D,iEAMgC;AAChC,+DAAoE;AACpE,iEAQiC;AACjC,2CAA8C;AAC9C,oCAA+C;AAE/C;;;;;;;;;;;;;GAaG;AACH,SAAwB,mBAAmB,CAAE,EAAc,EAAE,OAAO;IAClE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAA,2BAAc,GAAE,CAAC;IACjB,IAAA,iCAAsB,GAAE,CAAC;IACzB,IAAA,mCAAwB,GAAE,CAAC;IAC3B,IAAA,kCAAuB,GAAE,CAAC;IAC1B,IAAM,UAAU,GAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,IAAM,WAAW,GAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,4BAAK,EAAE,EAAC,GAAG,EAAE,IAAA,2BAAkB,EAAC,OAAO,CAAC,EAAC,CAAC,CAAC;IAC7E,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,2BAAY,CAAC,CAAC;IACzD,2DAA2D;IAC3D,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,0CAAkB,CAAC,CAAC;IAC1E,0DAA0D;IAC1D,WAAW,CAAC,KAAK,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IACjF,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,iCAAkB,CAAC,CAAC;IACvF,WAAW,CAAC,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,4CAAoB,CAAC,CAAC;IAC3F,WAAW,CAAC,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,sCAAc,CAAC,CAAC;IAC3E,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IAC5E,IAAM,aAAa,GAAwC;QACzD,iBAAiB,EAAE,gDAAwB;QAC3C,mBAAmB,EAAE,kDAA0B;QAC/C,WAAW,EAAE,0CAAkB;QAC/B,kBAAkB,EAAE,iDAAyB;QAC7C,oBAAoB,EAAE,mDAA2B;QACjD,oBAAoB,EAAE,mDAA2B;QACjD,qBAAqB,EAAE,oDAA4B;KACpD,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;YAAZ,KAAA,qBAAY,EAAX,IAAI,QAAA,EAAE,IAAI,QAAA;QAChD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AA9BD,sCA8BC"}
@@ -22,13 +22,17 @@ exports.getListTokenTypes = getListTokenTypes;
22
22
  * Apply state changes when opening a list environment.
23
23
  */
24
24
  var applyListOpenState = function (state, listType, token) {
25
- var _a;
25
+ var _a, _b;
26
26
  var isTopLevel = state.parentType !== "itemize" && state.parentType !== "enumerate";
27
+ var inheritedListType = (_a = state.env) === null || _a === void 0 ? void 0 : _a.inheritedListType;
28
+ var isInheritedListContext = inheritedListType === "itemize" || inheritedListType === "enumerate";
29
+ var isTopLevelList = isTopLevel && !isInheritedListContext;
27
30
  state.prentLevel = isTopLevel ? 0 : state.prentLevel + 1;
28
31
  state.parentType = listType;
29
- state.types = ((_a = state.types) === null || _a === void 0 ? void 0 : _a.length)
32
+ state.types = ((_b = state.types) === null || _b === void 0 ? void 0 : _b.length)
30
33
  ? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(state.types), false), [listType], false) : [listType];
31
34
  token.prentLevel = state.prentLevel;
35
+ token.isTopLevelList = isTopLevelList;
32
36
  // Register new list depth in internal list-level tracker
33
37
  (0, list_state_1.enterListLevel)();
34
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"latex-list-common.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/latex-list-common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"latex-list-common.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/latex-list-common.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,15 @@
1
1
  import type { RuleBlock } from 'markdown-it/lib/parser_block';
2
+ import { StateBlockLike } from "./latex-list-types";
3
+ /**
4
+ * Parse a LaTeX list environment starting at `startLine` and emit tokens into `state`.
5
+ *
6
+ * Notes:
7
+ * - The function is "strict": it returns false if the matching \end{...} is not found.
8
+ * - Works with any StateBlock-like object (real block state or synthetic state for inline reuse).
9
+ *
10
+ * @returns true if the environment was successfully parsed and closed, otherwise false.
11
+ */
12
+ export declare const ListsInternal: (state: StateBlockLike, startLine: number, endLine: number) => boolean;
2
13
  /**
3
14
  * Block rule that parses LaTeX list environments:
4
15
  * \begin{itemize} ... \end{itemize}
@@ -1,48 +1,59 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Lists = void 0;
3
+ exports.Lists = exports.ListsInternal = void 0;
4
+ var tslib_1 = require("tslib");
4
5
  var latex_list_tokens_1 = require("./latex-list-tokens");
5
6
  var latex_list_items_1 = require("./latex-list-items");
6
7
  var re_level_1 = require("./re-level");
7
8
  var latex_list_types_1 = require("./latex-list-types");
8
9
  var latex_list_common_1 = require("./latex-list-common");
10
+ var latex_list_env_engine_1 = require("./latex-list-env-engine");
9
11
  var consts_1 = require("../common/consts");
10
12
  /**
11
- * Try to handle an inline `\begin{lstlisting}` on the given line.
13
+ * Detects \begin{lstlisting} or \begin{tabular} on a line and enters an opaque env.
14
+ * - Uses `stack` to track nesting (tabular can nest, lstlisting cannot).
15
+ * - Text before \begin (including prefixes like \hline or & when nesting inside tabular) is preserved and added as normal list content.
16
+ * - From \begin... to end of line is appended as raw/opaque text.
12
17
  *
13
- * Behavior:
14
- * - If already inside a lstlisting environment (`envDepth > 0`), does nothing.
15
- * - If a `\begin{lstlisting}` is found:
16
- * - Text before the begin is appended either as a new list item (when it matches `itemTag`)
17
- * or concatenated to the previous item.
18
- * - Sets `envDepth` to 1 (entered lstlisting).
19
- * - Appends the substring starting at `\begin{lstlisting}` to the end of the line
20
- * as code content in the current item.
21
- *
22
- * The function does not mutate inputs; it returns the updated state.
23
- *
24
- * @param lineText The full text of the current line.
25
- * @param envDepth Current lstlisting nesting depth.
26
- * @param items Collected items so far (list builder state).
27
- * @param nextLine The current (next) line index used for item position metadata.
28
- * @param dStart Document start line offset to compute absolute positions.
29
- * @param itemTag RegExp to detect list item prefixes (e.g., `^\s*\\item`).
30
- * @returns Updated handling result with flags, depth, items, and original line text.
18
+ * @returns Updated { handled, stack, items, lineText }.
31
19
  */
32
- var handleLstBeginInline = function (lineText, envDepth, items, nextLine, dStart, itemTag) {
33
- // If already inside lstlisting, do nothing.
34
- if (envDepth > 0) {
35
- return { handled: false, envDepth: envDepth, items: items, lineText: lineText };
20
+ var handleLstBeginInline = function (lineText, stack, items, nextLine, dStart, itemTag) {
21
+ var top = stack[stack.length - 1];
22
+ // If we are inside lstlisting, ignore any begin markers.
23
+ if (top === "lstlisting") {
24
+ return { handled: false, stack: stack, items: items, lineText: lineText };
36
25
  }
37
- var mb = consts_1.BEGIN_LST_INLINE_RE.exec(lineText);
38
- if (!mb) {
39
- return { handled: false, envDepth: envDepth, items: items, lineText: lineText };
26
+ // Reset regex lastIndex (important if /g/)
27
+ consts_1.BEGIN_LST_INLINE_RE.lastIndex = 0;
28
+ consts_1.BEGIN_TABULAR_INLINE_RE.lastIndex = 0;
29
+ var mbLst = consts_1.BEGIN_LST_INLINE_RE.exec(lineText);
30
+ var mbTab = consts_1.BEGIN_TABULAR_INLINE_RE.exec(lineText);
31
+ // If we are inside tabular, allow only nested tabular
32
+ if (top === "tabular") {
33
+ if (!mbTab)
34
+ return { handled: false, stack: stack, items: items, lineText: lineText };
35
+ // keep the prefix before \begin{tabular} (e.g. "\hline " or " & ")
36
+ var prefix = lineText.slice(0, mbTab.index);
37
+ var beginAndRest = lineText.slice(mbTab.index);
38
+ // open nested tabular
39
+ stack = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(stack), false), ["tabular"], false);
40
+ if (prefix.length > 0) {
41
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, prefix, nextLine);
42
+ }
43
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, beginAndRest, nextLine);
44
+ return { handled: true, stack: stack, items: items, lineText: lineText };
40
45
  }
46
+ // If stack is empty:
47
+ if (!mbLst && !mbTab)
48
+ return { handled: false, stack: stack, items: items, lineText: lineText };
49
+ // Choose earliest begin if both exist
50
+ var mb = mbLst && mbTab
51
+ ? (mbLst.index <= mbTab.index ? mbLst : mbTab)
52
+ : (mbLst || mbTab);
53
+ var openedType = mb === mbLst ? "lstlisting" : "tabular";
41
54
  var beginIndex = mb.index;
42
- // Is there text BEFORE \begin{lstlisting} ?
43
- var before = lineText.slice(0, beginIndex).trimEnd();
44
- var afterBegin = lineText.slice(beginIndex); // start from \begin...
45
- // If there was something before begin, it was regular text/part of \item:
55
+ var before = lineText.slice(0, beginIndex);
56
+ var afterBegin = lineText.slice(beginIndex);
46
57
  if (before.length > 0) {
47
58
  if (itemTag.test(before)) {
48
59
  items = (0, latex_list_items_1.ItemsListPush)(items, before, nextLine + dStart, nextLine + dStart);
@@ -51,96 +62,147 @@ var handleLstBeginInline = function (lineText, envDepth, items, nextLine, dStart
51
62
  items = (0, latex_list_items_1.ItemsAddToPrev)(items, before, nextLine);
52
63
  }
53
64
  }
54
- envDepth = 1; //entered lstlisting
55
- items = (0, latex_list_items_1.ItemsAddToPrev)(items, afterBegin, nextLine); //The part from \begin{lstlisting} to the end of the line is considered a code string.
56
- return { handled: true, envDepth: envDepth, items: items, lineText: lineText };
65
+ stack = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(stack), false), [openedType], false);
66
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, afterBegin, nextLine);
67
+ return { handled: true, stack: stack, items: items, lineText: lineText };
57
68
  };
58
69
  /**
59
- * Try to handle an inline `\end{lstlisting}` on the current line.
70
+ * Detects \end{...} for the current opaque env (stack top).
71
+ * - If not found, appends the full raw line (keeps indentation) as opaque text.
72
+ * - If found, appends up to end marker, pops stack, and returns tail (if any).
60
73
  *
61
- * Behavior:
62
- * - If not inside an lstlisting environment (`envDepth === 0`), does nothing.
63
- * - If no end marker is found on this line, appends the full line (with original leading whitespace)
64
- * to the current item and reports `handled: true` (still inside the env).
65
- * - If an end marker is present:
66
- * - Appends everything up to `\end{...}` (plus the end token itself) to the current item.
67
- * - Resets `envDepth` to 0 (leaves lstlisting).
68
- * - If there is trailing text after the end token, returns it in `lineText` so the caller
69
- * can continue processing the remainder of the line; otherwise returns an empty `lineText`.
70
- *
71
- * The function does not mutate inputs; it returns the updated state.
72
- *
73
- * @param lineText Current line text (may contain `\end{lstlisting}`).
74
- * @param envDepth Current lstlisting nesting depth (0 if outside).
75
- * @param items Accumulated items list (list builder state).
76
- * @param nextLine Line index used for item position metadata.
77
- * @param state Markdown-It state (used to read the original line with indentation).
78
- * @returns Updated result with flags, depth, items, and remaining line text (if any).
74
+ * @returns Updated { handled, stack, items, lineText }.
79
75
  */
80
- var handleLstEndInline = function (lineText, envDepth, items, nextLine, state) {
76
+ var handleLstEndInline = function (lineText, stack, items, nextLine, state) {
81
77
  var _a;
82
- // If we are not inside lstlisting, we exit
83
- if (envDepth === 0) {
84
- return { handled: false, envDepth: envDepth, items: items, lineText: lineText };
78
+ var top = stack[stack.length - 1];
79
+ if (!top) {
80
+ return { handled: false, stack: stack, items: items, lineText: lineText };
85
81
  }
86
- var me = consts_1.END_LST_INLINE_RE.exec(lineText);
82
+ var endRe = top === "lstlisting"
83
+ ? consts_1.END_LST_INLINE_RE
84
+ : consts_1.END_TABULAR_INLINE_RE;
85
+ endRe.lastIndex = 0;
86
+ var me = endRe.exec(lineText);
87
87
  if (!me) {
88
- // There is no end of environment - just add the line as is
89
- lineText = state.src.slice(state.bMarks[nextLine], state.eMarks[nextLine]); // It is important to take into account the leading whitespace characters.
90
- items = (0, latex_list_items_1.ItemsAddToPrev)(items, lineText, nextLine);
91
- return { handled: true, envDepth: envDepth, items: items, lineText: lineText };
88
+ // still inside opaque env append raw line with indentation
89
+ var rawLine = state.src.slice(state.bMarks[nextLine], state.eMarks[nextLine]);
90
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, rawLine, nextLine);
91
+ return { handled: true, stack: stack, items: items, lineText: lineText };
92
92
  }
93
- // There is an end of environment in this line
94
93
  var endIndex = me.index;
95
94
  var endToken = lineText.slice(endIndex, endIndex + me[0].length);
96
95
  var beforeEnd = lineText.slice(0, endIndex);
97
96
  var afterEnd = lineText.slice(endIndex + me[0].length);
98
- // Everything up to \end{...} is a continuation of the code
97
+ // Append code continuation
99
98
  if (beforeEnd.length > 0) {
100
- items = (0, latex_list_items_1.ItemsAddToPrev)(items, beforeEnd + '\n' + endToken, nextLine);
99
+ var glue = top === "lstlisting" ? "\n" : "";
100
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, beforeEnd + glue + endToken, nextLine);
101
101
  }
102
102
  else {
103
103
  items = (0, latex_list_items_1.ItemsAddToPrev)(items, endToken, nextLine);
104
104
  }
105
- envDepth = 0; // Exit lstlisting
105
+ // pop matching env
106
+ stack = stack.slice(0, -1);
107
+ // If nothing meaningful after end tag, consume line
106
108
  if (!((_a = afterEnd === null || afterEnd === void 0 ? void 0 : afterEnd.trim()) === null || _a === void 0 ? void 0 : _a.length)) {
107
- return { handled: true, envDepth: envDepth, items: items, lineText: '' };
109
+ return { handled: true, stack: stack, items: items, lineText: "" };
108
110
  }
109
- return { handled: false, envDepth: envDepth, items: items, lineText: afterEnd };
111
+ // return remainder to be parsed normally
112
+ return { handled: false, stack: stack, items: items, lineText: afterEnd };
110
113
  };
111
114
  /**
112
- * Block rule that parses LaTeX list environments:
113
- * \begin{itemize} ... \end{itemize}
114
- * \begin{enumerate} ... \end{enumerate}
115
+ * Processes "opaque" inline environments inside list parsing (currently: tabular, lstlisting).
115
116
  *
116
- * It:
117
- * - detects list begin/end commands,
118
- * - collects and splits \item content into logical items,
119
- * - handles \setcounter and nested lists on the same line,
120
- * - emits corresponding *_list_open, *_list_close, and list item tokens.
117
+ * The function may:
118
+ * - fully consume the current source line (appending it to `items` as raw text), OR
119
+ * - close an opaque env and return a remaining tail to be parsed again on the same line
120
+ * (e.g. `\end{tabular} & \begin{tabular}{l}`).
121
+ *
122
+ * Uses a guard to prevent infinite loops on malformed input.
121
123
  */
122
- var Lists = function (state, startLine, endLine, silent) {
124
+ var processOpaqueLine = function (params) {
125
+ var lineText = params.lineText, stack = params.stack, items = params.items, nextLine = params.nextLine, state = params.state, renderStart = params.renderStart;
126
+ var guard = 0;
127
+ while (guard++ < 50) {
128
+ var top_1 = stack[stack.length - 1];
129
+ if (top_1) {
130
+ // -------- inside opaque --------
131
+ if (top_1 === "tabular") {
132
+ consts_1.END_TABULAR_INLINE_RE.lastIndex = 0;
133
+ consts_1.BEGIN_TABULAR_INLINE_RE.lastIndex = 0;
134
+ var me = consts_1.END_TABULAR_INLINE_RE.exec(lineText);
135
+ var mb = consts_1.BEGIN_TABULAR_INLINE_RE.exec(lineText);
136
+ // close if end exists before begin (or begin missing)
137
+ if (me && (!mb || me.index <= mb.index)) {
138
+ var endRes_1 = handleLstEndInline(lineText, stack, items, nextLine, state);
139
+ stack = endRes_1.stack;
140
+ items = endRes_1.items;
141
+ if (endRes_1.handled) {
142
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
143
+ }
144
+ // got tail → keep parsing same line
145
+ lineText = endRes_1.lineText;
146
+ continue;
147
+ }
148
+ // otherwise if begin exists, open nested tabular
149
+ if (mb) {
150
+ var beginRes_1 = handleLstBeginInline(lineText, stack, items, nextLine, renderStart, consts_1.LATEX_ITEM_COMMAND_INLINE_RE);
151
+ stack = beginRes_1.stack;
152
+ items = beginRes_1.items;
153
+ if (beginRes_1.handled) {
154
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
155
+ }
156
+ lineText = beginRes_1.lineText;
157
+ continue;
158
+ }
159
+ // plain opaque line inside tabular:
160
+ // preserve indentation unless this is a tail
161
+ var rawLine = state.src.slice(state.bMarks[nextLine], state.eMarks[nextLine]);
162
+ var rawLineNoIndent = state.src.slice(state.bMarks[nextLine] + state.tShift[nextLine], state.eMarks[nextLine]);
163
+ var toAppend = (lineText !== rawLineNoIndent) ? lineText : rawLine;
164
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, toAppend, nextLine);
165
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
166
+ }
167
+ // other opaque (lstlisting): only try to end
168
+ var endRes = handleLstEndInline(lineText, stack, items, nextLine, state);
169
+ stack = endRes.stack;
170
+ items = endRes.items;
171
+ if (endRes.handled) {
172
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
173
+ }
174
+ lineText = endRes.lineText;
175
+ continue;
176
+ }
177
+ // not inside opaque: try to begin
178
+ var beginRes = handleLstBeginInline(lineText, stack, items, nextLine, renderStart, consts_1.LATEX_ITEM_COMMAND_INLINE_RE);
179
+ stack = beginRes.stack;
180
+ items = beginRes.items;
181
+ if (beginRes.handled) {
182
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
183
+ }
184
+ lineText = beginRes.lineText;
185
+ return { consumedLine: false, lineText: lineText, stack: stack, items: items };
186
+ }
187
+ // safety: if guard exceeded, treat as consumed to avoid infinite loop
188
+ items = (0, latex_list_items_1.ItemsAddToPrev)(items, lineText, nextLine);
189
+ return { consumedLine: true, lineText: lineText, stack: stack, items: items };
190
+ };
191
+ /**
192
+ * Parse a LaTeX list environment starting at `startLine` and emit tokens into `state`.
193
+ *
194
+ * Notes:
195
+ * - The function is "strict": it returns false if the matching \end{...} is not found.
196
+ * - Works with any StateBlock-like object (real block state or synthetic state for inline reuse).
197
+ *
198
+ * @returns true if the environment was successfully parsed and closed, otherwise false.
199
+ */
200
+ var ListsInternal = function (state, startLine, endLine) {
123
201
  var _a, _b;
124
202
  var _c, _d, _e;
125
203
  var pos = state.bMarks[startLine] + state.tShift[startLine];
126
204
  var max = state.eMarks[startLine];
127
205
  var lineText = state.src.slice(pos, max);
128
- // Must start with backslash to be LaTeX command
129
- if (lineText.charCodeAt(0) !== 0x5c /* '\' */) {
130
- return false;
131
- }
132
- var match = lineText.match(consts_1.BEGIN_LIST_ENV_RE);
133
- if (!match) {
134
- return false;
135
- }
136
- var typeList = match[1].trim();
137
- if (!(0, latex_list_types_1.isListType)(typeList)) {
138
- return false;
139
- }
140
- // In silent mode: only report that this block can start; do not modify state or emit tokens.
141
- if (silent) {
142
- return true;
143
- }
144
206
  var renderStart = state.md.options.renderElement && state.md.options.renderElement.startLine
145
207
  ? Number(state.md.options.renderElement.startLine)
146
208
  : 0;
@@ -167,33 +229,29 @@ var Lists = function (state, startLine, endLine, silent) {
167
229
  }
168
230
  var items = [];
169
231
  var haveClose = false;
170
- var envDepth = 0; // >0 — inside lstlisting environment
232
+ var opaqueStack = [];
171
233
  for (; nextLine < endLine; nextLine++) {
172
234
  pos = state.bMarks[nextLine] + state.tShift[nextLine];
173
235
  max = state.eMarks[nextLine];
174
236
  lineText = state.src.slice(pos, max);
175
- // 1) If you are NOT currently inside lstlisting, first search for \begin{lstlisting}
176
- if (envDepth === 0) {
177
- var beginRes = handleLstBeginInline(lineText, envDepth, items, nextLine, renderStart, consts_1.LATEX_ITEM_COMMAND_INLINE_RE);
178
- envDepth = beginRes.envDepth;
179
- if (beginRes.handled) {
180
- continue; // this line is already fully processed
181
- }
182
- lineText = beginRes.lineText;
183
- }
184
- // 2) If inside lstlisting, look for \end{lstlisting}
185
- if (envDepth > 0) {
186
- var endRes = handleLstEndInline(lineText, envDepth, items, nextLine, state);
187
- envDepth = endRes.envDepth;
188
- items = endRes.items;
189
- if (endRes.handled) {
190
- continue;
191
- }
192
- lineText = endRes.lineText;
237
+ // Handle opaque envs; may consume the line or return a tail to re-parse.
238
+ var opaqueRes = processOpaqueLine({
239
+ lineText: lineText,
240
+ stack: opaqueStack,
241
+ items: items,
242
+ nextLine: nextLine,
243
+ state: state,
244
+ renderStart: renderStart
245
+ });
246
+ opaqueStack = opaqueRes.stack;
247
+ items = opaqueRes.items;
248
+ lineText = opaqueRes.lineText;
249
+ if (opaqueRes.consumedLine) {
250
+ continue;
193
251
  }
194
252
  // Handle \setcounter lines
195
253
  if (consts_1.reSetCounter.test(lineText)) {
196
- match = lineText.match(consts_1.reSetCounter);
254
+ var match = lineText.match(consts_1.reSetCounter);
197
255
  if (match && ((_d = state.md.options) === null || _d === void 0 ? void 0 : _d.forLatex)) {
198
256
  var token = state.push("setcounter", "", 0);
199
257
  token.latex = match[0].trim();
@@ -277,10 +335,9 @@ var Lists = function (state, startLine, endLine, silent) {
277
335
  }
278
336
  }
279
337
  if (!haveClose) {
338
+ // Strict mode: do not emit partial tokens (important for inline env wrapper).
280
339
  // No explicit \end{itemize}/\end{enumerate} found — flush remaining items
281
- console.log("NOT CLOSE TAG.");
282
- (0, latex_list_items_1.ListItemsBlock)(state, items);
283
- li = null;
340
+ return false;
284
341
  }
285
342
  state.line = nextLine;
286
343
  state.startLine = startLine;
@@ -291,5 +348,54 @@ var Lists = function (state, startLine, endLine, silent) {
291
348
  }
292
349
  return true;
293
350
  };
351
+ exports.ListsInternal = ListsInternal;
352
+ /**
353
+ * Block rule that parses LaTeX list environments:
354
+ * \begin{itemize} ... \end{itemize}
355
+ * \begin{enumerate} ... \end{enumerate}
356
+ *
357
+ * It:
358
+ * - detects list begin/end commands,
359
+ * - collects and splits \item content into logical items,
360
+ * - handles \setcounter and nested lists on the same line,
361
+ * - emits corresponding *_list_open, *_list_close, and list item tokens.
362
+ */
363
+ var Lists = function (state, startLine, endLine, silent) {
364
+ var pos = state.bMarks[startLine] + state.tShift[startLine];
365
+ var max = state.eMarks[startLine];
366
+ var lineText = state.src.slice(pos, max);
367
+ // Must start with backslash to be LaTeX command
368
+ if (lineText.charCodeAt(0) !== 0x5c /* '\' */) {
369
+ return false;
370
+ }
371
+ var match = lineText.match(consts_1.BEGIN_LIST_ENV_RE);
372
+ if (!match) {
373
+ return false;
374
+ }
375
+ var typeList = match[1].trim();
376
+ if (!(0, latex_list_types_1.isListType)(typeList)) {
377
+ return false;
378
+ }
379
+ // Buffer tokens first (do not write into the real state during parsing)
380
+ var bufferedState = (0, latex_list_env_engine_1.createBufferedState)(state);
381
+ // Run the original logic on bufferedState instead of state
382
+ var ok = (0, exports.ListsInternal)(bufferedState, startLine, endLine); // we'll define it
383
+ if (!ok)
384
+ return false;
385
+ // In silent mode: only report that this block can start; do not modify state or emit tokens.
386
+ if (silent) {
387
+ return true;
388
+ }
389
+ // Flush tokens to the real state at the end
390
+ (0, latex_list_env_engine_1.flushBufferedTokens)(state, bufferedState.tokens);
391
+ // Sync state fields modified by parsing
392
+ state.line = bufferedState.line;
393
+ state.startLine = bufferedState.startLine;
394
+ state.parentType = bufferedState.parentType;
395
+ state.level = bufferedState.level;
396
+ state.prentLevel = bufferedState.prentLevel;
397
+ state.env = bufferedState.env;
398
+ return true;
399
+ };
294
400
  exports.Lists = Lists;
295
401
  //# sourceMappingURL=latex-list-env-block.js.map