Vscode merge (#4582)

* Merge from vscode 37cb23d3dd4f9433d56d4ba5ea3203580719a0bd

* fix issues with merges

* bump node version in azpipe

* replace license headers

* remove duplicate launch task

* fix build errors

* fix build errors

* fix tslint issues

* working through package and linux build issues

* more work

* wip

* fix packaged builds

* working through linux build errors

* wip

* wip

* wip

* fix mac and linux file limits

* iterate linux pipeline

* disable editor typing

* revert series to parallel

* remove optimize vscode from linux

* fix linting issues

* revert testing change

* add work round for new node

* readd packaging for extensions

* fix issue with angular not resolving decorator dependencies
This commit is contained in:
Anthony Dresser
2019-03-19 17:44:35 -07:00
committed by GitHub
parent 833d197412
commit 87765e8673
1879 changed files with 54505 additions and 38058 deletions

View File

@@ -47,7 +47,8 @@ function testShiftCommand(lines: string[], languageIdentifier: LanguageIdentifie
testCommand(lines, languageIdentifier, selection, (sel) => new ShiftCommand(sel, {
isUnshift: false,
tabSize: 4,
oneIndent: '\t',
indentSize: 4,
insertSpaces: false,
useTabStops: useTabStops,
}), expectedLines, expectedSelection);
}
@@ -56,7 +57,8 @@ function testUnshiftCommand(lines: string[], languageIdentifier: LanguageIdentif
testCommand(lines, languageIdentifier, selection, (sel) => new ShiftCommand(sel, {
isUnshift: true,
tabSize: 4,
oneIndent: '\t',
indentSize: 4,
insertSpaces: false,
useTabStops: useTabStops,
}), expectedLines, expectedSelection);
}
@@ -668,7 +670,8 @@ suite('Editor Commands - ShiftCommand', () => {
(sel) => new ShiftCommand(sel, {
isUnshift: false,
tabSize: 4,
oneIndent: ' ',
indentSize: 4,
insertSpaces: true,
useTabStops: false
}),
[
@@ -712,7 +715,8 @@ suite('Editor Commands - ShiftCommand', () => {
(sel) => new ShiftCommand(sel, {
isUnshift: true,
tabSize: 4,
oneIndent: ' ',
indentSize: 4,
insertSpaces: true,
useTabStops: false
}),
[
@@ -756,7 +760,8 @@ suite('Editor Commands - ShiftCommand', () => {
(sel) => new ShiftCommand(sel, {
isUnshift: true,
tabSize: 4,
oneIndent: '\t',
indentSize: 4,
insertSpaces: false,
useTabStops: false
}),
[
@@ -800,7 +805,8 @@ suite('Editor Commands - ShiftCommand', () => {
(sel) => new ShiftCommand(sel, {
isUnshift: true,
tabSize: 4,
oneIndent: ' ',
indentSize: 4,
insertSpaces: true,
useTabStops: false
}),
[
@@ -833,7 +839,8 @@ suite('Editor Commands - ShiftCommand', () => {
(sel) => new ShiftCommand(sel, {
isUnshift: false,
tabSize: 4,
oneIndent: '\t',
indentSize: 4,
insertSpaces: false,
useTabStops: true
}),
[
@@ -854,98 +861,96 @@ suite('Editor Commands - ShiftCommand', () => {
return r;
};
let testOutdent = (tabSize: number, oneIndent: string, lineText: string, expectedIndents: number) => {
let testOutdent = (tabSize: number, indentSize: number, insertSpaces: boolean, lineText: string, expectedIndents: number) => {
const oneIndent = insertSpaces ? repeatStr(' ', indentSize) : '\t';
let expectedIndent = repeatStr(oneIndent, expectedIndents);
if (lineText.length > 0) {
_assertUnshiftCommand(tabSize, oneIndent, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
_assertUnshiftCommand(tabSize, indentSize, insertSpaces, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
} else {
_assertUnshiftCommand(tabSize, oneIndent, [lineText + 'aaa'], []);
_assertUnshiftCommand(tabSize, indentSize, insertSpaces, [lineText + 'aaa'], []);
}
};
let testIndent = (tabSize: number, oneIndent: string, lineText: string, expectedIndents: number) => {
let testIndent = (tabSize: number, indentSize: number, insertSpaces: boolean, lineText: string, expectedIndents: number) => {
const oneIndent = insertSpaces ? repeatStr(' ', indentSize) : '\t';
let expectedIndent = repeatStr(oneIndent, expectedIndents);
_assertShiftCommand(tabSize, oneIndent, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
_assertShiftCommand(tabSize, indentSize, insertSpaces, [lineText + 'aaa'], [createSingleEditOp(expectedIndent, 1, 1, 1, lineText.length + 1)]);
};
let testIndentation = (tabSize: number, lineText: string, expectedOnOutdent: number, expectedOnIndent: number) => {
let spaceIndent = '';
for (let i = 0; i < tabSize; i++) {
spaceIndent += ' ';
}
let testIndentation = (tabSize: number, indentSize: number, lineText: string, expectedOnOutdent: number, expectedOnIndent: number) => {
testOutdent(tabSize, indentSize, true, lineText, expectedOnOutdent);
testOutdent(tabSize, indentSize, false, lineText, expectedOnOutdent);
testOutdent(tabSize, spaceIndent, lineText, expectedOnOutdent);
testOutdent(tabSize, '\t', lineText, expectedOnOutdent);
testIndent(tabSize, spaceIndent, lineText, expectedOnIndent);
testIndent(tabSize, '\t', lineText, expectedOnIndent);
testIndent(tabSize, indentSize, true, lineText, expectedOnIndent);
testIndent(tabSize, indentSize, false, lineText, expectedOnIndent);
};
// insertSpaces: true
// 0 => 0
testIndentation(4, '', 0, 1);
testIndentation(4, 4, '', 0, 1);
// 1 => 0
testIndentation(4, '\t', 0, 2);
testIndentation(4, ' ', 0, 1);
testIndentation(4, ' \t', 0, 2);
testIndentation(4, ' ', 0, 1);
testIndentation(4, ' \t', 0, 2);
testIndentation(4, ' ', 0, 1);
testIndentation(4, ' \t', 0, 2);
testIndentation(4, ' ', 0, 2);
testIndentation(4, 4, '\t', 0, 2);
testIndentation(4, 4, ' ', 0, 1);
testIndentation(4, 4, ' \t', 0, 2);
testIndentation(4, 4, ' ', 0, 1);
testIndentation(4, 4, ' \t', 0, 2);
testIndentation(4, 4, ' ', 0, 1);
testIndentation(4, 4, ' \t', 0, 2);
testIndentation(4, 4, ' ', 0, 2);
// 2 => 1
testIndentation(4, '\t\t', 1, 3);
testIndentation(4, '\t ', 1, 2);
testIndentation(4, '\t \t', 1, 3);
testIndentation(4, '\t ', 1, 2);
testIndentation(4, '\t \t', 1, 3);
testIndentation(4, '\t ', 1, 2);
testIndentation(4, '\t \t', 1, 3);
testIndentation(4, '\t ', 1, 3);
testIndentation(4, ' \t\t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 3);
testIndentation(4, ' \t\t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 3);
testIndentation(4, ' \t\t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 2);
testIndentation(4, ' \t \t', 1, 3);
testIndentation(4, ' \t ', 1, 3);
testIndentation(4, ' \t', 1, 3);
testIndentation(4, ' ', 1, 2);
testIndentation(4, ' \t', 1, 3);
testIndentation(4, ' ', 1, 2);
testIndentation(4, ' \t', 1, 3);
testIndentation(4, ' ', 1, 2);
testIndentation(4, ' \t', 1, 3);
testIndentation(4, ' ', 1, 3);
testIndentation(4, 4, '\t\t', 1, 3);
testIndentation(4, 4, '\t ', 1, 2);
testIndentation(4, 4, '\t \t', 1, 3);
testIndentation(4, 4, '\t ', 1, 2);
testIndentation(4, 4, '\t \t', 1, 3);
testIndentation(4, 4, '\t ', 1, 2);
testIndentation(4, 4, '\t \t', 1, 3);
testIndentation(4, 4, '\t ', 1, 3);
testIndentation(4, 4, ' \t\t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 3);
testIndentation(4, 4, ' \t\t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 3);
testIndentation(4, 4, ' \t\t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 2);
testIndentation(4, 4, ' \t \t', 1, 3);
testIndentation(4, 4, ' \t ', 1, 3);
testIndentation(4, 4, ' \t', 1, 3);
testIndentation(4, 4, ' ', 1, 2);
testIndentation(4, 4, ' \t', 1, 3);
testIndentation(4, 4, ' ', 1, 2);
testIndentation(4, 4, ' \t', 1, 3);
testIndentation(4, 4, ' ', 1, 2);
testIndentation(4, 4, ' \t', 1, 3);
testIndentation(4, 4, ' ', 1, 3);
// 3 => 2
testIndentation(4, ' ', 2, 3);
testIndentation(4, 4, ' ', 2, 3);
function _assertUnshiftCommand(tabSize: number, oneIndent: string, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
function _assertUnshiftCommand(tabSize: number, indentSize: number, insertSpaces: boolean, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
return withEditorModel(text, (model) => {
let op = new ShiftCommand(new Selection(1, 1, text.length + 1, 1), {
isUnshift: true,
tabSize: tabSize,
oneIndent: oneIndent,
indentSize: indentSize,
insertSpaces: insertSpaces,
useTabStops: true
});
let actual = getEditOperation(model, op);
@@ -953,12 +958,13 @@ suite('Editor Commands - ShiftCommand', () => {
});
}
function _assertShiftCommand(tabSize: number, oneIndent: string, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
function _assertShiftCommand(tabSize: number, indentSize: number, insertSpaces: boolean, text: string[], expected: IIdentifiedSingleEditOperation[]): void {
return withEditorModel(text, (model) => {
let op = new ShiftCommand(new Selection(1, 1, text.length + 1, 1), {
isUnshift: false,
tabSize: tabSize,
oneIndent: oneIndent,
indentSize: indentSize,
insertSpaces: insertSpaces,
useTabStops: true
});
let actual = getEditOperation(model, op);

View File

@@ -2212,6 +2212,7 @@ suite('Editor Controller - Cursor Configuration', () => {
].join('\n'),
{
tabSize: 13,
indentSize: 13,
}
);
@@ -3122,7 +3123,10 @@ suite('Editor Controller - Indentation Rules', () => {
'}a}'
],
languageIdentifier: mode.getLanguageIdentifier(),
modelOpts: { tabSize: 2 }
modelOpts: {
tabSize: 2,
indentSize: 2
}
}, (model, cursor) => {
moveTo(cursor, 3, 3, false);
assertCursor(cursor, new Selection(3, 3, 3, 3));
@@ -3594,7 +3598,10 @@ suite('Editor Controller - Indentation Rules', () => {
'',
')',
].join('\n'),
{ tabSize: 2 },
{
tabSize: 2,
indentSize: 2
},
mode.getLanguageIdentifier()
);

View File

@@ -44,7 +44,7 @@ class SingleLineTestModel implements ISimpleModel {
class TestView {
private _model: SingleLineTestModel;
private readonly _model: SingleLineTestModel;
constructor(model: SingleLineTestModel) {
this._model = model;

View File

@@ -3,11 +3,11 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as assert from 'assert';
import { AccessibilitySupport } from 'vs/base/common/platform';
import { IEnvConfiguration } from 'vs/editor/common/config/commonEditorConfig';
import { IEditorHoverOptions } from 'vs/editor/common/config/editorOptions';
import { EditorZoom } from 'vs/editor/common/config/editorZoom';
import { TestConfiguration } from 'vs/editor/test/common/mocks/testConfiguration';
import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility';
suite('Common Editor Config', () => {
test('Zoom Level', () => {

View File

@@ -7,36 +7,36 @@ import { CursorColumns } from 'vs/editor/common/controller/cursorCommon';
suite('CursorMove', () => {
test('nextTabStop', () => {
assert.equal(CursorColumns.nextTabStop(0, 4), 4);
assert.equal(CursorColumns.nextTabStop(1, 4), 4);
assert.equal(CursorColumns.nextTabStop(2, 4), 4);
assert.equal(CursorColumns.nextTabStop(3, 4), 4);
assert.equal(CursorColumns.nextTabStop(4, 4), 8);
assert.equal(CursorColumns.nextTabStop(5, 4), 8);
assert.equal(CursorColumns.nextTabStop(6, 4), 8);
assert.equal(CursorColumns.nextTabStop(7, 4), 8);
assert.equal(CursorColumns.nextTabStop(8, 4), 12);
test('nextRenderTabStop', () => {
assert.equal(CursorColumns.nextRenderTabStop(0, 4), 4);
assert.equal(CursorColumns.nextRenderTabStop(1, 4), 4);
assert.equal(CursorColumns.nextRenderTabStop(2, 4), 4);
assert.equal(CursorColumns.nextRenderTabStop(3, 4), 4);
assert.equal(CursorColumns.nextRenderTabStop(4, 4), 8);
assert.equal(CursorColumns.nextRenderTabStop(5, 4), 8);
assert.equal(CursorColumns.nextRenderTabStop(6, 4), 8);
assert.equal(CursorColumns.nextRenderTabStop(7, 4), 8);
assert.equal(CursorColumns.nextRenderTabStop(8, 4), 12);
assert.equal(CursorColumns.nextTabStop(0, 2), 2);
assert.equal(CursorColumns.nextTabStop(1, 2), 2);
assert.equal(CursorColumns.nextTabStop(2, 2), 4);
assert.equal(CursorColumns.nextTabStop(3, 2), 4);
assert.equal(CursorColumns.nextTabStop(4, 2), 6);
assert.equal(CursorColumns.nextTabStop(5, 2), 6);
assert.equal(CursorColumns.nextTabStop(6, 2), 8);
assert.equal(CursorColumns.nextTabStop(7, 2), 8);
assert.equal(CursorColumns.nextTabStop(8, 2), 10);
assert.equal(CursorColumns.nextRenderTabStop(0, 2), 2);
assert.equal(CursorColumns.nextRenderTabStop(1, 2), 2);
assert.equal(CursorColumns.nextRenderTabStop(2, 2), 4);
assert.equal(CursorColumns.nextRenderTabStop(3, 2), 4);
assert.equal(CursorColumns.nextRenderTabStop(4, 2), 6);
assert.equal(CursorColumns.nextRenderTabStop(5, 2), 6);
assert.equal(CursorColumns.nextRenderTabStop(6, 2), 8);
assert.equal(CursorColumns.nextRenderTabStop(7, 2), 8);
assert.equal(CursorColumns.nextRenderTabStop(8, 2), 10);
assert.equal(CursorColumns.nextTabStop(0, 1), 1);
assert.equal(CursorColumns.nextTabStop(1, 1), 2);
assert.equal(CursorColumns.nextTabStop(2, 1), 3);
assert.equal(CursorColumns.nextTabStop(3, 1), 4);
assert.equal(CursorColumns.nextTabStop(4, 1), 5);
assert.equal(CursorColumns.nextTabStop(5, 1), 6);
assert.equal(CursorColumns.nextTabStop(6, 1), 7);
assert.equal(CursorColumns.nextTabStop(7, 1), 8);
assert.equal(CursorColumns.nextTabStop(8, 1), 9);
assert.equal(CursorColumns.nextRenderTabStop(0, 1), 1);
assert.equal(CursorColumns.nextRenderTabStop(1, 1), 2);
assert.equal(CursorColumns.nextRenderTabStop(2, 1), 3);
assert.equal(CursorColumns.nextRenderTabStop(3, 1), 4);
assert.equal(CursorColumns.nextRenderTabStop(4, 1), 5);
assert.equal(CursorColumns.nextRenderTabStop(5, 1), 6);
assert.equal(CursorColumns.nextRenderTabStop(6, 1), 7);
assert.equal(CursorColumns.nextRenderTabStop(7, 1), 8);
assert.equal(CursorColumns.nextRenderTabStop(8, 1), 9);
});
test('visibleColumnFromColumn', () => {

View File

@@ -16,6 +16,7 @@ export function withEditorModel(text: string[], callback: (model: TextModel) =>
export interface IRelaxedTextModelCreationOptions {
tabSize?: number;
indentSize?: number;
insertSpaces?: boolean;
detectIndentation?: boolean;
trimAutoWhitespace?: boolean;
@@ -27,6 +28,7 @@ export interface IRelaxedTextModelCreationOptions {
export function createTextModel(text: string, _options: IRelaxedTextModelCreationOptions = TextModel.DEFAULT_CREATION_OPTIONS, languageIdentifier: LanguageIdentifier | null = null, uri: URI | null = null): TextModel {
const options: ITextModelCreationOptions = {
tabSize: (typeof _options.tabSize === 'undefined' ? TextModel.DEFAULT_CREATION_OPTIONS.tabSize : _options.tabSize),
indentSize: (typeof _options.indentSize === 'undefined' ? TextModel.DEFAULT_CREATION_OPTIONS.indentSize : _options.indentSize),
insertSpaces: (typeof _options.insertSpaces === 'undefined' ? TextModel.DEFAULT_CREATION_OPTIONS.insertSpaces : _options.insertSpaces),
detectIndentation: (typeof _options.detectIndentation === 'undefined' ? TextModel.DEFAULT_CREATION_OPTIONS.detectIndentation : _options.detectIndentation),
trimAutoWhitespace: (typeof _options.trimAutoWhitespace === 'undefined' ? TextModel.DEFAULT_CREATION_OPTIONS.trimAutoWhitespace : _options.trimAutoWhitespace),

View File

@@ -9,7 +9,7 @@ import { IMode, LanguageIdentifier } from 'vs/editor/common/modes';
import { ILanguageSelection } from 'vs/editor/common/services/modeService';
export class MockMode extends Disposable implements IMode {
private _languageIdentifier: LanguageIdentifier;
private readonly _languageIdentifier: LanguageIdentifier;
constructor(languageIdentifier: LanguageIdentifier) {
super();

View File

@@ -3,10 +3,10 @@
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { AccessibilitySupport } from 'vs/base/common/platform';
import { CommonEditorConfiguration, IEnvConfiguration } from 'vs/editor/common/config/commonEditorConfig';
import { IEditorOptions } from 'vs/editor/common/config/editorOptions';
import { BareFontInfo, FontInfo } from 'vs/editor/common/config/fontInfo';
import { AccessibilitySupport } from 'vs/platform/accessibility/common/accessibility';
export class TestConfiguration extends CommonEditorConfiguration {