Revert "Merge from vscode 81d7885dc2e9dc617e1522697a2966bc4025a45d (#5949)" (#5983)

This reverts commit d15a3fcc98.
This commit is contained in:
Karl Burtram
2019-06-11 12:35:58 -07:00
committed by GitHub
parent 95a50b7892
commit 5a7562a37b
926 changed files with 11394 additions and 19540 deletions

View File

@@ -30,7 +30,7 @@ import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { INotificationService } from 'vs/platform/notification/common/notification';
import { CancellationToken } from 'vs/base/common/cancellation';
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { Disposable, DisposableStore, IDisposable } from 'vs/base/common/lifecycle';
import { Disposable } from 'vs/base/common/lifecycle';
import { timeout } from 'vs/base/common/async';
export const ALL_COMMANDS_PREFIX = '>';
@@ -294,7 +294,7 @@ abstract class BaseCommandEntry extends QuickOpenEntryGroup {
this.onBeforeRun(this.commandId);
// Use a timeout to give the quick open widget a chance to close itself first
setTimeout(async () => {
setTimeout(() => {
if (action && (!(action instanceof Action) || action.enabled)) {
try {
/* __GDPR__
@@ -304,17 +304,11 @@ abstract class BaseCommandEntry extends QuickOpenEntryGroup {
}
*/
this.telemetryService.publicLog('workbenchActionExecuted', { id: action.id, from: 'quick open' });
const promise = action.run();
if (promise) {
try {
await promise;
} finally {
if (action instanceof Action) {
action.dispose();
}
(action.run() || Promise.resolve()).then(() => {
if (action instanceof Action) {
action.dispose();
}
}
}, err => this.onError(err));
} catch (error) {
this.onError(error);
}
@@ -377,14 +371,12 @@ class ActionCommandEntry extends BaseCommandEntry {
const wordFilter = or(matchesPrefix, matchesWords, matchesContiguousSubString);
export class CommandsHandler extends QuickOpenHandler implements IDisposable {
export class CommandsHandler extends QuickOpenHandler {
static readonly ID = 'workbench.picker.commands';
private commandHistoryEnabled: boolean;
private readonly commandsHistory: CommandsHistory;
private readonly disposables = new DisposableStore();
private commandsHistory: CommandsHistory;
private waitedForExtensionsRegistered: boolean;
@@ -398,7 +390,7 @@ export class CommandsHandler extends QuickOpenHandler implements IDisposable {
) {
super();
this.commandsHistory = this.disposables.add(this.instantiationService.createInstance(CommandsHistory));
this.commandsHistory = this.instantiationService.createInstance(CommandsHistory);
this.extensionService.whenInstalledExtensionsRegistered().then(() => this.waitedForExtensionsRegistered = true);
@@ -410,7 +402,7 @@ export class CommandsHandler extends QuickOpenHandler implements IDisposable {
this.commandHistoryEnabled = resolveCommandHistory(this.configurationService) > 0;
}
async getResults(searchValue: string, token: CancellationToken): Promise<QuickOpenModel> {
getResults(searchValue: string, token: CancellationToken): Promise<QuickOpenModel> {
if (this.waitedForExtensionsRegistered) {
return this.doGetResults(searchValue, token);
}
@@ -419,10 +411,11 @@ export class CommandsHandler extends QuickOpenHandler implements IDisposable {
// a chance to register so that the complete set of commands shows up as result
// We do not want to delay functionality beyond that time though to keep the commands
// functional.
await Promise.race([timeout(800).then(), this.extensionService.whenInstalledExtensionsRegistered()]);
this.waitedForExtensionsRegistered = true;
return Promise.race([timeout(800), this.extensionService.whenInstalledExtensionsRegistered().then(() => undefined)]).then(() => {
this.waitedForExtensionsRegistered = true;
return this.doGetResults(searchValue, token);
return this.doGetResults(searchValue, token);
});
}
private doGetResults(searchValue: string, token: CancellationToken): Promise<QuickOpenModel> {
@@ -590,10 +583,6 @@ export class CommandsHandler extends QuickOpenHandler implements IDisposable {
getEmptyLabel(searchString: string): string {
return nls.localize('noCommandsMatching', "No commands matching");
}
dispose() {
this.disposables.dispose();
}
}
registerEditorAction(CommandPaletteEditorAction);

View File

@@ -495,7 +495,7 @@ export class GotoSymbolHandler extends QuickOpenHandler {
return this.cachedOutlineRequest;
}
private async doGetActiveOutline(): Promise<OutlineModel | null> {
private doGetActiveOutline(): Promise<OutlineModel | null> {
const activeTextEditorWidget = this.editorService.activeTextEditorWidget;
if (activeTextEditorWidget) {
let model = activeTextEditorWidget.getModel();
@@ -504,13 +504,13 @@ export class GotoSymbolHandler extends QuickOpenHandler {
}
if (model && types.isFunction((<ITextModel>model).getLanguageIdentifier)) {
const entries = await asPromise(() => getDocumentSymbols(<ITextModel>model, true, this.pendingOutlineRequest!.token));
return new OutlineModel(this.toQuickOpenEntries(entries));
return Promise.resolve(asPromise(() => getDocumentSymbols(<ITextModel>model, true, this.pendingOutlineRequest!.token)).then(entries => {
return new OutlineModel(this.toQuickOpenEntries(entries));
}));
}
}
return null;
return Promise.resolve(null);
}
decorateOutline(fullRange: IRange, startRange: IRange, editor: IEditor, group: IEditorGroup): void {