215
return { changes: [] };
216
}
218
>
const ranges: { fromLineNumber: number; toLineNumber: number }[] = [];
219
>
220
>
for (let i = 0, len = tokens.length; i < len; i++) {
221
>
const element = tokens[i];
222
>
let minChangedLineNumber = 0;
223
>
let maxChangedLineNumber = 0;
224
>
let hasChange = false;
225
>
for (let lineNumber = element.startLineNumber; lineNumber <= element.endLineNumber; lineNumber++) {
226
>
if (hasChange) {
227
this.setTokens(textModel.getLanguageId(), lineNumber - 1, textModel.getLineLength(lineNumber), element.getLineTokens(lineNumber), false);
228
maxChangedLineNumber = lineNumber;
230
>
const lineHasChange = this.setTokens(textModel.getLanguageId(), lineNumber - 1, textModel.getLineLength(lineNumber), element.getLineTokens(lineNumber), true);
231
>
if (lineHasChange) {
232
>
hasChange = true;
233
>
minChangedLineNumber = lineNumber;
234
>
maxChangedLineNumber = lineNumber;
235
>
}
236
>
}
237
>
}
238
>
if (hasChange) {
239
>
ranges.push({ fromLineNumber: minChangedLineNumber, toLineNumber: maxChangedLineNumber, });
240
>
}
241
>
}
242
>
243
>
return { changes: ranges };
244
}
245
}