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

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

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