mirror of
https://github.com/Microsoft/vscode
synced 2024-10-12 22:37:41 +00:00
Avoid allocating for getWhitespaces() call
This commit is contained in:
parent
4e8f42499d
commit
9c0ac421fc
|
@ -16,7 +16,7 @@ import * as editorCommon from 'vs/editor/common/editorCommon';
|
|||
import { IIdentifiedSingleEditOperation, IModelDecoration, IModelDeltaDecoration, ITextModel, ICursorStateComputer } from 'vs/editor/common/model';
|
||||
import { IModelContentChangedEvent, IModelDecorationsChangedEvent, IModelLanguageChangedEvent, IModelLanguageConfigurationChangedEvent, IModelOptionsChangedEvent } from 'vs/editor/common/model/textModelEvents';
|
||||
import { OverviewRulerZone } from 'vs/editor/common/view/overviewZoneManager';
|
||||
import { EditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IDiffComputationResult } from 'vs/editor/common/services/editorWorkerService';
|
||||
|
||||
|
@ -672,7 +672,7 @@ export interface ICodeEditor extends editorCommon.IEditor {
|
|||
* Get the view zones.
|
||||
* @internal
|
||||
*/
|
||||
getWhitespaces(): EditorWhitespace[];
|
||||
getWhitespaces(): IEditorWhitespace[];
|
||||
|
||||
/**
|
||||
* Get the vertical position (top offset) for the line w.r.t. to the first line.
|
||||
|
|
|
@ -13,7 +13,7 @@ import { ViewContext } from 'vs/editor/common/view/viewContext';
|
|||
import * as viewEvents from 'vs/editor/common/view/viewEvents';
|
||||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import { IWhitespaceChangeAccessor, EditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IWhitespaceChangeAccessor, IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
|
||||
export interface IMyViewZone {
|
||||
whitespaceId: string;
|
||||
|
@ -75,7 +75,7 @@ export class ViewZones extends ViewPart {
|
|||
|
||||
private _recomputeWhitespacesProps(): boolean {
|
||||
const whitespaces = this._context.viewLayout.getWhitespaces();
|
||||
const oldWhitespaces = new Map<string, EditorWhitespace>();
|
||||
const oldWhitespaces = new Map<string, IEditorWhitespace>();
|
||||
for (const whitespace of whitespaces) {
|
||||
oldWhitespaces.set(whitespace.id, whitespace);
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ export class ViewZones extends ViewPart {
|
|||
const zone = this._zones[id];
|
||||
const props = this._computeWhitespaceProps(zone.delegate);
|
||||
const oldWhitespace = oldWhitespaces.get(id);
|
||||
if (oldWhitespace && (oldWhitespace.afterLineNumber !== props.afterViewLineNumber || oldWhitespace.heightInPx !== props.heightInPx)) {
|
||||
if (oldWhitespace && (oldWhitespace.afterLineNumber !== props.afterViewLineNumber || oldWhitespace.height !== props.heightInPx)) {
|
||||
whitespaceAccessor.changeOneWhitespace(id, props.afterViewLineNumber, props.heightInPx);
|
||||
this._safeCallOnComputedHeight(zone.delegate, props.heightInPx);
|
||||
hadAChange = true;
|
||||
|
|
|
@ -40,7 +40,7 @@ import * as modes from 'vs/editor/common/modes';
|
|||
import { editorUnnecessaryCodeBorder, editorUnnecessaryCodeOpacity } from 'vs/editor/common/view/editorColorRegistry';
|
||||
import { editorErrorBorder, editorErrorForeground, editorHintBorder, editorHintForeground, editorInfoBorder, editorInfoForeground, editorWarningBorder, editorWarningForeground, editorForeground } from 'vs/platform/theme/common/colorRegistry';
|
||||
import { VerticalRevealType } from 'vs/editor/common/view/viewEvents';
|
||||
import { EditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ViewModel } from 'vs/editor/common/viewModel/viewModelImpl';
|
||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
||||
import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
|
@ -451,7 +451,7 @@ export class CodeEditorWidget extends Disposable implements editorBrowser.ICodeE
|
|||
return this._modelData.viewModel.getVisibleRanges();
|
||||
}
|
||||
|
||||
public getWhitespaces(): EditorWhitespace[] {
|
||||
public getWhitespaces(): IEditorWhitespace[] {
|
||||
if (!this._modelData) {
|
||||
return [];
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ import { IDiffComputationResult, IEditorWorkerService } from 'vs/editor/common/s
|
|||
import { OverviewRulerZone } from 'vs/editor/common/view/overviewZoneManager';
|
||||
import { LineDecoration } from 'vs/editor/common/viewLayout/lineDecorations';
|
||||
import { RenderLineInput, renderViewLine } from 'vs/editor/common/viewLayout/viewLineRenderer';
|
||||
import { EditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IEditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { InlineDecoration, InlineDecorationType, ViewLineRenderingData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
@ -68,7 +68,7 @@ interface IEditorsZones {
|
|||
}
|
||||
|
||||
interface IDiffEditorWidgetStyle {
|
||||
getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalWhitespaces: EditorWhitespace[], modifiedWhitespaces: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones;
|
||||
getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalWhitespaces: IEditorWhitespace[], modifiedWhitespaces: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones;
|
||||
setEnableSplitViewResizing(enableSplitViewResizing: boolean): void;
|
||||
applyColors(theme: ITheme): boolean;
|
||||
layout(): number;
|
||||
|
@ -91,7 +91,7 @@ class VisualEditorState {
|
|||
this._decorations = [];
|
||||
}
|
||||
|
||||
public getForeignViewZones(allViewZones: EditorWhitespace[]): EditorWhitespace[] {
|
||||
public getForeignViewZones(allViewZones: IEditorWhitespace[]): IEditorWhitespace[] {
|
||||
return allViewZones.filter((z) => !this._zonesMap[String(z.id)]);
|
||||
}
|
||||
|
||||
|
@ -1303,7 +1303,7 @@ abstract class DiffEditorWidgetStyle extends Disposable implements IDiffEditorWi
|
|||
return hasChanges;
|
||||
}
|
||||
|
||||
public getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalWhitespaces: EditorWhitespace[], modifiedWhitespaces: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones {
|
||||
public getEditorsDiffDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalWhitespaces: IEditorWhitespace[], modifiedWhitespaces: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsDiffDecorationsWithZones {
|
||||
// Get view zones
|
||||
modifiedWhitespaces = modifiedWhitespaces.sort((a, b) => {
|
||||
return a.afterLineNumber - b.afterLineNumber;
|
||||
|
@ -1331,7 +1331,7 @@ abstract class DiffEditorWidgetStyle extends Disposable implements IDiffEditorWi
|
|||
};
|
||||
}
|
||||
|
||||
protected abstract _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean): IEditorsZones;
|
||||
protected abstract _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], modifiedForeignVZ: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean): IEditorsZones;
|
||||
protected abstract _getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations;
|
||||
protected abstract _getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, renderIndicators: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations;
|
||||
|
||||
|
@ -1352,10 +1352,10 @@ interface IMyViewZone {
|
|||
class ForeignViewZonesIterator {
|
||||
|
||||
private _index: number;
|
||||
private readonly _source: EditorWhitespace[];
|
||||
public current: EditorWhitespace | null;
|
||||
private readonly _source: IEditorWhitespace[];
|
||||
public current: IEditorWhitespace | null;
|
||||
|
||||
constructor(source: EditorWhitespace[]) {
|
||||
constructor(source: IEditorWhitespace[]) {
|
||||
this._source = source;
|
||||
this._index = -1;
|
||||
this.current = null;
|
||||
|
@ -1375,13 +1375,17 @@ class ForeignViewZonesIterator {
|
|||
abstract class ViewZonesComputer {
|
||||
|
||||
private readonly lineChanges: editorCommon.ILineChange[];
|
||||
private readonly originalForeignVZ: EditorWhitespace[];
|
||||
private readonly modifiedForeignVZ: EditorWhitespace[];
|
||||
private readonly originalForeignVZ: IEditorWhitespace[];
|
||||
private readonly originalLineHeight: number;
|
||||
private readonly modifiedForeignVZ: IEditorWhitespace[];
|
||||
private readonly modifiedLineHeight: number;
|
||||
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[]) {
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], originalLineHeight: number, modifiedForeignVZ: IEditorWhitespace[], modifiedLineHeight: number) {
|
||||
this.lineChanges = lineChanges;
|
||||
this.originalForeignVZ = originalForeignVZ;
|
||||
this.originalLineHeight = originalLineHeight;
|
||||
this.modifiedForeignVZ = modifiedForeignVZ;
|
||||
this.modifiedLineHeight = modifiedLineHeight;
|
||||
}
|
||||
|
||||
public getViewZones(): IEditorsZones {
|
||||
|
@ -1456,7 +1460,7 @@ abstract class ViewZonesComputer {
|
|||
|
||||
stepOriginal.push({
|
||||
afterLineNumber: viewZoneLineNumber,
|
||||
heightInLines: modifiedForeignVZ.current.heightInLines,
|
||||
heightInLines: modifiedForeignVZ.current.height / this.modifiedLineHeight,
|
||||
domNode: null,
|
||||
marginDomNode: marginDomNode
|
||||
});
|
||||
|
@ -1473,7 +1477,7 @@ abstract class ViewZonesComputer {
|
|||
}
|
||||
stepModified.push({
|
||||
afterLineNumber: viewZoneLineNumber,
|
||||
heightInLines: originalForeignVZ.current.heightInLines,
|
||||
heightInLines: originalForeignVZ.current.height / this.originalLineHeight,
|
||||
domNode: null
|
||||
});
|
||||
originalForeignVZ.advance();
|
||||
|
@ -1731,8 +1735,8 @@ class DiffEditorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffE
|
|||
return this._dataSource.getHeight();
|
||||
}
|
||||
|
||||
protected _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
|
||||
let c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ);
|
||||
protected _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], modifiedForeignVZ: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
|
||||
let c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, originalEditor.getOption(EditorOption.lineHeight), modifiedForeignVZ, modifiedEditor.getOption(EditorOption.lineHeight));
|
||||
return c.getViewZones();
|
||||
}
|
||||
|
||||
|
@ -1859,8 +1863,8 @@ class DiffEditorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffE
|
|||
|
||||
class SideBySideViewZonesComputer extends ViewZonesComputer {
|
||||
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[]) {
|
||||
super(lineChanges, originalForeignVZ, modifiedForeignVZ);
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], originalLineHeight: number, modifiedForeignVZ: IEditorWhitespace[], modifiedLineHeight: number) {
|
||||
super(lineChanges, originalForeignVZ, originalLineHeight, modifiedForeignVZ, modifiedLineHeight);
|
||||
}
|
||||
|
||||
protected _createOriginalMarginDomNodeForModifiedForeignViewZoneInAddedRegion(): HTMLDivElement | null {
|
||||
|
@ -1911,7 +1915,7 @@ class DiffEditorWidgetInline extends DiffEditorWidgetStyle implements IDiffEdito
|
|||
// Nothing to do..
|
||||
}
|
||||
|
||||
protected _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean): IEditorsZones {
|
||||
protected _getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], modifiedForeignVZ: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean): IEditorsZones {
|
||||
let computer = new InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor, renderIndicators);
|
||||
return computer.getViewZones();
|
||||
}
|
||||
|
@ -2019,8 +2023,8 @@ class InlineViewZonesComputer extends ViewZonesComputer {
|
|||
private readonly modifiedEditorTabSize: number;
|
||||
private readonly renderIndicators: boolean;
|
||||
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: EditorWhitespace[], modifiedForeignVZ: EditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean) {
|
||||
super(lineChanges, originalForeignVZ, modifiedForeignVZ);
|
||||
constructor(lineChanges: editorCommon.ILineChange[], originalForeignVZ: IEditorWhitespace[], modifiedForeignVZ: IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor, renderIndicators: boolean) {
|
||||
super(lineChanges, originalForeignVZ, originalEditor.getOption(EditorOption.lineHeight), modifiedForeignVZ, modifiedEditor.getOption(EditorOption.lineHeight));
|
||||
this.originalModel = originalEditor.getModel()!;
|
||||
this.modifiedEditorOptions = modifiedEditor.getOptions();
|
||||
this.modifiedEditorTabSize = modifiedEditor.getModel()!.getOptions().tabSize;
|
||||
|
|
|
@ -7,13 +7,10 @@ import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewL
|
|||
import { IViewWhitespaceViewportData } from 'vs/editor/common/viewModel/viewModel';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
|
||||
export class EditorWhitespace {
|
||||
constructor(
|
||||
public readonly id: string,
|
||||
public readonly afterLineNumber: number,
|
||||
public readonly heightInPx: number,
|
||||
public readonly heightInLines: number,
|
||||
) { }
|
||||
export interface IEditorWhitespace {
|
||||
readonly id: string;
|
||||
readonly afterLineNumber: number;
|
||||
readonly height: number;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -30,7 +27,7 @@ interface IPendingRemove { id: string; }
|
|||
|
||||
class PendingChanges {
|
||||
private _hasPending: boolean;
|
||||
private _inserts: InternalWhitespace[];
|
||||
private _inserts: EditorWhitespace[];
|
||||
private _changes: IPendingChange[];
|
||||
private _removes: IPendingRemove[];
|
||||
|
||||
|
@ -41,7 +38,7 @@ class PendingChanges {
|
|||
this._removes = [];
|
||||
}
|
||||
|
||||
public insert(x: InternalWhitespace): void {
|
||||
public insert(x: EditorWhitespace): void {
|
||||
this._hasPending = true;
|
||||
this._inserts.push(x);
|
||||
}
|
||||
|
@ -78,7 +75,7 @@ class PendingChanges {
|
|||
}
|
||||
}
|
||||
|
||||
export class InternalWhitespace {
|
||||
export class EditorWhitespace implements IEditorWhitespace {
|
||||
public id: string;
|
||||
public afterLineNumber: number;
|
||||
public ordinal: number;
|
||||
|
@ -110,7 +107,7 @@ export class LinesLayout {
|
|||
|
||||
private _pendingChanges: PendingChanges;
|
||||
|
||||
private readonly _arr: InternalWhitespace[];
|
||||
private readonly _arr: EditorWhitespace[];
|
||||
|
||||
/**
|
||||
* _arr[i].prefixSum, 1 <= i <= prefixSumValidIndex can be trusted
|
||||
|
@ -158,7 +155,7 @@ export class LinesLayout {
|
|||
* Find the insertion index for a new value inside a sorted array of values.
|
||||
* If the value is already present in the sorted array, the insertion index will be after the already existing value.
|
||||
*/
|
||||
public static findInsertionIndex(arr: InternalWhitespace[], afterLineNumber: number, ordinal: number): number {
|
||||
public static findInsertionIndex(arr: EditorWhitespace[], afterLineNumber: number, ordinal: number): number {
|
||||
let low = 0;
|
||||
let high = arr.length;
|
||||
|
||||
|
@ -209,7 +206,7 @@ export class LinesLayout {
|
|||
minWidth = minWidth | 0;
|
||||
|
||||
const id = this._instanceId + (++this._lastWhitespaceId);
|
||||
this._pendingChanges.insert(new InternalWhitespace(id, afterLineNumber, ordinal, heightInPx, minWidth));
|
||||
this._pendingChanges.insert(new EditorWhitespace(id, afterLineNumber, ordinal, heightInPx, minWidth));
|
||||
return id;
|
||||
// return this._insertWhitespace(afterLineNumber, ordinal, heightInPx, minWidth);
|
||||
},
|
||||
|
@ -231,7 +228,7 @@ export class LinesLayout {
|
|||
}
|
||||
}
|
||||
|
||||
public _commitPendingChanges(inserts: InternalWhitespace[], changes: IPendingChange[], removes: IPendingRemove[]): void {
|
||||
public _commitPendingChanges(inserts: EditorWhitespace[], changes: IPendingChange[], removes: IPendingRemove[]): void {
|
||||
// const magnitude = inserts.length + changes.length + removes.length;
|
||||
// if (magnitude === 1) {
|
||||
// // when only one thing
|
||||
|
@ -257,13 +254,13 @@ export class LinesLayout {
|
|||
}
|
||||
}
|
||||
|
||||
private _insertWhitespace(whitespace: InternalWhitespace): void {
|
||||
private _insertWhitespace(whitespace: EditorWhitespace): void {
|
||||
const insertionIndex = LinesLayout.findInsertionIndex(this._arr, whitespace.afterLineNumber, whitespace.ordinal);
|
||||
this._insertWhitespaceAtIndex(insertionIndex, whitespace);
|
||||
this._minWidth = -1; /* marker for not being computed */
|
||||
}
|
||||
|
||||
private _insertWhitespaceAtIndex(insertIndex: number, whitespace: InternalWhitespace): void {
|
||||
private _insertWhitespaceAtIndex(insertIndex: number, whitespace: EditorWhitespace): void {
|
||||
this._arr.splice(insertIndex, 0, whitespace);
|
||||
|
||||
const keys = Object.keys(this._whitespaceId2Index);
|
||||
|
@ -853,18 +850,9 @@ export class LinesLayout {
|
|||
/**
|
||||
* Get all whitespaces.
|
||||
*/
|
||||
public getWhitespaces(): EditorWhitespace[] {
|
||||
public getWhitespaces(): IEditorWhitespace[] {
|
||||
this._checkPendingChanges();
|
||||
let result: EditorWhitespace[] = [];
|
||||
for (let i = 0; i < this._arr.length; i++) {
|
||||
result.push(new EditorWhitespace(
|
||||
this._arr[i].id,
|
||||
this._arr[i].afterLineNumber,
|
||||
this._arr[i].height,
|
||||
this._arr[i].height / this._lineHeight
|
||||
));
|
||||
}
|
||||
return result;
|
||||
return this._arr.slice(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -8,7 +8,7 @@ import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
|
|||
import { IScrollPosition, ScrollEvent, Scrollable, ScrollbarVisibility } from 'vs/base/common/scrollable';
|
||||
import { ConfigurationChangedEvent, EditorOption } from 'vs/editor/common/config/editorOptions';
|
||||
import * as editorCommon from 'vs/editor/common/editorCommon';
|
||||
import { LinesLayout, EditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { LinesLayout, IEditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { IViewLayout, IViewWhitespaceViewportData, Viewport } from 'vs/editor/common/viewModel/viewModel';
|
||||
|
||||
|
@ -228,7 +228,7 @@ export class ViewLayout extends Disposable implements IViewLayout {
|
|||
const visibleBox = this.getCurrentViewport();
|
||||
return this._linesLayout.getWhitespaceViewportData(visibleBox.top, visibleBox.top + visibleBox.height);
|
||||
}
|
||||
public getWhitespaces(): EditorWhitespace[] {
|
||||
public getWhitespaces(): IEditorWhitespace[] {
|
||||
return this._linesLayout.getWhitespaces();
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import { INewScrollPosition } from 'vs/editor/common/editorCommon';
|
|||
import { EndOfLinePreference, IActiveIndentGuideInfo, IModelDecorationOptions, TextModelResolvedOptions } from 'vs/editor/common/model';
|
||||
import { IViewEventListener } from 'vs/editor/common/view/viewEvents';
|
||||
import { IPartialViewLinesViewportData } from 'vs/editor/common/viewLayout/viewLinesViewportData';
|
||||
import { EditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { IEditorWhitespace, IWhitespaceChangeAccessor } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { ITheme } from 'vs/platform/theme/common/themeService';
|
||||
|
||||
export interface IViewWhitespaceViewportData {
|
||||
|
@ -61,7 +61,7 @@ export interface IViewLayout {
|
|||
|
||||
getLinesViewportData(): IPartialViewLinesViewportData;
|
||||
getLinesViewportDataAtScrollTop(scrollTop: number): IPartialViewLinesViewportData;
|
||||
getWhitespaces(): EditorWhitespace[];
|
||||
getWhitespaces(): IEditorWhitespace[];
|
||||
|
||||
isAfterLines(verticalOffset: number): boolean;
|
||||
getLineNumberAtVerticalOffset(verticalOffset: number): number;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
import * as assert from 'assert';
|
||||
import { LinesLayout, InternalWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
import { LinesLayout, EditorWhitespace } from 'vs/editor/common/viewLayout/linesLayout';
|
||||
|
||||
suite('Editor ViewLayout - LinesLayout', () => {
|
||||
|
||||
|
@ -846,10 +846,10 @@ suite('Editor ViewLayout - LinesLayout', () => {
|
|||
test('LinesLayout findInsertionIndex', () => {
|
||||
|
||||
const makeInternalWhitespace = (afterLineNumbers: number[], ordinal: number = 0) => {
|
||||
return afterLineNumbers.map((afterLineNumber) => new InternalWhitespace('', afterLineNumber, ordinal, 0, 0));
|
||||
return afterLineNumbers.map((afterLineNumber) => new EditorWhitespace('', afterLineNumber, ordinal, 0, 0));
|
||||
};
|
||||
|
||||
let arr: InternalWhitespace[];
|
||||
let arr: EditorWhitespace[];
|
||||
|
||||
arr = makeInternalWhitespace([]);
|
||||
assert.equal(LinesLayout.findInsertionIndex(arr, 0, 0), 0);
|
||||
|
|
Loading…
Reference in a new issue