@codemirror/language 6.10.5 → 6.10.6

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 6.10.6 (2024-11-29)
2
+
3
+ ### Bug fixes
4
+
5
+ Fix a crash in `StreamLanguage` when the input range is entirely before the editor viewport.
6
+
1
7
  ## 6.10.5 (2024-11-27)
2
8
 
3
9
  ### Bug fixes
package/dist/index.cjs CHANGED
@@ -2314,14 +2314,15 @@ class Parse {
2314
2314
  this.rangeIndex = 0;
2315
2315
  this.to = ranges[ranges.length - 1].to;
2316
2316
  let context = ParseContext.get(), from = ranges[0].from;
2317
- let { state, tree } = findStartInFragments(lang, fragments, from, ranges[ranges.length - 1].to, context === null || context === void 0 ? void 0 : context.state);
2317
+ let { state, tree } = findStartInFragments(lang, fragments, from, this.to, context === null || context === void 0 ? void 0 : context.state);
2318
2318
  this.state = state;
2319
2319
  this.parsedPos = this.chunkStart = from + tree.length;
2320
2320
  for (let i = 0; i < tree.children.length; i++) {
2321
2321
  this.chunks.push(tree.children[i]);
2322
2322
  this.chunkPos.push(tree.positions[i]);
2323
2323
  }
2324
- if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */) {
2324
+ if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */ &&
2325
+ ranges.some(r => r.from <= context.viewport.from && r.to >= context.viewport.from)) {
2325
2326
  this.state = this.lang.streamParser.startState(getIndentUnit(context.state));
2326
2327
  context.skipUntilInView(this.parsedPos, context.viewport.from);
2327
2328
  this.parsedPos = context.viewport.from;
package/dist/index.js CHANGED
@@ -2312,14 +2312,15 @@ class Parse {
2312
2312
  this.rangeIndex = 0;
2313
2313
  this.to = ranges[ranges.length - 1].to;
2314
2314
  let context = ParseContext.get(), from = ranges[0].from;
2315
- let { state, tree } = findStartInFragments(lang, fragments, from, ranges[ranges.length - 1].to, context === null || context === void 0 ? void 0 : context.state);
2315
+ let { state, tree } = findStartInFragments(lang, fragments, from, this.to, context === null || context === void 0 ? void 0 : context.state);
2316
2316
  this.state = state;
2317
2317
  this.parsedPos = this.chunkStart = from + tree.length;
2318
2318
  for (let i = 0; i < tree.children.length; i++) {
2319
2319
  this.chunks.push(tree.children[i]);
2320
2320
  this.chunkPos.push(tree.positions[i]);
2321
2321
  }
2322
- if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */) {
2322
+ if (context && this.parsedPos < context.viewport.from - 100000 /* C.MaxDistanceBeforeViewport */ &&
2323
+ ranges.some(r => r.from <= context.viewport.from && r.to >= context.viewport.from)) {
2323
2324
  this.state = this.lang.streamParser.startState(getIndentUnit(context.state));
2324
2325
  context.skipUntilInView(this.parsedPos, context.viewport.from);
2325
2326
  this.parsedPos = context.viewport.from;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codemirror/language",
3
- "version": "6.10.5",
3
+ "version": "6.10.6",
4
4
  "description": "Language support infrastructure for the CodeMirror code editor",
5
5
  "scripts": {
6
6
  "test": "cm-runtests",