Skip to content

Commit fb4d028

Browse files
committed
Merge remote-tracking branch 'origin/master' into pr/hhu94/67828
2 parents d562c85 + e6d4139 commit fb4d028

72 files changed

Lines changed: 931 additions & 466 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build/azure-pipelines/darwin/product-build-darwin.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ steps:
2323
set -e
2424
VSCODE_MIXIN_PASSWORD="$(VSCODE_MIXIN_PASSWORD)" \
2525
AZURE_STORAGE_ACCESS_KEY="$(AZURE_STORAGE_ACCESS_KEY)" \
26-
yarn gulp -- vscode-darwin-min upload-vscode-sourcemaps
26+
yarn gulp -- vscode-darwin-min
27+
yarn gulp -- upload-vscode-sourcemaps
2728
displayName: Build
2829

2930
- script: |

build/builtInExtensions.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
},
3232
{
3333
"name": "ms-vscode.references-view",
34-
"version": "0.0.24",
34+
"version": "0.0.25",
3535
"repo": "https://github.com/Microsoft/vscode-reference-view",
3636
"metadata": {
3737
"id": "dc489f46-520d-4556-ae85-1f9eab3c412d",

build/gulpfile.editor.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ gulp.task('extract-editor-src', ['clean-editor-src'], function () {
8484
'typings/thenable.d.ts',
8585
'typings/es6-promise.d.ts',
8686
'typings/require-monaco.d.ts',
87+
"typings/lib.es2018.promise.d.ts",
8788
'vs/monaco.d.ts'
8889
],
8990
libs: [

build/gulpfile.extensions.js

Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ const path = require('path');
1111
const tsb = require('gulp-tsb');
1212
const es = require('event-stream');
1313
const filter = require('gulp-filter');
14-
const rimraf = require('rimraf');
1514
const util = require('./lib/util');
1615
const watcher = require('./lib/watch');
1716
const createReporter = require('./lib/reporter').createReporter;
@@ -43,16 +42,6 @@ const tasks = compilations.map(function (tsconfigFile) {
4342

4443
const name = relativeDirname.replace(/\//g, '-');
4544

46-
// Tasks
47-
const clean = 'clean-extension:' + name;
48-
const compile = 'compile-extension:' + name;
49-
const watch = 'watch-extension:' + name;
50-
51-
// Build Tasks
52-
const cleanBuild = 'clean-extension-build:' + name;
53-
const compileBuild = 'compile-extension-build:' + name;
54-
const watchBuild = 'watch-extension-build:' + name;
55-
5645
const root = path.join('extensions', relativeDirname);
5746
const srcBase = path.join(root, 'src');
5847
const src = path.join(srcBase, '**');
@@ -111,62 +100,53 @@ const tasks = compilations.map(function (tsconfigFile) {
111100

112101
const srcOpts = { cwd: path.dirname(__dirname), base: srcBase };
113102

114-
gulp.task(clean, cb => rimraf(out, cb));
103+
const cleanTask = () => util.primraf(out);
115104

116-
gulp.task(compile, [clean], () => {
105+
const compileTask = util.task.series(cleanTask, () => {
117106
const pipeline = createPipeline(false, true);
118107
const input = gulp.src(src, srcOpts);
119108

120-
return input
109+
return util.streamToPromise(
110+
input
121111
.pipe(pipeline())
122-
.pipe(gulp.dest(out));
112+
.pipe(gulp.dest(out))
113+
);
123114
});
124115

125-
gulp.task(watch, [clean], () => {
116+
const watchTask = util.task.series(cleanTask, () => {
126117
const pipeline = createPipeline(false);
127118
const input = gulp.src(src, srcOpts);
128119
const watchInput = watcher(src, srcOpts);
129120

130-
return watchInput
121+
return util.streamToPromise(
122+
watchInput
131123
.pipe(util.incremental(pipeline, input))
132-
.pipe(gulp.dest(out));
124+
.pipe(gulp.dest(out))
125+
);
133126
});
134127

135-
gulp.task(cleanBuild, cb => rimraf(out, cb));
136-
137-
gulp.task(compileBuild, [clean], () => {
128+
const compileBuildTask = util.task.series(cleanTask, () => {
138129
const pipeline = createPipeline(true, true);
139130
const input = gulp.src(src, srcOpts);
140131

141-
return input
132+
return util.streamToPromise(
133+
input
142134
.pipe(pipeline())
143-
.pipe(gulp.dest(out));
135+
.pipe(gulp.dest(out))
136+
);
144137
});
145138

146-
gulp.task(watchBuild, [clean], () => {
147-
const pipeline = createPipeline(true);
148-
const input = gulp.src(src, srcOpts);
149-
const watchInput = watcher(src, srcOpts);
150-
151-
return watchInput
152-
.pipe(util.incremental(() => pipeline(), input))
153-
.pipe(gulp.dest(out));
154-
});
139+
// Tasks
140+
gulp.task('compile-extension:' + name, compileTask);
141+
gulp.task('watch-extension:' + name, watchTask);
155142

156143
return {
157-
clean: clean,
158-
compile: compile,
159-
watch: watch,
160-
cleanBuild: cleanBuild,
161-
compileBuild: compileBuild,
162-
watchBuild: watchBuild
144+
compileTask: compileTask,
145+
watchTask: watchTask,
146+
compileBuildTask: compileBuildTask
163147
};
164148
});
165149

166-
gulp.task('clean-extensions', tasks.map(t => t.clean));
167-
gulp.task('compile-extensions', tasks.map(t => t.compile));
168-
gulp.task('watch-extensions', tasks.map(t => t.watch));
169-
170-
gulp.task('clean-extensions-build', tasks.map(t => t.cleanBuild));
171-
gulp.task('compile-extensions-build', tasks.map(t => t.compileBuild));
172-
gulp.task('watch-extensions-build', tasks.map(t => t.watchBuild));
150+
gulp.task('compile-extensions', util.task.parallel(...tasks.map(t => t.compileTask)));
151+
gulp.task('watch-extensions', util.task.parallel(...tasks.map(t => t.watchTask)));
152+
gulp.task('compile-extensions-build', util.task.parallel(...tasks.map(t => t.compileBuildTask)));

build/gulpfile.vscode.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ gulp.task('vscode-translations-import', function () {
517517

518518
// Sourcemaps
519519

520-
gulp.task('upload-vscode-sourcemaps', ['vscode-darwin-min', 'minify-vscode'], () => {
520+
gulp.task('upload-vscode-sourcemaps', () => {
521521
const vs = gulp.src('out-vscode-min/**/*.map', { base: 'out-vscode-min' })
522522
.pipe(es.mapSync(f => {
523523
f.path = `${f.base}/core/${f.relative}`;

build/lib/util.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,48 @@ function rimraf(dir) {
183183
return cb => retry(cb);
184184
}
185185
exports.rimraf = rimraf;
186+
/**
187+
* Like rimraf (with 5 retries), but with a promise instead of a callback.
188+
*/
189+
function primraf(dir) {
190+
const fn = rimraf(dir);
191+
return new Promise((resolve, reject) => {
192+
fn((err) => {
193+
if (err) {
194+
return reject(err);
195+
}
196+
resolve();
197+
});
198+
});
199+
}
200+
exports.primraf = primraf;
201+
/**
202+
* Convert a stream to a promise.
203+
*/
204+
function streamToPromise(stream) {
205+
return new Promise((resolve, reject) => {
206+
stream.on('end', _ => resolve());
207+
stream.on('error', err => reject(err));
208+
});
209+
}
210+
exports.streamToPromise = streamToPromise;
211+
var task;
212+
(function (task) {
213+
function series(...tasks) {
214+
return async () => {
215+
for (let i = 0; i < tasks.length; i++) {
216+
await tasks[i]();
217+
}
218+
};
219+
}
220+
task.series = series;
221+
function parallel(...tasks) {
222+
return async () => {
223+
await Promise.all(tasks.map(t => t()));
224+
};
225+
}
226+
task.parallel = parallel;
227+
})(task = exports.task || (exports.task = {}));
186228
function getVersion(root) {
187229
let version = process.env['BUILD_SOURCEVERSION'];
188230
if (!version || !/^[0-9a-f]{40}$/i.test(version)) {

build/lib/util.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,49 @@ export function rimraf(dir: string): (cb: any) => void {
237237
return cb => retry(cb);
238238
}
239239

240+
/**
241+
* Like rimraf (with 5 retries), but with a promise instead of a callback.
242+
*/
243+
export function primraf(dir: string): Promise<void> {
244+
const fn = rimraf(dir);
245+
return new Promise((resolve, reject) => {
246+
fn((err: any) => {
247+
if (err) {
248+
return reject(err);
249+
}
250+
resolve();
251+
});
252+
});
253+
}
254+
255+
/**
256+
* Convert a stream to a promise.
257+
*/
258+
export function streamToPromise(stream: NodeJS.ReadWriteStream): Promise<void> {
259+
return new Promise((resolve, reject) => {
260+
stream.on('end', _ => resolve());
261+
stream.on('error', err => reject(err));
262+
});
263+
}
264+
265+
export type PromiseTask = () => Promise<void>;
266+
267+
export namespace task {
268+
export function series(...tasks: PromiseTask[]): () => Promise<void> {
269+
return async () => {
270+
for (let i = 0; i < tasks.length; i++) {
271+
await tasks[i]();
272+
}
273+
};
274+
}
275+
276+
export function parallel(...tasks: PromiseTask[]): () => Promise<void> {
277+
return async () => {
278+
await Promise.all(tasks.map(t => t()));
279+
};
280+
}
281+
}
282+
240283
export function getVersion(root: string): string | undefined {
241284
let version = process.env['BUILD_SOURCEVERSION'];
242285

extensions/bat/cgmanifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"git": {
77
"name": "mmims/language-batchfile",
88
"repositoryUrl": "https://github.com/mmims/language-batchfile",
9-
"commitHash": "4b67596631b4ecd2c89c2ec1b2e08a6623438903"
9+
"commitHash": "95ea8c699f7a8296b15767069868532d52631c46"
1010
}
1111
},
1212
"license": "MIT",
13-
"version": "0.7.4"
13+
"version": "0.7.5"
1414
}
1515
],
1616
"version": 1

extensions/bat/syntaxes/batchfile.tmLanguage.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
55
"Once accepted there, we are happy to receive an update request."
66
],
7-
"version": "https://github.com/mmims/language-batchfile/commit/4b67596631b4ecd2c89c2ec1b2e08a6623438903",
7+
"version": "https://github.com/mmims/language-batchfile/commit/95ea8c699f7a8296b15767069868532d52631c46",
88
"name": "Batch File",
99
"scopeName": "source.batchfile",
1010
"patterns": [
@@ -46,7 +46,7 @@
4646
"commands": {
4747
"patterns": [
4848
{
49-
"match": "(?<=^|[\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|sc|schtasks|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|shadow|shift|showmount|shutdown|sort|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|mic|wscript|xcopy)(?=$|\\s)",
49+
"match": "(?<=^|[\\s@])(?i:adprep|append|arp|assoc|at|atmadm|attrib|auditpol|autochk|autoconv|autofmt|bcdboot|bcdedit|bdehdcfg|bitsadmin|bootcfg|brea|cacls|cd|certreq|certutil|change|chcp|chdir|chglogon|chgport|chgusr|chkdsk|chkntfs|choice|cipher|clip|cls|clscluadmin|cluster|cmd|cmdkey|cmstp|color|comp|compact|convert|copy|cprofile|cscript|csvde|date|dcdiag|dcgpofix|dcpromo|defra|del|dfscmd|dfsdiag|dfsrmig|diantz|dir|dirquota|diskcomp|diskcopy|diskpart|diskperf|diskraid|diskshadow|dispdiag|doin|dnscmd|doskey|driverquery|dsacls|dsadd|dsamain|dsdbutil|dsget|dsmgmt|dsmod|dsmove|dsquery|dsrm|edit|endlocal|eraseesentutl|eventcreate|eventquery|eventtriggers|evntcmd|expand|extract|fc|filescrn|find|findstr|finger|flattemp|fonde|forfiles|format|freedisk|fsutil|ftp|ftype|fveupdate|getmac|gettype|gpfixup|gpresult|gpupdate|graftabl|hashgen|hep|helpctr|hostname|icacls|iisreset|inuse|ipconfig|ipxroute|irftp|ismserv|jetpack|klist|ksetup|ktmutil|ktpass|label|ldifd|ldp|lodctr|logman|logoff|lpq|lpr|macfile|makecab|manage-bde|mapadmin|md|mkdir|mklink|mmc|mode|more|mount|mountvol|move|mqbup|mqsvc|mqtgsvc|msdt|msg|msiexec|msinfo32|mstsc|nbtstat|net computer|net group|net localgroup|net print|net session|net share|net start|net stop|net use|net user|net view|net|netcfg|netdiag|netdom|netsh|netstat|nfsadmin|nfsshare|nfsstat|nlb|nlbmgr|nltest|nslookup|ntackup|ntcmdprompt|ntdsutil|ntfrsutl|openfiles|pagefileconfig|path|pathping|pause|pbadmin|pentnt|perfmon|ping|pnpunatten|pnputil|popd|powercfg|powershell|powershell_ise|print|prncnfg|prndrvr|prnjobs|prnmngr|prnport|prnqctl|prompt|pubprn|pushd|pushprinterconnections|pwlauncher|qappsrv|qprocess|query|quser|qwinsta|rasdial|rcp|rd|rdpsign|regentc|recover|redircmp|redirusr|reg|regini|regsvr32|relog|ren|rename|rendom|repadmin|repair-bde|replace|reset session|rxec|risetup|rmdir|robocopy|route|rpcinfo|rpcping|rsh|runas|rundll32|rwinsta|scp|sc|schtasks|scwcmd|secedit|serverceipoptin|servrmanagercmd|serverweroptin|setspn|setx|sfc|shadow|shift|showmount|shutdown|sort|ssh|start|storrept|subst|sxstrace|ysocmgr|systeminfo|takeown|tapicfg|taskkill|tasklist|tcmsetup|telnet|tftp|time|timeout|title|tlntadmn|tpmvscmgr|tpmvscmgr|tacerpt|tracert|tree|tscon|tsdiscon|tsecimp|tskill|tsprof|type|typeperf|tzutil|uddiconfig|umount|unlodctr|ver|verifier|verif|vol|vssadmin|w32tm|waitfor|wbadmin|wdsutil|wecutil|wevtutil|where|whoami|winnt|winnt32|winpop|winrm|winrs|winsat|wlbs|mic|wscript|xcopy)(?=$|\\s)",
5050
"name": "keyword.command.batchfile"
5151
},
5252
{

extensions/cpp/cgmanifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
"git": {
77
"name": "atom/language-c",
88
"repositoryUrl": "https://github.com/atom/language-c",
9-
"commitHash": "9c0c5f202741a5647025db8d5df5fefba47b036c"
9+
"commitHash": "3a269f88b12e512fb9495dc006a1dabf325d3d7f"
1010
}
1111
},
1212
"license": "MIT",
13-
"version": "0.58.1",
13+
"version": "0.58.0",
1414
"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."
1515
},
1616
{

0 commit comments

Comments
 (0)