Merge branch 'master' into aeschli/remote-workspaces

This commit is contained in:
Martin Aeschlimann
2019-02-07 16:32:42 +01:00
931 changed files with 5594 additions and 5619 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
disturl "https://atom.io/download/electron"
target "3.1.2"
target "3.1.3"
runtime "electron"
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.10.1"
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
@@ -9,7 +9,7 @@ steps:
sudo service xvfb start
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.10.1"
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
versionSpec: "1.10.1"
@@ -1,7 +1,7 @@
steps:
- task: NodeTool@0
inputs:
versionSpec: "8.12.0"
versionSpec: "10.15.1"
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
inputs:
+9 -7
View File
@@ -48,9 +48,6 @@ var editorResources = [
'!**/test/**'
];
var editorOtherSources = [
];
var BUNDLED_FILE_HEADER = [
'/*!-----------------------------------------------------------',
' * Copyright (c) Microsoft Corporation. All rights reserved.',
@@ -107,7 +104,6 @@ compileEditorAMDTask.displayName = 'compile-editor-amd';
const optimizeEditorAMDTask = common.optimizeTask({
src: 'out-editor-build',
entryPoints: editorEntryPoints,
otherSources: editorOtherSources,
resources: editorResources,
loaderConfig: {
paths: {
@@ -276,7 +272,7 @@ const finalEditorResourcesTask = function () {
var strContents = data.contents.toString();
var newStr = '//# sourceMappingURL=' + relativePathToMap.replace(/\\/g, '/');
strContents = strContents.replace(/\/\/\# sourceMappingURL=[^ ]+$/, newStr);
strContents = strContents.replace(/\/\/# sourceMappingURL=[^ ]+$/, newStr);
data.contents = Buffer.from(strContents);
this.emit('data', data);
@@ -337,6 +333,7 @@ function createTscCompileTask(watch) {
let errors = [];
let reporter = createReporter();
let report;
// eslint-disable-next-line no-control-regex
let magic = /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g; // https://stackoverflow.com/questions/25245716/remove-all-ansi-colors-styles-from-strings
child.stdout.on('data', data => {
@@ -370,7 +367,12 @@ function createTscCompileTask(watch) {
};
}
gulp.task('monaco-typecheck-watch', createTscCompileTask(true));
gulp.task('monaco-typecheck', createTscCompileTask(false));
const monacoTypecheckWatchTask = createTscCompileTask(true);
monacoTypecheckWatchTask.displayName = 'monaco-typecheck-watch';
exports.monacoTypecheckWatchTask = monacoTypecheckWatchTask;
const monacoTypecheckTask = createTscCompileTask(false);
monacoTypecheckTask.displayName = 'monaco-typecheck';
exports.monacoTypecheckTask = monacoTypecheckTask;
//#endregion
+9 -3
View File
@@ -141,10 +141,16 @@ const tasks = compilations.map(function (tsconfigFile) {
};
});
gulp.task('compile-extensions', util.task.parallel(...tasks.map(t => t.compileTask)));
gulp.task('watch-extensions', util.task.parallel(...tasks.map(t => t.watchTask)));
const compileExtensionsTask = util.task.parallel(...tasks.map(t => t.compileTask));
compileExtensionsTask.displayName = 'compile-extensions';
gulp.task(compileExtensionsTask.displayName, compileExtensionsTask);
exports.compileExtensionsTask = compileExtensionsTask;
const watchExtensionsTask = util.task.parallel(...tasks.map(t => t.watchTask));
watchExtensionsTask.displayName = 'watch-extensions';
gulp.task(watchExtensionsTask.displayName, watchExtensionsTask);
exports.watchExtensionsTask = watchExtensionsTask;
const compileExtensionsBuildTask = util.task.parallel(...tasks.map(t => t.compileBuildTask));
compileExtensionsBuildTask.displayName = 'compile-extensions-build';
exports.compileExtensionsBuildTask = compileExtensionsBuildTask;
+96 -81
View File
@@ -66,12 +66,12 @@ const vscodeResources = [
'out-build/vs/base/node/{stdForkStart.js,terminateProcess.sh,cpuUsage.sh}',
'out-build/vs/base/browser/ui/octiconLabel/octicons/**',
'out-build/vs/workbench/browser/media/*-theme.css',
'out-build/vs/workbench/parts/debug/**/*.json',
'out-build/vs/workbench/parts/execution/**/*.scpt',
'out-build/vs/workbench/parts/webview/electron-browser/webview-pre.js',
'out-build/vs/workbench/contrib/debug/**/*.json',
'out-build/vs/workbench/contrib/execution/**/*.scpt',
'out-build/vs/workbench/contrib/webview/electron-browser/webview-pre.js',
'out-build/vs/**/markdown.css',
'out-build/vs/workbench/parts/tasks/**/*.json',
'out-build/vs/workbench/parts/welcome/walkThrough/**/*.md',
'out-build/vs/workbench/contrib/tasks/**/*.json',
'out-build/vs/workbench/contrib/welcome/walkThrough/**/*.md',
'out-build/vs/workbench/services/files/**/*.exe',
'out-build/vs/workbench/services/files/**/*.md',
'out-build/vs/code/electron-browser/workbench/**',
@@ -95,7 +95,6 @@ const optimizeVSCodeTask = util.task.series(
common.optimizeTask({
src: 'out-build',
entryPoints: vscodeEntryPoints,
otherSources: [],
resources: vscodeResources,
loaderConfig: common.loaderConfig(nodeModules),
header: BUNDLED_FILE_HEADER,
@@ -104,7 +103,6 @@ const optimizeVSCodeTask = util.task.series(
})
);
optimizeVSCodeTask.displayName = 'optimize-vscode';
gulp.task(optimizeVSCodeTask.displayName, optimizeVSCodeTask);
const optimizeIndexJSTask = util.task.series(
@@ -312,7 +310,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const productJsonStream = gulp.src(['product.json'], { base: '.' })
.pipe(json(productJsonUpdate));
const license = gulp.src(['LICENSES.chromium.html', 'LICENSE.txt', 'ThirdPartyNotices.txt', 'licenses/**'], { base: '.' });
const license = gulp.src(['LICENSES.chromium.html', 'LICENSE.txt', 'ThirdPartyNotices.txt', 'licenses/**'], { base: '.', allowEmpty: true });
const watermark = gulp.src(['resources/letterpress.svg', 'resources/letterpress-dark.svg', 'resources/letterpress-hc.svg'], { base: '.' });
@@ -405,7 +403,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
// result = es.merge(result, gulp.src('resources/completions/**', { base: '.' }));
if (platform === 'win32') {
result = es.merge(result, gulp.src('resources/win32/bin/code.js', { base: 'resources/win32' }));
result = es.merge(result, gulp.src('resources/win32/bin/code.js', { base: 'resources/win32', allowEmpty: true }));
result = es.merge(result, gulp.src('resources/win32/bin/code.cmd', { base: 'resources/win32' })
.pipe(replace('@@NAME@@', product.nameShort))
@@ -492,30 +490,40 @@ const apiHostname = process.env.TRANSIFEX_API_URL;
const apiName = process.env.TRANSIFEX_API_NAME;
const apiToken = process.env.TRANSIFEX_API_TOKEN;
gulp.task('vscode-translations-push', ['optimize-vscode'], function () {
const pathToMetadata = './out-vscode/nls.metadata.json';
const pathToExtensions = './extensions/*';
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
gulp.task('vscode-translations-push',
util.task.series(
optimizeVSCodeTask,
function () {
const pathToMetadata = './out-vscode/nls.metadata.json';
const pathToExtensions = './extensions/*';
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
return es.merge(
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
).pipe(i18n.findObsoleteResources(apiHostname, apiName, apiToken)
).pipe(i18n.pushXlfFiles(apiHostname, apiName, apiToken));
});
return es.merge(
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
).pipe(i18n.findObsoleteResources(apiHostname, apiName, apiToken)
).pipe(i18n.pushXlfFiles(apiHostname, apiName, apiToken));
}
)
);
gulp.task('vscode-translations-export', ['optimize-vscode'], function () {
const pathToMetadata = './out-vscode/nls.metadata.json';
const pathToExtensions = './extensions/*';
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
gulp.task('vscode-translations-export',
util.task.series(
optimizeVSCodeTask,
function () {
const pathToMetadata = './out-vscode/nls.metadata.json';
const pathToExtensions = './extensions/*';
const pathToSetup = 'build/win32/**/{Default.isl,messages.en.isl}';
return es.merge(
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
).pipe(vfs.dest('../vscode-translations-export'));
});
return es.merge(
gulp.src(pathToMetadata).pipe(i18n.createXlfFilesForCoreBundle()),
gulp.src(pathToSetup).pipe(i18n.createXlfFilesForIsl()),
gulp.src(pathToExtensions).pipe(i18n.createXlfFilesForExtensions())
).pipe(vfs.dest('../vscode-translations-export'));
}
)
);
gulp.task('vscode-translations-pull', function () {
return es.merge([...i18n.defaultLanguages, ...i18n.extraLanguages].map(language => {
@@ -565,57 +573,8 @@ gulp.task('upload-vscode-sourcemaps', () => {
}));
});
const allConfigDetailsPath = path.join(os.tmpdir(), 'configuration.json');
gulp.task('upload-vscode-configuration', ['generate-vscode-configuration'], () => {
if (!shouldSetupSettingsSearch()) {
const branch = process.env.BUILD_SOURCEBRANCH;
console.log(`Only runs on master and release branches, not ${branch}`);
return;
}
if (!fs.existsSync(allConfigDetailsPath)) {
throw new Error(`configuration file at ${allConfigDetailsPath} does not exist`);
}
const settingsSearchBuildId = getSettingsSearchBuildId(packageJson);
if (!settingsSearchBuildId) {
throw new Error('Failed to compute build number');
}
return gulp.src(allConfigDetailsPath)
.pipe(azure.upload({
account: process.env.AZURE_STORAGE_ACCOUNT,
key: process.env.AZURE_STORAGE_ACCESS_KEY,
container: 'configuration',
prefix: `${settingsSearchBuildId}/${commit}/`
}));
});
function shouldSetupSettingsSearch() {
const branch = process.env.BUILD_SOURCEBRANCH;
return branch && (/\/master$/.test(branch) || branch.indexOf('/release/') >= 0);
}
function getSettingsSearchBuildId(packageJson) {
try {
const branch = process.env.BUILD_SOURCEBRANCH;
const branchId = branch.indexOf('/release/') >= 0 ? 0 :
/\/master$/.test(branch) ? 1 :
2; // Some unexpected branch
const out = cp.execSync(`git rev-list HEAD --count`);
const count = parseInt(out.toString());
// <version number><commit count><branchId (avoid unlikely conflicts)>
// 1.25.1, 1,234,567 commits, master = 1250112345671
return util.versionStringToNumber(packageJson.version) * 1e8 + count * 10 + branchId;
} catch (e) {
throw new Error('Could not determine build number: ' + e.toString());
}
}
// This task is only run for the MacOS build
gulp.task('generate-vscode-configuration', () => {
const generateVSCodeConfigurationTask = () => {
return new Promise((resolve, reject) => {
const buildDir = process.env['AGENT_BUILDDIRECTORY'];
if (!buildDir) {
@@ -650,4 +609,60 @@ gulp.task('generate-vscode-configuration', () => {
reject(err);
});
});
});
};
generateVSCodeConfigurationTask.displayName = 'generate-vscode-configuration';
const allConfigDetailsPath = path.join(os.tmpdir(), 'configuration.json');
gulp.task('upload-vscode-configuration',
util.task.series(
generateVSCodeConfigurationTask,
() => {
if (!shouldSetupSettingsSearch()) {
const branch = process.env.BUILD_SOURCEBRANCH;
console.log(`Only runs on master and release branches, not ${branch}`);
return;
}
if (!fs.existsSync(allConfigDetailsPath)) {
throw new Error(`configuration file at ${allConfigDetailsPath} does not exist`);
}
const settingsSearchBuildId = getSettingsSearchBuildId(packageJson);
if (!settingsSearchBuildId) {
throw new Error('Failed to compute build number');
}
return gulp.src(allConfigDetailsPath)
.pipe(azure.upload({
account: process.env.AZURE_STORAGE_ACCOUNT,
key: process.env.AZURE_STORAGE_ACCESS_KEY,
container: 'configuration',
prefix: `${settingsSearchBuildId}/${commit}/`
}));
}
)
);
function shouldSetupSettingsSearch() {
const branch = process.env.BUILD_SOURCEBRANCH;
return branch && (/\/master$/.test(branch) || branch.indexOf('/release/') >= 0);
}
function getSettingsSearchBuildId(packageJson) {
try {
const branch = process.env.BUILD_SOURCEBRANCH;
const branchId = branch.indexOf('/release/') >= 0 ? 0 :
/\/master$/.test(branch) ? 1 :
2; // Some unexpected branch
const out = cp.execSync(`git rev-list HEAD --count`);
const count = parseInt(out.toString());
// <version number><commit count><branchId (avoid unlikely conflicts)>
// 1.25.1, 1,234,567 commits, master = 1250112345671
return util.versionStringToNumber(packageJson.version) * 1e8 + count * 10 + branchId;
} catch (e) {
throw new Error('Could not determine build number: ' + e.toString());
}
}
+37 -24
View File
@@ -229,29 +229,42 @@ function buildSnapPackage(arch) {
return shell.task(`cd ${snapBuildPath} && snapcraft build`);
}
gulp.task('vscode-linux-ia32-prepare-deb', util.task.series(util.rimraf('.build/linux/deb/i386'), prepareDebPackage('ia32')));
gulp.task('vscode-linux-x64-prepare-deb', util.task.series(util.rimraf('.build/linux/deb/amd64'), prepareDebPackage('x64')));
gulp.task('vscode-linux-arm-prepare-deb', util.task.series(util.rimraf('.build/linux/deb/armhf'), prepareDebPackage('arm')));
gulp.task('vscode-linux-arm64-prepare-deb', util.task.series(util.rimraf('.build/linux/deb/arm64'), prepareDebPackage('arm64')));
gulp.task('vscode-linux-ia32-build-deb', ['vscode-linux-ia32-prepare-deb'], buildDebPackage('ia32'));
gulp.task('vscode-linux-x64-build-deb', ['vscode-linux-x64-prepare-deb'], buildDebPackage('x64'));
gulp.task('vscode-linux-arm-build-deb', ['vscode-linux-arm-prepare-deb'], buildDebPackage('arm'));
gulp.task('vscode-linux-arm64-build-deb', ['vscode-linux-arm64-prepare-deb'], buildDebPackage('arm64'));
const BUILD_TARGETS = [
{ arch: 'ia32' },
{ arch: 'x64' },
{ arch: 'arm' },
{ arch: 'arm64' },
];
gulp.task('vscode-linux-ia32-prepare-rpm', util.task.series(util.rimraf('.build/linux/rpm/i386'), prepareRpmPackage('ia32')));
gulp.task('vscode-linux-x64-prepare-rpm', util.task.series(util.rimraf('.build/linux/rpm/x86_64'), prepareRpmPackage('x64')));
gulp.task('vscode-linux-arm-prepare-rpm', util.task.series(util.rimraf('.build/linux/rpm/armhf'), prepareRpmPackage('arm')));
gulp.task('vscode-linux-arm64-prepare-rpm', util.task.series(util.rimraf('.build/linux/rpm/arm64'), prepareRpmPackage('arm64')));
gulp.task('vscode-linux-ia32-build-rpm', ['vscode-linux-ia32-prepare-rpm'], buildRpmPackage('ia32'));
gulp.task('vscode-linux-x64-build-rpm', ['vscode-linux-x64-prepare-rpm'], buildRpmPackage('x64'));
gulp.task('vscode-linux-arm-build-rpm', ['vscode-linux-arm-prepare-rpm'], buildRpmPackage('arm'));
gulp.task('vscode-linux-arm64-build-rpm', ['vscode-linux-arm64-prepare-rpm'], buildRpmPackage('arm64'));
BUILD_TARGETS.forEach((buildTarget) => {
const arch = buildTarget.arch;
gulp.task('vscode-linux-ia32-prepare-snap', util.task.series(util.rimraf('.build/linux/snap/x64'), prepareSnapPackage('ia32')));
gulp.task('vscode-linux-x64-prepare-snap', util.task.series(util.rimraf('.build/linux/snap/x64'), prepareSnapPackage('x64')));
gulp.task('vscode-linux-arm-prepare-snap', util.task.series(util.rimraf('.build/linux/snap/x64'), prepareSnapPackage('arm')));
gulp.task('vscode-linux-arm64-prepare-snap', util.task.series(util.rimraf('.build/linux/snap/x64'), prepareSnapPackage('arm64')));
gulp.task('vscode-linux-ia32-build-snap', ['vscode-linux-ia32-prepare-snap'], buildSnapPackage('ia32'));
gulp.task('vscode-linux-x64-build-snap', ['vscode-linux-x64-prepare-snap'], buildSnapPackage('x64'));
gulp.task('vscode-linux-arm-build-snap', ['vscode-linux-arm-prepare-snap'], buildSnapPackage('arm'));
gulp.task('vscode-linux-arm64-build-snap', ['vscode-linux-arm64-prepare-snap'], buildSnapPackage('arm64'));
{
const debArch = getDebPackageArch(arch);
const prepareDebTask = util.task.series(util.rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch));
prepareDebTask.displayName = `vscode-linux-${arch}-prepare-deb`;
// gulp.task(prepareDebTask.displayName, prepareDebTask);
const buildDebTask = util.task.series(prepareDebTask, buildDebPackage(arch));
buildDebTask.displayName = `vscode-linux-${arch}-build-deb`;
gulp.task(buildDebTask.displayName, buildDebTask);
}
{
const rpmArch = getRpmPackageArch(arch);
const prepareRpmTask = util.task.series(util.rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch));
prepareRpmTask.displayName = `vscode-linux-${arch}-prepare-rpm`;
// gulp.task(prepareRpmTask.displayName, prepareRpmTask);
const buildRpmTask = util.task.series(prepareRpmTask, buildRpmPackage(arch));
buildRpmTask.displayName = `vscode-linux-${arch}-build-rpm`;
gulp.task(buildRpmTask.displayName, buildRpmTask);
}
{
const prepareSnapTask = util.task.series(util.rimraf(`.build/linux/snap/${arch}`), prepareSnapPackage(arch));
prepareSnapTask.displayName = `vscode-linux-${arch}-prepare-snap`;
gulp.task(prepareSnapTask.displayName, prepareSnapTask);
const buildSnapTask = util.task.series(prepareSnapTask, buildSnapPackage(arch));
buildSnapTask.displayName = `vscode-linux-${arch}-build-snap`;
gulp.task(buildSnapTask.displayName, buildSnapTask);
}
});
+2 -5
View File
@@ -134,9 +134,6 @@ function copyInnoUpdater(arch) {
};
}
gulp.task('vscode-win32-ia32-copy-inno-updater', copyInnoUpdater('ia32'));
gulp.task('vscode-win32-x64-copy-inno-updater', copyInnoUpdater('x64'));
function patchInnoUpdater(arch) {
return cb => {
const icon = path.join(repoPath, 'resources', 'win32', 'code.ico');
@@ -144,5 +141,5 @@ function patchInnoUpdater(arch) {
};
}
gulp.task('vscode-win32-ia32-inno-updater', ['vscode-win32-ia32-copy-inno-updater'], patchInnoUpdater('ia32'));
gulp.task('vscode-win32-x64-inno-updater', ['vscode-win32-x64-copy-inno-updater'], patchInnoUpdater('x64'));
gulp.task('vscode-win32-ia32-inno-updater', util.task.series(copyInnoUpdater('ia32'), patchInnoUpdater('ia32')));
gulp.task('vscode-win32-x64-inno-updater', util.task.series(copyInnoUpdater('x64'), patchInnoUpdater('x64')));
+10 -9
View File
@@ -14,7 +14,8 @@ const es = require('event-stream');
const rename = require('gulp-rename');
const vfs = require('vinyl-fs');
const ext = require('./extensions');
const util = require('gulp-util');
const fancyLog = require('fancy-log');
const ansiColors = require('ansi-colors');
const root = path.dirname(path.dirname(__dirname));
const builtInExtensions = require('../builtInExtensions.json');
@@ -43,7 +44,7 @@ function isUpToDate(extension) {
function syncMarketplaceExtension(extension) {
if (isUpToDate(extension)) {
util.log(util.colors.blue('[marketplace]'), `${extension.name}@${extension.version}`, util.colors.green('✔︎'));
fancyLog(ansiColors.blue('[marketplace]'), `${extension.name}@${extension.version}`, ansiColors.green('✔︎'));
return es.readArray([]);
}
@@ -52,13 +53,13 @@ function syncMarketplaceExtension(extension) {
return ext.fromMarketplace(extension.name, extension.version, extension.metadata)
.pipe(rename(p => p.dirname = `${extension.name}/${p.dirname}`))
.pipe(vfs.dest('.build/builtInExtensions'))
.on('end', () => util.log(util.colors.blue('[marketplace]'), extension.name, util.colors.green('✔︎')));
.on('end', () => fancyLog(ansiColors.blue('[marketplace]'), extension.name, ansiColors.green('✔︎')));
}
function syncExtension(extension, controlState) {
switch (controlState) {
case 'disabled':
util.log(util.colors.blue('[disabled]'), util.colors.gray(extension.name));
fancyLog(ansiColors.blue('[disabled]'), ansiColors.gray(extension.name));
return es.readArray([]);
case 'marketplace':
@@ -66,15 +67,15 @@ function syncExtension(extension, controlState) {
default:
if (!fs.existsSync(controlState)) {
util.log(util.colors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but that path does not exist.`));
fancyLog(ansiColors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but that path does not exist.`));
return es.readArray([]);
} else if (!fs.existsSync(path.join(controlState, 'package.json'))) {
util.log(util.colors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but there is no 'package.json' file in that directory.`));
fancyLog(ansiColors.red(`Error: Built-in extension '${extension.name}' is configured to run from '${controlState}' but there is no 'package.json' file in that directory.`));
return es.readArray([]);
}
util.log(util.colors.blue('[local]'), `${extension.name}: ${util.colors.cyan(controlState)}`, util.colors.green('✔︎'));
fancyLog(ansiColors.blue('[local]'), `${extension.name}: ${ansiColors.cyan(controlState)}`, ansiColors.green('✔︎'));
return es.readArray([]);
}
}
@@ -93,8 +94,8 @@ function writeControlFile(control) {
}
function main() {
util.log('Syncronizing built-in extensions...');
util.log(`You can manage built-in extensions with the ${util.colors.cyan('--builtin')} flag`);
fancyLog('Syncronizing built-in extensions...');
fancyLog(`You can manage built-in extensions with the ${ansiColors.cyan('--builtin')} flag`);
const control = readControlFile();
const streams = [];
+3 -2
View File
@@ -16,7 +16,8 @@ const monacodts = require("../monaco/api");
const nls = require("./nls");
const reporter_1 = require("./reporter");
const util = require("./util");
const util2 = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const watch = require('./watch');
const reporter = reporter_1.createReporter();
function getTypeScriptCompilerOptions(src) {
@@ -179,7 +180,7 @@ class MonacoGenerator {
return r;
}
_log(message, ...rest) {
util2.log(util2.colors.cyan('[monaco.d.ts]'), message, ...rest);
fancyLog(ansiColors.cyan('[monaco.d.ts]'), message, ...rest);
}
execute() {
const startTime = Date.now();
+4 -2
View File
@@ -17,7 +17,9 @@ import * as monacodts from '../monaco/api';
import * as nls from './nls';
import { createReporter } from './reporter';
import * as util from './util';
import * as util2 from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
const watch = require('./watch');
const reporter = createReporter();
@@ -218,7 +220,7 @@ class MonacoGenerator {
}
private _log(message: any, ...rest: any[]): void {
util2.log(util2.colors.cyan('[monaco.d.ts]'), message, ...rest);
fancyLog(ansiColors.cyan('[monaco.d.ts]'), message, ...rest);
}
public execute(): void {
+4 -3
View File
@@ -17,7 +17,8 @@ const remote = require("gulp-remote-src");
const vzip = require('gulp-vinyl-zip');
const filter = require("gulp-filter");
const rename = require("gulp-rename");
const util = require('gulp-util');
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const buffer = require('gulp-buffer');
const json = require("gulp-json-editor");
const webpack = require('webpack');
@@ -79,7 +80,7 @@ function fromLocalWebpack(extensionPath, sourceMappingURLBase) {
.pipe(packageJsonFilter.restore);
const webpackStreams = webpackConfigLocations.map(webpackConfigPath => () => {
const webpackDone = (err, stats) => {
util.log(`Bundled extension: ${util.colors.yellow(path.join(path.basename(extensionPath), path.relative(extensionPath, webpackConfigPath)))}...`);
fancyLog(`Bundled extension: ${ansiColors.yellow(path.join(path.basename(extensionPath), path.relative(extensionPath, webpackConfigPath)))}...`);
if (err) {
result.emit('error', err);
}
@@ -157,7 +158,7 @@ const baseHeaders = {
function fromMarketplace(extensionName, version, metadata) {
const [publisher, name] = extensionName.split('.');
const url = `https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${publisher}/vsextensions/${name}/${version}/vspackage`;
util.log('Downloading extension:', util.colors.yellow(`${extensionName}@${version}`), '...');
fancyLog('Downloading extension:', ansiColors.yellow(`${extensionName}@${version}`), '...');
const options = {
base: url,
requestOptions: {
+4 -3
View File
@@ -17,7 +17,8 @@ import remote = require('gulp-remote-src');
const vzip = require('gulp-vinyl-zip');
import filter = require('gulp-filter');
import rename = require('gulp-rename');
const util = require('gulp-util');
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
const buffer = require('gulp-buffer');
import json = require('gulp-json-editor');
const webpack = require('webpack');
@@ -93,7 +94,7 @@ function fromLocalWebpack(extensionPath: string, sourceMappingURLBase: string |
const webpackStreams = webpackConfigLocations.map(webpackConfigPath => () => {
const webpackDone = (err: any, stats: any) => {
util.log(`Bundled extension: ${util.colors.yellow(path.join(path.basename(extensionPath), path.relative(extensionPath, webpackConfigPath)))}...`);
fancyLog(`Bundled extension: ${ansiColors.yellow(path.join(path.basename(extensionPath), path.relative(extensionPath, webpackConfigPath)))}...`);
if (err) {
result.emit('error', err);
}
@@ -187,7 +188,7 @@ export function fromMarketplace(extensionName: string, version: string, metadata
const [publisher, name] = extensionName.split('.');
const url = `https://marketplace.visualstudio.com/_apis/public/gallery/publishers/${publisher}/vsextensions/${name}/${version}/vspackage`;
util.log('Downloading extension:', util.colors.yellow(`${extensionName}@${version}`), '...');
fancyLog('Downloading extension:', ansiColors.yellow(`${extensionName}@${version}`), '...');
const options = {
base: url,
+4 -3
View File
@@ -13,11 +13,12 @@ const xml2js = require("xml2js");
const glob = require("glob");
const https = require("https");
const gulp = require("gulp");
const util = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const iconv = require("iconv-lite");
const NUMBER_OF_CONCURRENT_DOWNLOADS = 4;
function log(message, ...rest) {
util.log(util.colors.green('[i18n]'), message, ...rest);
fancyLog(ansiColors.green('[i18n]'), message, ...rest);
}
exports.defaultLanguages = [
{ id: 'zh-tw', folderName: 'cht', transifexId: 'zh-hant' },
@@ -488,7 +489,7 @@ function getResource(sourceFile) {
else if (/^vs\/code/.test(sourceFile)) {
return { name: 'vs/code', project: workbenchProject };
}
else if (/^vs\/workbench\/parts/.test(sourceFile)) {
else if (/^vs\/workbench\/contrib/.test(sourceFile)) {
resource = sourceFile.split('/', 4).join('/');
return { name: resource, project: workbenchProject };
}
+33 -33
View File
@@ -27,135 +27,135 @@
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/cli",
"name": "vs/workbench/contrib/cli",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/codeEditor",
"name": "vs/workbench/contrib/codeEditor",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/comments",
"name": "vs/workbench/contrib/comments",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/debug",
"name": "vs/workbench/contrib/debug",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/emmet",
"name": "vs/workbench/contrib/emmet",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/execution",
"name": "vs/workbench/contrib/execution",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/extensions",
"name": "vs/workbench/contrib/extensions",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/feedback",
"name": "vs/workbench/contrib/feedback",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/files",
"name": "vs/workbench/contrib/files",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/html",
"name": "vs/workbench/contrib/html",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/markers",
"name": "vs/workbench/contrib/markers",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/localizations",
"name": "vs/workbench/contrib/localizations",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/logs",
"name": "vs/workbench/contrib/logs",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/output",
"name": "vs/workbench/contrib/output",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/performance",
"name": "vs/workbench/contrib/performance",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/preferences",
"name": "vs/workbench/contrib/preferences",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/quickopen",
"name": "vs/workbench/contrib/quickopen",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/relauncher",
"name": "vs/workbench/contrib/relauncher",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/scm",
"name": "vs/workbench/contrib/scm",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/search",
"name": "vs/workbench/contrib/search",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/snippets",
"name": "vs/workbench/contrib/snippets",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/stats",
"name": "vs/workbench/contrib/stats",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/surveys",
"name": "vs/workbench/contrib/surveys",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/tasks",
"name": "vs/workbench/contrib/tasks",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/terminal",
"name": "vs/workbench/contrib/terminal",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/themes",
"name": "vs/workbench/contrib/themes",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/trust",
"name": "vs/workbench/contrib/trust",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/update",
"name": "vs/workbench/contrib/update",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/url",
"name": "vs/workbench/contrib/url",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/watermark",
"name": "vs/workbench/contrib/watermark",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/webview",
"name": "vs/workbench/contrib/webview",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/welcome",
"name": "vs/workbench/contrib/welcome",
"project": "vscode-workbench"
},
{
"name": "vs/workbench/parts/outline",
"name": "vs/workbench/contrib/outline",
"project": "vscode-workbench"
},
{
+4 -4
View File
@@ -13,14 +13,14 @@ import * as xml2js from 'xml2js';
import * as glob from 'glob';
import * as https from 'https';
import * as gulp from 'gulp';
import * as util from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
import * as iconv from 'iconv-lite';
const NUMBER_OF_CONCURRENT_DOWNLOADS = 4;
function log(message: any, ...rest: any[]): void {
util.log(util.colors.green('[i18n]'), message, ...rest);
fancyLog(ansiColors.green('[i18n]'), message, ...rest);
}
export interface Language {
@@ -602,7 +602,7 @@ export function getResource(sourceFile: string): Resource {
return { name: 'vs/base', project: editorProject };
} else if (/^vs\/code/.test(sourceFile)) {
return { name: 'vs/code', project: workbenchProject };
} else if (/^vs\/workbench\/parts/.test(sourceFile)) {
} else if (/^vs\/workbench\/contrib/.test(sourceFile)) {
resource = sourceFile.split('/', 4).join('/');
return { name: resource, project: workbenchProject };
} else if (/^vs\/workbench\/services/.test(sourceFile)) {
+5 -18
View File
@@ -13,7 +13,8 @@ const flatmap = require("gulp-flatmap");
const sourcemaps = require("gulp-sourcemaps");
const uglify = require("gulp-uglify");
const composer = require("gulp-uglify/composer");
const gulpUtil = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const path = require("path");
const pump = require("pump");
const uglifyes = require("uglify-es");
@@ -24,7 +25,7 @@ const stats_1 = require("./stats");
const util = require("./util");
const REPO_ROOT_PATH = path.join(__dirname, '../..');
function log(prefix, message) {
gulpUtil.log(gulpUtil.colors.cyan('[' + prefix + ']'), message);
fancyLog(ansiColors.cyan('[' + prefix + ']'), message);
}
function loaderConfig(emptyPaths) {
const result = {
@@ -113,7 +114,6 @@ function toBundleStream(src, bundledFileHeader, bundles) {
function optimizeTask(opts) {
const src = opts.src;
const entryPoints = opts.entryPoints;
const otherSources = opts.otherSources;
const resources = opts.resources;
const loaderConfig = opts.loaderConfig;
const bundledFileHeader = opts.header;
@@ -136,7 +136,7 @@ function optimizeTask(opts) {
}
filteredResources.push('!' + resource);
});
gulp.src(filteredResources, { base: `${src}` }).pipe(resourcesStream);
gulp.src(filteredResources, { base: `${src}`, allowEmpty: true }).pipe(resourcesStream);
const bundleInfoArray = [];
if (opts.bundleInfo) {
bundleInfoArray.push(new VinylFile({
@@ -147,20 +147,7 @@ function optimizeTask(opts) {
}
es.readArray(bundleInfoArray).pipe(bundleInfoStream);
});
const otherSourcesStream = es.through();
const otherSourcesStreamArr = [];
gulp.src(otherSources, { base: `${src}` })
.pipe(es.through(function (data) {
otherSourcesStreamArr.push(toConcatStream(src, bundledFileHeader, [data], data.relative));
}, function () {
if (!otherSourcesStreamArr.length) {
setTimeout(function () { otherSourcesStream.emit('end'); }, 0);
}
else {
es.merge(otherSourcesStreamArr).pipe(otherSourcesStream);
}
}));
const result = es.merge(loader(src, bundledFileHeader, bundleLoader), bundlesStream, otherSourcesStream, resourcesStream, bundleInfoStream);
const result = es.merge(loader(src, bundledFileHeader, bundleLoader), bundlesStream, resourcesStream, bundleInfoStream);
return result
.pipe(sourcemaps.write('./', {
sourceRoot: undefined,
+4 -23
View File
@@ -14,7 +14,8 @@ import * as flatmap from 'gulp-flatmap';
import * as sourcemaps from 'gulp-sourcemaps';
import * as uglify from 'gulp-uglify';
import * as composer from 'gulp-uglify/composer';
import * as gulpUtil from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
import * as path from 'path';
import * as pump from 'pump';
import * as sm from 'source-map';
@@ -28,7 +29,7 @@ import * as util from './util';
const REPO_ROOT_PATH = path.join(__dirname, '../..');
function log(prefix: string, message: string): void {
gulpUtil.log(gulpUtil.colors.cyan('[' + prefix + ']'), message);
fancyLog(ansiColors.cyan('[' + prefix + ']'), message);
}
export function loaderConfig(emptyPaths?: string[]) {
@@ -141,10 +142,6 @@ export interface IOptimizeTaskOpts {
* (for AMD files, will get bundled and get Copyright treatment)
*/
entryPoints: bundle.IEntryPoint[];
/**
* (for non-AMD files that should get Copyright treatment)
*/
otherSources: string[];
/**
* (svg, etc.)
*/
@@ -175,7 +172,6 @@ export interface IOptimizeTaskOpts {
export function optimizeTask(opts: IOptimizeTaskOpts): () => NodeJS.ReadWriteStream {
const src = opts.src;
const entryPoints = opts.entryPoints;
const otherSources = opts.otherSources;
const resources = opts.resources;
const loaderConfig = opts.loaderConfig;
const bundledFileHeader = opts.header;
@@ -200,7 +196,7 @@ export function optimizeTask(opts: IOptimizeTaskOpts): () => NodeJS.ReadWriteStr
}
filteredResources.push('!' + resource);
});
gulp.src(filteredResources, { base: `${src}` }).pipe(resourcesStream);
gulp.src(filteredResources, { base: `${src}`, allowEmpty: true }).pipe(resourcesStream);
const bundleInfoArray: VinylFile[] = [];
if (opts.bundleInfo) {
@@ -213,24 +209,9 @@ export function optimizeTask(opts: IOptimizeTaskOpts): () => NodeJS.ReadWriteStr
es.readArray(bundleInfoArray).pipe(bundleInfoStream);
});
const otherSourcesStream = es.through();
const otherSourcesStreamArr: NodeJS.ReadWriteStream[] = [];
gulp.src(otherSources, { base: `${src}` })
.pipe(es.through(function (data) {
otherSourcesStreamArr.push(toConcatStream(src, bundledFileHeader, [data], data.relative));
}, function () {
if (!otherSourcesStreamArr.length) {
setTimeout(function () { otherSourcesStream.emit('end'); }, 0);
} else {
es.merge(otherSourcesStreamArr).pipe(otherSourcesStream);
}
}));
const result = es.merge(
loader(src, bundledFileHeader, bundleLoader),
bundlesStream,
otherSourcesStream,
resourcesStream,
bundleInfoStream
);
+5 -4
View File
@@ -6,7 +6,8 @@
Object.defineProperty(exports, "__esModule", { value: true });
const es = require("event-stream");
const _ = require("underscore");
const util = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const fs = require("fs");
const path = require("path");
const allErrors = [];
@@ -17,7 +18,7 @@ function onStart() {
return;
}
startTime = new Date().getTime();
util.log(`Starting ${util.colors.green('compilation')}...`);
fancyLog(`Starting ${ansiColors.green('compilation')}...`);
}
function onEnd() {
if (--count > 0) {
@@ -38,7 +39,7 @@ function log() {
errors.map(err => {
if (!seen.has(err)) {
seen.add(err);
util.log(`${util.colors.red('Error')}: ${err}`);
fancyLog(`${ansiColors.red('Error')}: ${err}`);
}
});
const regex = /^([^(]+)\((\d+),(\d+)\): (.*)$/;
@@ -53,7 +54,7 @@ function log() {
catch (err) {
//noop
}
util.log(`Finished ${util.colors.green('compilation')} with ${errors.length} errors after ${util.colors.magenta((new Date().getTime() - startTime) + ' ms')}`);
fancyLog(`Finished ${ansiColors.green('compilation')} with ${errors.length} errors after ${ansiColors.magenta((new Date().getTime() - startTime) + ' ms')}`);
}
function createReporter() {
const errors = [];
+5 -4
View File
@@ -7,7 +7,8 @@
import * as es from 'event-stream';
import * as _ from 'underscore';
import * as util from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
import * as fs from 'fs';
import * as path from 'path';
@@ -21,7 +22,7 @@ function onStart(): void {
}
startTime = new Date().getTime();
util.log(`Starting ${util.colors.green('compilation')}...`);
fancyLog(`Starting ${ansiColors.green('compilation')}...`);
}
function onEnd(): void {
@@ -47,7 +48,7 @@ function log(): void {
errors.map(err => {
if (!seen.has(err)) {
seen.add(err);
util.log(`${util.colors.red('Error')}: ${err}`);
fancyLog(`${ansiColors.red('Error')}: ${err}`);
}
});
@@ -65,7 +66,7 @@ function log(): void {
//noop
}
util.log(`Finished ${util.colors.green('compilation')} with ${errors.length} errors after ${util.colors.magenta((new Date().getTime() - startTime!) + ' ms')}`);
fancyLog(`Finished ${ansiColors.green('compilation')} with ${errors.length} errors after ${ansiColors.magenta((new Date().getTime() - startTime!) + ' ms')}`);
}
export interface IReporter {
+10 -9
View File
@@ -5,7 +5,8 @@
'use strict';
Object.defineProperty(exports, "__esModule", { value: true });
const es = require("event-stream");
const util = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const appInsights = require("applicationinsights");
class Entry {
constructor(name, totalCount, totalSize) {
@@ -24,13 +25,13 @@ class Entry {
}
else {
if (this.totalCount === 1) {
return `Stats for '${util.colors.grey(this.name)}': ${Math.round(this.totalSize / 1204)}KB`;
return `Stats for '${ansiColors.grey(this.name)}': ${Math.round(this.totalSize / 1204)}KB`;
}
else {
const count = this.totalCount < 100
? util.colors.green(this.totalCount.toString())
: util.colors.red(this.totalCount.toString());
return `Stats for '${util.colors.grey(this.name)}': ${count} files, ${Math.round(this.totalSize / 1204)}KB`;
? ansiColors.green(this.totalCount.toString())
: ansiColors.red(this.totalCount.toString());
return `Stats for '${ansiColors.grey(this.name)}': ${count} files, ${Math.round(this.totalSize / 1204)}KB`;
}
}
}
@@ -57,13 +58,13 @@ function createStatsStream(group, log) {
}, function () {
if (log) {
if (entry.totalCount === 1) {
util.log(`Stats for '${util.colors.grey(entry.name)}': ${Math.round(entry.totalSize / 1204)}KB`);
fancyLog(`Stats for '${ansiColors.grey(entry.name)}': ${Math.round(entry.totalSize / 1204)}KB`);
}
else {
const count = entry.totalCount < 100
? util.colors.green(entry.totalCount.toString())
: util.colors.red(entry.totalCount.toString());
util.log(`Stats for '${util.colors.grey(entry.name)}': ${count} files, ${Math.round(entry.totalSize / 1204)}KB`);
? ansiColors.green(entry.totalCount.toString())
: ansiColors.red(entry.totalCount.toString());
fancyLog(`Stats for '${ansiColors.grey(entry.name)}': ${count} files, ${Math.round(entry.totalSize / 1204)}KB`);
}
}
this.emit('end');
+10 -9
View File
@@ -6,7 +6,8 @@
'use strict';
import * as es from 'event-stream';
import * as util from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
import * as File from 'vinyl';
import * as appInsights from 'applicationinsights';
@@ -22,14 +23,14 @@ class Entry {
}
} else {
if (this.totalCount === 1) {
return `Stats for '${util.colors.grey(this.name)}': ${Math.round(this.totalSize / 1204)}KB`;
return `Stats for '${ansiColors.grey(this.name)}': ${Math.round(this.totalSize / 1204)}KB`;
} else {
const count = this.totalCount < 100
? util.colors.green(this.totalCount.toString())
: util.colors.red(this.totalCount.toString());
? ansiColors.green(this.totalCount.toString())
: ansiColors.red(this.totalCount.toString());
return `Stats for '${util.colors.grey(this.name)}': ${count} files, ${Math.round(this.totalSize / 1204)}KB`;
return `Stats for '${ansiColors.grey(this.name)}': ${count} files, ${Math.round(this.totalSize / 1204)}KB`;
}
}
}
@@ -58,14 +59,14 @@ export function createStatsStream(group: string, log?: boolean): es.ThroughStrea
}, function () {
if (log) {
if (entry.totalCount === 1) {
util.log(`Stats for '${util.colors.grey(entry.name)}': ${Math.round(entry.totalSize / 1204)}KB`);
fancyLog(`Stats for '${ansiColors.grey(entry.name)}': ${Math.round(entry.totalSize / 1204)}KB`);
} else {
const count = entry.totalCount < 100
? util.colors.green(entry.totalCount.toString())
: util.colors.red(entry.totalCount.toString());
? ansiColors.green(entry.totalCount.toString())
: ansiColors.red(entry.totalCount.toString());
util.log(`Stats for '${util.colors.grey(entry.name)}': ${count} files, ${Math.round(entry.totalSize / 1204)}KB`);
fancyLog(`Stats for '${ansiColors.grey(entry.name)}': ${count} files, ${Math.round(entry.totalSize / 1204)}KB`);
}
}
+2 -2
View File
@@ -27,13 +27,13 @@ suite('XLF Parser Tests', () => {
});
test('JSON file source path to Transifex resource match', () => {
const editorProject = 'vscode-editor', workbenchProject = 'vscode-workbench';
const platform = { name: 'vs/platform', project: editorProject }, editorContrib = { name: 'vs/editor/contrib', project: editorProject }, editor = { name: 'vs/editor', project: editorProject }, base = { name: 'vs/base', project: editorProject }, code = { name: 'vs/code', project: workbenchProject }, workbenchParts = { name: 'vs/workbench/parts/html', project: workbenchProject }, workbenchServices = { name: 'vs/workbench/services/files', project: workbenchProject }, workbench = { name: 'vs/workbench', project: workbenchProject };
const platform = { name: 'vs/platform', project: editorProject }, editorContrib = { name: 'vs/editor/contrib', project: editorProject }, editor = { name: 'vs/editor', project: editorProject }, base = { name: 'vs/base', project: editorProject }, code = { name: 'vs/code', project: workbenchProject }, workbenchParts = { name: 'vs/workbench/contrib/html', project: workbenchProject }, workbenchServices = { name: 'vs/workbench/services/files', project: workbenchProject }, workbench = { name: 'vs/workbench', project: workbenchProject };
assert.deepEqual(i18n.getResource('vs/platform/actions/browser/menusExtensionPoint'), platform);
assert.deepEqual(i18n.getResource('vs/editor/contrib/clipboard/browser/clipboard'), editorContrib);
assert.deepEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepEqual(i18n.getResource('vs/workbench/parts/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/services/files/node/fileService'), workbenchServices);
assert.deepEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
});
+2 -2
View File
@@ -38,7 +38,7 @@ suite('XLF Parser Tests', () => {
editor = { name: 'vs/editor', project: editorProject },
base = { name: 'vs/base', project: editorProject },
code = { name: 'vs/code', project: workbenchProject },
workbenchParts = { name: 'vs/workbench/parts/html', project: workbenchProject },
workbenchParts = { name: 'vs/workbench/contrib/html', project: workbenchProject },
workbenchServices = { name: 'vs/workbench/services/files', project: workbenchProject },
workbench = { name: 'vs/workbench', project: workbenchProject};
@@ -47,7 +47,7 @@ suite('XLF Parser Tests', () => {
assert.deepEqual(i18n.getResource('vs/editor/common/modes/modesRegistry'), editor);
assert.deepEqual(i18n.getResource('vs/base/common/errorMessage'), base);
assert.deepEqual(i18n.getResource('vs/code/electron-main/window'), code);
assert.deepEqual(i18n.getResource('vs/workbench/parts/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/contrib/html/browser/webview'), workbenchParts);
assert.deepEqual(i18n.getResource('vs/workbench/services/files/node/fileService'), workbenchServices);
assert.deepEqual(i18n.getResource('vs/workbench/browser/parts/panel/panelActions'), workbench);
});
+1 -1
View File
@@ -33,7 +33,7 @@ class TranslationRemindRuleWalker extends Lint.RuleWalker {
visitImportLikeDeclaration(node) {
const currentFile = node.getSourceFile().fileName;
const matchService = currentFile.match(/vs\/workbench\/services\/\w+/);
const matchPart = currentFile.match(/vs\/workbench\/parts\/\w+/);
const matchPart = currentFile.match(/vs\/workbench\/contrib\/\w+/);
if (!matchService && !matchPart) {
return;
}
+1 -1
View File
@@ -42,7 +42,7 @@ class TranslationRemindRuleWalker extends Lint.RuleWalker {
private visitImportLikeDeclaration(node: ts.ImportDeclaration | ts.ImportEqualsDeclaration) {
const currentFile = node.getSourceFile().fileName;
const matchService = currentFile.match(/vs\/workbench\/services\/\w+/);
const matchPart = currentFile.match(/vs\/workbench\/parts\/\w+/);
const matchPart = currentFile.match(/vs\/workbench\/contrib\/\w+/);
if (!matchService && !matchPart) {
return;
}
+3 -2
View File
@@ -7,14 +7,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");
const ts = require("typescript");
const path = require("path");
const util = require("gulp-util");
const fancyLog = require("fancy-log");
const ansiColors = require("ansi-colors");
const dtsv = '2';
const tsfmt = require('../../tsfmt.json');
const SRC = path.join(__dirname, '../../src');
exports.RECIPE_PATH = path.join(__dirname, './monaco.d.ts.recipe');
const DECLARATION_PATH = path.join(__dirname, '../../src/vs/monaco.d.ts');
function logErr(message, ...rest) {
util.log(util.colors.yellow(`[monaco.d.ts]`), message, ...rest);
fancyLog(ansiColors.yellow(`[monaco.d.ts]`), message, ...rest);
}
function isDeclaration(a) {
return (a.kind === ts.SyntaxKind.InterfaceDeclaration
+3 -2
View File
@@ -6,7 +6,8 @@
import * as fs from 'fs';
import * as ts from 'typescript';
import * as path from 'path';
import * as util from 'gulp-util';
import * as fancyLog from 'fancy-log';
import * as ansiColors from 'ansi-colors';
const dtsv = '2';
@@ -17,7 +18,7 @@ export const RECIPE_PATH = path.join(__dirname, './monaco.d.ts.recipe');
const DECLARATION_PATH = path.join(__dirname, '../../src/vs/monaco.d.ts');
function logErr(message: any, ...rest: any[]): void {
util.log(util.colors.yellow(`[monaco.d.ts]`), message, ...rest);
fancyLog(ansiColors.yellow(`[monaco.d.ts]`), message, ...rest);
}
type SourceFileGetter = (moduleId: string) => ts.SourceFile | null;
+2 -2
View File
@@ -7,8 +7,8 @@ let err = false;
const majorNodeVersion = parseInt(/^(\d+)\./.exec(process.versions.node)[1]);
if (majorNodeVersion < 8 || majorNodeVersion >= 9) {
console.error('\033[1;31m*** Please use node >=8 and <9.\033[0;0m');
if (majorNodeVersion < 8 || majorNodeVersion >= 11) {
console.error('\033[1;31m*** Please use node >=8 and <11.\033[0;0m');
err = true;
}
+23 -16
View File
@@ -12,6 +12,8 @@ var cson = require('cson-parser');
var https = require('https');
var url = require('url');
let commitDate = '0000-00-00';
/**
* @param {string} urlString
*/
@@ -120,30 +122,35 @@ exports.update = function (repoId, repoPath, dest, modifyGrammar, version = 'mas
try {
fs.writeFileSync(dest, JSON.stringify(result, null, '\t').replace(/\n/g, '\r\n'));
// Add commit sha to cgmanifest
let cgmanifestRead = JSON.parse(fs.readFileSync('./cgmanifest.json').toString());
let promises = new Array();
let packageJsonPath = 'https://raw.githubusercontent.com/' + repoId + `/${info.commitSha}/package.json`;
for (let i = 0; i < cgmanifestRead.registrations.length; i++) {
if (cgmanifestRead.registrations[i].component.git.repositoryUrl.substr(cgmanifestRead.registrations[i].component.git.repositoryUrl.length - repoId.length, repoId.length) === repoId) {
cgmanifestRead.registrations[i].component.git.commitHash = info.commitSha;
promises.push(download(packageJsonPath).then(function (packageJson) {
if (packageJson) {
try {
cgmanifestRead.registrations[i].version = JSON.parse(packageJson).version;
} catch (e) {
console.log('File does not exist at' + packageJsonPath);
}
}
}));
break;
const currentCommitDate = info.commitDate.substr(0, 10);
// Add commit sha to cgmanifest.
if (currentCommitDate > commitDate) {
let packageJsonPath = 'https://raw.githubusercontent.com/' + repoId + `/${info.commitSha}/package.json`;
for (let i = 0; i < cgmanifestRead.registrations.length; i++) {
if (cgmanifestRead.registrations[i].component.git.repositoryUrl.substr(cgmanifestRead.registrations[i].component.git.repositoryUrl.length - repoId.length, repoId.length) === repoId) {
cgmanifestRead.registrations[i].component.git.commitHash = info.commitSha;
commitDate = currentCommitDate;
promises.push(download(packageJsonPath).then(function (packageJson) {
if (packageJson) {
try {
cgmanifestRead.registrations[i].version = JSON.parse(packageJson).version;
} catch (e) {
console.log('Cannot get version. File does not exist at ' + packageJsonPath);
}
}
}));
break;
}
}
}
Promise.all(promises).then(function (allResult) {
fs.writeFileSync('./cgmanifest.json', JSON.stringify(cgmanifestRead, null, '\t').replace(/\n/g, '\r\n'));
});
if (info) {
console.log('Updated ' + path.basename(dest) + ' to ' + repoId + '@' + info.commitSha.substr(0, 7) + ' (' + info.commitDate.substr(0, 10) + ')');
console.log('Updated ' + path.basename(dest) + ' to ' + repoId + '@' + info.commitSha.substr(0, 7) + ' (' + currentCommitDate + ')');
} else {
console.log('Updated ' + path.basename(dest));
}
+2 -1
View File
@@ -2,9 +2,11 @@
"name": "code-oss-dev-build",
"version": "1.0.0",
"devDependencies": {
"@types/ansi-colors": "^3.2.0",
"@types/azure": "0.9.19",
"@types/debounce": "^1.0.0",
"@types/documentdb": "1.10.2",
"@types/fancy-log": "^1.3.0",
"@types/glob": "^7.1.1",
"@types/gulp": "^4.0.5",
"@types/gulp-concat": "^0.0.32",
@@ -13,7 +15,6 @@
"@types/gulp-rename": "^0.0.33",
"@types/gulp-sourcemaps": "^0.0.32",
"@types/gulp-uglify": "^3.0.5",
"@types/gulp-util": "^3.0.34",
"@types/mime": "0.0.29",
"@types/minimatch": "^3.0.3",
"@types/minimist": "^1.2.0",
+2 -2
View File
@@ -1,7 +1,7 @@
#define LocalizedLanguageFile(Language = "") \
DirExists(RepoDir + "\licenses") && Language != "" \
? ('; LicenseFile: "' + RepoDir + '\licenses\LICENSE-' + Language + '.txt"') \
: '; LicenseFile: "' + RepoDir + '\LICENSE.txt"'
? ('; LicenseFile: "' + RepoDir + '\licenses\LICENSE-' + Language + '.rtf"') \
: '; LicenseFile: "' + RepoDir + '\LICENSE.rtf"'
[Setup]
AppId={#AppId}
+12 -12
View File
@@ -10,6 +10,11 @@
normalize-path "^2.0.1"
through2 "^2.0.3"
"@types/ansi-colors@^3.2.0":
version "3.2.0"
resolved "https://registry.yarnpkg.com/@types/ansi-colors/-/ansi-colors-3.2.0.tgz#3e4fe85d9131ce1c6994f3040bd0b25306c16a6e"
integrity sha512-0caWAhXht9N2lOdMzJLXybsSkYCx1QOdxx6pae48tswI9QV3DFX26AoOpy0JxwhCb+zISTqmd6H8t9Zby9BoZg==
"@types/azure@0.9.19":
version "0.9.19"
resolved "https://registry.yarnpkg.com/@types/azure/-/azure-0.9.19.tgz#1a6a9bd856b437ddecf3f9fc8407a683c869ba02"
@@ -47,6 +52,11 @@
resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86"
integrity sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==
"@types/fancy-log@^1.3.0":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@types/fancy-log/-/fancy-log-1.3.0.tgz#a61ab476e5e628cd07a846330df53b85e05c8ce0"
integrity sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==
"@types/form-data@*":
version "2.2.1"
resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-2.2.1.tgz#ee2b3b8eaa11c0938289953606b745b738c54b1e"
@@ -117,16 +127,6 @@
"@types/node" "*"
"@types/uglify-js" "^2"
"@types/gulp-util@^3.0.34":
version "3.0.34"
resolved "https://registry.yarnpkg.com/@types/gulp-util/-/gulp-util-3.0.34.tgz#d1291ebf706d93f46eb8df11344bbfd96247697e"
integrity sha512-E06WN1OfqL5UsMwJ1T7ClgnaXgaPipb7Ee8euMc3KRHLNqxdvWrDir9KA6uevgzBgT7XbjgmzZA2pkzDqBBX7A==
dependencies:
"@types/node" "*"
"@types/through2" "*"
"@types/vinyl" "*"
chalk "^2.2.0"
"@types/gulp@^4.0.5":
version "4.0.5"
resolved "https://registry.yarnpkg.com/@types/gulp/-/gulp-4.0.5.tgz#f5f498d5bf9538364792de22490a12c0e6bc5eb4"
@@ -196,7 +196,7 @@
"@types/glob" "*"
"@types/node" "*"
"@types/through2@*", "@types/through2@^2.0.34":
"@types/through2@^2.0.34":
version "2.0.34"
resolved "https://registry.yarnpkg.com/@types/through2/-/through2-2.0.34.tgz#9c2a259a238dace2a05a2f8e94b786961bc27ac4"
integrity sha512-nhRG8+RuG/L+0fAZBQYaRflXKjTrHOKH8MFTChnf+dNVMxA3wHYYrfj0tztK0W51ABXjGfRCDc0vRkecCOrsow==
@@ -512,7 +512,7 @@ chalk@^1.0.0, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
chalk@^2.2.0, chalk@^2.3.0:
chalk@^2.3.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
integrity sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==
+2 -2
View File
@@ -73,12 +73,12 @@
"git": {
"name": "electron",
"repositoryUrl": "https://github.com/electron/electron",
"commitHash": "bb28fa8e8e797db249a66405146ad0501eaf411a"
"commitHash": "72ff292302f95bfe5b4e02085a7be56254b42b0e"
}
},
"isOnlyProductionDependency": true,
"license": "MIT",
"version": "3.1.2"
"version": "3.1.3"
},
{
"component": {
@@ -96,6 +96,6 @@
]
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
}
}
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
jsonc-parser@2.0.2:
version "2.0.2"
+2 -2
View File
@@ -6,11 +6,11 @@
"git": {
"name": "atom/language-c",
"repositoryUrl": "https://github.com/atom/language-c",
"commitHash": "3a269f88b12e512fb9495dc006a1dabf325d3d7f"
"commitHash": "9c0c5f202741a5647025db8d5df5fefba47b036c"
}
},
"license": "MIT",
"version": "0.58.0",
"version": "0.58.1",
"description": "The files syntaxes/c.json and syntaxes/c++.json were derived from the Atom package https://atom.io/packages/language-c which was originally converted from the C TextMate bundle https://github.com/textmate/c.tmbundle."
},
{
@@ -730,7 +730,7 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"mocha": "^5.2.0"
}
}
@@ -14,7 +14,7 @@
},
"devDependencies": {
"@types/mocha": "2.2.33",
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"glob": "^7.1.2",
"mocha": "^5.2.0",
"mocha-junit-reporter": "^1.17.0",
@@ -7,10 +7,10 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.33.tgz#d79a0061ec270379f4d9e225f4096fb436669def"
integrity sha1-15oAYewnA3n02eIl9AlvtDZmne8=
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
ansi-regex@^3.0.0:
version "3.0.0"
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
balanced-match@^1.0.0:
version "1.0.0"
+1 -1
View File
@@ -53,6 +53,6 @@
},
"devDependencies": {
"@types/markdown-it": "0.0.2",
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
}
}
+5 -5
View File
@@ -7,16 +7,16 @@
resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.2.tgz#5d9ad19e6e6508cdd2f2596df86fd0aade598660"
integrity sha1-XZrRnm5lCM3S8llt+G/Qqt5ZhmA=
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
"@types/node@^6.0.46":
version "6.0.78"
resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.78.tgz#5d4a3f579c1524e01ee21bf474e6fba09198f470"
integrity sha512-+vD6E8ixntRzzZukoF3uP1iV+ZjVN3koTcaeK+BEoc/kSfGbLDIGC7RmCaUgVpUfN6cWvfczFRERCyKM9mkvXg==
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
argparse@^1.0.7:
version "1.0.9"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
+1 -1
View File
@@ -6,7 +6,7 @@
"git": {
"name": "textmate/git.tmbundle",
"repositoryUrl": "https://github.com/textmate/git.tmbundle",
"commitHash": "93897a78c6e52bef13dadc0d4091d203c5facb40"
"commitHash": "3f6ad2138200db14b57a090ecb2d2e733275ca3e"
}
},
"licenseDetail": [
+1 -1
View File
@@ -1425,7 +1425,7 @@
"@types/byline": "4.2.31",
"@types/file-type": "^5.2.1",
"@types/mocha": "2.2.43",
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"@types/which": "^1.0.28",
"mocha": "^3.2.0"
}
+1 -1
View File
@@ -65,7 +65,7 @@ export class Askpass implements Disposable {
return ipcHandlePath;
}
private onRequest(req: http.ServerRequest, res: http.ServerResponse): void {
private onRequest(req: http.IncomingMessage, res: http.ServerResponse): void {
const chunks: string[] = [];
req.setEncoding('utf8');
req.on('data', (d: string) => chunks.push(d));
+4 -4
View File
@@ -26,10 +26,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.51.tgz#b31d716fb8d58eeb95c068a039b9b6292817d5fb"
integrity sha512-El3+WJk2D/ppWNd2X05aiP5l2k4EwF7KwheknQZls+I26eSICoWRhRIJ56jGgw2dqNGQ5LtNajmBU2ajS28EvQ==
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
"@types/which@^1.0.28":
version "1.0.28"
+1 -1
View File
@@ -19,7 +19,7 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
},
"main": "./out/main",
"activationEvents": [
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
vscode-nls@^4.0.0:
version "4.0.0"
+1 -1
View File
@@ -19,7 +19,7 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
},
"main": "./out/main",
"activationEvents": [
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
vscode-nls@^4.0.0:
version "4.0.0"
+1 -15
View File
@@ -137,20 +137,6 @@
],
"description": "%html.format.wrapAttributes.desc%"
},
"html.suggest.angular1": {
"deprecationMessage": "Angular 1 is obsolete and Angular completion will be removed.",
"type": "boolean",
"scope": "resource",
"default": false,
"description": "%html.suggest.angular1.desc%"
},
"html.suggest.ionic": {
"deprecationMessage": "Ionic 1 is obsolete and Ionic completion will be removed.",
"type": "boolean",
"scope": "resource",
"default": false,
"description": "%html.suggest.ionic.desc%"
},
"html.suggest.html5": {
"type": "boolean",
"scope": "resource",
@@ -195,6 +181,6 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
}
}
@@ -19,8 +19,6 @@
"html.format.wrapAttributes.alignedmultiple": "Wrap when line length is exceeded, align attributes vertically.",
"html.format.wrapAttributes.preserve": "Preserve wrapping of attributes",
"html.format.wrapAttributes.preservealigned": "Preserve wrapping of attributes but align.",
"html.suggest.angular1.desc": "Controls whether the built-in HTML language support suggests Angular V1 tags and properties.",
"html.suggest.ionic.desc": "Controls whether the built-in HTML language support suggests Ionic tags, properties and values.",
"html.suggest.html5.desc": "Controls whether the built-in HTML language support suggests HTML5 tags, properties and values.",
"html.trace.server.desc": "Traces the communication between VS Code and the HTML language server.",
"html.validate.scripts": "Controls whether the built-in HTML language support validates embedded scripts.",
@@ -18,7 +18,7 @@
},
"devDependencies": {
"@types/mocha": "2.2.33",
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"glob": "^7.1.2",
"mocha": "^5.2.0",
"mocha-junit-reporter": "^1.17.0",
@@ -7,10 +7,10 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.33.tgz#d79a0061ec270379f4d9e225f4096fb436669def"
integrity sha1-15oAYewnA3n02eIl9AlvtDZmne8=
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
ansi-regex@^3.0.0:
version "3.0.0"
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
applicationinsights@1.0.8:
version "1.0.8"
+1 -1
View File
@@ -6,7 +6,7 @@
"git": {
"name": "textmate/html.tmbundle",
"repositoryUrl": "https://github.com/textmate/html.tmbundle",
"commitHash": "390c8870273a2ae80244dae6db6ba064a802f407"
"commitHash": "0c3d5ee54de3a993f747f54186b73a4d2d3c44a2"
}
},
"licenseDetail": [
+1 -1
View File
@@ -19,7 +19,7 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
},
"main": "./out/main",
"activationEvents": [
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
vscode-nls@^4.0.0:
version "4.0.0"
@@ -106,6 +106,6 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
}
}
@@ -21,7 +21,7 @@
},
"devDependencies": {
"@types/mocha": "2.2.33",
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
},
"scripts": {
"prepublishOnly": "npm run clean && npm run test",
@@ -7,10 +7,10 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.33.tgz#d79a0061ec270379f4d9e225f4096fb436669def"
integrity sha1-15oAYewnA3n02eIl9AlvtDZmne8=
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
agent-base@4, agent-base@^4.1.0:
version "4.1.2"
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
applicationinsights@1.0.8:
version "1.0.8"
+1 -1
View File
@@ -6,7 +6,7 @@
"git": {
"name": "fadeevab/make.tmbundle",
"repositoryUrl": "https://github.com/fadeevab/make.tmbundle",
"commitHash": "d01ce3404f9e2eed0fd4d07b5e24094c03599241"
"commitHash": "21e9108e9dce13b798667806bb105d852ac0a58c"
}
},
"licenseDetail": [
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/fadeevab/make.tmbundle/commit/d01ce3404f9e2eed0fd4d07b5e24094c03599241",
"version": "https://github.com/fadeevab/make.tmbundle/commit/21e9108e9dce13b798667806bb105d852ac0a58c",
"name": "Makefile",
"scopeName": "source.makefile",
"patterns": [
@@ -342,7 +342,12 @@
"begin": "(^[ ]*|\\G\\s*)([^\\s]+)\\s*((?<![?:+!])=|\\?=|:=|\\+=|!=)",
"beginCaptures": {
"2": {
"name": "variable.other.makefile"
"name": "variable.other.makefile",
"patterns": [
{
"include": "#variables"
}
]
},
"3": {
"name": "punctuation.separator.key-value.makefile"
@@ -75,3 +75,10 @@ var:=123
var!=echo val
var:=val \
notvar=butval
var-$(nested-var)=val
# Spaces in a nested shell will hurt a colorizing of variable,
# but not so much.
var-$(shell printf 2) := val2
$(info Should be 'val2' here: $(var-2))
@@ -3012,5 +3012,258 @@
"light_vs": "default: #000000",
"hc_black": "default: #FFFFFF"
}
},
{
"c": "var-",
"t": "source.makefile variable.other.makefile",
"r": {
"dark_plus": "variable: #9CDCFE",
"light_plus": "variable: #001080",
"dark_vs": "default: #D4D4D4",
"light_vs": "default: #000000",
"hc_black": "variable: #9CDCFE"
}
},
{
"c": "$(",
"t": "source.makefile variable.other.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "nested-var",
"t": "source.makefile variable.other.makefile string.interpolated.makefile variable.other.makefile",
"r": {
"dark_plus": "variable: #9CDCFE",
"light_plus": "variable: #001080",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "variable: #9CDCFE"
}
},
{
"c": ")",
"t": "source.makefile variable.other.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "=",
"t": "source.makefile punctuation.separator.key-value.makefile",
"r": {
"dark_plus": "default: #D4D4D4",
"light_plus": "default: #000000",
"dark_vs": "default: #D4D4D4",
"light_vs": "default: #000000",
"hc_black": "default: #FFFFFF"
}
},
{
"c": "val",
"t": "source.makefile",
"r": {
"dark_plus": "default: #D4D4D4",
"light_plus": "default: #000000",
"dark_vs": "default: #D4D4D4",
"light_vs": "default: #000000",
"hc_black": "default: #FFFFFF"
}
},
{
"c": "#",
"t": "source.makefile comment.line.number-sign.makefile punctuation.definition.comment.makefile",
"r": {
"dark_plus": "comment: #6A9955",
"light_plus": "comment: #008000",
"dark_vs": "comment: #6A9955",
"light_vs": "comment: #008000",
"hc_black": "comment: #7CA668"
}
},
{
"c": " Spaces in a nested shell will hurt a colorizing of variable,",
"t": "source.makefile comment.line.number-sign.makefile",
"r": {
"dark_plus": "comment: #6A9955",
"light_plus": "comment: #008000",
"dark_vs": "comment: #6A9955",
"light_vs": "comment: #008000",
"hc_black": "comment: #7CA668"
}
},
{
"c": "#",
"t": "source.makefile comment.line.number-sign.makefile punctuation.definition.comment.makefile",
"r": {
"dark_plus": "comment: #6A9955",
"light_plus": "comment: #008000",
"dark_vs": "comment: #6A9955",
"light_vs": "comment: #008000",
"hc_black": "comment: #7CA668"
}
},
{
"c": " but not so much.",
"t": "source.makefile comment.line.number-sign.makefile",
"r": {
"dark_plus": "comment: #6A9955",
"light_plus": "comment: #008000",
"dark_vs": "comment: #6A9955",
"light_vs": "comment: #008000",
"hc_black": "comment: #7CA668"
}
},
{
"c": "var-",
"t": "source.makefile",
"r": {
"dark_plus": "default: #D4D4D4",
"light_plus": "default: #000000",
"dark_vs": "default: #D4D4D4",
"light_vs": "default: #000000",
"hc_black": "default: #FFFFFF"
}
},
{
"c": "$(",
"t": "source.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "shell",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile support.function.shell.makefile",
"r": {
"dark_plus": "support.function: #DCDCAA",
"light_plus": "support.function: #795E26",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "support.function: #DCDCAA"
}
},
{
"c": " printf 2",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": ")",
"t": "source.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": " := val2",
"t": "source.makefile",
"r": {
"dark_plus": "default: #D4D4D4",
"light_plus": "default: #000000",
"dark_vs": "default: #D4D4D4",
"light_vs": "default: #000000",
"hc_black": "default: #FFFFFF"
}
},
{
"c": "$(",
"t": "source.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "info",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile support.function.info.makefile",
"r": {
"dark_plus": "support.function: #DCDCAA",
"light_plus": "support.function: #795E26",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "support.function: #DCDCAA"
}
},
{
"c": " Should be 'val2' here: ",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "$(",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": "var-2",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile string.interpolated.makefile variable.other.makefile",
"r": {
"dark_plus": "variable: #9CDCFE",
"light_plus": "variable: #001080",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "variable: #9CDCFE"
}
},
{
"c": ")",
"t": "source.makefile string.interpolated.makefile meta.scope.function-call.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
},
{
"c": ")",
"t": "source.makefile string.interpolated.makefile punctuation.definition.variable.makefile",
"r": {
"dark_plus": "string: #CE9178",
"light_plus": "string: #A31515",
"dark_vs": "string: #CE9178",
"light_vs": "string: #A31515",
"hc_black": "string: #CE9178"
}
}
]
]
@@ -305,12 +305,12 @@
"@types/highlight.js": "9.12.3",
"@types/lodash.throttle": "^4.1.3",
"@types/markdown-it": "0.0.2",
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"lodash.throttle": "^4.1.1",
"mocha-junit-reporter": "^1.17.0",
"mocha-multi-reporters": "^1.1.7",
"ts-loader": "^4.0.1",
"typescript": "^2.7.2",
"typescript": "^3.3.1",
"vscode": "^1.1.10",
"webpack": "^4.1.0",
"webpack-cli": "^2.0.10"
@@ -15,8 +15,8 @@ import MarkdownWorkspaceSymbolProvider from './features/workspaceSymbolProvider'
import { Logger } from './logger';
import { MarkdownEngine } from './markdownEngine';
import { getMarkdownExtensionContributions } from './markdownExtensions';
import { ExtensionContentSecurityPolicyArbiter, PreviewSecuritySelector } from './security';
import { loadDefaultTelemetryReporter } from './telemetryReporter';
import { ExtensionContentSecurityPolicyArbiter, PreviewSecuritySelector, ContentSecurityPolicyArbiter } from './security';
import { loadDefaultTelemetryReporter, TelemetryReporter } from './telemetryReporter';
import { githubSlugifier } from './slugify';
@@ -25,33 +25,55 @@ export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(telemetryReporter);
const contributions = getMarkdownExtensionContributions(context);
context.subscriptions.push(contributions);
const cspArbiter = new ExtensionContentSecurityPolicyArbiter(context.globalState, context.workspaceState);
const engine = new MarkdownEngine(contributions, githubSlugifier);
const logger = new Logger();
const selector: vscode.DocumentSelector = [
{ language: 'markdown', scheme: 'file' },
{ language: 'markdown', scheme: 'untitled' }
];
const contentProvider = new MarkdownContentProvider(engine, context, cspArbiter, contributions, logger);
const symbolProvider = new MDDocumentSymbolProvider(engine);
const previewManager = new MarkdownPreviewManager(contentProvider, logger, contributions);
context.subscriptions.push(previewManager);
context.subscriptions.push(vscode.languages.setLanguageConfiguration('markdown', {
wordPattern: new RegExp('(\\p{Alphabetic}|\\p{Number})+', 'ug'),
}));
context.subscriptions.push(vscode.languages.registerDocumentSymbolProvider(selector, symbolProvider));
context.subscriptions.push(vscode.languages.registerDocumentLinkProvider(selector, new LinkProvider()));
context.subscriptions.push(vscode.languages.registerFoldingRangeProvider(selector, new MarkdownFoldingProvider(engine)));
context.subscriptions.push(vscode.languages.registerWorkspaceSymbolProvider(new MarkdownWorkspaceSymbolProvider(symbolProvider)));
context.subscriptions.push(registerMarkdownLanguageFeatures(symbolProvider, engine));
context.subscriptions.push(registerMarkdownCommands(previewManager, telemetryReporter, cspArbiter, engine));
context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(() => {
logger.updateConfiguration();
previewManager.updateConfiguration();
}));
}
function registerMarkdownLanguageFeatures(
symbolProvider: MDDocumentSymbolProvider,
engine: MarkdownEngine
): vscode.Disposable {
const selector: vscode.DocumentSelector = [
{ language: 'markdown', scheme: 'file' },
{ language: 'markdown', scheme: 'untitled' }
];
return vscode.Disposable.from(
vscode.languages.setLanguageConfiguration('markdown', {
wordPattern: new RegExp('(\\p{Alphabetic}|\\p{Number})+', 'ug'),
}),
vscode.languages.registerDocumentSymbolProvider(selector, symbolProvider),
vscode.languages.registerDocumentLinkProvider(selector, new LinkProvider()),
vscode.languages.registerFoldingRangeProvider(selector, new MarkdownFoldingProvider(engine)),
vscode.languages.registerWorkspaceSymbolProvider(new MarkdownWorkspaceSymbolProvider(symbolProvider))
);
}
function registerMarkdownCommands(
previewManager: MarkdownPreviewManager,
telemetryReporter: TelemetryReporter,
cspArbiter: ContentSecurityPolicyArbiter,
engine: MarkdownEngine
): vscode.Disposable {
const previewSecuritySelector = new PreviewSecuritySelector(cspArbiter, previewManager);
const commandManager = new CommandManager();
context.subscriptions.push(commandManager);
commandManager.register(new commands.ShowPreviewCommand(previewManager, telemetryReporter));
commandManager.register(new commands.ShowPreviewToSideCommand(previewManager, telemetryReporter));
commandManager.register(new commands.ShowLockedPreviewToSideCommand(previewManager, telemetryReporter));
@@ -61,9 +83,6 @@ export function activate(context: vscode.ExtensionContext) {
commandManager.register(new commands.ShowPreviewSecuritySelectorCommand(previewSecuritySelector, previewManager));
commandManager.register(new commands.OpenDocumentLinkCommand(engine));
commandManager.register(new commands.ToggleLockCommand(previewManager));
context.subscriptions.push(vscode.workspace.onDidChangeConfiguration(() => {
logger.updateConfiguration();
previewManager.updateConfiguration();
}));
return commandManager;
}
@@ -8,12 +8,12 @@ import * as path from 'path';
import { Logger } from '../logger';
import { MarkdownContentProvider } from './previewContentProvider';
import { disposeAll } from '../util/dispose';
import { Disposable } from '../util/dispose';
import * as nls from 'vscode-nls';
import { getVisibleLine, MarkdownFileTopmostLineMonitor } from '../util/topmostLineMonitor';
import { MarkdownPreviewConfigurationManager } from './previewConfig';
import { MarkdownContributions } from '../markdownExtensions';
import { MarkdownContributionProvider, MarkdownContributions } from '../markdownExtensions';
import { isMarkdownFile } from '../util/file';
import { resolveLinkToMarkdownFile } from '../commands/openDocumentLink';
const localize = nls.loadMessageBundle();
@@ -60,7 +60,7 @@ interface PreviewStyleLoadErrorMessage extends WebviewMessage {
};
}
export class MarkdownPreview {
export class MarkdownPreview extends Disposable {
public static viewType = 'markdown.preview';
@@ -70,7 +70,6 @@ export class MarkdownPreview {
private readonly editor: vscode.WebviewPanel;
private throttleTimer: any;
private line: number | undefined = undefined;
private readonly disposables: vscode.Disposable[] = [];
private firstUpdate = true;
private currentVersion?: { resource: vscode.Uri, version: number };
private forceUpdate = false;
@@ -85,7 +84,7 @@ export class MarkdownPreview {
previewConfigurations: MarkdownPreviewConfigurationManager,
logger: Logger,
topmostLineMonitor: MarkdownFileTopmostLineMonitor,
contributions: MarkdownContributions,
contributionProvider: MarkdownContributionProvider,
): Promise<MarkdownPreview> {
const resource = vscode.Uri.parse(state.resource);
const locked = state.locked;
@@ -99,9 +98,9 @@ export class MarkdownPreview {
previewConfigurations,
logger,
topmostLineMonitor,
contributions);
contributionProvider);
preview.editor.webview.options = MarkdownPreview.getWebviewOptions(resource, contributions);
preview.editor.webview.options = MarkdownPreview.getWebviewOptions(resource, contributionProvider.contributions);
if (!isNaN(line)) {
preview.line = line;
@@ -118,14 +117,14 @@ export class MarkdownPreview {
previewConfigurations: MarkdownPreviewConfigurationManager,
logger: Logger,
topmostLineMonitor: MarkdownFileTopmostLineMonitor,
contributions: MarkdownContributions
contributionProvider: MarkdownContributionProvider
): MarkdownPreview {
const webview = vscode.window.createWebviewPanel(
MarkdownPreview.viewType,
MarkdownPreview.getPreviewTitle(resource, locked),
previewColumn, {
enableFindWidget: true,
...MarkdownPreview.getWebviewOptions(resource, contributions)
...MarkdownPreview.getWebviewOptions(resource, contributionProvider.contributions)
});
return new MarkdownPreview(
@@ -136,7 +135,7 @@ export class MarkdownPreview {
previewConfigurations,
logger,
topmostLineMonitor,
contributions);
contributionProvider);
}
private constructor(
@@ -147,19 +146,24 @@ export class MarkdownPreview {
private readonly _previewConfigurations: MarkdownPreviewConfigurationManager,
private readonly _logger: Logger,
topmostLineMonitor: MarkdownFileTopmostLineMonitor,
private readonly _contributions: MarkdownContributions,
private readonly _contributionProvider: MarkdownContributionProvider,
) {
super();
this._resource = resource;
this._locked = locked;
this.editor = webview;
this.editor.onDidDispose(() => {
this.dispose();
}, null, this.disposables);
}, null, this._disposables);
this.editor.onDidChangeViewState(e => {
this._onDidChangeViewStateEmitter.fire(e);
}, null, this.disposables);
}, null, this._disposables);
_contributionProvider.onContributionsChanged(() => {
setImmediate(() => this.refresh());
}, null, this._disposables);
this.editor.webview.onDidReceiveMessage((e: CacheImageSizesMessage | RevealLineMessage | DidClickMessage | ClickLinkMessage | ShowPreviewSecuritySelectorMessage | PreviewStyleLoadErrorMessage) => {
if (e.source !== this._resource.toString()) {
@@ -191,19 +195,19 @@ export class MarkdownPreview {
vscode.window.showWarningMessage(localize('onPreviewStyleLoadError', "Could not load 'markdown.styles': {0}", e.body.unloadedStyles.join(', ')));
break;
}
}, null, this.disposables);
}, null, this._disposables);
vscode.workspace.onDidChangeTextDocument(event => {
if (this.isPreviewOf(event.document.uri)) {
this.refresh();
}
}, null, this.disposables);
}, null, this._disposables);
topmostLineMonitor.onDidChangeTopmostLine(event => {
if (this.isPreviewOf(event.resource)) {
this.updateForView(event.resource, event.line);
}
}, null, this.disposables);
}, null, this._disposables);
vscode.window.onDidChangeTextEditorSelection(event => {
if (this.isPreviewOf(event.textEditor.document.uri)) {
@@ -213,13 +217,13 @@ export class MarkdownPreview {
source: this.resource.toString()
});
}
}, null, this.disposables);
}, null, this._disposables);
vscode.window.onDidChangeActiveTextEditor(editor => {
if (editor && isMarkdownFile(editor.document) && !this._locked) {
this.update(editor.document.uri);
}
}, null, this.disposables);
}, null, this._disposables);
}
private readonly _onDisposeEmitter = new vscode.EventEmitter<void>();
@@ -242,18 +246,17 @@ export class MarkdownPreview {
}
public dispose() {
super.dispose();
if (this._disposed) {
return;
}
this._disposed = true;
this._onDisposeEmitter.fire();
this._onDisposeEmitter.dispose();
this._onDidChangeViewStateEmitter.dispose();
this.editor.dispose();
disposeAll(this.disposables);
}
public update(resource: vscode.Uri) {
@@ -328,7 +331,7 @@ export class MarkdownPreview {
}
private get iconPath() {
const root = path.join(this._contributions.extensionPath, 'media');
const root = path.join(this._contributionProvider.extensionPath, 'media');
return {
light: vscode.Uri.file(path.join(root, 'Preview.svg')),
dark: vscode.Uri.file(path.join(root, 'Preview_inverse.svg'))
@@ -392,7 +395,7 @@ export class MarkdownPreview {
if (this._resource === resource) {
this.editor.title = MarkdownPreview.getPreviewTitle(this._resource, this._locked);
this.editor.iconPath = this.iconPath;
this.editor.webview.options = MarkdownPreview.getWebviewOptions(resource, this._contributions);
this.editor.webview.options = MarkdownPreview.getWebviewOptions(resource, this._contributionProvider.contributions);
this.editor.webview.html = content;
}
}
@@ -410,7 +413,7 @@ export class MarkdownPreview {
private static getLocalResourceRoots(
resource: vscode.Uri,
contributions: MarkdownContributions
): vscode.Uri[] {
): ReadonlyArray<vscode.Uri> {
const baseRoots = contributions.previewResourceRoots;
const folder = vscode.workspace.getWorkspaceFolder(resource);
@@ -13,7 +13,7 @@ const localize = nls.loadMessageBundle();
import { Logger } from '../logger';
import { ContentSecurityPolicyArbiter, MarkdownPreviewSecurityLevel } from '../security';
import { MarkdownPreviewConfigurationManager, MarkdownPreviewConfiguration } from './previewConfig';
import { MarkdownContributions } from '../markdownExtensions';
import { MarkdownContributionProvider } from '../markdownExtensions';
/**
* Strings used inside the markdown preview.
@@ -40,7 +40,7 @@ export class MarkdownContentProvider {
private readonly engine: MarkdownEngine,
private readonly context: vscode.ExtensionContext,
private readonly cspArbiter: ContentSecurityPolicyArbiter,
private readonly contributions: MarkdownContributions,
private readonly contributionProvider: MarkdownContributionProvider,
private readonly logger: Logger
) { }
@@ -163,7 +163,7 @@ export class MarkdownContentProvider {
}
private getStyles(resource: vscode.Uri, nonce: string, config: MarkdownPreviewConfiguration, state?: any): string {
const baseStyles = this.contributions.previewStyles
const baseStyles = this.contributionProvider.contributions.previewStyles
.map(resource => `<link rel="stylesheet" type="text/css" href="${resource.toString()}">`)
.join('\n');
@@ -174,7 +174,7 @@ export class MarkdownContentProvider {
}
private getScripts(nonce: string): string {
return this.contributions.previewScripts
return this.contributionProvider.contributions.previewScripts
.map(resource => `<script async src="${resource.toString()}" nonce="${nonce}" charset="UTF-8"></script>`)
.join('\n');
}
@@ -5,7 +5,7 @@
import * as vscode from 'vscode';
import { Logger } from '../logger';
import { MarkdownContributions } from '../markdownExtensions';
import { MarkdownContributionProvider } from '../markdownExtensions';
import { disposeAll } from '../util/dispose';
import { MarkdownFileTopmostLineMonitor } from '../util/topmostLineMonitor';
import { MarkdownPreview, PreviewSettings } from './preview';
@@ -25,7 +25,7 @@ export class MarkdownPreviewManager implements vscode.WebviewPanelSerializer {
public constructor(
private readonly _contentProvider: MarkdownContentProvider,
private readonly _logger: Logger,
private readonly _contributions: MarkdownContributions
private readonly _contributions: MarkdownContributionProvider
) {
this._disposables.push(vscode.window.registerWebviewPanelSerializer(MarkdownPreview.viewType, this));
}
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import { disposeAll } from '../util/dispose';
import { Disposable } from '../util/dispose';
import { isMarkdownFile } from '../util/file';
import { Lazy, lazy } from '../util/lazy';
import MDDocumentSymbolProvider from './documentSymbolProvider';
@@ -18,25 +18,13 @@ export interface WorkspaceMarkdownDocumentProvider {
readonly onDidDeleteMarkdownDocument: vscode.Event<vscode.Uri>;
}
class VSCodeWorkspaceMarkdownDocumentProvider implements WorkspaceMarkdownDocumentProvider {
class VSCodeWorkspaceMarkdownDocumentProvider extends Disposable implements WorkspaceMarkdownDocumentProvider {
private readonly _onDidChangeMarkdownDocumentEmitter = new vscode.EventEmitter<SkinnyTextDocument>();
private readonly _onDidCreateMarkdownDocumentEmitter = new vscode.EventEmitter<SkinnyTextDocument>();
private readonly _onDidDeleteMarkdownDocumentEmitter = new vscode.EventEmitter<vscode.Uri>();
private readonly _onDidChangeMarkdownDocumentEmitter = this._register(new vscode.EventEmitter<SkinnyTextDocument>());
private readonly _onDidCreateMarkdownDocumentEmitter = this._register(new vscode.EventEmitter<SkinnyTextDocument>());
private readonly _onDidDeleteMarkdownDocumentEmitter = this._register(new vscode.EventEmitter<vscode.Uri>());
private _watcher: vscode.FileSystemWatcher | undefined;
private _disposables: vscode.Disposable[] = [];
public dispose() {
this._onDidChangeMarkdownDocumentEmitter.dispose();
this._onDidDeleteMarkdownDocumentEmitter.dispose();
if (this._watcher) {
this._watcher.dispose();
}
disposeAll(this._disposables);
}
async getAllMarkdownDocuments() {
const resources = await vscode.workspace.findFiles('**/*.md', '**/node_modules/**');
@@ -64,7 +52,7 @@ class VSCodeWorkspaceMarkdownDocumentProvider implements WorkspaceMarkdownDocume
return;
}
this._watcher = vscode.workspace.createFileSystemWatcher('**/*.md');
this._watcher = this._register(vscode.workspace.createFileSystemWatcher('**/*.md'));
this._watcher.onDidChange(async resource => {
const document = await this.getMarkdownDocument(resource);
@@ -98,15 +86,16 @@ class VSCodeWorkspaceMarkdownDocumentProvider implements WorkspaceMarkdownDocume
}
export default class MarkdownWorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider {
export default class MarkdownWorkspaceSymbolProvider extends Disposable implements vscode.WorkspaceSymbolProvider {
private _symbolCache = new Map<string, Lazy<Thenable<vscode.SymbolInformation[]>>>();
private _symbolCachePopulated: boolean = false;
private _disposables: vscode.Disposable[] = [];
public constructor(
private _symbolProvider: MDDocumentSymbolProvider,
private _workspaceMarkdownDocumentProvider: WorkspaceMarkdownDocumentProvider = new VSCodeWorkspaceMarkdownDocumentProvider()
) { }
) {
super();
}
public async provideWorkspaceSymbols(query: string): Promise<vscode.SymbolInformation[]> {
if (!this._symbolCachePopulated) {
@@ -130,10 +119,6 @@ export default class MarkdownWorkspaceSymbolProvider implements vscode.Workspace
}
}
public dispose(): void {
disposeAll(this._disposables);
}
private getSymbols(document: SkinnyTextDocument): Lazy<Thenable<vscode.SymbolInformation[]>> {
return lazy(async () => {
return this._symbolProvider.provideDocumentSymbolInformation(document);
@@ -7,7 +7,7 @@ import * as crypto from 'crypto';
import { MarkdownIt, Token } from 'markdown-it';
import * as path from 'path';
import * as vscode from 'vscode';
import { MarkdownContributions } from './markdownExtensions';
import { MarkdownContributionProvider as MarkdownContributionProvider } from './markdownExtensions';
import { Slugifier } from './slugify';
import { SkinnyTextDocument } from './tableOfContentsProvider';
import { getUriForLinkWithKnownExternalScheme } from './util/links';
@@ -57,16 +57,21 @@ export class MarkdownEngine {
private _tokenCache = new TokenCache();
public constructor(
private readonly extensionPreviewResourceProvider: MarkdownContributions,
private readonly contributionProvider: MarkdownContributionProvider,
private readonly slugifier: Slugifier,
) { }
) {
contributionProvider.onContributionsChanged(() => {
// Markdown plugin contributions may have changed
this.md = undefined;
});
}
private async getEngine(config: MarkdownItConfig): Promise<MarkdownIt> {
if (!this.md) {
this.md = import('markdown-it').then(async markdownIt => {
let md: MarkdownIt = markdownIt(await getMarkdownOptions(() => md));
for (const plugin of this.extensionPreviewResourceProvider.markdownItPlugins) {
for (const plugin of this.contributionProvider.contributions.markdownItPlugins.values()) {
try {
md = (await plugin)(md);
} catch {
@@ -5,13 +5,15 @@
import * as vscode from 'vscode';
import * as path from 'path';
import { Disposable } from './util/dispose';
import * as arrays from './util/arrays';
const resolveExtensionResource = (extension: vscode.Extension<any>, resourcePath: string): vscode.Uri => {
return vscode.Uri.file(path.join(extension.extensionPath, resourcePath))
.with({ scheme: 'vscode-resource' });
};
const resolveExtensionResources = (extension: vscode.Extension<any>, resourcePaths: any): vscode.Uri[] => {
const resolveExtensionResources = (extension: vscode.Extension<any>, resourcePaths: unknown): vscode.Uri[] => {
const result: vscode.Uri[] = [];
if (Array.isArray(resourcePaths)) {
for (const resource of resourcePaths) {
@@ -26,96 +28,135 @@ const resolveExtensionResources = (extension: vscode.Extension<any>, resourcePat
};
export interface MarkdownContributions {
readonly extensionPath: string;
readonly previewScripts: vscode.Uri[];
readonly previewStyles: vscode.Uri[];
readonly markdownItPlugins: Thenable<(md: any) => any>[];
readonly previewResourceRoots: vscode.Uri[];
readonly previewScripts: ReadonlyArray<vscode.Uri>;
readonly previewStyles: ReadonlyArray<vscode.Uri>;
readonly previewResourceRoots: ReadonlyArray<vscode.Uri>;
readonly markdownItPlugins: Map<string, Thenable<(md: any) => any>>;
}
class MarkdownExtensionContributions implements MarkdownContributions {
private readonly _scripts: vscode.Uri[] = [];
private readonly _styles: vscode.Uri[] = [];
private readonly _previewResourceRoots: vscode.Uri[] = [];
private readonly _plugins: Thenable<(md: any) => any>[] = [];
export namespace MarkdownContributions {
export const Empty: MarkdownContributions = {
previewScripts: [],
previewStyles: [],
previewResourceRoots: [],
markdownItPlugins: new Map()
};
private _loaded = false;
public constructor(
public readonly extensionPath: string,
) { }
public get previewScripts(): vscode.Uri[] {
this.ensureLoaded();
return this._scripts;
export function merge(a: MarkdownContributions, b: MarkdownContributions): MarkdownContributions {
return {
previewScripts: [...a.previewScripts, ...b.previewScripts],
previewStyles: [...a.previewStyles, ...b.previewStyles],
previewResourceRoots: [...a.previewResourceRoots, ...b.previewResourceRoots],
markdownItPlugins: new Map([...a.markdownItPlugins.entries(), ...b.markdownItPlugins.entries()]),
};
}
public get previewStyles(): vscode.Uri[] {
this.ensureLoaded();
return this._styles;
function uriEqual(a: vscode.Uri, b: vscode.Uri): boolean {
return a.toString() === b.toString();
}
public get previewResourceRoots(): vscode.Uri[] {
this.ensureLoaded();
return this._previewResourceRoots;
export function equal(a: MarkdownContributions, b: MarkdownContributions): boolean {
return arrays.equals(a.previewScripts, b.previewScripts, uriEqual)
&& arrays.equals(a.previewStyles, b.previewStyles, uriEqual)
&& arrays.equals(a.previewResourceRoots, b.previewResourceRoots, uriEqual)
&& arrays.equals(Array.from(a.markdownItPlugins.keys()), Array.from(b.markdownItPlugins.keys()));
}
public get markdownItPlugins(): Thenable<(md: any) => any>[] {
this.ensureLoaded();
return this._plugins;
}
private ensureLoaded() {
if (this._loaded) {
return;
export function fromExtension(
extension: vscode.Extension<any>
): MarkdownContributions {
const contributions = extension.packageJSON && extension.packageJSON.contributes;
if (!contributions) {
return MarkdownContributions.Empty;
}
this._loaded = true;
for (const extension of vscode.extensions.all) {
const contributes = extension.packageJSON && extension.packageJSON.contributes;
if (!contributes) {
continue;
}
const previewStyles = getContributedStyles(contributions, extension);
const previewScripts = getContributedScripts(contributions, extension);
const previewResourceRoots = previewStyles.length || previewScripts.length ? [vscode.Uri.file(extension.extensionPath)] : [];
const markdownItPlugins = getContributedMarkdownItPlugins(contributions, extension);
this.tryLoadPreviewStyles(contributes, extension);
this.tryLoadPreviewScripts(contributes, extension);
this.tryLoadMarkdownItPlugins(contributes, extension);
if (contributes['markdown.previewScripts'] || contributes['markdown.previewStyles']) {
this._previewResourceRoots.push(vscode.Uri.file(extension.extensionPath));
}
}
return {
previewScripts,
previewStyles,
previewResourceRoots,
markdownItPlugins
};
}
private tryLoadMarkdownItPlugins(
function getContributedMarkdownItPlugins(
contributes: any,
extension: vscode.Extension<any>
) {
): Map<string, Thenable<(md: any) => any>> {
const map = new Map<string, Thenable<(md: any) => any>>();
if (contributes['markdown.markdownItPlugins']) {
this._plugins.push(extension.activate().then(() => {
map.set(extension.id, extension.activate().then(() => {
if (extension.exports && extension.exports.extendMarkdownIt) {
return (md: any) => extension.exports.extendMarkdownIt(md);
}
return (md: any) => md;
}));
}
return map;
}
private tryLoadPreviewScripts(
function getContributedScripts(
contributes: any,
extension: vscode.Extension<any>
) {
this._scripts.push(...resolveExtensionResources(extension, contributes['markdown.previewScripts']));
return resolveExtensionResources(extension, contributes['markdown.previewScripts']);
}
private tryLoadPreviewStyles(
function getContributedStyles(
contributes: any,
extension: vscode.Extension<any>
) {
this._styles.push(...resolveExtensionResources(extension, contributes['markdown.previewStyles']));
return resolveExtensionResources(extension, contributes['markdown.previewStyles']);
}
}
export function getMarkdownExtensionContributions(context: vscode.ExtensionContext): MarkdownContributions {
return new MarkdownExtensionContributions(context.extensionPath);
export interface MarkdownContributionProvider {
readonly extensionPath: string;
readonly contributions: MarkdownContributions;
readonly onContributionsChanged: vscode.Event<this>;
dispose(): void;
}
class VSCodeExtensionMarkdownContributionProvider extends Disposable implements MarkdownContributionProvider {
private _contributions?: MarkdownContributions;
public constructor(
public readonly extensionPath: string,
) {
super();
vscode.extensions.onDidChange(() => {
const currentContributions = this.getCurrentContributions();
const existingContributions = this._contributions || MarkdownContributions.Empty;
if (!MarkdownContributions.equal(existingContributions, currentContributions)) {
this._contributions = currentContributions;
this._onContributionsChanged.fire(this);
}
}, undefined, this._disposables);
}
private readonly _onContributionsChanged = this._register(new vscode.EventEmitter<this>());
public readonly onContributionsChanged = this._onContributionsChanged.event;
public get contributions(): MarkdownContributions {
if (!this._contributions) {
this._contributions = this.getCurrentContributions();
}
return this._contributions;
}
private getCurrentContributions(): MarkdownContributions {
return vscode.extensions.all
.map(MarkdownContributions.fromExtension)
.reduce(MarkdownContributions.merge, MarkdownContributions.Empty);
}
}
export function getMarkdownExtensionContributions(context: vscode.ExtensionContext): MarkdownContributionProvider {
return new VSCodeExtensionMarkdownContributionProvider(context.extensionPath);
}
@@ -5,15 +5,14 @@
import * as vscode from 'vscode';
import { MarkdownEngine } from '../markdownEngine';
import { MarkdownContributions } from '../markdownExtensions';
import { MarkdownContributionProvider, MarkdownContributions } from '../markdownExtensions';
import { githubSlugifier } from '../slugify';
import { Disposable } from '../util/dispose';
const emptyContributions = new class implements MarkdownContributions {
const emptyContributions = new class extends Disposable implements MarkdownContributionProvider {
readonly extensionPath = '';
readonly previewScripts: vscode.Uri[] = [];
readonly previewStyles: vscode.Uri[] = [];
readonly previewResourceRoots: vscode.Uri[] = [];
readonly markdownItPlugins: Promise<(md: any) => any>[] = [];
readonly contributions = MarkdownContributions.Empty;
readonly onContributionsChanged = this._register(new vscode.EventEmitter<this>()).event;
};
export function createNewMarkdownEngine(): MarkdownEngine {
@@ -3,13 +3,16 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
export function equals<T>(one: ReadonlyArray<T>, other: ReadonlyArray<T>, itemEquals: (a: T, b: T) => boolean = (a, b) => a === b): boolean {
if (one.length !== other.length) {
return false;
}
const gulp = require('gulp');
const mocha = require('gulp-mocha');
for (let i = 0, len = one.length; i < len; i++) {
if (!itemEquals(one[i], other[i])) {
return false;
}
}
gulp.task('test', function () {
return gulp.src('test/all.js')
.pipe(mocha({ ui: 'tdd', delay: true }))
.once('end', function () { process.exit(); });
});
return true;
}
@@ -14,3 +14,29 @@ export function disposeAll(disposables: vscode.Disposable[]) {
}
}
export abstract class Disposable {
private _isDisposed = false;
protected _disposables: vscode.Disposable[] = [];
public dispose(): any {
if (this._isDisposed) {
return;
}
this._isDisposed = true;
disposeAll(this._disposables);
}
protected _register<T extends vscode.Disposable>(value: T): T {
if (this._isDisposed) {
value.dispose();
} else {
this._disposables.push(value);
}
return value;
}
protected get isDisposed() {
return this._isDisposed;
}
}
@@ -29,10 +29,10 @@
resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-0.0.2.tgz#5d9ad19e6e6508cdd2f2596df86fd0aade598660"
integrity sha1-XZrRnm5lCM3S8llt+G/Qqt5ZhmA=
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
abbrev@1:
version "1.1.1"
@@ -6010,10 +6010,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
typescript@^2.7.2:
version "2.7.2"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.7.2.tgz#2d615a1ef4aee4f574425cdff7026edf81919836"
integrity sha512-p5TCYZDAO0m4G344hD+wx/LATebLWZNkkh2asWUFqSsD2OrDNhbAHuSjobrmsUmdzjJjEeZVU9g1h3O6vpstnw==
typescript@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.1.tgz#6de14e1db4b8a006ac535e482c8ba018c55f750b"
integrity sha512-cTmIDFW7O0IHbn1DPYjkiebHxwtCMU+eTy30ZtJNBPF9j2O1ITu5XH2YnBeVRKWHqF+3JQwWJv0Q0aUgX8W7IA==
uc.micro@^1.0.1:
version "1.0.3"
+1 -1
View File
@@ -24,7 +24,7 @@
},
"devDependencies": {
"@types/minimatch": "^3.0.3",
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
},
"main": "./out/main",
"activationEvents": [
+4 -4
View File
@@ -7,10 +7,10 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
agent-base@4, agent-base@^4.1.0:
version "4.2.0"
@@ -80,6 +80,6 @@
"vscode-nls": "^4.0.0"
},
"devDependencies": {
"@types/node": "^8.10.25"
"@types/node": "^10.12.21"
}
}
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
vscode-nls@^4.0.0:
version "4.0.0"
+2 -2
View File
@@ -6,11 +6,11 @@
"git": {
"name": "language-php",
"repositoryUrl": "https://github.com/atom/language-php",
"commitHash": "b6c5e83016b52311cdc622c2579462861ee91587"
"commitHash": "b896ebfb6f669b8714f419527f047466420efe5c"
}
},
"license": "MIT",
"version": "0.44.0"
"version": "0.44.1"
}
],
"version": 1
+1 -1
View File
@@ -6,7 +6,7 @@
"git": {
"name": "atom/language-sass",
"repositoryUrl": "https://github.com/atom/language-sass",
"commitHash": "804a935ea1d50504e14a7f602e2bb133fee8450c"
"commitHash": "303bbf0c250fe380b9e57375598cfd916110758b"
}
},
"license": "MIT",
+1 -1
View File
@@ -6,7 +6,7 @@
"git": {
"name": "Microsoft/vscode-mssql",
"repositoryUrl": "https://github.com/Microsoft/vscode-mssql",
"commitHash": "3aa44d04b04d219ad5fa8f411ca9dd32294a7a06"
"commitHash": "cd754662e5607c62ecdc51d2a2dc844546a0bbb6"
}
},
"license": "MIT",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -49,7 +49,7 @@
},
"devDependencies": {
"@types/mocha": "2.2.43",
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"mocha-junit-reporter": "^1.17.0",
"mocha-multi-reporters": "^1.1.7",
"typescript": "^1.6.2",
+4 -4
View File
@@ -7,10 +7,10 @@
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.43.tgz#03c54589c43ad048cbcbfd63999b55d0424eec27"
integrity sha512-xNlAmH+lRJdUMXClMTI9Y0pRqIojdxfm7DHsIxoB2iTzu3fnPmSMEN8SsSx0cdwV36d02PWCWaDUoZPDSln+xw==
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
ajv@^5.1.0:
version "5.3.0"
@@ -12,7 +12,7 @@
"postinstall": "node ./node_modules/vscode/bin/install"
},
"devDependencies": {
"@types/node": "^8.10.25",
"@types/node": "^10.12.21",
"mocha-junit-reporter": "^1.17.0",
"mocha-multi-reporters": "^1.1.7",
"vscode": "1.1.5"
+4 -4
View File
@@ -2,10 +2,10 @@
# yarn lockfile v1
"@types/node@^8.10.25":
version "8.10.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.25.tgz#801fe4e39372cef18f268db880a5fbfcf71adc7e"
integrity sha512-WXvAXaknB0c2cJ7N44e1kUrVu5K90mSfPPaT5XxfuSMxEWva86EYIwxUZM3jNZ2P1CIC9e2z4WJqpAF69PQxeA==
"@types/node@^10.12.21":
version "10.12.21"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e"
integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ==
ajv@^5.1.0:
version "5.3.0"
+16 -6
View File
@@ -12,17 +12,27 @@ const gulp = require('gulp');
const util = require('./build/lib/util');
const path = require('path');
const compilation = require('./build/lib/compilation');
const { monacoTypecheckTask/* , monacoTypecheckWatchTask */ } = require('./build/gulpfile.editor');
const { compileExtensionsTask, watchExtensionsTask } = require('./build/gulpfile.extensions');
// Fast compile for development time
gulp.task('compile-client', util.task.series(util.rimraf('out'), compilation.compileTask('src', 'out', false)));
gulp.task('watch-client', util.task.series(util.rimraf('out'), compilation.watchTask('out', false)));
const compileClientTask = util.task.series(util.rimraf('out'), compilation.compileTask('src', 'out', false));
compileClientTask.displayName = 'compile-client';
gulp.task(compileClientTask.displayName, compileClientTask);
// Default
gulp.task('default', ['compile']);
const watchClientTask = util.task.series(util.rimraf('out'), compilation.watchTask('out', false));
watchClientTask.displayName = 'watch-client';
gulp.task(watchClientTask.displayName, watchClientTask);
// All
gulp.task('compile', ['monaco-typecheck', 'compile-client', 'compile-extensions']);
gulp.task('watch', [/* 'monaco-typecheck-watch', */ 'watch-client', 'watch-extensions']);
const compileTask = util.task.parallel(monacoTypecheckTask, compileClientTask, compileExtensionsTask);
compileTask.displayName = 'compile';
gulp.task(compileTask.displayName, compileTask);
gulp.task('watch', util.task.parallel(/* monacoTypecheckWatchTask, */ watchClientTask, watchExtensionsTask));
// Default
gulp.task('default', compileTask);
process.on('unhandledRejection', (reason, p) => {
console.log('Unhandled Rejection at: Promise', p, 'reason:', reason);
+20 -20
View File
@@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
"version": "1.32.0",
"distro": "d274a23e463c080a0a3ba6278d43431d187e05f5",
"distro": "310c6547347fcd3b799dc67e048b7e010339211f",
"author": {
"name": "Microsoft Corporation"
},
@@ -68,6 +68,7 @@
"@types/sinon": "^1.16.36",
"@types/webpack": "^4.4.10",
"@types/winreg": "^1.2.30",
"ansi-colors": "^3.2.3",
"asar": "^0.14.0",
"chromium-pickle-js": "^0.2.0",
"clean-css": "3.4.6",
@@ -80,27 +81,26 @@
"eslint": "^3.4.0",
"event-stream": "3.3.4",
"express": "^4.13.1",
"fancy-log": "^1.3.3",
"glob": "^5.0.13",
"gulp": "^3.8.9",
"gulp-atom-electron": "^1.19.2",
"gulp-azure-storage": "^0.8.2",
"gulp": "^4.0.0",
"gulp-atom-electron": "^1.20.0",
"gulp-azure-storage": "^0.10.0",
"gulp-buffer": "0.0.2",
"gulp-concat": "^2.6.0",
"gulp-cssnano": "^2.1.0",
"gulp-eslint": "^3.0.1",
"gulp-filter": "^3.0.0",
"gulp-flatmap": "^1.0.0",
"gulp-json-editor": "^2.2.1",
"gulp-mocha": "^2.1.3",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.3",
"gulp-eslint": "^5.0.0",
"gulp-filter": "^5.1.0",
"gulp-flatmap": "^1.0.2",
"gulp-json-editor": "^2.5.0",
"gulp-plumber": "^1.2.0",
"gulp-remote-src": "^0.4.4",
"gulp-rename": "^1.2.0",
"gulp-replace": "^0.5.4",
"gulp-shell": "^0.5.2",
"gulp-tsb": "2.0.5",
"gulp-tslint": "^8.1.2",
"gulp-shell": "^0.6.5",
"gulp-tsb": "2.0.6",
"gulp-tslint": "^8.1.3",
"gulp-uglify": "^3.0.0",
"gulp-util": "^3.0.6",
"gulp-vinyl-zip": "^2.1.2",
"husky": "^0.13.1",
"innosetup-compiler": "^5.5.60",
@@ -119,7 +119,7 @@
"pump": "^1.0.1",
"queue": "3.0.6",
"rcedit": "^1.1.0",
"remap-istanbul": "^0.6.4",
"remap-istanbul": "^0.13.0",
"rimraf": "^2.2.8",
"sinon": "^1.17.2",
"source-map": "^0.4.4",
@@ -130,10 +130,10 @@
"typescript-tslint-plugin": "^0.0.7",
"uglify-es": "^3.0.18",
"underscore": "^1.8.2",
"vinyl": "^0.4.5",
"vinyl-fs": "^2.4.3",
"vinyl": "^2.0.0",
"vinyl-fs": "^3.0.0",
"vsce": "1.48.0",
"vscode-nls-dev": "3.2.2",
"vscode-nls-dev": "3.2.4",
"webpack": "^4.16.5",
"webpack-cli": "^3.1.0",
"webpack-stream": "^5.1.1"
@@ -150,4 +150,4 @@
"windows-mutex": "0.2.1",
"windows-process-tree": "0.2.3"
}
}
}
+2 -2
View File
@@ -151,7 +151,7 @@ function onReady() {
function configureCommandlineSwitches(cliArgs, nodeCachedDataDir) {
// Force pre-Chrome-60 color profile handling (for https://github.com/Microsoft/vscode/issues/51791)
app.commandLine.appendSwitch('disable-features', 'ColorCorrectRendering');
app.commandLine.appendSwitch('disable-color-correct-rendering');
// Support JS Flags
const jsFlags = resolveJSFlags(cliArgs, nodeCachedDataDir.jsFlags());
@@ -305,7 +305,7 @@ function getNodeCachedDir() {
* @returns {string}
*/
function stripComments(content) {
const regexp = /("(?:[^\\\"]*(?:\\.)?)*")|('(?:[^\\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;
const regexp = /("(?:[^\\"]*(?:\\.)?)*")|('(?:[^\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;
return content.replace(regexp, function (match, m1, m2, m3, m4) {
// Only one of m1, m2, m3, m4 matches
+202 -249
View File
@@ -7,6 +7,7 @@
"include": [
"./typings",
"./vs/base/**/*.ts",
"./vs/code/**/*.ts",
"./vs/editor/browser/**/*.ts",
"./vs/editor/common/**/*.ts",
"./vs/editor/contrib/codeAction/**/*.ts",
@@ -16,36 +17,21 @@
"./vs/editor/contrib/smartSelect/**/*.ts",
"./vs/editor/contrib/snippet/**/*.ts",
"./vs/editor/contrib/suggest/**/*.ts",
"./vs/editor/test/**/*.ts"
"./vs/editor/contrib/documentSymbols/**/*.ts",
"./vs/editor/test/**/*.ts",
"./vs/workbench/browser/parts/notifications/**/*",
"./vs/workbench/browser/parts/quickinput/**/*",
"./vs/workbench/electron-browser/actions/**/*",
"./vs/workbench/contrib/emmet/**/*",
"./vs/workbench/contrib/execution/**/*",
"./vs/workbench/contrib/snippets/**/*.ts",
"./vs/workbench/contrib/welcome/**/*.ts",
"./vs/workbench/services/commands/**/*",
"./vs/workbench/services/files/node/watcher/**/*",
"./vs/workbench/services/issue/**/*",
"./vs/workbench/services/themes/**/*.ts"
],
"files": [
"./vs/code/code.main.ts",
"./vs/code/electron-browser/issue/issueReporterMain.ts",
"./vs/code/electron-browser/issue/issueReporterModel.ts",
"./vs/code/electron-browser/issue/issueReporterPage.ts",
"./vs/code/electron-browser/issue/issueReporterUtil.ts",
"./vs/code/electron-browser/issue/test/testReporterModel.test.ts",
"./vs/code/electron-browser/processExplorer/processExplorerMain.ts",
"./vs/code/electron-browser/sharedProcess/contrib/contributions.ts",
"./vs/code/electron-browser/sharedProcess/contrib/languagePackCachedDataCleaner.ts",
"./vs/code/electron-browser/sharedProcess/contrib/logsDataCleaner.ts",
"./vs/code/electron-browser/sharedProcess/contrib/nodeCachedDataCleaner.ts",
"./vs/code/electron-browser/sharedProcess/contrib/storageDataCleaner.ts",
"./vs/code/electron-browser/sharedProcess/sharedProcessMain.ts",
"./vs/code/electron-main/auth.ts",
"./vs/code/electron-main/keyboard.ts",
"./vs/code/electron-main/logUploader.ts",
"./vs/code/electron-main/sharedProcess.ts",
"./vs/code/electron-main/theme.ts",
"./vs/code/electron-main/window.ts",
"./vs/code/node/cli.ts",
"./vs/code/node/cliProcessMain.ts",
"./vs/code/node/paths.ts",
"./vs/code/node/shellEnv.ts",
"./vs/code/node/wait.ts",
"./vs/code/node/windowsFinder.ts",
"./vs/code/test/node/argv.test.ts",
"./vs/code/test/node/windowsFinder.test.ts",
"./vs/editor/contrib/bracketMatching/bracketMatching.ts",
"./vs/editor/contrib/bracketMatching/test/bracketMatching.test.ts",
"./vs/editor/contrib/caretOperations/caretOperations.ts",
@@ -69,7 +55,6 @@
"./vs/editor/contrib/cursorUndo/cursorUndo.ts",
"./vs/editor/contrib/dnd/dnd.ts",
"./vs/editor/contrib/dnd/dragAndDropCommand.ts",
"./vs/editor/contrib/documentSymbols/outlineModel.ts",
"./vs/editor/contrib/find/findController.ts",
"./vs/editor/contrib/find/findDecorations.ts",
"./vs/editor/contrib/find/findModel.ts",
@@ -155,6 +140,7 @@
"./vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.ts",
"./vs/editor/standalone/browser/inspectTokens/inspectTokens.ts",
"./vs/editor/standalone/browser/quickOpen/editorQuickOpen.ts",
"./vs/editor/standalone/browser/quickOpen/gotoLine.ts",
"./vs/editor/standalone/browser/quickOpen/quickCommand.ts",
"./vs/editor/standalone/browser/quickOpen/quickOpenEditorWidget.ts",
"./vs/editor/standalone/browser/quickOpen/quickOutline.ts",
@@ -412,9 +398,35 @@
"./vs/vscode.proposed.d.ts",
"./vs/workbench/api/common/configurationExtensionPoint.ts",
"./vs/workbench/api/common/menusExtensionPoint.ts",
"./vs/workbench/api/electron-browser/extHostCustomers.ts",
"./vs/workbench/api/electron-browser/mainThreadClipboard.ts",
"./vs/workbench/api/electron-browser/mainThreadCommands.ts",
"./vs/workbench/api/electron-browser/mainThreadDiagnostics.ts",
"./vs/workbench/api/electron-browser/mainThreadErrors.ts",
"./vs/workbench/api/electron-browser/mainThreadFileSystem.ts",
"./vs/workbench/api/electron-browser/mainThreadFileSystemEventService.ts",
"./vs/workbench/api/electron-browser/mainThreadLanguages.ts",
"./vs/workbench/api/electron-browser/mainThreadLogService.ts",
"./vs/workbench/api/electron-browser/mainThreadProgress.ts",
"./vs/workbench/api/electron-browser/mainThreadStatusBar.ts",
"./vs/workbench/api/electron-browser/mainThreadStorage.ts",
"./vs/workbench/api/electron-browser/mainThreadTelemetry.ts",
"./vs/workbench/api/electron-browser/mainThreadUrls.ts",
"./vs/workbench/api/electron-browser/mainThreadWindow.ts",
"./vs/workbench/api/electron-browser/mainThreadWorkspace.ts",
"./vs/workbench/api/node/extHost.protocol.ts",
"./vs/workbench/api/node/extHostClipboard.ts",
"./vs/workbench/api/node/extHostDialogs.ts",
"./vs/workbench/api/node/extHostExtensionActivator.ts",
"./vs/workbench/api/node/extHostHeapService.ts",
"./vs/workbench/api/node/extHostLogService.ts",
"./vs/workbench/api/node/extHostMessageService.ts",
"./vs/workbench/api/node/extHostOutputService.ts",
"./vs/workbench/api/node/extHostSearch.fileIndex.ts",
"./vs/workbench/api/node/extHostStorage.ts",
"./vs/workbench/api/node/extHostTypes.ts",
"./vs/workbench/api/node/extHostUrls.ts",
"./vs/workbench/api/node/extHostWindow.ts",
"./vs/workbench/api/shared/editor.ts",
"./vs/workbench/api/shared/tasks.ts",
"./vs/workbench/browser/actions.ts",
@@ -434,19 +446,12 @@
"./vs/workbench/browser/parts/editor/breadcrumbsModel.ts",
"./vs/workbench/browser/parts/editor/editor.ts",
"./vs/workbench/browser/parts/editor/editorControl.ts",
"./vs/workbench/browser/parts/editor/editorPicker.ts",
"./vs/workbench/browser/parts/editor/editorWidgets.ts",
"./vs/workbench/browser/parts/editor/rangeDecorations.ts",
"./vs/workbench/browser/parts/editor/resourceViewer.ts",
"./vs/workbench/browser/parts/editor/sideBySideEditor.ts",
"./vs/workbench/browser/parts/editor/textEditor.ts",
"./vs/workbench/browser/parts/notifications/notificationsActions.ts",
"./vs/workbench/browser/parts/notifications/notificationsAlerts.ts",
"./vs/workbench/browser/parts/notifications/notificationsCenter.ts",
"./vs/workbench/browser/parts/notifications/notificationsCommands.ts",
"./vs/workbench/browser/parts/notifications/notificationsList.ts",
"./vs/workbench/browser/parts/notifications/notificationsStatus.ts",
"./vs/workbench/browser/parts/notifications/notificationsToasts.ts",
"./vs/workbench/browser/parts/notifications/notificationsViewer.ts",
"./vs/workbench/browser/parts/quickinput/quickInputBox.ts",
"./vs/workbench/browser/parts/quickinput/quickInputList.ts",
"./vs/workbench/browser/parts/quickinput/quickInputUtils.ts",
@@ -457,6 +462,7 @@
"./vs/workbench/browser/parts/views/panelViewlet.ts",
"./vs/workbench/browser/parts/views/views.ts",
"./vs/workbench/browser/parts/views/viewsViewlet.ts",
"./vs/workbench/browser/quickopen.ts",
"./vs/workbench/browser/viewlet.ts",
"./vs/workbench/browser/workbench.contribution.ts",
"./vs/workbench/common/actions.ts",
@@ -469,7 +475,6 @@
"./vs/workbench/common/editor/dataUriEditorInput.ts",
"./vs/workbench/common/editor/diffEditorModel.ts",
"./vs/workbench/common/editor/editorGroup.ts",
"./vs/workbench/common/extensionHostProtocol.ts",
"./vs/workbench/common/memento.ts",
"./vs/workbench/common/notifications.ts",
"./vs/workbench/common/panel.ts",
@@ -477,191 +482,163 @@
"./vs/workbench/common/theme.ts",
"./vs/workbench/common/viewlet.ts",
"./vs/workbench/common/views.ts",
"./vs/workbench/electron-browser/actions/developerActions",
"./vs/workbench/electron-browser/actions/developerActions.ts",
"./vs/workbench/electron-browser/actions/helpActions",
"./vs/workbench/electron-browser/actions/helpActions.ts",
"./vs/workbench/electron-browser/actions/windowActions",
"./vs/workbench/electron-browser/actions/windowActions.ts",
"./vs/workbench/electron-browser/resources.ts",
"./vs/workbench/electron-browser/window.ts",
"./vs/workbench/parts/backup/common/backupRestorer.ts",
"./vs/workbench/parts/cli/electron-browser/cli.contribution.ts",
"./vs/workbench/parts/codeEditor/browser/menuPreventer.ts",
"./vs/workbench/parts/codeEditor/browser/simpleEditorOptions.ts",
"./vs/workbench/parts/codeEditor/electron-browser/accessibility.ts",
"./vs/workbench/parts/codeEditor/electron-browser/inspectKeybindings.ts",
"./vs/workbench/parts/codeEditor/electron-browser/languageConfiguration/languageConfigurationExtensionPoint.ts",
"./vs/workbench/parts/codeEditor/electron-browser/largeFileOptimizations.ts",
"./vs/workbench/parts/codeEditor/electron-browser/selectionClipboard.ts",
"./vs/workbench/parts/codeEditor/electron-browser/simpleEditorOptions.ts",
"./vs/workbench/parts/codeEditor/electron-browser/sleepResumeRepaintMinimap.ts",
"./vs/workbench/parts/codeEditor/electron-browser/suggestEnabledInput.ts",
"./vs/workbench/parts/codeEditor/electron-browser/textMate/inspectTMScopes.ts",
"./vs/workbench/parts/codeEditor/electron-browser/toggleMinimap.ts",
"./vs/workbench/parts/codeEditor/electron-browser/toggleMultiCursorModifier.ts",
"./vs/workbench/parts/codeEditor/electron-browser/toggleRenderControlCharacter.ts",
"./vs/workbench/parts/codeEditor/electron-browser/toggleRenderWhitespace.ts",
"./vs/workbench/parts/codeEditor/electron-browser/toggleWordWrap.ts",
"./vs/workbench/parts/comments/common/commentModel.ts",
"./vs/workbench/parts/comments/electron-browser/commentGlyphWidget.ts",
"./vs/workbench/parts/comments/electron-browser/simpleCommentEditor.ts",
"./vs/workbench/parts/debug/browser/debugANSIHandling.ts",
"./vs/workbench/parts/debug/browser/linkDetector.ts",
"./vs/workbench/parts/debug/node/telemetryApp.ts",
"./vs/workbench/parts/emmet/browser/actions/showEmmetCommands.ts",
"./vs/workbench/parts/emmet/browser/emmet.browser.contribution.ts",
"./vs/workbench/parts/emmet/electron-browser/actions/expandAbbreviation.ts",
"./vs/workbench/parts/emmet/electron-browser/emmet.contribution.ts",
"./vs/workbench/parts/emmet/electron-browser/emmetActions.ts",
"./vs/workbench/parts/emmet/test/electron-browser/emmetAction.test.ts",
"./vs/workbench/parts/execution/common/execution.ts",
"./vs/workbench/parts/execution/electron-browser/execution.contribution.ts",
"./vs/workbench/parts/execution/electron-browser/terminal.ts",
"./vs/workbench/parts/execution/electron-browser/terminalService.ts",
"./vs/workbench/parts/execution/test/electron-browser/terminalService.test.ts",
"./vs/workbench/parts/experiments/electron-browser/experimentalPrompt.ts",
"./vs/workbench/parts/experiments/electron-browser/experiments.contribution.ts",
"./vs/workbench/parts/experiments/node/experimentService.ts",
"./vs/workbench/parts/extensions/browser/extensionsViewer.ts",
"./vs/workbench/parts/extensions/common/extensionQuery.ts",
"./vs/workbench/parts/extensions/common/extensions.ts",
"./vs/workbench/parts/extensions/common/extensionsFileTemplate.ts",
"./vs/workbench/parts/extensions/common/extensionsInput.ts",
"./vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts",
"./vs/workbench/parts/extensions/electron-browser/extensionsActions.ts",
"./vs/workbench/parts/extensions/electron-browser/extensionsActivationProgress.ts",
"./vs/workbench/parts/extensions/electron-browser/extensionsUtils.ts",
"./vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts",
"./vs/workbench/parts/extensions/test/common/extensionQuery.test.ts",
"./vs/workbench/parts/feedback/electron-browser/feedback.contribution.ts",
"./vs/workbench/parts/feedback/electron-browser/feedback.ts",
"./vs/workbench/parts/feedback/electron-browser/feedbackStatusbarItem.ts",
"./vs/workbench/parts/files/browser/files.ts",
"./vs/workbench/parts/files/common/explorerModel.ts",
"./vs/workbench/parts/files/common/files.ts",
"./vs/workbench/parts/files/electron-browser/explorerService.ts",
"./vs/workbench/parts/files/electron-browser/views/explorerDecorationsProvider.ts",
"./vs/workbench/parts/localizations/electron-browser/localizations.contribution.ts",
"./vs/workbench/parts/localizations/electron-browser/localizationsActions.ts",
"./vs/workbench/parts/logs/common/logConstants.ts",
"./vs/workbench/parts/logs/electron-browser/logs.contribution.ts",
"./vs/workbench/parts/logs/electron-browser/logsActions.ts",
"./vs/workbench/parts/markers/electron-browser/constants.ts",
"./vs/workbench/parts/markers/electron-browser/markers.ts",
"./vs/workbench/parts/markers/electron-browser/markersFileDecorations.ts",
"./vs/workbench/parts/markers/electron-browser/markersFilterOptions.ts",
"./vs/workbench/parts/markers/electron-browser/markersModel.ts",
"./vs/workbench/parts/markers/electron-browser/markersPanelActions.ts",
"./vs/workbench/parts/markers/electron-browser/messages.ts",
"./vs/workbench/parts/markers/test/electron-browser/markersModel.test.ts",
"./vs/workbench/parts/outline/electron-browser/outline.ts",
"./vs/workbench/parts/output/common/output.ts",
"./vs/workbench/parts/output/common/outputLinkComputer.ts",
"./vs/workbench/parts/output/common/outputLinkProvider.ts",
"./vs/workbench/parts/performance/electron-browser/startupTimings.ts",
"./vs/workbench/parts/preferences/browser/settingsWidgets.ts",
"./vs/workbench/parts/preferences/common/smartSnippetInserter.ts",
"./vs/workbench/parts/preferences/test/common/smartSnippetInserter.test.ts",
"./vs/workbench/parts/relauncher/electron-browser/relauncher.contribution.ts",
"./vs/workbench/parts/scm/common/scm.ts",
"./vs/workbench/parts/scm/electron-browser/dirtydiffDecorator.ts",
"./vs/workbench/parts/scm/electron-browser/scmActivity.ts",
"./vs/workbench/parts/scm/electron-browser/scmMenus.ts",
"./vs/workbench/parts/scm/electron-browser/scmUtil.ts",
"./vs/workbench/parts/search/browser/patternInputWidget.ts",
"./vs/workbench/parts/search/browser/replaceContributions.ts",
"./vs/workbench/parts/search/browser/replaceService.ts",
"./vs/workbench/parts/search/common/constants.ts",
"./vs/workbench/parts/search/common/queryBuilder.ts",
"./vs/workbench/parts/search/common/replace.ts",
"./vs/workbench/parts/search/common/search.ts",
"./vs/workbench/parts/search/common/searchModel.ts",
"./vs/workbench/parts/search/test/browser/mockSearchTree.ts",
"./vs/workbench/parts/search/test/common/searchModel.test.ts",
"./vs/workbench/parts/search/test/common/searchResult.test.ts",
"./vs/workbench/parts/snippets/electron-browser/configureSnippets.ts",
"./vs/workbench/parts/snippets/electron-browser/insertSnippet.ts",
"./vs/workbench/parts/snippets/electron-browser/snippetCompletionProvider.ts",
"./vs/workbench/parts/snippets/electron-browser/snippets.contribution.ts",
"./vs/workbench/parts/snippets/electron-browser/snippetsFile.ts",
"./vs/workbench/parts/snippets/electron-browser/snippetsService.ts",
"./vs/workbench/parts/snippets/electron-browser/tabCompletion.ts",
"./vs/workbench/parts/snippets/test/electron-browser/snippetFile.test.ts",
"./vs/workbench/parts/snippets/test/electron-browser/snippetsRegistry.test.ts",
"./vs/workbench/parts/snippets/test/electron-browser/snippetsRewrite.test.ts",
"./vs/workbench/parts/snippets/test/electron-browser/snippetsService.test.ts",
"./vs/workbench/parts/splash/electron-browser/partsSplash.contribution.ts",
"./vs/workbench/parts/stats/node/stats.contribution.ts",
"./vs/workbench/parts/stats/node/workspaceStats.ts",
"./vs/workbench/parts/stats/test/workspaceStats.test.ts",
"./vs/workbench/parts/surveys/electron-browser/languageSurveys.contribution.ts",
"./vs/workbench/parts/surveys/electron-browser/nps.contribution.ts",
"./vs/workbench/parts/tasks/common/problemCollectors.ts",
"./vs/workbench/parts/tasks/common/problemMatcher.ts",
"./vs/workbench/parts/tasks/common/taskDefinitionRegistry.ts",
"./vs/workbench/parts/tasks/common/taskService.ts",
"./vs/workbench/parts/tasks/common/taskSystem.ts",
"./vs/workbench/parts/tasks/common/taskTemplates.ts",
"./vs/workbench/parts/tasks/common/tasks.ts",
"./vs/workbench/parts/tasks/electron-browser/jsonSchemaCommon.ts",
"./vs/workbench/parts/tasks/electron-browser/jsonSchema_v1.ts",
"./vs/workbench/parts/tasks/electron-browser/jsonSchema_v2.ts",
"./vs/workbench/parts/tasks/electron-browser/runAutomaticTasks.ts",
"./vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.ts",
"./vs/workbench/parts/tasks/node/processRunnerDetector.ts",
"./vs/workbench/parts/tasks/node/processTaskSystem.ts",
"./vs/workbench/parts/tasks/node/taskConfiguration.ts",
"./vs/workbench/parts/tasks/node/tasks.ts",
"./vs/workbench/parts/tasks/test/common/problemMatcher.test.ts",
"./vs/workbench/parts/tasks/test/electron-browser/configuration.test.ts",
"./vs/workbench/parts/terminal/browser/terminalFindWidget.ts",
"./vs/workbench/parts/terminal/browser/terminalTab.ts",
"./vs/workbench/parts/terminal/browser/terminalWidgetManager.ts",
"./vs/workbench/parts/terminal/common/terminal.ts",
"./vs/workbench/parts/terminal/common/terminalColorRegistry.ts",
"./vs/workbench/parts/terminal/common/terminalCommands.ts",
"./vs/workbench/parts/terminal/common/terminalMenu.ts",
"./vs/workbench/parts/terminal/common/terminalService.ts",
"./vs/workbench/parts/terminal/electron-browser/terminalConfigHelper.ts",
"./vs/workbench/parts/terminal/electron-browser/terminalInstance.ts",
"./vs/workbench/parts/terminal/electron-browser/terminalLinkHandler.ts",
"./vs/workbench/parts/terminal/electron-browser/terminalProcessManager.ts",
"./vs/workbench/parts/terminal/node/terminal.ts",
"./vs/workbench/parts/terminal/node/terminalCommandTracker.ts",
"./vs/workbench/parts/terminal/node/terminalEnvironment.ts",
"./vs/workbench/parts/terminal/node/terminalProcess.ts",
"./vs/workbench/parts/terminal/node/terminalProcessExtHostProxy.ts",
"./vs/workbench/parts/terminal/node/windowsShellHelper.ts",
"./vs/workbench/parts/terminal/test/electron-browser/terminalColorRegistry.test.ts",
"./vs/workbench/parts/terminal/test/electron-browser/terminalConfigHelper.test.ts",
"./vs/workbench/parts/terminal/test/electron-browser/terminalLinkHandler.test.ts",
"./vs/workbench/parts/terminal/test/node/terminalCommandTracker.test.ts",
"./vs/workbench/parts/terminal/test/node/terminalEnvironment.test.ts",
"./vs/workbench/parts/themes/electron-browser/themes.contribution.ts",
"./vs/workbench/parts/url/electron-browser/url.contribution.ts",
"./vs/workbench/parts/webview/electron-browser/webviewProtocols.ts",
"./vs/workbench/parts/welcome/gettingStarted/electron-browser/gettingStarted.contribution.ts",
"./vs/workbench/parts/welcome/gettingStarted/electron-browser/gettingStarted.ts",
"./vs/workbench/parts/welcome/gettingStarted/electron-browser/telemetryOptOut.ts",
"./vs/workbench/parts/welcome/gettingStarted/test/common/gettingStarted.test.ts",
"./vs/workbench/parts/welcome/page/electron-browser/vs_code_welcome_page.ts",
"./vs/workbench/parts/welcome/page/electron-browser/welcomePage.contribution.ts",
"./vs/workbench/parts/welcome/page/electron-browser/welcomePage.ts",
"./vs/workbench/parts/welcome/walkThrough/electron-browser/editor/editorWalkThrough.ts",
"./vs/workbench/parts/welcome/walkThrough/electron-browser/walkThrough.contribution.ts",
"./vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughActions.ts",
"./vs/workbench/parts/welcome/walkThrough/electron-browser/walkThroughPart.ts",
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughContentProvider.ts",
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughInput.ts",
"./vs/workbench/parts/welcome/walkThrough/node/walkThroughUtils.ts",
"./vs/workbench/contrib/backup/common/backupRestorer.ts",
"./vs/workbench/contrib/cli/electron-browser/cli.contribution.ts",
"./vs/workbench/contrib/codeEditor/browser/menuPreventer.ts",
"./vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/accessibility.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/inspectKeybindings.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/languageConfiguration/languageConfigurationExtensionPoint.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/largeFileOptimizations.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/selectionClipboard.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/simpleEditorOptions.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/sleepResumeRepaintMinimap.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/suggestEnabledInput.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/textMate/inspectTMScopes.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/toggleMinimap.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/toggleMultiCursorModifier.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/toggleRenderControlCharacter.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/toggleRenderWhitespace.ts",
"./vs/workbench/contrib/codeEditor/electron-browser/toggleWordWrap.ts",
"./vs/workbench/contrib/comments/common/commentModel.ts",
"./vs/workbench/contrib/comments/electron-browser/commentGlyphWidget.ts",
"./vs/workbench/contrib/comments/electron-browser/commentService.ts",
"./vs/workbench/contrib/comments/electron-browser/simpleCommentEditor.ts",
"./vs/workbench/contrib/debug/browser/debugANSIHandling.ts",
"./vs/workbench/contrib/debug/browser/linkDetector.ts",
"./vs/workbench/contrib/debug/common/debugProtocol.d.ts",
"./vs/workbench/contrib/debug/node/telemetryApp.ts",
"./vs/workbench/contrib/debug/test/common/mockDebug.ts",
"./vs/workbench/contrib/experiments/electron-browser/experimentalPrompt.ts",
"./vs/workbench/contrib/experiments/electron-browser/experiments.contribution.ts",
"./vs/workbench/contrib/experiments/node/experimentService.ts",
"./vs/workbench/contrib/extensions/browser/extensionsQuickOpen.ts",
"./vs/workbench/contrib/extensions/browser/extensionsViewer.ts",
"./vs/workbench/contrib/extensions/common/extensionQuery.ts",
"./vs/workbench/contrib/extensions/common/extensions.ts",
"./vs/workbench/contrib/extensions/common/extensionsFileTemplate.ts",
"./vs/workbench/contrib/extensions/common/extensionsInput.ts",
"./vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts",
"./vs/workbench/contrib/extensions/electron-browser/extensionsActions.ts",
"./vs/workbench/contrib/extensions/electron-browser/extensionsActivationProgress.ts",
"./vs/workbench/contrib/extensions/electron-browser/extensionsUtils.ts",
"./vs/workbench/contrib/extensions/node/extensionsWorkbenchService.ts",
"./vs/workbench/contrib/extensions/test/common/extensionQuery.test.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedback.contribution.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedback.ts",
"./vs/workbench/contrib/feedback/electron-browser/feedbackStatusbarItem.ts",
"./vs/workbench/contrib/files/browser/files.ts",
"./vs/workbench/contrib/files/common/explorerModel.ts",
"./vs/workbench/contrib/files/common/files.ts",
"./vs/workbench/contrib/files/electron-browser/explorerService.ts",
"./vs/workbench/contrib/files/electron-browser/views/explorerDecorationsProvider.ts",
"./vs/workbench/contrib/localizations/electron-browser/localizations.contribution.ts",
"./vs/workbench/contrib/localizations/electron-browser/localizationsActions.ts",
"./vs/workbench/contrib/logs/common/logConstants.ts",
"./vs/workbench/contrib/logs/electron-browser/logs.contribution.ts",
"./vs/workbench/contrib/logs/electron-browser/logsActions.ts",
"./vs/workbench/contrib/markers/electron-browser/constants.ts",
"./vs/workbench/contrib/markers/electron-browser/markers.ts",
"./vs/workbench/contrib/markers/electron-browser/markersFileDecorations.ts",
"./vs/workbench/contrib/markers/electron-browser/markersFilterOptions.ts",
"./vs/workbench/contrib/markers/electron-browser/markersModel.ts",
"./vs/workbench/contrib/markers/electron-browser/markersPanelActions.ts",
"./vs/workbench/contrib/markers/electron-browser/messages.ts",
"./vs/workbench/contrib/markers/test/electron-browser/markersModel.test.ts",
"./vs/workbench/contrib/output/common/output.ts",
"./vs/workbench/contrib/output/common/outputLinkComputer.ts",
"./vs/workbench/contrib/output/common/outputLinkProvider.ts",
"./vs/workbench/contrib/performance/electron-browser/startupTimings.ts",
"./vs/workbench/contrib/preferences/browser/settingsWidgets.ts",
"./vs/workbench/contrib/preferences/common/smartSnippetInserter.ts",
"./vs/workbench/contrib/preferences/test/common/smartSnippetInserter.test.ts",
"./vs/workbench/contrib/quickopen/browser/commandsHandler.ts",
"./vs/workbench/contrib/quickopen/browser/gotoLineHandler.ts",
"./vs/workbench/contrib/quickopen/browser/gotoSymbolHandler.ts",
"./vs/workbench/contrib/quickopen/browser/helpHandler.ts",
"./vs/workbench/contrib/quickopen/browser/quickopen.contribution.ts",
"./vs/workbench/contrib/quickopen/browser/viewPickerHandler.ts",
"./vs/workbench/contrib/relauncher/electron-browser/relauncher.contribution.ts",
"./vs/workbench/contrib/scm/common/scm.ts",
"./vs/workbench/contrib/scm/common/scmService.ts",
"./vs/workbench/contrib/scm/electron-browser/dirtydiffDecorator.ts",
"./vs/workbench/contrib/scm/electron-browser/scmActivity.ts",
"./vs/workbench/contrib/scm/electron-browser/scmMenus.ts",
"./vs/workbench/contrib/scm/electron-browser/scmUtil.ts",
"./vs/workbench/contrib/search/browser/openAnythingHandler.ts",
"./vs/workbench/contrib/search/browser/openFileHandler.ts",
"./vs/workbench/contrib/search/browser/openSymbolHandler.ts",
"./vs/workbench/contrib/search/browser/patternInputWidget.ts",
"./vs/workbench/contrib/search/browser/replaceContributions.ts",
"./vs/workbench/contrib/search/browser/replaceService.ts",
"./vs/workbench/contrib/search/common/constants.ts",
"./vs/workbench/contrib/search/common/queryBuilder.ts",
"./vs/workbench/contrib/search/common/replace.ts",
"./vs/workbench/contrib/search/common/search.ts",
"./vs/workbench/contrib/search/common/searchModel.ts",
"./vs/workbench/contrib/search/test/browser/mockSearchTree.ts",
"./vs/workbench/contrib/search/test/browser/openFileHandler.test.ts",
"./vs/workbench/contrib/search/test/common/searchModel.test.ts",
"./vs/workbench/contrib/search/test/common/searchResult.test.ts",
"./vs/workbench/contrib/splash/electron-browser/partsSplash.contribution.ts",
"./vs/workbench/contrib/stats/node/stats.contribution.ts",
"./vs/workbench/contrib/stats/node/workspaceStats.ts",
"./vs/workbench/contrib/stats/test/workspaceStats.test.ts",
"./vs/workbench/contrib/surveys/electron-browser/languageSurveys.contribution.ts",
"./vs/workbench/contrib/surveys/electron-browser/nps.contribution.ts",
"./vs/workbench/contrib/tasks/browser/quickOpen.ts",
"./vs/workbench/contrib/tasks/browser/taskQuickOpen.ts",
"./vs/workbench/contrib/tasks/common/problemCollectors.ts",
"./vs/workbench/contrib/tasks/common/problemMatcher.ts",
"./vs/workbench/contrib/tasks/common/taskDefinitionRegistry.ts",
"./vs/workbench/contrib/tasks/common/taskService.ts",
"./vs/workbench/contrib/tasks/common/taskSystem.ts",
"./vs/workbench/contrib/tasks/common/taskTemplates.ts",
"./vs/workbench/contrib/tasks/common/tasks.ts",
"./vs/workbench/contrib/tasks/electron-browser/jsonSchemaCommon.ts",
"./vs/workbench/contrib/tasks/electron-browser/jsonSchema_v1.ts",
"./vs/workbench/contrib/tasks/electron-browser/jsonSchema_v2.ts",
"./vs/workbench/contrib/tasks/electron-browser/runAutomaticTasks.ts",
"./vs/workbench/contrib/tasks/electron-browser/terminalTaskSystem.ts",
"./vs/workbench/contrib/tasks/node/processRunnerDetector.ts",
"./vs/workbench/contrib/tasks/node/processTaskSystem.ts",
"./vs/workbench/contrib/tasks/node/taskConfiguration.ts",
"./vs/workbench/contrib/tasks/node/tasks.ts",
"./vs/workbench/contrib/tasks/test/common/problemMatcher.test.ts",
"./vs/workbench/contrib/tasks/test/electron-browser/configuration.test.ts",
"./vs/workbench/contrib/terminal/browser/terminalFindWidget.ts",
"./vs/workbench/contrib/terminal/browser/terminalQuickOpen.ts",
"./vs/workbench/contrib/terminal/browser/terminalTab.ts",
"./vs/workbench/contrib/terminal/browser/terminalWidgetManager.ts",
"./vs/workbench/contrib/terminal/common/terminal.ts",
"./vs/workbench/contrib/terminal/common/terminalColorRegistry.ts",
"./vs/workbench/contrib/terminal/common/terminalCommands.ts",
"./vs/workbench/contrib/terminal/common/terminalMenu.ts",
"./vs/workbench/contrib/terminal/common/terminalService.ts",
"./vs/workbench/contrib/terminal/electron-browser/terminalConfigHelper.ts",
"./vs/workbench/contrib/terminal/electron-browser/terminalInstance.ts",
"./vs/workbench/contrib/terminal/electron-browser/terminalLinkHandler.ts",
"./vs/workbench/contrib/terminal/electron-browser/terminalProcessManager.ts",
"./vs/workbench/contrib/terminal/node/terminal.ts",
"./vs/workbench/contrib/terminal/node/terminalCommandTracker.ts",
"./vs/workbench/contrib/terminal/node/terminalEnvironment.ts",
"./vs/workbench/contrib/terminal/node/terminalProcess.ts",
"./vs/workbench/contrib/terminal/node/terminalProcessExtHostProxy.ts",
"./vs/workbench/contrib/terminal/node/windowsShellHelper.ts",
"./vs/workbench/contrib/terminal/test/electron-browser/terminalColorRegistry.test.ts",
"./vs/workbench/contrib/terminal/test/electron-browser/terminalConfigHelper.test.ts",
"./vs/workbench/contrib/terminal/test/electron-browser/terminalLinkHandler.test.ts",
"./vs/workbench/contrib/terminal/test/node/terminalCommandTracker.test.ts",
"./vs/workbench/contrib/terminal/test/node/terminalEnvironment.test.ts",
"./vs/workbench/contrib/themes/electron-browser/themes.contribution.ts",
"./vs/workbench/contrib/url/electron-browser/url.contribution.ts",
"./vs/workbench/contrib/webview/electron-browser/webviewProtocols.ts",
"./vs/workbench/services/activity/common/activity.ts",
"./vs/workbench/services/backup/common/backup.ts",
"./vs/workbench/services/backup/node/backupFileService.ts",
"./vs/workbench/services/bulkEdit/electron-browser/bulkEditService.ts",
"./vs/workbench/services/codeEditor/browser/codeEditorService.ts",
"./vs/workbench/services/commands/common/commandService.ts",
"./vs/workbench/services/commands/test/common/commandService.test.ts",
"./vs/workbench/services/configuration/common/configuration.ts",
"./vs/workbench/services/configuration/common/configurationModels.ts",
"./vs/workbench/services/configuration/common/jsonEditing.ts",
@@ -677,6 +654,9 @@
"./vs/workbench/services/decorations/test/browser/decorationsService.test.ts",
"./vs/workbench/services/dialogs/electron-browser/dialogService.ts",
"./vs/workbench/services/editor/common/editorService.ts",
"./vs/workbench/services/editor/common/editorGroupsService.ts",
"./vs/workbench/services/editor/browser/codeEditorService.ts",
"./vs/workbench/services/extensions/common/extensionHostProtocol.ts",
"./vs/workbench/services/extensions/common/extensions.ts",
"./vs/workbench/services/extensions/common/extensionsRegistry.ts",
"./vs/workbench/services/extensions/electron-browser/cachedExtensionScanner.ts",
@@ -692,30 +672,12 @@
"./vs/workbench/services/extensions/test/node/rpcProtocol.test.ts",
"./vs/workbench/services/files/electron-browser/encoding.ts",
"./vs/workbench/services/files/electron-browser/streams.ts",
"./vs/workbench/services/files/node/watcher/common.ts",
"./vs/workbench/services/files/node/watcher/nsfw/nsfwWatcherService.ts",
"./vs/workbench/services/files/node/watcher/nsfw/test/nsfwWatcherService.test.ts",
"./vs/workbench/services/files/node/watcher/nsfw/watcher.ts",
"./vs/workbench/services/files/node/watcher/nsfw/watcherApp.ts",
"./vs/workbench/services/files/node/watcher/nsfw/watcherIpc.ts",
"./vs/workbench/services/files/node/watcher/nsfw/watcherService.ts",
"./vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts",
"./vs/workbench/services/files/node/watcher/unix/test/chockidarWatcherService.test.ts",
"./vs/workbench/services/files/node/watcher/unix/watcher.ts",
"./vs/workbench/services/files/node/watcher/unix/watcherApp.ts",
"./vs/workbench/services/files/node/watcher/unix/watcherIpc.ts",
"./vs/workbench/services/files/node/watcher/unix/watcherService.ts",
"./vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts",
"./vs/workbench/services/files/node/watcher/win32/watcherService.ts",
"./vs/workbench/services/files/test/electron-browser/utils.ts",
"./vs/workbench/services/files/test/electron-browser/watcher.test.ts",
"./vs/workbench/services/group/common/editorGroupsService.ts",
"./vs/workbench/services/hash/common/hashService.ts",
"./vs/workbench/services/hash/node/hashService.ts",
"./vs/workbench/services/history/common/history.ts",
"./vs/workbench/services/history/electron-browser/history.ts",
"./vs/workbench/services/issue/common/issue.ts",
"./vs/workbench/services/issue/electron-browser/workbenchIssueService.ts",
"./vs/workbench/services/jsonschemas/common/jsonValidationExtensionPoint.ts",
"./vs/workbench/services/keybinding/common/keybindingIO.ts",
"./vs/workbench/services/keybinding/common/keyboardMapper.ts",
@@ -740,8 +702,6 @@
"./vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl.ts",
"./vs/workbench/services/remote/node/remoteAgentEnvironmentChannel.ts",
"./vs/workbench/services/remote/node/remoteAgentService.ts",
"./vs/workbench/services/scm/common/scm.ts",
"./vs/workbench/services/scm/common/scmService.ts",
"./vs/workbench/services/search/common/searchHelpers.ts",
"./vs/workbench/services/search/node/fileSearch.ts",
"./vs/workbench/services/search/node/fileSearchManager.ts",
@@ -768,16 +728,6 @@
"./vs/workbench/services/textMate/electron-browser/textMateService.ts",
"./vs/workbench/services/textfile/common/textfiles.ts",
"./vs/workbench/services/textfile/electron-browser/textResourcePropertiesService.ts",
"./vs/workbench/services/themes/common/colorExtensionPoint.ts",
"./vs/workbench/services/themes/common/colorThemeSchema.ts",
"./vs/workbench/services/themes/common/fileIconThemeSchema.ts",
"./vs/workbench/services/themes/common/workbenchThemeService.ts",
"./vs/workbench/services/themes/electron-browser/colorThemeData.ts",
"./vs/workbench/services/themes/electron-browser/colorThemeStore.ts",
"./vs/workbench/services/themes/electron-browser/fileIconThemeData.ts",
"./vs/workbench/services/themes/electron-browser/fileIconThemeStore.ts",
"./vs/workbench/services/themes/electron-browser/themeCompatibility.ts",
"./vs/workbench/services/themes/electron-browser/workbenchThemeService.ts",
"./vs/workbench/services/timer/electron-browser/timerService.ts",
"./vs/workbench/services/title/common/titleService.ts",
"./vs/workbench/services/viewlet/browser/viewlet.ts",
@@ -787,9 +737,12 @@
"./vs/workbench/test/common/editor/editorOptions.test.ts",
"./vs/workbench/test/common/notifications.test.ts",
"./vs/workbench/test/electron-browser/api/extHostTypes.test.ts",
"./vs/workbench/test/electron-browser/api/mock.ts"
"./vs/workbench/test/electron-browser/api/mainThreadCommands.test.ts",
"./vs/workbench/test/electron-browser/api/mainThreadDiagnostics.test.ts",
"./vs/workbench/test/electron-browser/api/mock.ts",
"./vs/workbench/test/electron-browser/api/testRPCProtocol.ts"
],
"exclude": [
"./typings/require-monaco.d.ts"
]
}
}

Some files were not shown because too many files have changed in this diff Show More