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

var -> let

上级 d5b3efd8
......@@ -57,8 +57,8 @@ export class ElementSizeObserver extends Disposable implements IElementSizeObser
}
private measureReferenceDomElement(callChangeCallback: boolean, dimension?: IDimension): void {
var observedWidth = 0;
var observedHeight = 0;
let observedWidth = 0;
let observedHeight = 0;
if (dimension) {
observedWidth = dimension.width;
observedHeight = dimension.height;
......
......@@ -287,7 +287,7 @@ export class MouseHandler extends ViewEventHandler implements IDisposable {
shouldHandle = false;
}
var focus = () => {
let focus = () => {
// In IE11, if the focus is in the browser's address bar and
// then you click in the editor, calling preventDefault()
// will not move focus properly (focus remains the address bar)
......
......@@ -18,8 +18,8 @@ interface IThrottledGestureEvent {
translationY: number;
}
var gestureChangeEventMerger = (lastEvent: IThrottledGestureEvent, currentEvent: MSGestureEvent): IThrottledGestureEvent => {
var r = {
function gestureChangeEventMerger(lastEvent: IThrottledGestureEvent, currentEvent: MSGestureEvent): IThrottledGestureEvent {
let r = {
translationY: currentEvent.translationY,
translationX: currentEvent.translationX
};
......@@ -49,13 +49,13 @@ class MsPointerHandler extends MouseHandler implements IDisposable {
this._installGestureHandlerTimeout = window.setTimeout(() => {
this._installGestureHandlerTimeout = -1;
if ((<any>window).MSGesture) {
var touchGesture = new MSGesture();
var penGesture = new MSGesture();
let touchGesture = new MSGesture();
let penGesture = new MSGesture();
touchGesture.target = this.viewHelper.linesContentDomNode;
penGesture.target = this.viewHelper.linesContentDomNode;
this.viewHelper.linesContentDomNode.addEventListener('MSPointerDown', (e: MSPointerEvent) => {
// Circumvent IE11 breaking change in e.pointerType & TypeScript's stale definitions
var pointerType = <any>e.pointerType;
let pointerType = <any>e.pointerType;
if (pointerType === ((<any>e).MSPOINTER_TYPE_MOUSE || 'mouse')) {
this._lastPointerType = 'mouse';
return;
......@@ -131,12 +131,12 @@ class StandardPointerHandler extends MouseHandler implements IDisposable {
// TODO@Alex: replace the usage of MSGesture here with something that works across all browsers
if ((<any>window).MSGesture) {
var touchGesture = new MSGesture();
var penGesture = new MSGesture();
let touchGesture = new MSGesture();
let penGesture = new MSGesture();
touchGesture.target = this.viewHelper.linesContentDomNode;
penGesture.target = this.viewHelper.linesContentDomNode;
this.viewHelper.linesContentDomNode.addEventListener('pointerdown', (e: MSPointerEvent) => {
var pointerType = <any>e.pointerType;
let pointerType = <any>e.pointerType;
if (pointerType === 'mouse') {
this._lastPointerType = 'mouse';
return;
......
......@@ -142,7 +142,7 @@ export interface IViewController {
/**
* @internal
*/
export var ClassNames = {
export const ClassNames = {
TEXTAREA_COVER: 'textAreaCover',
TEXTAREA: 'inputarea',
LINES_CONTENT: 'lines-content',
......
......@@ -80,7 +80,7 @@ class DecorationSubTypeOptionsProvider implements IModelDecorationOptionsProvide
this._parentTypeKey = parentTypeKey;
this.refCount = 0;
var themedOpts = getThemedRenderOptions(options);
let themedOpts = getThemedRenderOptions(options);
this._beforeContentClassName = DecorationRenderHelper.createCSSRules(
styleSheet,
......@@ -146,7 +146,7 @@ class DecorationTypeOptionsProvider implements IModelDecorationOptionsProvider {
constructor(styleSheet: HTMLStyleElement, key: string, options: IDecorationRenderOptions) {
this.refCount = 0;
var themedOpts = getThemedRenderOptions(options);
let themedOpts = getThemedRenderOptions(options);
this.className = DecorationRenderHelper.createCSSRules(
styleSheet,
......@@ -446,14 +446,14 @@ interface IResolvedDecorationRenderOptions {
}
function getThemedRenderOptions<T>(opts: { light?: T, dark?: T }): { light?: T, dark?: T } {
// TODO@alex,joh - not really how/what deep clone is being used
// for here but it will break the URI
// for here but it will break the URI TODO@martin
// var light = <T> objects.deepClone(opts);
var light = <T>parse(stringify(opts));
// let light = <T> objects.deepClone(opts);
let light = <T>parse(stringify(opts));
objects.mixin(light, opts.light);
// var dark = <T> objects.deepClone(opts);
var dark = <T>parse(stringify(opts));
// let dark = <T> objects.deepClone(opts);
let dark = <T>parse(stringify(opts));
objects.mixin(dark, opts.dark);
return {
......
......@@ -115,14 +115,14 @@ export class SimpleEditorService implements IEditorService {
}
private doOpenEditor(editor: editorCommon.ICommonCodeEditor, data: IResourceInput): IEditor {
var model = this.findModel(editor, data);
let model = this.findModel(editor, data);
if (!model) {
if (data.resource) {
if (this.openEditorDelegate) {
this.openEditorDelegate(data.resource.toString());
return null;
} else {
var schema = data.resource.scheme;
let schema = data.resource.scheme;
if (schema === Schemas.http || schema === Schemas.https) {
// This is a fully qualified http or https URL
window.open(data.resource.toString());
......@@ -133,14 +133,13 @@ export class SimpleEditorService implements IEditorService {
return null;
}
var selection = <editorCommon.IRange>data.options.selection;
let selection = <editorCommon.IRange>data.options.selection;
if (selection) {
if (typeof selection.endLineNumber === 'number' && typeof selection.endColumn === 'number') {
editor.setSelection(selection);
editor.revealRangeInCenter(selection);
} else {
var pos = {
let pos = {
lineNumber: selection.startLineNumber,
column: selection.startColumn
};
......@@ -153,7 +152,7 @@ export class SimpleEditorService implements IEditorService {
}
private findModel(editor: editorCommon.ICommonCodeEditor, data: IResourceInput): editorCommon.IModel {
var model = editor.getModel();
let model = editor.getModel();
if (model.uri.toString() !== data.resource.toString()) {
return null;
}
......@@ -162,7 +161,7 @@ export class SimpleEditorService implements IEditorService {
}
public resolveEditorModel(typedData: IResourceInput, refresh?: boolean): TPromise<ITextEditorModel> {
var model: editorCommon.IModel;
let model: editorCommon.IModel;
model = this.editor.withTypedEditor(
(editor) => this.findModel(editor, typedData),
......@@ -224,7 +223,7 @@ export class SimpleMessageService implements IMessageService {
}
public confirm(confirmation: IConfirmation): boolean {
var messageText = confirmation.message;
let messageText = confirmation.message;
if (confirmation.detail) {
messageText = messageText + '\n\n' + confirmation.detail;
}
......@@ -277,7 +276,7 @@ export class StandaloneKeybindingService extends KeybindingService {
if (commandId === null) {
commandId = 'DYNAMIC_' + (++StandaloneKeybindingService.LAST_GENERATED_ID);
}
var parsedContext = IOSupport.readKeybindingWhen(when);
let parsedContext = IOSupport.readKeybindingWhen(when);
this._dynamicKeybindings.push({
keybinding: keybinding,
command: commandId,
......
......@@ -135,7 +135,7 @@ export class StandaloneEditor extends CodeEditor implements IStandaloneCodeEdito
return null;
}
if (Array.isArray(descriptor.keybindings)) {
var handler: ICommandHandler = (accessor) => {
let handler: ICommandHandler = (accessor) => {
return this.trigger('keyboard', descriptor.id, null);
};
descriptor.keybindings.forEach((kb) => {
......@@ -221,7 +221,7 @@ export class StandaloneDiffEditor extends DiffEditorWidget implements IStandalon
return null;
}
if (Array.isArray(descriptor.keybindings)) {
var handler: ICommandHandler = (ctx) => {
let handler: ICommandHandler = (ctx) => {
return this.trigger('keyboard', descriptor.id, null);
};
descriptor.keybindings.forEach((kb) => {
......
......@@ -69,7 +69,7 @@ export class ViewController implements IViewController {
}
private _validateViewColumn(viewPosition: Position): Position {
var minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);
let minColumn = this.viewModel.getLineMinColumn(viewPosition.lineNumber);
if (viewPosition.column < minColumn) {
return new Position(viewPosition.lineNumber, minColumn);
}
......
......@@ -98,7 +98,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
this._renderAnimationFrame = null;
this.outgoingEventBus = new EventEmitter();
var viewController = new ViewController(model, triggerCursorHandler, this.outgoingEventBus, commandService);
let viewController = new ViewController(model, triggerCursorHandler, this.outgoingEventBus, commandService);
this.listenersToRemove = [];
this.listenersToDispose = [];
......@@ -159,7 +159,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
}
private _flushAnyAccumulatedEvents(): void {
var toEmit = this.accumulatedModelEvents;
let toEmit = this.accumulatedModelEvents;
this.accumulatedModelEvents = [];
if (toEmit.length > 0) {
this.eventDispatcher.emitMany(toEmit);
......@@ -217,24 +217,24 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
this.viewParts.push(this.viewZones);
// Decorations overview ruler
var decorationsOverviewRuler = new DecorationsOverviewRuler(
let decorationsOverviewRuler = new DecorationsOverviewRuler(
this._context, this.layoutProvider.getScrollHeight(),
(lineNumber: number) => this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber)
);
this.viewParts.push(decorationsOverviewRuler);
var scrollDecoration = new ScrollDecorationViewPart(this._context);
let scrollDecoration = new ScrollDecorationViewPart(this._context);
this.viewParts.push(scrollDecoration);
var contentViewOverlays = new ContentViewOverlays(this._context, this.layoutProvider);
let contentViewOverlays = new ContentViewOverlays(this._context, this.layoutProvider);
this.viewParts.push(contentViewOverlays);
contentViewOverlays.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context, this.layoutProvider));
contentViewOverlays.addDynamicOverlay(new SelectionsOverlay(this._context));
contentViewOverlays.addDynamicOverlay(new DecorationsOverlay(this._context));
contentViewOverlays.addDynamicOverlay(new IndentGuidesOverlay(this._context));
var marginViewOverlays = new MarginViewOverlays(this._context, this.layoutProvider);
let marginViewOverlays = new MarginViewOverlays(this._context, this.layoutProvider);
this.viewParts.push(marginViewOverlays);
marginViewOverlays.addDynamicOverlay(new GlyphMarginOverlay(this._context));
marginViewOverlays.addDynamicOverlay(new LinesDecorationsOverlay(this._context));
......@@ -252,7 +252,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
this.overlayWidgets = new ViewOverlayWidgets(this._context);
this.viewParts.push(this.overlayWidgets);
var rulers = new Rulers(this._context, this.layoutProvider);
let rulers = new Rulers(this._context, this.layoutProvider);
this.viewParts.push(rulers);
// -------------- Wire dom nodes up
......@@ -261,7 +261,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
this.linesContentContainer.style.position = 'absolute';
if (decorationsOverviewRuler) {
var overviewRulerData = this.layoutProvider.getOverviewRulerInsertData();
let overviewRulerData = this.layoutProvider.getOverviewRulerInsertData();
overviewRulerData.parent.insertBefore(decorationsOverviewRuler.getDomNode(), overviewRulerData.insertBefore);
}
......@@ -377,7 +377,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
throw new Error('ViewImpl.pointerHandler.visibleRangeForPosition2: View is disposed');
}
this._flushAccumulatedAndRenderNow();
var visibleRanges = this.viewLines.visibleRangesForRange2(new Range(lineNumber, column, lineNumber, column), 0);
let visibleRanges = this.viewLines.visibleRangesForRange2(new Range(lineNumber, column, lineNumber, column), 0);
if (!visibleRanges) {
return null;
}
......@@ -403,8 +403,8 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
throw new Error('ViewImpl.keyboardHandler.visibleRangeForPositionRelativeToEditor: View is disposed');
}
this._flushAccumulatedAndRenderNow();
var linesViewPortData = this.layoutProvider.getLinesViewportData();
var visibleRanges = this.viewLines.visibleRangesForRange2(new Range(lineNumber, column, lineNumber, column), linesViewPortData.visibleRangesDeltaTop);
let linesViewPortData = this.layoutProvider.getLinesViewportData();
let visibleRanges = this.viewLines.visibleRangesForRange2(new Range(lineNumber, column, lineNumber, column), linesViewPortData.visibleRangesDeltaTop);
if (!visibleRanges) {
return null;
}
......@@ -437,7 +437,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
/* tslint:disable:no-unused-variable */
// Access overflowGuardContainer.clientWidth to prevent relayouting bug in Chrome
// See Bug 19676: Editor misses a layout event
var clientWidth = this.overflowGuardContainer.clientWidth + 'px';
let clientWidth = this.overflowGuardContainer.clientWidth + 'px';
/* tslint:enable:no-unused-variable */
}
StyleMutator.setWidth(this.domNode, layoutInfo.width);
......@@ -516,7 +516,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
this.viewLines.dispose();
// Destroy IViewPart second
for (var i = 0, len = this.viewParts.length; i < len; i++) {
for (let i = 0, len = this.viewParts.length; i < len; i++) {
this.viewParts[i].dispose();
}
this.viewParts = [];
......@@ -567,11 +567,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
if (this._isDisposed) {
throw new Error('ViewImpl.codeEditorHelper.getVerticalOffsetForPosition: View is disposed');
}
var modelPosition = this._context.model.validateModelPosition({
let modelPosition = this._context.model.validateModelPosition({
lineNumber: modelLineNumber,
column: modelColumn
});
var viewPosition = this._context.model.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
let viewPosition = this._context.model.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
return this.layoutProvider.getVerticalOffsetForLineNumber(viewPosition.lineNumber);
},
delegateVerticalScrollbarMouseDown: (browserEvent: MouseEvent) => {
......@@ -584,13 +584,13 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
if (this._isDisposed) {
throw new Error('ViewImpl.codeEditorHelper.getOffsetForColumn: View is disposed');
}
var modelPosition = this._context.model.validateModelPosition({
let modelPosition = this._context.model.validateModelPosition({
lineNumber: modelLineNumber,
column: modelColumn
});
var viewPosition = this._context.model.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
let viewPosition = this._context.model.convertModelPositionToViewPosition(modelPosition.lineNumber, modelPosition.column);
this._flushAccumulatedAndRenderNow();
var visibleRanges = this.viewLines.visibleRangesForRange2(new Range(viewPosition.lineNumber, viewPosition.column, viewPosition.lineNumber, viewPosition.column), 0);
let visibleRanges = this.viewLines.visibleRangesForRange2(new Range(viewPosition.lineNumber, viewPosition.column, viewPosition.lineNumber, viewPosition.column), 0);
if (!visibleRanges) {
return -1;
}
......@@ -605,9 +605,9 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
if (this._isDisposed) {
throw new Error('ViewImpl.getCenteredRangeInViewport: View is disposed');
}
var viewLineNumber = this.layoutProvider.getCenteredViewLineNumberInViewport();
var viewModel = this._context.model;
var currentCenteredViewRange = new Range(viewLineNumber, 1, viewLineNumber, viewModel.getLineMaxColumn(viewLineNumber));
let viewLineNumber = this.layoutProvider.getCenteredViewLineNumberInViewport();
let viewModel = this._context.model;
let currentCenteredViewRange = new Range(viewLineNumber, 1, viewLineNumber, viewModel.getLineMaxColumn(viewLineNumber));
return viewModel.convertViewRangeToModelRange(currentCenteredViewRange);
}
......@@ -676,11 +676,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
if (this._isDisposed) {
throw new Error('ViewImpl.change: View is disposed');
}
var zonesHaveChanged = false;
let zonesHaveChanged = false;
this._renderOnce(() => {
// Handle events to avoid "adjusting" newly inserted view zones
this._flushAnyAccumulatedEvents();
var changeAccessor: editorBrowser.IViewZoneChangeAccessor = {
let changeAccessor: editorBrowser.IViewZoneChangeAccessor = {
addZone: (zone: editorBrowser.IViewZone): number => {
zonesHaveChanged = true;
return this.viewZones.addZone(zone);
......@@ -699,7 +699,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
}
};
var r: any = safeInvoke1Arg(callback, changeAccessor);
let r: any = safeInvoke1Arg(callback, changeAccessor);
// Invalidate changeAccessor
changeAccessor.addZone = null;
......@@ -836,11 +836,11 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
private createRenderingContext(linesViewportData: ViewLinesViewportData): IRenderingContext {
var vInfo = this.layoutProvider.getCurrentViewport();
let vInfo = this.layoutProvider.getCurrentViewport();
var deltaTop = linesViewportData.visibleRangesDeltaTop;
let deltaTop = linesViewportData.visibleRangesDeltaTop;
var r: IRenderingContext = {
let r: IRenderingContext = {
linesViewportData: linesViewportData,
scrollWidth: this.layoutProvider.getScrollWidth(),
scrollHeight: this.layoutProvider.getScrollHeight(),
......@@ -858,8 +858,8 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
},
getViewportVerticalOffsetForLineNumber: (lineNumber: number) => {
var verticalOffset = this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber);
var scrolledTop = this.layoutProvider.getScrolledTopFromAbsoluteTop(verticalOffset);
let verticalOffset = this.layoutProvider.getVerticalOffsetForLineNumber(lineNumber);
let scrolledTop = this.layoutProvider.getScrolledTopFromAbsoluteTop(verticalOffset);
return scrolledTop;
},
......@@ -870,7 +870,7 @@ export class View extends ViewEventHandler implements editorBrowser.IView, IDisp
},
visibleRangeForPosition: (position: editorCommon.IPosition) => {
var visibleRanges = this.viewLines.visibleRangesForRange2(new Range(position.lineNumber, position.column, position.lineNumber, position.column), deltaTop);
let visibleRanges = this.viewLines.visibleRangesForRange2(new Range(position.lineNumber, position.column, position.lineNumber, position.column), deltaTop);
if (!visibleRanges) {
return null;
}
......
......@@ -394,7 +394,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
private _render(inContext: IRendererContext<T>, startLineNumber: number, stopLineNumber: number, deltaTop: number[]): IRendererContext<T> {
var ctx: IRendererContext<T> = {
let ctx: IRendererContext<T> = {
domNode: inContext.domNode,
rendLineNumberStart: inContext.rendLineNumberStart,
lines: inContext.lines.slice(0),
......@@ -406,9 +406,9 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
scrollDomNodeIsAbove: inContext.scrollDomNodeIsAbove
};
var canRemoveScrollDomNode = true;
let canRemoveScrollDomNode = true;
if (ctx.scrollDomNode) {
var time = this._getScrollDomNodeTime(ctx.scrollDomNode);
let time = this._getScrollDomNodeTime(ctx.scrollDomNode);
if ((new Date()).getTime() - time < 1000) {
canRemoveScrollDomNode = false;
}
......@@ -419,7 +419,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
ctx.rendLineNumberStart = startLineNumber;
ctx.linesLength = stopLineNumber - startLineNumber + 1;
ctx.lines = [];
for (var x = startLineNumber; x <= stopLineNumber; x++) {
for (let x = startLineNumber; x <= stopLineNumber; x++) {
ctx.lines[x - startLineNumber] = this._createLine();
}
this._finishRendering(ctx, true, deltaTop);
......@@ -436,14 +436,10 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
startLineNumber
);
var fromLineNumber: number,
toLineNumber: number,
removeCnt: number;
if (ctx.rendLineNumberStart > startLineNumber) {
// Insert lines before
fromLineNumber = startLineNumber;
toLineNumber = Math.min(stopLineNumber, ctx.rendLineNumberStart - 1);
let fromLineNumber = startLineNumber;
let toLineNumber = Math.min(stopLineNumber, ctx.rendLineNumberStart - 1);
if (fromLineNumber <= toLineNumber) {
this._insertLinesBefore(ctx, fromLineNumber, toLineNumber, deltaTop, startLineNumber);
ctx.linesLength += toLineNumber - fromLineNumber + 1;
......@@ -458,7 +454,7 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
} else if (ctx.rendLineNumberStart < startLineNumber) {
// Remove lines before
removeCnt = Math.min(ctx.linesLength, startLineNumber - ctx.rendLineNumberStart);
let removeCnt = Math.min(ctx.linesLength, startLineNumber - ctx.rendLineNumberStart);
if (removeCnt > 0) {
this._removeLinesBefore(ctx, removeCnt);
ctx.linesLength -= removeCnt;
......@@ -469,8 +465,8 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
if (ctx.rendLineNumberStart + ctx.linesLength - 1 < stopLineNumber) {
// Insert lines after
fromLineNumber = ctx.rendLineNumberStart + ctx.linesLength;
toLineNumber = stopLineNumber;
let fromLineNumber = ctx.rendLineNumberStart + ctx.linesLength;
let toLineNumber = stopLineNumber;
if (fromLineNumber <= toLineNumber) {
this._insertLinesAfter(ctx, fromLineNumber, toLineNumber, deltaTop, startLineNumber);
......@@ -487,9 +483,9 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
} else if (ctx.rendLineNumberStart + ctx.linesLength - 1 > stopLineNumber) {
// Remove lines after
fromLineNumber = Math.max(0, stopLineNumber - ctx.rendLineNumberStart + 1);
toLineNumber = ctx.linesLength - 1;
removeCnt = toLineNumber - fromLineNumber + 1;
let fromLineNumber = Math.max(0, stopLineNumber - ctx.rendLineNumberStart + 1);
let toLineNumber = ctx.linesLength - 1;
let removeCnt = toLineNumber - fromLineNumber + 1;
if (removeCnt > 0) {
this._removeLinesAfter(ctx, removeCnt);
......@@ -503,12 +499,9 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _renderUntouchedLines(ctx: IRendererContext<T>, startIndex: number, endIndex: number, deltaTop: number[], deltaLN: number): void {
var i: number,
lineNumber: number;
for (i = startIndex; i <= endIndex; i++) {
lineNumber = ctx.rendLineNumberStart + i;
var lineDomNode = ctx.lines[i].getDomNode();
for (let i = startIndex; i <= endIndex; i++) {
let lineNumber = ctx.rendLineNumberStart + i;
let lineDomNode = ctx.lines[i].getDomNode();
if (lineDomNode) {
ctx.lines[i].layoutLine(lineNumber, deltaTop[lineNumber - deltaLN]);
}
......@@ -516,19 +509,16 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _insertLinesBefore(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop: number[], deltaLN: number): void {
var newLines: T[] = [],
line: T,
lineNumber: number;
for (lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
line = this._createLine();
newLines.push(line);
let newLines: T[] = [];
let newLinesLen = 0;
for (let lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
newLines[newLinesLen++] = this._createLine();
}
ctx.lines = newLines.concat(ctx.lines);
}
private _getScrollDomNodeTime(domNode: HTMLElement): number {
var lastScrollTime = domNode.getAttribute('last-scroll-time');
let lastScrollTime = domNode.getAttribute('last-scroll-time');
if (lastScrollTime) {
return parseInt(lastScrollTime, 10);
}
......@@ -536,14 +526,14 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _removeIfNotScrollDomNode(ctx: IRendererContext<T>, domNode: HTMLElement, isAbove: boolean) {
var time = this._getScrollDomNodeTime(domNode);
let time = this._getScrollDomNodeTime(domNode);
if (!time) {
ctx.domNode.removeChild(domNode);
return;
}
if (ctx.scrollDomNode) {
var otherTime = this._getScrollDomNodeTime(ctx.scrollDomNode);
let otherTime = this._getScrollDomNodeTime(ctx.scrollDomNode);
if (otherTime > time) {
// The other is the real scroll dom node
ctx.domNode.removeChild(domNode);
......@@ -562,10 +552,8 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _removeLinesBefore(ctx: IRendererContext<T>, removeCount: number): void {
var i: number;
for (i = 0; i < removeCount; i++) {
var lineDomNode = ctx.lines[i].getDomNode();
for (let i = 0; i < removeCount; i++) {
let lineDomNode = ctx.lines[i].getDomNode();
if (lineDomNode) {
this._removeIfNotScrollDomNode(ctx, lineDomNode, true);
}
......@@ -574,23 +562,19 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _insertLinesAfter(ctx: IRendererContext<T>, fromLineNumber: number, toLineNumber: number, deltaTop: number[], deltaLN: number): void {
var newLines: T[] = [],
line: T,
lineNumber: number;
for (lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
line = this._createLine();
newLines.push(line);
let newLines: T[] = [];
let newLinesLen = 0;
for (let lineNumber = fromLineNumber; lineNumber <= toLineNumber; lineNumber++) {
newLines[newLinesLen++] = this._createLine();
}
ctx.lines = ctx.lines.concat(newLines);
}
private _removeLinesAfter(ctx: IRendererContext<T>, removeCount: number): void {
var i: number,
removeIndex = ctx.linesLength - removeCount;
let removeIndex = ctx.linesLength - removeCount;
for (i = 0; i < removeCount; i++) {
var lineDomNode = ctx.lines[removeIndex + i].getDomNode();
for (let i = 0; i < removeCount; i++) {
let lineDomNode = ctx.lines[removeIndex + i].getDomNode();
if (lineDomNode) {
this._removeIfNotScrollDomNode(ctx, lineDomNode, false);
}
......@@ -608,14 +592,14 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _finishRenderingNewLines(ctx: IRendererContext<T>, domNodeIsEmpty: boolean, newLinesHTML: string[], wasNew: boolean[]): void {
var lastChild = <HTMLElement>ctx.domNode.lastChild;
let lastChild = <HTMLElement>ctx.domNode.lastChild;
if (domNodeIsEmpty || !lastChild) {
ctx.domNode.innerHTML = this._extraDomNodeHTML() + newLinesHTML.join('');
} else {
lastChild.insertAdjacentHTML('afterend', newLinesHTML.join(''));
}
var currChild = <HTMLElement>ctx.domNode.lastChild;
let currChild = <HTMLElement>ctx.domNode.lastChild;
for (let i = ctx.linesLength - 1; i >= 0; i--) {
let line = ctx.lines[i];
if (wasNew[i]) {
......@@ -626,17 +610,15 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
}
private _finishRenderingInvalidLines(ctx: IRendererContext<T>, invalidLinesHTML: string[], wasInvalid: boolean[]): void {
var hugeDomNode = document.createElement('div');
let hugeDomNode = document.createElement('div');
hugeDomNode.innerHTML = invalidLinesHTML.join('');
var lineDomNode: HTMLElement,
source: HTMLElement;
for (let i = 0; i < ctx.linesLength; i++) {
let line = ctx.lines[i];
if (wasInvalid[i]) {
source = <HTMLElement>hugeDomNode.firstChild;
lineDomNode = line.getDomNode();
let source = <HTMLElement>hugeDomNode.firstChild;
let lineDomNode = line.getDomNode();
lineDomNode.parentNode.replaceChild(source, lineDomNode);
line.setDomNode(source);
}
......@@ -647,23 +629,19 @@ class ViewLayerRenderer<T extends IVisibleLineData> {
let inlineDecorations = ViewLayerRenderer._resolveInlineDecorations(ctx);
var i: number,
len: number,
line: IVisibleLineData,
lineNumber: number,
hadNewLine = false,
wasNew: boolean[] = [],
newLinesHTML: string[] = [],
hadInvalidLine = false,
wasInvalid: boolean[] = [],
invalidLinesHTML: string[] = [];
for (i = 0, len = ctx.linesLength; i < len; i++) {
line = ctx.lines[i];
lineNumber = i + ctx.rendLineNumberStart;
let hadNewLine = false;
let wasNew: boolean[] = [];
let newLinesHTML: string[] = [];
let hadInvalidLine = false;
let wasInvalid: boolean[] = [];
let invalidLinesHTML: string[] = [];
for (let i = 0, len = ctx.linesLength; i < len; i++) {
let line = ctx.lines[i];
let lineNumber = i + ctx.rendLineNumberStart;
if (line.shouldUpdateHTML(ctx.rendLineNumberStart, lineNumber, inlineDecorations[i])) {
var lineDomNode = line.getDomNode();
let lineDomNode = line.getDomNode();
if (!lineDomNode) {
// Line is new
line.getLineOuterHTML(newLinesHTML, lineNumber, deltaTop[i]);
......
......@@ -75,8 +75,7 @@ export class ViewOverlays extends ViewLayer<ViewOverlayLine> {
// ----- end event handlers
_createLine(): ViewOverlayLine {
var r = new ViewOverlayLine(this._context, this._dynamicOverlays);
return r;
return new ViewOverlayLine(this._context, this._dynamicOverlays);
}
......@@ -285,18 +284,18 @@ export class MarginViewOverlays extends ViewOverlays {
_viewOverlaysRender(ctx: IRestrictedRenderingContext): void {
super._viewOverlaysRender(ctx);
if (this._canUseTranslate3d) {
var transform = 'translate3d(0px, ' + ctx.linesViewportData.visibleRangesDeltaTop + 'px, 0px)';
let transform = 'translate3d(0px, ' + ctx.linesViewportData.visibleRangesDeltaTop + 'px, 0px)';
this.domNode.setTransform(transform);
this.domNode.setTop(0);
} else {
this.domNode.setTransform('');
this.domNode.setTop(ctx.linesViewportData.visibleRangesDeltaTop);
}
var height = Math.min(this._layoutProvider.getTotalHeight(), 1000000);
let height = Math.min(this._layoutProvider.getTotalHeight(), 1000000);
this.domNode.setHeight(height);
this.domNode.setWidth(this._contentLeft);
var glyphMargin = this._getGlyphMarginDomNode();
let glyphMargin = this._getGlyphMarginDomNode();
if (glyphMargin) {
StyleMutator.setHeight(glyphMargin, this._scrollHeight);
StyleMutator.setLeft(glyphMargin, this._glyphMarginLeft);
......
......@@ -202,7 +202,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
}
private _computeScrollWidth(maxLineWidth: number, viewportWidth: number): number {
var isViewportWrapping = this.configuration.editor.wrappingInfo.isViewportWrapping;
let isViewportWrapping = this.configuration.editor.wrappingInfo.isViewportWrapping;
if (!isViewportWrapping) {
return Math.max(maxLineWidth + LayoutProvider.LINES_HORIZONTAL_EXTRA_PX, viewportWidth);
}
......@@ -210,7 +210,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
}
public onMaxLineWidthChanged(maxLineWidth: number): void {
var newScrollWidth = this._computeScrollWidth(maxLineWidth, this.getCurrentViewport().width);
let newScrollWidth = this._computeScrollWidth(maxLineWidth, this.getCurrentViewport().width);
this.scrollManager.setScrollWidth(newScrollWidth);
// The height might depend on the fact that there is a horizontal scrollbar or not
......@@ -220,9 +220,9 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
// ---- view state
public saveState(): editorCommon.IViewState {
var scrollTop = this.scrollManager.getScrollTop();
var firstLineNumberInViewport = this.linesLayout.getLineNumberAtOrAfterVerticalOffset(scrollTop);
var whitespaceAboveFirstLine = this.linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(firstLineNumberInViewport);
let scrollTop = this.scrollManager.getScrollTop();
let firstLineNumberInViewport = this.linesLayout.getLineNumberAtOrAfterVerticalOffset(scrollTop);
let whitespaceAboveFirstLine = this.linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(firstLineNumberInViewport);
return {
scrollTop: scrollTop,
scrollTopWithoutViewZones: scrollTop - whitespaceAboveFirstLine,
......@@ -231,7 +231,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
}
public restoreState(state: editorCommon.IViewState): void {
var restoreScrollTop = state.scrollTop;
let restoreScrollTop = state.scrollTop;
if (typeof state.scrollTopWithoutViewZones === 'number' && !this.linesLayout.hasWhitespace()) {
restoreScrollTop = state.scrollTopWithoutViewZones;
}
......@@ -265,7 +265,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
return this.linesLayout.getLineNumberAtOrAfterVerticalOffset(verticalOffset);
}
public getTotalHeight(): number {
var reserveHorizontalScrollbarHeight = 0;
let reserveHorizontalScrollbarHeight = 0;
if (this.scrollManager.getScrollWidth() > this.scrollManager.getWidth()) {
reserveHorizontalScrollbarHeight = this.configuration.editor.viewInfo.scrollbar.horizontalScrollbarSize;
}
......@@ -287,7 +287,7 @@ export class LayoutProvider extends ViewEventHandler implements IDisposable, ILa
// ---- IScrollingProvider
public getOverviewRulerInsertData(): { parent: HTMLElement; insertBefore: HTMLElement; } {
var layoutInfo = this.scrollManager.getOverviewRulerLayoutInfo();
let layoutInfo = this.scrollManager.getOverviewRulerLayoutInfo();
return {
parent: layoutInfo.parent,
insertBefore: layoutInfo.insertBefore
......
......@@ -33,9 +33,9 @@ export class ScrollManager implements IDisposable {
this.privateViewEventBus = privateViewEventBus;
this.linesContent = linesContent;
var configScrollbarOpts = this.configuration.editor.viewInfo.scrollbar;
let configScrollbarOpts = this.configuration.editor.viewInfo.scrollbar;
var scrollbarOptions: ScrollableElementCreationOptions = {
let scrollbarOptions: ScrollableElementCreationOptions = {
canUseTranslate3d: this.configuration.editor.viewInfo.canUseTranslate3d,
listenOnDomNode: viewDomNode,
vertical: configScrollbarOpts.vertical,
......@@ -78,11 +78,11 @@ export class ScrollManager implements IDisposable {
// the browser will try desperately to reveal that dom node, unexpectedly
// changing the .scrollTop of this.linesContent
var onBrowserDesperateReveal = (domNode: HTMLElement, lookAtScrollTop: boolean, lookAtScrollLeft: boolean) => {
let onBrowserDesperateReveal = (domNode: HTMLElement, lookAtScrollTop: boolean, lookAtScrollLeft: boolean) => {
let newScrollPosition: INewScrollPosition = {};
if (lookAtScrollTop) {
var deltaTop = domNode.scrollTop;
let deltaTop = domNode.scrollTop;
if (deltaTop) {
newScrollPosition.scrollTop = this.getScrollTop() + deltaTop;
domNode.scrollTop = 0;
......@@ -90,7 +90,7 @@ export class ScrollManager implements IDisposable {
}
if (lookAtScrollLeft) {
var deltaLeft = domNode.scrollLeft;
let deltaLeft = domNode.scrollLeft;
if (deltaLeft) {
newScrollPosition.scrollLeft = this.getScrollLeft() + deltaLeft;
domNode.scrollLeft = 0;
......
......@@ -63,7 +63,7 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
return true;
}
public onCursorPositionChanged(e: editorCommon.IViewCursorPositionChangedEvent): boolean {
var hasChanged = false;
let hasChanged = false;
if (this._primaryCursorIsInEditableRange !== e.isInEditableRange) {
this._primaryCursorIsInEditableRange = e.isInEditableRange;
hasChanged = true;
......@@ -75,7 +75,7 @@ export class CurrentLineHighlightOverlay extends DynamicViewOverlay {
return hasChanged;
}
public onCursorSelectionChanged(e: editorCommon.IViewCursorSelectionChangedEvent): boolean {
var isEmpty = e.selection.isEmpty();
let isEmpty = e.selection.isEmpty();
if (this._selectionIsEmpty !== isEmpty) {
this._selectionIsEmpty = isEmpty;
return true;
......
......@@ -108,7 +108,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
// ---- begin view event handlers
public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
var shouldRender = super.onConfigurationChanged(e);
let shouldRender = super.onConfigurationChanged(e);
if (e.wrappingInfo) {
this._maxLineWidth = 0;
}
......@@ -133,13 +133,13 @@ export class ViewLines extends ViewLayer<ViewLine> {
}
public onLayoutChanged(layoutInfo: editorCommon.EditorLayoutInfo): boolean {
var shouldRender = super.onLayoutChanged(layoutInfo);
let shouldRender = super.onLayoutChanged(layoutInfo);
this._maxLineWidth = 0;
return shouldRender;
}
public onModelFlushed(): boolean {
var shouldRender = super.onModelFlushed();
let shouldRender = super.onModelFlushed();
this._maxLineWidth = 0;
return shouldRender;
}
......@@ -157,7 +157,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
}
public onCursorRevealRange(e: editorCommon.IViewRevealRangeEvent): boolean {
var newScrollTop = this._computeScrollTopToRevealRange(this._layoutProvider.getCurrentViewport(), e.range, e.verticalType);
let newScrollTop = this._computeScrollTopToRevealRange(this._layoutProvider.getCurrentViewport(), e.range, e.verticalType);
if (e.revealHorizontal) {
this._lastCursorRevealRangeHorizontallyEvent = e;
......@@ -403,9 +403,9 @@ export class ViewLines extends ViewLayer<ViewLine> {
this.onDidRender();
// compute new scroll position
var newScrollLeft = this._computeScrollLeftToRevealRange(revealHorizontalRange);
let newScrollLeft = this._computeScrollLeftToRevealRange(revealHorizontalRange);
var isViewportWrapping = this._isViewportWrapping;
let isViewportWrapping = this._isViewportWrapping;
if (!isViewportWrapping) {
// ensure `scrollWidth` is large enough
this._ensureMaxLineWidth(newScrollLeft.maxHorizontalOffset);
......@@ -444,11 +444,11 @@ export class ViewLines extends ViewLayer<ViewLine> {
}
private _computeScrollTopToRevealRange(viewport: editorCommon.Viewport, range: Range, verticalType: editorCommon.VerticalRevealType): number {
var viewportStartY = viewport.top,
viewportHeight = viewport.height,
viewportEndY = viewportStartY + viewportHeight,
boxStartY: number,
boxEndY: number;
let viewportStartY = viewport.top;
let viewportHeight = viewport.height;
let viewportEndY = viewportStartY + viewportHeight;
let boxStartY: number;
let boxEndY: number;
// Have a box that includes one extra line height (for the horizontal scrollbar)
boxStartY = this._layoutProvider.getVerticalOffsetForLineNumber(range.startLineNumber);
......@@ -458,7 +458,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
boxEndY += this._lineHeight;
}
var newScrollTop: number;
let newScrollTop: number;
if (verticalType === editorCommon.VerticalRevealType.Center || verticalType === editorCommon.VerticalRevealType.CenterIfOutsideViewport) {
if (verticalType === editorCommon.VerticalRevealType.CenterIfOutsideViewport && viewportStartY <= boxStartY && boxEndY <= viewportEndY) {
......@@ -466,7 +466,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
newScrollTop = viewportStartY;
} else {
// Box is outside the viewport... center it
var boxMiddleY = (boxStartY + boxEndY) / 2;
let boxMiddleY = (boxStartY + boxEndY) / 2;
newScrollTop = Math.max(0, boxMiddleY - viewportHeight / 2);
}
} else {
......@@ -478,7 +478,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
private _computeScrollLeftToRevealRange(range: Range): { scrollLeft: number; maxHorizontalOffset: number; } {
var maxHorizontalOffset = 0;
let maxHorizontalOffset = 0;
if (range.startLineNumber !== range.endLineNumber) {
// Two or more lines? => scroll to base (That's how you see most of the two lines)
......@@ -488,13 +488,13 @@ export class ViewLines extends ViewLayer<ViewLine> {
};
}
var viewport = this._layoutProvider.getCurrentViewport(),
viewportStartX = viewport.left,
viewportEndX = viewportStartX + viewport.width;
let viewport = this._layoutProvider.getCurrentViewport();
let viewportStartX = viewport.left;
let viewportEndX = viewportStartX + viewport.width;
var visibleRanges = this.visibleRangesForRange2(range, 0),
boxStartX = Number.MAX_VALUE,
boxEndX = 0;
let visibleRanges = this.visibleRangesForRange2(range, 0);
let boxStartX = Number.MAX_VALUE;
let boxEndX = 0;
if (!visibleRanges) {
// Unknown
......@@ -504,11 +504,8 @@ export class ViewLines extends ViewLayer<ViewLine> {
};
}
var i: number,
visibleRange: VisibleRange;
for (i = 0; i < visibleRanges.length; i++) {
visibleRange = visibleRanges[i];
for (let i = 0; i < visibleRanges.length; i++) {
let visibleRange = visibleRanges[i];
if (visibleRange.left < boxStartX) {
boxStartX = visibleRange.left;
}
......@@ -522,7 +519,7 @@ export class ViewLines extends ViewLayer<ViewLine> {
boxStartX = Math.max(0, boxStartX - ViewLines.HORIZONTAL_EXTRA_PX);
boxEndX += this._revealHorizontalRightPadding;
var newScrollLeft = this._computeMinimumScrolling(viewportStartX, viewportEndX, boxStartX, boxEndX);
let newScrollLeft = this._computeMinimumScrolling(viewportStartX, viewportEndX, boxStartX, boxEndX);
return {
scrollLeft: newScrollLeft,
maxHorizontalOffset: maxHorizontalOffset
......
......@@ -69,7 +69,7 @@ export class ViewOverlayWidgets extends ViewPart {
};
// This is sync because a widget wants to be in the dom
var domNode = widget.getDomNode();
let domNode = widget.getDomNode();
domNode.style.position = 'absolute';
domNode.setAttribute('widgetId', widget.getId());
this.domNode.appendChild(domNode);
......@@ -78,7 +78,7 @@ export class ViewOverlayWidgets extends ViewPart {
}
public setWidgetPosition(widget: IOverlayWidget, preference: OverlayWidgetPositionPreference): boolean {
var widgetData = this._widgets[widget.getId()];
let widgetData = this._widgets[widget.getId()];
if (widgetData.preference === preference) {
return false;
}
......@@ -90,10 +90,10 @@ export class ViewOverlayWidgets extends ViewPart {
}
public removeWidget(widget: IOverlayWidget): void {
var widgetId = widget.getId();
let widgetId = widget.getId();
if (this._widgets.hasOwnProperty(widgetId)) {
var widgetData = this._widgets[widgetId];
var domNode = widgetData.widget.getDomNode();
let widgetData = this._widgets[widgetId];
let domNode = widgetData.widget.getDomNode();
delete this._widgets[widgetId];
domNode.parentNode.removeChild(domNode);
......@@ -102,12 +102,12 @@ export class ViewOverlayWidgets extends ViewPart {
}
private _renderWidget(widgetData: IWidgetData): void {
var _RESTORE_STYLE_TOP = 'data-editor-restoreStyleTop',
domNode = widgetData.widget.getDomNode();
let _RESTORE_STYLE_TOP = 'data-editor-restoreStyleTop';
let domNode = widgetData.widget.getDomNode();
if (widgetData.preference === null) {
if (domNode.hasAttribute(_RESTORE_STYLE_TOP)) {
var previousTop = domNode.getAttribute(_RESTORE_STYLE_TOP);
let previousTop = domNode.getAttribute(_RESTORE_STYLE_TOP);
domNode.removeAttribute(_RESTORE_STYLE_TOP);
domNode.style.top = previousTop;
}
......@@ -124,7 +124,7 @@ export class ViewOverlayWidgets extends ViewPart {
if (!domNode.hasAttribute(_RESTORE_STYLE_TOP)) {
domNode.setAttribute(_RESTORE_STYLE_TOP, domNode.style.top);
}
var widgetHeight = domNode.clientHeight;
let widgetHeight = domNode.clientHeight;
StyleMutator.setTop(domNode, (this._editorHeight - widgetHeight - 2 * this._horizontalScrollbarHeight));
StyleMutator.setRight(domNode, (2 * this._verticalScrollbarWidth));
} else if (widgetData.preference === OverlayWidgetPositionPreference.TOP_CENTER) {
......
......@@ -72,10 +72,10 @@ export class DecorationsOverviewRuler extends ViewPart {
}
public onConfigurationChanged(e: editorCommon.IConfigurationChangedEvent): boolean {
var prevLanesCount = this._overviewRuler.getLanesCount();
var newLanesCount = this._context.configuration.editor.viewInfo.overviewRulerLanes;
let prevLanesCount = this._overviewRuler.getLanesCount();
let newLanesCount = this._context.configuration.editor.viewInfo.overviewRulerLanes;
var shouldRender = false;
let shouldRender = false;
if (e.lineHeight) {
this._overviewRuler.setLineHeight(this._context.configuration.editor.lineHeight, false);
......@@ -202,17 +202,17 @@ export class DecorationsOverviewRuler extends ViewPart {
}
}
var allZones: editorCommon.OverviewRulerZone[] = [];
let allZones: editorCommon.OverviewRulerZone[] = [];
allZones = allZones.concat(this._zonesFromCursors);
allZones = allZones.concat(this._zonesFromDecorations);
this._overviewRuler.setZones(allZones, false);
}
var hasRendered = this._overviewRuler.render(false);
let hasRendered = this._overviewRuler.render(false);
if (hasRendered && OverviewRulerImpl.hasCanvas && this._overviewRuler.getLanesCount() > 0 && (this._zonesFromDecorations.length > 0 || this._zonesFromCursors.length > 0)) {
var ctx2 = this._overviewRuler.getDomNode().getContext('2d');
let ctx2 = this._overviewRuler.getDomNode().getContext('2d');
ctx2.beginPath();
ctx2.lineWidth = 1;
ctx2.strokeStyle = 'rgba(197,197,197,0.8)';
......
......@@ -33,7 +33,7 @@ export class ScrollDecorationViewPart extends ViewPart {
}
private _updateShouldShow(): boolean {
var newShouldShow = (this._useShadows && this._scrollTop > 0);
let newShouldShow = (this._useShadows && this._scrollTop > 0);
if (this._shouldShow !== newShouldShow) {
this._shouldShow = newShouldShow;
return true;
......
......@@ -151,12 +151,8 @@ export class SelectionsOverlay extends DynamicViewOverlay {
private _visibleRangesHaveGaps(linesVisibleRanges: LineVisibleRangesWithStyle[]): boolean {
var i: number,
len: number,
lineVisibleRanges: LineVisibleRangesWithStyle;
for (i = 0, len = linesVisibleRanges.length; i < len; i++) {
lineVisibleRanges = linesVisibleRanges[i];
for (let i = 0, len = linesVisibleRanges.length; i < len; i++) {
let lineVisibleRanges = linesVisibleRanges[i];
if (lineVisibleRanges.ranges.length > 1) {
// There are two ranges on the same line
......@@ -168,32 +164,20 @@ export class SelectionsOverlay extends DynamicViewOverlay {
}
private _enrichVisibleRangesWithStyle(linesVisibleRanges: LineVisibleRangesWithStyle[], previousFrame: LineVisibleRangesWithStyle[]): void {
var curLineRange: HorizontalRangeWithStyle,
curLeft: number,
curRight: number,
prevLeft: number,
prevRight: number,
nextLeft: number,
nextRight: number,
startStyle: IVisibleRangeEndPointStyle,
endStyle: IVisibleRangeEndPointStyle,
i: number,
len: number;
var previousFrameTop: HorizontalRangeWithStyle = null,
previousFrameBottom: HorizontalRangeWithStyle = null;
let previousFrameTop: HorizontalRangeWithStyle = null;
let previousFrameBottom: HorizontalRangeWithStyle = null;
if (previousFrame && previousFrame.length > 0 && linesVisibleRanges.length > 0) {
var topLineNumber = linesVisibleRanges[0].lineNumber;
for (var i = 0; !previousFrameTop && i < previousFrame.length; i++) {
let topLineNumber = linesVisibleRanges[0].lineNumber;
for (let i = 0; !previousFrameTop && i < previousFrame.length; i++) {
if (previousFrame[i].lineNumber === topLineNumber) {
previousFrameTop = previousFrame[i].ranges[0];
}
}
var bottomLineNumber = linesVisibleRanges[linesVisibleRanges.length - 1].lineNumber;
for (var i = previousFrame.length - 1; !previousFrameBottom && i >= 0; i--) {
let bottomLineNumber = linesVisibleRanges[linesVisibleRanges.length - 1].lineNumber;
for (let i = previousFrame.length - 1; !previousFrameBottom && i >= 0; i--) {
if (previousFrame[i].lineNumber === bottomLineNumber) {
previousFrameBottom = previousFrame[i].ranges[0];
}
......@@ -207,26 +191,26 @@ export class SelectionsOverlay extends DynamicViewOverlay {
}
}
for (i = 0, len = linesVisibleRanges.length; i < len; i++) {
for (let i = 0, len = linesVisibleRanges.length; i < len; i++) {
// We know for a fact that there is precisely one range on each line
curLineRange = linesVisibleRanges[i].ranges[0];
curLeft = curLineRange.left;
curRight = curLineRange.left + curLineRange.width;
let curLineRange = linesVisibleRanges[i].ranges[0];
let curLeft = curLineRange.left;
let curRight = curLineRange.left + curLineRange.width;
startStyle = {
let startStyle = {
top: CornerStyle.EXTERN,
bottom: CornerStyle.EXTERN
};
endStyle = {
let endStyle = {
top: CornerStyle.EXTERN,
bottom: CornerStyle.EXTERN
};
if (i > 0) {
// Look above
prevLeft = linesVisibleRanges[i - 1].ranges[0].left;
prevRight = linesVisibleRanges[i - 1].ranges[0].left + linesVisibleRanges[i - 1].ranges[0].width;
let prevLeft = linesVisibleRanges[i - 1].ranges[0].left;
let prevRight = linesVisibleRanges[i - 1].ranges[0].left + linesVisibleRanges[i - 1].ranges[0].width;
if (curLeft === prevLeft) {
startStyle.top = CornerStyle.FLAT;
......@@ -247,8 +231,8 @@ export class SelectionsOverlay extends DynamicViewOverlay {
if (i + 1 < len) {
// Look below
nextLeft = linesVisibleRanges[i + 1].ranges[0].left;
nextRight = linesVisibleRanges[i + 1].ranges[0].left + linesVisibleRanges[i + 1].ranges[0].width;
let nextLeft = linesVisibleRanges[i + 1].ranges[0].left;
let nextRight = linesVisibleRanges[i + 1].ranges[0].left + linesVisibleRanges[i + 1].ranges[0].width;
if (curLeft === nextLeft) {
startStyle.bottom = CornerStyle.FLAT;
......
......@@ -123,7 +123,7 @@ export class ViewCursor {
}
public prepareRender(ctx: IRenderingContext): void {
var visibleRange = ctx.visibleRangeForPosition(this._position);
let visibleRange = ctx.visibleRangeForPosition(this._position);
if (visibleRange) {
this._positionTop = visibleRange.top;
this._positionLeft = visibleRange.left;
......
......@@ -78,8 +78,8 @@ export class ViewCursors extends ViewPart {
public onModelFlushed(): boolean {
this._primaryCursor.onModelFlushed();
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
var domNode = this._secondaryCursors[i].getDomNode();
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
let domNode = this._secondaryCursors[i].getDomNode();
domNode.parentNode.removeChild(domNode);
}
this._secondaryCursors = [];
......@@ -99,7 +99,7 @@ export class ViewCursors extends ViewPart {
return true;
}
public onModelTokensChanged(e: editorCommon.IViewTokensChangedEvent): boolean {
var shouldRender = (position: editorCommon.IPosition) => {
let shouldRender = (position: editorCommon.IPosition) => {
for (let i = 0, len = e.ranges.length; i < len; i++) {
if (e.ranges[i].fromLineNumber <= position.lineNumber && position.lineNumber <= e.ranges[i].toLineNumber) {
return true;
......@@ -110,7 +110,7 @@ export class ViewCursors extends ViewPart {
if (shouldRender(this._primaryCursor.getPosition())) {
return true;
}
for (var i = 0; i < this._secondaryCursors.length; i++) {
for (let i = 0; i < this._secondaryCursors.length; i++) {
if (shouldRender(this._secondaryCursors[i].getPosition())) {
return true;
}
......@@ -123,22 +123,22 @@ export class ViewCursors extends ViewPart {
if (this._secondaryCursors.length < e.secondaryPositions.length) {
// Create new cursors
var addCnt = e.secondaryPositions.length - this._secondaryCursors.length;
for (var i = 0; i < addCnt; i++) {
var newCursor = new ViewCursor(this._context, true);
let addCnt = e.secondaryPositions.length - this._secondaryCursors.length;
for (let i = 0; i < addCnt; i++) {
let newCursor = new ViewCursor(this._context, true);
this._primaryCursor.getDomNode().parentNode.insertBefore(newCursor.getDomNode(), this._primaryCursor.getDomNode().nextSibling);
this._secondaryCursors.push(newCursor);
}
} else if (this._secondaryCursors.length > e.secondaryPositions.length) {
// Remove some cursors
var removeCnt = this._secondaryCursors.length - e.secondaryPositions.length;
for (var i = 0; i < removeCnt; i++) {
let removeCnt = this._secondaryCursors.length - e.secondaryPositions.length;
for (let i = 0; i < removeCnt; i++) {
this._secondaryCursors[0].getDomNode().parentNode.removeChild(this._secondaryCursors[0].getDomNode());
this._secondaryCursors.splice(0, 1);
}
}
for (var i = 0; i < e.secondaryPositions.length; i++) {
for (let i = 0; i < e.secondaryPositions.length; i++) {
this._secondaryCursors[i].onCursorPositionChanged(e.secondaryPositions[i], e.isInEditableRange);
}
......@@ -164,7 +164,7 @@ export class ViewCursors extends ViewPart {
if (e.viewInfo.cursorStyle || e.viewInfo.cursorBlinking) {
this._updateDomClassName();
}
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
this._secondaryCursors[i].onConfigurationChanged(e);
}
return true;
......@@ -288,7 +288,7 @@ export class ViewCursors extends ViewPart {
private _show(): void {
this._primaryCursor.show();
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
this._secondaryCursors[i].show();
}
this._isVisible = true;
......@@ -296,7 +296,7 @@ export class ViewCursors extends ViewPart {
private _hide(): void {
this._primaryCursor.hide();
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
this._secondaryCursors[i].hide();
}
this._isVisible = false;
......@@ -310,7 +310,7 @@ export class ViewCursors extends ViewPart {
}
this._primaryCursor.prepareRender(ctx);
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
this._secondaryCursors[i].prepareRender(ctx);
}
}
......@@ -318,7 +318,7 @@ export class ViewCursors extends ViewPart {
public render(ctx: IRestrictedRenderingContext): void {
this._renderData = [];
this._renderData.push(this._primaryCursor.render(ctx));
for (var i = 0, len = this._secondaryCursors.length; i < len; i++) {
for (let i = 0, len = this._secondaryCursors.length; i < len; i++) {
this._renderData.push(this._secondaryCursors[i].render(ctx));
}
......
......@@ -200,7 +200,7 @@ export class ViewZones extends ViewPart {
public removeZone(id: number): boolean {
if (this._zones.hasOwnProperty(id.toString())) {
var zone = this._zones[id.toString()];
let zone = this._zones[id.toString()];
delete this._zones[id.toString()];
this._whitespaceManager.removeWhitespace(zone.whitespaceId);
......@@ -234,7 +234,7 @@ export class ViewZones extends ViewPart {
public shouldSuppressMouseDownOnViewZone(id: number): boolean {
if (this._zones.hasOwnProperty(id.toString())) {
var zone = this._zones[id.toString()];
let zone = this._zones[id.toString()];
return zone.delegate.suppressMouseDown;
}
return false;
......
......@@ -130,10 +130,10 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
if (!model) {
return '';
}
var content = model.getLineContent(lineNumber);
var tokens = model.getLineTokens(lineNumber, false);
var inflatedTokens = tokens.inflate();
var tabSize = model.getOptions().tabSize;
let content = model.getLineContent(lineNumber);
let tokens = model.getLineTokens(lineNumber, false);
let inflatedTokens = tokens.inflate();
let tabSize = model.getOptions().tabSize;
return Colorizer.colorizeLine(content, inflatedTokens, tabSize);
}
public getView(): editorBrowser.IView {
......@@ -247,14 +247,13 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
};
}
public restoreViewState(state: editorCommon.IEditorViewState): void {
public restoreViewState(s: editorCommon.ICodeEditorViewState): void {
if (!this.cursor || !this.hasView) {
return;
}
var s = <any>state;
if (s && s.cursorState && s.viewState) {
var codeEditorState = <editorCommon.ICodeEditorViewState>s;
var cursorState = <any>codeEditorState.cursorState;
let codeEditorState = <editorCommon.ICodeEditorViewState>s;
let cursorState = <any>codeEditorState.cursorState;
if (Array.isArray(cursorState)) {
this.cursor.restoreState(<editorCommon.ICursorState[]>cursorState);
} else {
......@@ -296,7 +295,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public addContentWidget(widget: editorBrowser.IContentWidget): void {
var widgetData: editorBrowser.IContentWidgetData = {
let widgetData: editorBrowser.IContentWidgetData = {
widget: widget,
position: widget.getPosition()
};
......@@ -313,9 +312,9 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public layoutContentWidget(widget: editorBrowser.IContentWidget): void {
var widgetId = widget.getId();
let widgetId = widget.getId();
if (this.contentWidgets.hasOwnProperty(widgetId)) {
var widgetData = this.contentWidgets[widgetId];
let widgetData = this.contentWidgets[widgetId];
widgetData.position = widget.getPosition();
if (this.hasView) {
this._view.layoutContentWidget(widgetData);
......@@ -324,9 +323,9 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public removeContentWidget(widget: editorBrowser.IContentWidget): void {
var widgetId = widget.getId();
let widgetId = widget.getId();
if (this.contentWidgets.hasOwnProperty(widgetId)) {
var widgetData = this.contentWidgets[widgetId];
let widgetData = this.contentWidgets[widgetId];
delete this.contentWidgets[widgetId];
if (this.hasView) {
this._view.removeContentWidget(widgetData);
......@@ -335,7 +334,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public addOverlayWidget(widget: editorBrowser.IOverlayWidget): void {
var widgetData: editorBrowser.IOverlayWidgetData = {
let widgetData: editorBrowser.IOverlayWidgetData = {
widget: widget,
position: widget.getPosition()
};
......@@ -352,9 +351,9 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public layoutOverlayWidget(widget: editorBrowser.IOverlayWidget): void {
var widgetId = widget.getId();
let widgetId = widget.getId();
if (this.overlayWidgets.hasOwnProperty(widgetId)) {
var widgetData = this.overlayWidgets[widgetId];
let widgetData = this.overlayWidgets[widgetId];
widgetData.position = widget.getPosition();
if (this.hasView) {
this._view.layoutOverlayWidget(widgetData);
......@@ -363,9 +362,9 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
public removeOverlayWidget(widget: editorBrowser.IOverlayWidget): void {
var widgetId = widget.getId();
let widgetId = widget.getId();
if (this.overlayWidgets.hasOwnProperty(widgetId)) {
var widgetData = this.overlayWidgets[widgetId];
let widgetData = this.overlayWidgets[widgetId];
delete this.overlayWidgets[widgetId];
if (this.hasView) {
this._view.removeOverlayWidget(widgetData);
......@@ -378,7 +377,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
// console.warn('Cannot change view zones on editor that is not attached to a model, since there is no view.');
return;
}
var hasChanges = this._view.change(callback);
let hasChanges = this._view.change(callback);
if (hasChanges) {
this.emit(editorCommon.EventType.ViewZonesChanged);
}
......@@ -410,12 +409,12 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
return null;
}
var position = this.model.validatePosition(rawPosition);
var helper = this._view.getCodeEditorHelper();
var layoutInfo = this._configuration.editor.layoutInfo;
let position = this.model.validatePosition(rawPosition);
let helper = this._view.getCodeEditorHelper();
let layoutInfo = this._configuration.editor.layoutInfo;
var top = helper.getVerticalOffsetForPosition(position.lineNumber, position.column) - helper.getScrollTop();
var left = helper.getOffsetForColumn(position.lineNumber, position.column) + layoutInfo.glyphMarginWidth + layoutInfo.lineNumbersWidth + layoutInfo.decorationsWidth - helper.getScrollLeft();
let top = helper.getVerticalOffsetForPosition(position.lineNumber, position.column) - helper.getScrollTop();
let left = helper.getOffsetForColumn(position.lineNumber, position.column) + layoutInfo.glyphMarginWidth + layoutInfo.lineNumbersWidth + layoutInfo.decorationsWidth - helper.getScrollLeft();
return {
top: top,
......@@ -506,7 +505,7 @@ export abstract class CodeEditorWidget extends CommonCodeEditor implements edito
}
protected _detachModel(): editorCommon.IModel {
var removeDomNode: HTMLElement = null;
let removeDomNode: HTMLElement = null;
if (this._view) {
this._view.dispose();
......@@ -634,9 +633,9 @@ export class CommandRunner implements editorCommon.ICommand {
});
// Merge operations that touch each other
var resultOps: editorCommon.ISingleEditOperation[] = [];
var previousOp = this._ops[0];
for (var i = 1; i < this._ops.length; i++) {
let resultOps: editorCommon.ISingleEditOperation[] = [];
let previousOp = this._ops[0];
for (let i = 1; i < this._ops.length; i++) {
if (previousOp.range.endLineNumber === this._ops[i].range.startLineNumber && previousOp.range.endColumn === this._ops[i].range.startColumn) {
// These operations are one after another and can be merged
previousOp.range = Range.plusRange(previousOp.range, this._ops[i].range);
......@@ -648,14 +647,14 @@ export class CommandRunner implements editorCommon.ICommand {
}
resultOps.push(previousOp);
for (var i = 0; i < resultOps.length; i++) {
for (let i = 0; i < resultOps.length; i++) {
builder.addEditOperation(Range.lift(resultOps[i].range), resultOps[i].text);
}
}
public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
var inverseEditOperations = helper.getInverseEditOperations();
var srcRange = inverseEditOperations[inverseEditOperations.length - 1].range;
let inverseEditOperations = helper.getInverseEditOperations();
let srcRange = inverseEditOperations[inverseEditOperations.length - 1].range;
return new Selection(
srcRange.endLineNumber,
srcRange.endColumn,
......
......@@ -79,7 +79,7 @@ class VisualEditorState {
// (1) View zones
if (this._zones.length > 0) {
editor.changeViewZones((viewChangeAccessor: editorBrowser.IViewZoneChangeAccessor) => {
for (var i = 0, length = this._zones.length; i < length; i++) {
for (let i = 0, length = this._zones.length; i < length; i++) {
viewChangeAccessor.removeZone(this._zones[i]);
}
});
......@@ -97,19 +97,16 @@ class VisualEditorState {
}
public apply(editor: CodeEditor, overviewRuler: editorBrowser.IOverviewRuler, newDecorations: IEditorDiffDecorationsWithZones): void {
var i: number,
length: number;
// view zones
editor.changeViewZones((viewChangeAccessor: editorBrowser.IViewZoneChangeAccessor) => {
for (i = 0, length = this._zones.length; i < length; i++) {
for (let i = 0, length = this._zones.length; i < length; i++) {
viewChangeAccessor.removeZone(this._zones[i]);
}
this._zones = [];
this._zonesMap = {};
for (i = 0, length = newDecorations.zones.length; i < length; i++) {
for (let i = 0, length = newDecorations.zones.length; i < length; i++) {
newDecorations.zones[i].suppressMouseDown = true;
var zoneId = viewChangeAccessor.addZone(newDecorations.zones[i]);
let zoneId = viewChangeAccessor.addZone(newDecorations.zones[i]);
this._zones.push(zoneId);
this._zonesMap[String(zoneId)] = true;
}
......@@ -125,7 +122,7 @@ class VisualEditorState {
}
}
var DIFF_EDITOR_ID = 0;
let DIFF_EDITOR_ID = 0;
export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDiffEditor {
......@@ -313,7 +310,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private static _getClassName(theme: string, renderSideBySide: boolean): string {
var result = 'monaco-diff-editor monaco-editor-background ';
let result = 'monaco-diff-editor monaco-editor-background ';
if (renderSideBySide) {
result += 'side-by-side ';
}
......@@ -418,7 +415,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
this._theme = newOptions && newOptions.theme ? newOptions.theme : this._theme;
// Handle side by side
var renderSideBySideChanged = false;
let renderSideBySideChanged = false;
if (typeof newOptions.renderSideBySide !== 'undefined') {
if (this._renderSideBySide !== newOptions.renderSideBySide) {
this._renderSideBySide = newOptions.renderSideBySide;
......@@ -607,18 +604,17 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
public saveViewState(): editorCommon.IDiffEditorViewState {
var originalViewState = this.originalEditor.saveViewState();
var modifiedViewState = this.modifiedEditor.saveViewState();
let originalViewState = this.originalEditor.saveViewState();
let modifiedViewState = this.modifiedEditor.saveViewState();
return {
original: originalViewState,
modified: modifiedViewState
};
}
public restoreViewState(state: editorCommon.IEditorViewState): void {
var s = <any>state;
public restoreViewState(s: editorCommon.IDiffEditorViewState): void {
if (s.original && s.original) {
var diffEditorState = <editorCommon.IDiffEditorViewState>s;
let diffEditorState = <editorCommon.IDiffEditorViewState>s;
this.originalEditor.restoreViewState(diffEditorState.original);
this.modifiedEditor.restoreViewState(diffEditorState.modified);
}
......@@ -690,8 +686,8 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _layoutOverviewRulers(): void {
var freeSpace = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * DiffEditorWidget.ONE_OVERVIEW_WIDTH;
var layoutInfo = this.modifiedEditor.getLayoutInfo();
let freeSpace = DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * DiffEditorWidget.ONE_OVERVIEW_WIDTH;
let layoutInfo = this.modifiedEditor.getLayoutInfo();
if (layoutInfo) {
this._originalOverviewRuler.setLayout(new editorCommon.OverviewRulerPosition({
top: 0,
......@@ -711,9 +707,9 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
//------------ end layouting methods
private _recomputeIfNecessary(events: EmitterEvent[]): void {
var changed = false;
for (var i = 0; !changed && i < events.length; i++) {
var type = events[i].getType();
let changed = false;
for (let i = 0; !changed && i < events.length; i++) {
let type = events[i].getType();
changed = changed || type === editorCommon.EventType.ModelRawContentChanged || type === editorCommon.EventType.ModelModeChanged;
}
if (changed && this._isVisible) {
......@@ -727,7 +723,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _onOriginalEditorEvents(events: EmitterEvent[]): void {
for (var i = 0; i < events.length; i++) {
for (let i = 0; i < events.length; i++) {
let type = events[i].getType();
let data = events[i].getData();
......@@ -749,7 +745,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _onModifiedEditorEvents(events: EmitterEvent[]): void {
for (var i = 0; i < events.length; i++) {
for (let i = 0; i < events.length; i++) {
let type = events[i].getType();
let data = events[i].getData();
......@@ -795,9 +791,9 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
// The best method would be to call cancel on the Promise, but this is not
// yet supported, so using tokens for now.
this._diffComputationToken++;
var currentToken = this._diffComputationToken;
var currentOriginalModel = this.originalEditor.getModel();
var currentModifiedModel = this.modifiedEditor.getModel();
let currentToken = this._diffComputationToken;
let currentOriginalModel = this.originalEditor.getModel();
let currentModifiedModel = this.modifiedEditor.getModel();
this._editorWorkerService.computeDiff(currentOriginalModel.uri, currentModifiedModel.uri, this._ignoreTrimWhitespace).then((result) => {
if (currentToken === this._diffComputationToken
......@@ -828,12 +824,12 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
if (!this.originalEditor.getModel() || !this.modifiedEditor.getModel()) {
return;
}
var lineChanges = this._lineChanges || [];
let lineChanges = this._lineChanges || [];
var foreignOriginal = this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces());
var foreignModified = this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces());
let foreignOriginal = this._originalEditorState.getForeignViewZones(this.originalEditor.getWhitespaces());
let foreignModified = this._modifiedEditorState.getForeignViewZones(this.modifiedEditor.getWhitespaces());
var diffDecorations = this._strategy.getEditorsDiffDecorations(lineChanges, this._ignoreTrimWhitespace, foreignOriginal, foreignModified, this.originalEditor, this.modifiedEditor);
let diffDecorations = this._strategy.getEditorsDiffDecorations(lineChanges, this._ignoreTrimWhitespace, foreignOriginal, foreignModified, this.originalEditor, this.modifiedEditor);
try {
this._currentlyChangingViewZones = true;
......@@ -903,7 +899,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _doLayout(): void {
var splitPoint = this._strategy.layout();
let splitPoint = this._strategy.layout();
this._originalDomNode.style.width = splitPoint + 'px';
this._originalDomNode.style.left = '0px';
......@@ -928,7 +924,7 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _layoutOverviewViewport(): void {
var layout = this._computeOverviewViewport();
let layout = this._computeOverviewViewport();
if (!layout) {
StyleMutator.setTop(this._overviewViewportDomElement, 0);
StyleMutator.setHeight(this._overviewViewportDomElement, 0);
......@@ -939,20 +935,20 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _computeOverviewViewport(): { height: number; top: number; } {
var layoutInfo = this.modifiedEditor.getLayoutInfo();
let layoutInfo = this.modifiedEditor.getLayoutInfo();
if (!layoutInfo) {
return null;
}
var scrollTop = this.modifiedEditor.getScrollTop();
var scrollHeight = this.modifiedEditor.getScrollHeight();
let scrollTop = this.modifiedEditor.getScrollTop();
let scrollHeight = this.modifiedEditor.getScrollHeight();
var computedAvailableSize = Math.max(0, layoutInfo.contentHeight);
var computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * 0);
var computedRatio = scrollHeight > 0 ? (computedRepresentableSize / scrollHeight) : 0;
let computedAvailableSize = Math.max(0, layoutInfo.contentHeight);
let computedRepresentableSize = Math.max(0, computedAvailableSize - 2 * 0);
let computedRatio = scrollHeight > 0 ? (computedRepresentableSize / scrollHeight) : 0;
var computedSliderSize = Math.max(1, Math.floor(layoutInfo.contentHeight * computedRatio));
var computedSliderPosition = Math.floor(scrollTop * computedRatio);
let computedSliderSize = Math.max(1, Math.floor(layoutInfo.contentHeight * computedRatio));
let computedSliderPosition = Math.floor(scrollTop * computedRatio);
return {
height: computedSliderSize,
......@@ -1009,11 +1005,11 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
return null;
}
var min = 0, max = this._lineChanges.length - 1;
let min = 0, max = this._lineChanges.length - 1;
while (min < max) {
var mid = Math.floor((min + max) / 2);
var midStart = startLineNumberExtractor(this._lineChanges[mid]);
var midEnd = (mid + 1 <= max ? startLineNumberExtractor(this._lineChanges[mid + 1]) : Number.MAX_VALUE);
let mid = Math.floor((min + max) / 2);
let midStart = startLineNumberExtractor(this._lineChanges[mid]);
let midEnd = (mid + 1 <= max ? startLineNumberExtractor(this._lineChanges[mid + 1]) : Number.MAX_VALUE);
if (lineNumber < midStart) {
max = mid - 1;
......@@ -1029,19 +1025,19 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _getEquivalentLineForOriginalLineNumber(lineNumber: number): number {
var lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, (lineChange) => lineChange.originalStartLineNumber);
let lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, (lineChange) => lineChange.originalStartLineNumber);
if (!lineChange) {
return lineNumber;
}
var originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);
var modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);
var lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);
var lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);
let originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);
let modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);
let lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);
let lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);
var delta = lineNumber - originalEquivalentLineNumber;
let delta = lineNumber - originalEquivalentLineNumber;
if (delta <= lineChangeOriginalLength) {
return modifiedEquivalentLineNumber + Math.min(delta, lineChangeModifiedLength);
......@@ -1051,19 +1047,19 @@ export class DiffEditorWidget extends EventEmitter implements editorBrowser.IDif
}
private _getEquivalentLineForModifiedLineNumber(lineNumber: number): number {
var lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, (lineChange) => lineChange.modifiedStartLineNumber);
let lineChange = this._getLineChangeAtOrBeforeLineNumber(lineNumber, (lineChange) => lineChange.modifiedStartLineNumber);
if (!lineChange) {
return lineNumber;
}
var originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);
var modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);
var lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);
var lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);
let originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);
let modifiedEquivalentLineNumber = lineChange.modifiedStartLineNumber + (lineChange.modifiedEndLineNumber > 0 ? -1 : 0);
let lineChangeOriginalLength = (lineChange.originalEndLineNumber > 0 ? (lineChange.originalEndLineNumber - lineChange.originalStartLineNumber + 1) : 0);
let lineChangeModifiedLength = (lineChange.modifiedEndLineNumber > 0 ? (lineChange.modifiedEndLineNumber - lineChange.modifiedStartLineNumber + 1) : 0);
var delta = lineNumber - modifiedEquivalentLineNumber;
let delta = lineNumber - modifiedEquivalentLineNumber;
if (delta <= lineChangeModifiedLength) {
return originalEquivalentLineNumber + Math.min(delta, lineChangeOriginalLength);
......@@ -1119,11 +1115,11 @@ class DiffEditorWidgetStyle {
originalWhitespaces = originalWhitespaces.sort((a, b) => {
return a.afterLineNumber - b.afterLineNumber;
});
var zones = this._getViewZones(lineChanges, originalWhitespaces, modifiedWhitespaces, originalEditor, modifiedEditor);
let zones = this._getViewZones(lineChanges, originalWhitespaces, modifiedWhitespaces, originalEditor, modifiedEditor);
// Get decorations & overview ruler zones
var originalDecorations = this._getOriginalEditorDecorations(lineChanges, ignoreTrimWhitespace, originalEditor, modifiedEditor);
var modifiedDecorations = this._getModifiedEditorDecorations(lineChanges, ignoreTrimWhitespace, originalEditor, modifiedEditor);
let originalDecorations = this._getOriginalEditorDecorations(lineChanges, ignoreTrimWhitespace, originalEditor, modifiedEditor);
let modifiedDecorations = this._getModifiedEditorDecorations(lineChanges, ignoreTrimWhitespace, originalEditor, modifiedEditor);
return {
original: {
......@@ -1191,34 +1187,25 @@ abstract class ViewZonesComputer {
}
public getViewZones(): IEditorsZones {
var result: IEditorsZones = {
let result: IEditorsZones = {
original: [],
modified: []
};
var i: number,
length: number,
lineChange: editorCommon.ILineChange;
var stepOriginal: IMyViewZone[],
stepModified: IMyViewZone[],
stepOriginalIndex: number,
stepModifiedIndex: number,
lineChangeModifiedLength: number = 0,
lineChangeOriginalLength: number = 0,
originalEquivalentLineNumber: number = 0,
modifiedEquivalentLineNumber: number = 0,
originalEndEquivalentLineNumber: number = 0,
modifiedEndEquivalentLineNumber: number = 0,
viewZoneLineNumber: number = 0;
var sortMyViewZones = (a: IMyViewZone, b: IMyViewZone) => {
let lineChangeModifiedLength: number = 0;
let lineChangeOriginalLength: number = 0;
let originalEquivalentLineNumber: number = 0;
let modifiedEquivalentLineNumber: number = 0;
let originalEndEquivalentLineNumber: number = 0;
let modifiedEndEquivalentLineNumber: number = 0;
let sortMyViewZones = (a: IMyViewZone, b: IMyViewZone) => {
return a.afterLineNumber - b.afterLineNumber;
};
var addAndCombineIfPossible = (destination: editorBrowser.IViewZone[], item: IMyViewZone) => {
let addAndCombineIfPossible = (destination: editorBrowser.IViewZone[], item: IMyViewZone) => {
if (item.domNode === null && destination.length > 0) {
var lastItem = destination[destination.length - 1];
let lastItem = destination[destination.length - 1];
if (lastItem.afterLineNumber === item.afterLineNumber && lastItem.domNode === null) {
lastItem.heightInLines += item.heightInLines;
return;
......@@ -1227,12 +1214,12 @@ abstract class ViewZonesComputer {
destination.push(item);
};
var modifiedForeignVZ = new ForeignViewZonesIterator(this.modifiedForeignVZ);
var originalForeignVZ = new ForeignViewZonesIterator(this.originalForeignVZ);
let modifiedForeignVZ = new ForeignViewZonesIterator(this.modifiedForeignVZ);
let originalForeignVZ = new ForeignViewZonesIterator(this.originalForeignVZ);
// In order to include foreign view zones after the last line change, the for loop will iterate once more after the end of the `lineChanges` array
for (i = 0, length = this.lineChanges.length; i <= length; i++) {
lineChange = (i < length ? this.lineChanges[i] : null);
for (let i = 0, length = this.lineChanges.length; i <= length; i++) {
let lineChange = (i < length ? this.lineChanges[i] : null);
if (lineChange !== null) {
originalEquivalentLineNumber = lineChange.originalStartLineNumber + (lineChange.originalEndLineNumber > 0 ? -1 : 0);
......@@ -1250,13 +1237,14 @@ abstract class ViewZonesComputer {
}
// Each step produces view zones, and after producing them, we try to cancel them out, to avoid empty-empty view zone cases
stepOriginal = [];
stepModified = [];
let stepOriginal: IMyViewZone[] = [];
let stepModified: IMyViewZone[] = [];
// ---------------------------- PRODUCE VIEW ZONES
// [PRODUCE] View zone(s) in original-side due to foreign view zone(s) in modified-side
while (modifiedForeignVZ.current && modifiedForeignVZ.current.afterLineNumber <= modifiedEndEquivalentLineNumber) {
let viewZoneLineNumber: number;
if (modifiedForeignVZ.current.afterLineNumber <= modifiedEquivalentLineNumber) {
viewZoneLineNumber = originalEquivalentLineNumber - modifiedEquivalentLineNumber + modifiedForeignVZ.current.afterLineNumber;
} else {
......@@ -1272,6 +1260,7 @@ abstract class ViewZonesComputer {
// [PRODUCE] View zone(s) in modified-side due to foreign view zone(s) in original-side
while (originalForeignVZ.current && originalForeignVZ.current.afterLineNumber <= originalEndEquivalentLineNumber) {
let viewZoneLineNumber: number;
if (originalForeignVZ.current.afterLineNumber <= originalEquivalentLineNumber) {
viewZoneLineNumber = modifiedEquivalentLineNumber - originalEquivalentLineNumber + originalForeignVZ.current.afterLineNumber;
} else {
......@@ -1286,14 +1275,14 @@ abstract class ViewZonesComputer {
}
if (lineChange !== null && isChangeOrInsert(lineChange)) {
var r = this._produceOriginalFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);
let r = this._produceOriginalFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);
if (r) {
stepOriginal.push(r);
}
}
if (lineChange !== null && isChangeOrDelete(lineChange)) {
var r = this._produceModifiedFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);
let r = this._produceModifiedFromDiff(lineChange, lineChangeOriginalLength, lineChangeModifiedLength);
if (r) {
stepModified.push(r);
}
......@@ -1305,18 +1294,18 @@ abstract class ViewZonesComputer {
// ---------------------------- EMIT MINIMAL VIEW ZONES
// [CANCEL & EMIT] Try to cancel view zones out
stepOriginalIndex = 0;
stepModifiedIndex = 0;
let stepOriginalIndex = 0;
let stepModifiedIndex = 0;
stepOriginal = stepOriginal.sort(sortMyViewZones);
stepModified = stepModified.sort(sortMyViewZones);
while (stepOriginalIndex < stepOriginal.length && stepModifiedIndex < stepModified.length) {
var original = stepOriginal[stepOriginalIndex];
var modified = stepModified[stepModifiedIndex];
let original = stepOriginal[stepOriginalIndex];
let modified = stepModified[stepModifiedIndex];
var originalDelta = original.afterLineNumber - originalEquivalentLineNumber;
var modifiedDelta = modified.afterLineNumber - modifiedEquivalentLineNumber;
let originalDelta = original.afterLineNumber - originalEquivalentLineNumber;
let modifiedDelta = modified.afterLineNumber - modifiedEquivalentLineNumber;
if (originalDelta < modifiedDelta) {
addAndCombineIfPossible(result.original, original);
......@@ -1358,7 +1347,7 @@ abstract class ViewZonesComputer {
// ---------------------------- END EMIT MINIMAL VIEW ZONES
}
var ensureDomNode = (z: IMyViewZone) => {
let ensureDomNode = (z: IMyViewZone) => {
if (!z.domNode) {
z.domNode = createFakeLinesDiv();
}
......@@ -1408,7 +1397,7 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
}
public setEnableSplitViewResizing(enableSplitViewResizing: boolean): void {
var newDisableSash = (enableSplitViewResizing === false);
let newDisableSash = (enableSplitViewResizing === false);
if (this._disableSash !== newDisableSash) {
this._disableSash = newDisableSash;
......@@ -1421,11 +1410,11 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
}
public layout(sashRatio: number = this._sashRatio): number {
var w = this._dataSource.getWidth();
var contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
let w = this._dataSource.getWidth();
let contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
var sashPosition = Math.floor((sashRatio || 0.5) * contentWidth);
var midPoint = Math.floor(0.5 * contentWidth);
let sashPosition = Math.floor((sashRatio || 0.5) * contentWidth);
let midPoint = Math.floor(0.5 * contentWidth);
sashPosition = this._disableSash ? midPoint : sashPosition || midPoint;
......@@ -1454,9 +1443,9 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
}
private onSashDrag(e: ISashEvent): void {
var w = this._dataSource.getWidth();
var contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
var sashPosition = this.layout((this._startSashPosition + (e.currentX - e.startX)) / contentWidth);
let w = this._dataSource.getWidth();
let contentWidth = w - DiffEditorWidget.ENTIRE_DIFF_OVERVIEW_WIDTH;
let sashPosition = this.layout((this._startSashPosition + (e.currentX - e.startX)) / contentWidth);
this._sashRatio = sashPosition / contentWidth;
......@@ -1486,29 +1475,21 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
}
_getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
var c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ);
let c = new SideBySideViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ);
return c.getViewZones();
}
_getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
var result: IEditorDiffDecorations = {
let result: IEditorDiffDecorations = {
decorations: [],
overviewZones: []
},
i: number,
length: number,
j: number,
lengthJ: number,
lineChange: editorCommon.ILineChange,
charChange: editorCommon.ICharChange,
lineNumber: number,
startColumn: number,
endColumn: number,
originalModel = originalEditor.getModel();
for (i = 0, length = lineChanges.length; i < length; i++) {
lineChange = lineChanges[i];
};
let originalModel = originalEditor.getModel();
for (let i = 0, length = lineChanges.length; i < length; i++) {
let lineChange = lineChanges[i];
if (isChangeOrDelete(lineChange)) {
......@@ -1527,11 +1508,13 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
));
if (lineChange.charChanges) {
for (j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
charChange = lineChange.charChanges[j];
for (let j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
let charChange = lineChange.charChanges[j];
if (isChangeOrDelete(charChange)) {
if (ignoreTrimWhitespace) {
for (lineNumber = charChange.originalStartLineNumber; lineNumber <= charChange.originalEndLineNumber; lineNumber++) {
for (let lineNumber = charChange.originalStartLineNumber; lineNumber <= charChange.originalEndLineNumber; lineNumber++) {
let startColumn: number;
let endColumn: number;
if (lineNumber === charChange.originalStartLineNumber) {
startColumn = charChange.originalStartColumn;
} else {
......@@ -1558,23 +1541,15 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
_getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
var result: IEditorDiffDecorations = {
let result: IEditorDiffDecorations = {
decorations: [],
overviewZones: []
},
i: number,
length: number,
j: number,
lengthJ: number,
lineChange: editorCommon.ILineChange,
charChange: editorCommon.ICharChange,
lineNumber: number,
startColumn: number,
endColumn: number,
modifiedModel = modifiedEditor.getModel();
for (i = 0, length = lineChanges.length; i < length; i++) {
lineChange = lineChanges[i];
};
let modifiedModel = modifiedEditor.getModel();
for (let i = 0, length = lineChanges.length; i < length; i++) {
let lineChange = lineChanges[i];
if (isChangeOrInsert(lineChange)) {
......@@ -1592,11 +1567,13 @@ class DiffEdtorWidgetSideBySide extends DiffEditorWidgetStyle implements IDiffEd
));
if (lineChange.charChanges) {
for (j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
charChange = lineChange.charChanges[j];
for (let j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
let charChange = lineChange.charChanges[j];
if (isChangeOrInsert(charChange)) {
if (ignoreTrimWhitespace) {
for (lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {
for (let lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {
let startColumn: number;
let endColumn: number;
if (lineNumber === charChange.modifiedStartLineNumber) {
startColumn = charChange.modifiedStartColumn;
} else {
......@@ -1679,21 +1656,18 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
}
_getViewZones(lineChanges: editorCommon.ILineChange[], originalForeignVZ: editorCommon.IEditorWhitespace[], modifiedForeignVZ: editorCommon.IEditorWhitespace[], originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorsZones {
var computer = new InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor);
let computer = new InlineViewZonesComputer(lineChanges, originalForeignVZ, modifiedForeignVZ, originalEditor, modifiedEditor);
return computer.getViewZones();
}
_getOriginalEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
var result: IEditorDiffDecorations = {
let result: IEditorDiffDecorations = {
decorations: [],
overviewZones: []
},
i: number,
length: number,
lineChange: editorCommon.ILineChange;
};
for (i = 0, length = lineChanges.length; i < length; i++) {
lineChange = lineChanges[i];
for (let i = 0, length = lineChanges.length; i < length; i++) {
let lineChange = lineChanges[i];
// Add overview zones in the overview ruler
if (isChangeOrDelete(lineChange)) {
......@@ -1713,23 +1687,15 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
_getModifiedEditorDecorations(lineChanges: editorCommon.ILineChange[], ignoreTrimWhitespace: boolean, originalEditor: editorBrowser.ICodeEditor, modifiedEditor: editorBrowser.ICodeEditor): IEditorDiffDecorations {
var result: IEditorDiffDecorations = {
let result: IEditorDiffDecorations = {
decorations: [],
overviewZones: []
},
i: number,
length: number,
lineChange: editorCommon.ILineChange,
j: number,
lengthJ: number,
charChange: editorCommon.ICharChange,
lineNumber: number,
startColumn: number,
endColumn: number,
modifiedModel = modifiedEditor.getModel();
for (i = 0, length = lineChanges.length; i < length; i++) {
lineChange = lineChanges[i];
};
let modifiedModel = modifiedEditor.getModel();
for (let i = 0, length = lineChanges.length; i < length; i++) {
let lineChange = lineChanges[i];
// Add decorations & overview zones
if (isChangeOrInsert(lineChange)) {
......@@ -1745,11 +1711,13 @@ class DiffEdtorWidgetInline extends DiffEditorWidgetStyle implements IDiffEditor
));
if (lineChange.charChanges) {
for (j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
charChange = lineChange.charChanges[j];
for (let j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
let charChange = lineChange.charChanges[j];
if (isChangeOrInsert(charChange)) {
if (ignoreTrimWhitespace) {
for (lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {
for (let lineNumber = charChange.modifiedStartLineNumber; lineNumber <= charChange.modifiedEndLineNumber; lineNumber++) {
let startColumn: number;
let endColumn: number;
if (lineNumber === charChange.modifiedStartLineNumber) {
startColumn = charChange.modifiedStartColumn;
} else {
......@@ -1805,14 +1773,11 @@ class InlineViewZonesComputer extends ViewZonesComputer {
}
_produceModifiedFromDiff(lineChange: editorCommon.ILineChange, lineChangeOriginalLength: number, lineChangeModifiedLength: number): IMyViewZone {
var decorations: InlineDecoration[] = [],
j: number,
lengthJ: number,
charChange: editorCommon.ICharChange;
let decorations: InlineDecoration[] = [];
if (lineChange.charChanges) {
for (j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
charChange = lineChange.charChanges[j];
for (let j = 0, lengthJ = lineChange.charChanges.length; j < lengthJ; j++) {
let charChange = lineChange.charChanges[j];
if (isChangeOrDelete(charChange)) {
decorations.push(new InlineDecoration(
new Range(charChange.originalStartLineNumber, charChange.originalStartColumn, charChange.originalEndLineNumber, charChange.originalEndColumn),
......@@ -1822,13 +1787,12 @@ class InlineViewZonesComputer extends ViewZonesComputer {
}
}
var html: string[] = [],
lineNumber: number;
for (lineNumber = lineChange.originalStartLineNumber; lineNumber <= lineChange.originalEndLineNumber; lineNumber++) {
let html: string[] = [];
for (let lineNumber = lineChange.originalStartLineNumber; lineNumber <= lineChange.originalEndLineNumber; lineNumber++) {
html = html.concat(this.renderOriginalLine(lineNumber - lineChange.originalStartLineNumber, this.originalModel, this.modifiedEditorConfiguration, this.modifiedEditorTabSize, lineNumber, decorations));
}
var domNode = document.createElement('div');
let domNode = document.createElement('div');
domNode.className = 'view-lines line-delete';
domNode.innerHTML = html.join('');
Configuration.applyFontInfoSlow(domNode, this.modifiedEditorConfiguration.fontInfo);
......@@ -1892,7 +1856,7 @@ function createDecoration(startLineNumber: number, startColumn: number, endLineN
}
function createFakeLinesDiv(): HTMLElement {
var r = document.createElement('div');
let r = document.createElement('div');
r.className = 'diagonal-fill';
return r;
}
......@@ -35,8 +35,8 @@ export class ReplaceCommand implements editorCommon.ICommand {
}
public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
var inverseEditOperations = helper.getInverseEditOperations();
var srcRange = inverseEditOperations[0].range;
let inverseEditOperations = helper.getInverseEditOperations();
let srcRange = inverseEditOperations[0].range;
return new Selection(
srcRange.endLineNumber,
srcRange.endColumn,
......@@ -53,8 +53,8 @@ export class ReplaceCommandWithoutChangingPosition extends ReplaceCommand {
}
public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
var inverseEditOperations = helper.getInverseEditOperations();
var srcRange = inverseEditOperations[0].range;
let inverseEditOperations = helper.getInverseEditOperations();
let srcRange = inverseEditOperations[0].range;
return new Selection(
srcRange.startLineNumber,
srcRange.startColumn,
......@@ -76,8 +76,8 @@ export class ReplaceCommandWithOffsetCursorState extends ReplaceCommand {
}
public computeCursorState(model: editorCommon.ITokenizedModel, helper: editorCommon.ICursorStateComputerData): Selection {
var inverseEditOperations = helper.getInverseEditOperations();
var srcRange = inverseEditOperations[0].range;
let inverseEditOperations = helper.getInverseEditOperations();
let srcRange = inverseEditOperations[0].range;
return new Selection(
srcRange.endLineNumber + this._lineNumberDeltaOffset,
srcRange.endColumn + this._columnDeltaOffset,
......
......@@ -22,9 +22,9 @@ export class ShiftCommand implements ICommand {
public static unshiftIndentCount(line: string, column: number, tabSize: number): number {
// Determine the visible column where the content starts
var contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
let contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
var desiredTabStop = CursorMoveHelper.prevTabColumn(contentStartVisibleColumn, tabSize);
let desiredTabStop = CursorMoveHelper.prevTabColumn(contentStartVisibleColumn, tabSize);
// The `desiredTabStop` is a multiple of `tabSize` => determine the number of indents
return desiredTabStop / tabSize;
......@@ -32,9 +32,9 @@ export class ShiftCommand implements ICommand {
public static shiftIndentCount(line: string, column: number, tabSize: number): number {
// Determine the visible column where the content starts
var contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
let contentStartVisibleColumn = CursorMoveHelper.visibleColumnFromColumn2(line, column, tabSize);
var desiredTabStop = CursorMoveHelper.nextTabColumn(contentStartVisibleColumn, tabSize);
let desiredTabStop = CursorMoveHelper.nextTabColumn(contentStartVisibleColumn, tabSize);
// The `desiredTabStop` is a multiple of `tabSize` => determine the number of indents
return desiredTabStop / tabSize;
......@@ -154,7 +154,7 @@ export class ShiftCommand implements ICommand {
public computeCursorState(model: ITokenizedModel, helper: ICursorStateComputerData): Selection {
if (this._useLastEditRangeForCursorEndPosition) {
var lastOp = helper.getInverseEditOperations()[0];
let lastOp = helper.getInverseEditOperations()[0];
return new Selection(lastOp.range.endLineNumber, lastOp.range.endColumn, lastOp.range.endLineNumber, lastOp.range.endColumn);
}
return helper.getTrackedSelection(this._selectionId);
......
......@@ -36,9 +36,9 @@ export class SurroundSelectionCommand implements ICommand {
}
public computeCursorState(model: ITokenizedModel, helper: ICursorStateComputerData): Selection {
var inverseEditOperations = helper.getInverseEditOperations();
var firstOperationRange = inverseEditOperations[0].range;
var secondOperationRange = inverseEditOperations[1].range;
let inverseEditOperations = helper.getInverseEditOperations();
let firstOperationRange = inverseEditOperations[0].range;
let secondOperationRange = inverseEditOperations[1].range;
return new Selection(
firstOperationRange.endLineNumber,
......
......@@ -20,9 +20,9 @@ export class TrimTrailingWhitespaceCommand implements editorCommon.ICommand {
}
public getEditOperations(model: editorCommon.ITokenizedModel, builder: editorCommon.IEditOperationBuilder): void {
var ops = trimTrailingWhitespace(model, []);
for (var i = 0, len = ops.length; i < len; i++) {
var op = ops[i];
let ops = trimTrailingWhitespace(model, []);
for (let i = 0, len = ops.length; i < len; i++) {
let op = ops[i];
builder.addEditOperation(op.range, op.text);
}
......@@ -48,29 +48,22 @@ export function trimTrailingWhitespace(model: editorCommon.ITextModel, cursors:
});
// Reduce multiple cursors on the same line and only keep the last one on the line
for (var i = cursors.length - 2; i >= 0; i--) {
for (let i = cursors.length - 2; i >= 0; i--) {
if (cursors[i].lineNumber === cursors[i + 1].lineNumber) {
// Remove cursor at `i`
cursors.splice(i, 1);
}
}
var r: editorCommon.IIdentifiedSingleEditOperation[] = [],
cursorIndex = 0,
cursorLen = cursors.length,
lineNumber: number,
lineCount: number,
lineContent: string,
minEditColumn: number,
maxLineColumn: number,
fromColumn: number,
// toColumn:number,
lastNonWhitespaceIndex: number;
for (lineNumber = 1, lineCount = model.getLineCount(); lineNumber <= lineCount; lineNumber++) {
lineContent = model.getLineContent(lineNumber);
maxLineColumn = lineContent.length + 1;
minEditColumn = 0;
let r: editorCommon.IIdentifiedSingleEditOperation[] = [];
let rLen = 0;
let cursorIndex = 0;
let cursorLen = cursors.length;
for (let lineNumber = 1, lineCount = model.getLineCount(); lineNumber <= lineCount; lineNumber++) {
let lineContent = model.getLineContent(lineNumber);
let maxLineColumn = lineContent.length + 1;
let minEditColumn = 0;
if (cursorIndex < cursorLen && cursors[cursorIndex].lineNumber === lineNumber) {
minEditColumn = cursors[cursorIndex].column;
......@@ -85,9 +78,9 @@ export function trimTrailingWhitespace(model: editorCommon.ITextModel, cursors:
continue;
}
lastNonWhitespaceIndex = strings.lastNonWhitespaceIndex(lineContent);
let lastNonWhitespaceIndex = strings.lastNonWhitespaceIndex(lineContent);
fromColumn = 0;
let fromColumn = 0;
if (lastNonWhitespaceIndex === -1) {
// Entire line is whitespace
fromColumn = 1;
......@@ -100,10 +93,10 @@ export function trimTrailingWhitespace(model: editorCommon.ITextModel, cursors:
}
fromColumn = Math.max(minEditColumn, fromColumn);
r.push(EditOperation.delete(new Range(
r[rLen++] = EditOperation.delete(new Range(
lineNumber, fromColumn,
lineNumber, maxLineColumn
)));
));
}
return r;
......
......@@ -33,7 +33,7 @@ import { CommandsRegistry } from 'vs/platform/commands/common/commands';
import EditorContextKeys = editorCommon.EditorContextKeys;
var EDITOR_ID = 0;
let EDITOR_ID = 0;
export abstract class CommonCodeEditor extends EventEmitter implements editorCommon.ICommonCodeEditor {
......
......@@ -338,7 +338,7 @@ class InternalEditorOptionsHelper {
private static _sanitizeScrollbarOpts(raw: editorCommon.IEditorScrollbarOptions, mouseWheelScrollSensitivity: number): editorCommon.InternalEditorScrollbarOptions {
var visibilityFromString = (visibility: string) => {
let visibilityFromString = (visibility: string) => {
switch (visibility) {
case 'hidden':
return ScrollbarVisibility.Hidden;
......
......@@ -101,10 +101,10 @@ export class ScopedLineTokens {
}
}
const enum IgnoreBracketsInTokens {
value = StandardTokenType.Comment | StandardTokenType.String | StandardTokenType.RegEx
}
export function ignoreBracketsInToken(standardTokenType: StandardTokenType): boolean {
return (
standardTokenType === StandardTokenType.Comment
|| standardTokenType === StandardTokenType.String
|| standardTokenType === StandardTokenType.RegEx
);
return (standardTokenType & IgnoreBracketsInTokens.value) !== 0;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册