提交 e50d2903 编写于 作者: A Alex Dima

Fixes #10047: include `rangeOffset` in `TextDocumentContentChangeEvent`

上级 f26b9ef4
......@@ -1152,6 +1152,5 @@ export class ApplyEditsResult {
*/
export interface IInternalModelContentChange extends IModelContentChange {
range: Range;
rangeOffset: number;
forceMoveMarkers: boolean;
}
......@@ -386,10 +386,11 @@ export class TextModel extends Disposable implements model.ITextModel {
this.setValueFromTextBuffer(textBuffer);
}
private _createContentChanged2(startLineNumber: number, startColumn: number, endLineNumber: number, endColumn: number, rangeLength: number, text: string, isUndoing: boolean, isRedoing: boolean, isFlush: boolean): IModelContentChangedEvent {
private _createContentChanged2(range: Range, rangeOffset: number, rangeLength: number, text: string, isUndoing: boolean, isRedoing: boolean, isFlush: boolean): IModelContentChangedEvent {
return {
changes: [{
range: new Range(startLineNumber, startColumn, endLineNumber, endColumn),
range: range,
rangeOffset: rangeOffset,
rangeLength: rangeLength,
text: text,
}],
......@@ -435,7 +436,7 @@ export class TextModel extends Disposable implements model.ITextModel {
false,
false
),
this._createContentChanged2(1, 1, endLineNumber, endColumn, oldModelValueLength, this.getValue(), false, false, true)
this._createContentChanged2(new Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, true)
);
}
......@@ -466,7 +467,7 @@ export class TextModel extends Disposable implements model.ITextModel {
false,
false
),
this._createContentChanged2(1, 1, endLineNumber, endColumn, oldModelValueLength, this.getValue(), false, false, false)
this._createContentChanged2(new Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, false)
);
}
......
......@@ -32,6 +32,10 @@ export interface IModelContentChange {
* The range that got replaced.
*/
readonly range: IRange;
/**
* The offset of the range that got replaced.
*/
readonly rangeOffset: number;
/**
* The length of the range that got replaced.
*/
......
......@@ -2196,6 +2196,10 @@ declare namespace monaco.editor {
* The range that got replaced.
*/
readonly range: IRange;
/**
* The offset of the range that got replaced.
*/
readonly rangeOffset: number;
/**
* The length of the range that got replaced.
*/
......
......@@ -5511,6 +5511,10 @@ declare module 'vscode' {
* The range that got replaced.
*/
range: Range;
/**
* The offset of the range that got replaced.
*/
rangeOffset: number;
/**
* The length of the range that got replaced.
*/
......
......@@ -137,6 +137,7 @@ export class ExtHostDocuments implements ExtHostDocumentsShape {
contentChanges: events.changes.map((change) => {
return {
range: TypeConverters.toRange(change.range),
rangeOffset: change.rangeOffset,
rangeLength: change.rangeLength,
text: change.text
};
......
......@@ -101,6 +101,7 @@ suite('ExtHostDocumentData', () => {
data.onEvents({
changes: [{
range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 },
rangeOffset: undefined,
rangeLength: undefined,
text: '\t '
}],
......@@ -157,6 +158,7 @@ suite('ExtHostDocumentData', () => {
data.onEvents({
changes: [{
range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
rangeOffset: undefined,
rangeLength: undefined,
text: ''
}],
......@@ -174,6 +176,7 @@ suite('ExtHostDocumentData', () => {
data.onEvents({
changes: [{
range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
rangeOffset: undefined,
rangeLength: undefined,
text: 'is could be'
}],
......@@ -191,6 +194,7 @@ suite('ExtHostDocumentData', () => {
data.onEvents({
changes: [{
range: { startLineNumber: 1, startColumn: 3, endLineNumber: 1, endColumn: 6 },
rangeOffset: undefined,
rangeLength: undefined,
text: 'is could be\na line with number'
}],
......@@ -211,6 +215,7 @@ suite('ExtHostDocumentData', () => {
data.onEvents({
changes: [{
range: { startLineNumber: 1, startColumn: 3, endLineNumber: 2, endColumn: 6 },
rangeOffset: undefined,
rangeLength: undefined,
text: ''
}],
......@@ -344,6 +349,7 @@ suite('ExtHostDocumentData updates line mapping', () => {
return {
changes: [{
range: range,
rangeOffset: undefined,
rangeLength: undefined,
text: text
}],
......
......@@ -302,6 +302,7 @@ suite('ExtHostDocumentSaveParticipant', () => {
documents.$acceptModelChanged(resource, {
changes: [{
range: { startLineNumber: 1, startColumn: 1, endLineNumber: 1, endColumn: 1 },
rangeOffset: undefined,
rangeLength: undefined,
text: 'bar'
}],
......@@ -337,6 +338,7 @@ suite('ExtHostDocumentSaveParticipant', () => {
changes: [{
range,
text,
rangeOffset: undefined,
rangeLength: undefined,
}],
eol: undefined,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册