mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-26 14:50:31 -04:00
Merge from vscode 2c306f762bf9c3db82dc06c7afaa56ef46d72f79 (#14050)
* Merge from vscode 2c306f762bf9c3db82dc06c7afaa56ef46d72f79 * Fix breaks * Extension management fixes * Fix breaks in windows bundling * Fix/skip failing tests * Update distro * Add clear to nuget.config * Add hygiene task * Bump distro * Fix hygiene issue * Add build to hygiene exclusion * Update distro * Update hygiene * Hygiene exclusions * Update tsconfig * Bump distro for server breaks * Update build config * Update darwin path * Add done calls to notebook tests * Skip failing tests * Disable smoke tests
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
|
||||
export const enum RecommendationSource {
|
||||
FILE = 1,
|
||||
WORKSPACE = 2,
|
||||
EXE = 3
|
||||
}
|
||||
|
||||
export const enum RecommendationsNotificationResult {
|
||||
Ignored = 'ignored',
|
||||
Cancelled = 'cancelled',
|
||||
TooMany = 'toomany',
|
||||
Accepted = 'reacted',
|
||||
}
|
||||
|
||||
export const IExtensionRecommendationNotificationService = createDecorator<IExtensionRecommendationNotificationService>('IExtensionRecommendationNotificationService');
|
||||
|
||||
export interface IExtensionRecommendationNotificationService {
|
||||
readonly _serviceBrand: undefined;
|
||||
|
||||
readonly ignoredRecommendations: string[];
|
||||
hasToIgnoreRecommendationNotifications(): boolean;
|
||||
|
||||
promptImportantExtensionsInstallNotification(extensionIds: string[], message: string, searchValue: string, source: RecommendationSource): Promise<RecommendationsNotificationResult>;
|
||||
promptWorkspaceRecommendations(recommendations: string[]): Promise<void>;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { Event } from 'vs/base/common/event';
|
||||
import { IChannel, IServerChannel } from 'vs/base/parts/ipc/common/ipc';
|
||||
import { IExtensionRecommendationNotificationService, RecommendationsNotificationResult, RecommendationSource } from 'vs/platform/extensionRecommendations/common/extensionRecommendations';
|
||||
|
||||
export class ExtensionRecommendationNotificationServiceChannelClient implements IExtensionRecommendationNotificationService {
|
||||
|
||||
declare readonly _serviceBrand: undefined;
|
||||
|
||||
constructor(private readonly channel: IChannel) { }
|
||||
|
||||
get ignoredRecommendations(): string[] { throw new Error('not supported'); }
|
||||
|
||||
promptImportantExtensionsInstallNotification(extensionIds: string[], message: string, searchValue: string, priority: RecommendationSource): Promise<RecommendationsNotificationResult> {
|
||||
return this.channel.call('promptImportantExtensionsInstallNotification', [extensionIds, message, searchValue, priority]);
|
||||
}
|
||||
|
||||
promptWorkspaceRecommendations(recommendations: string[]): Promise<void> {
|
||||
throw new Error('not supported');
|
||||
}
|
||||
|
||||
hasToIgnoreRecommendationNotifications(): boolean {
|
||||
throw new Error('not supported');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export class ExtensionRecommendationNotificationServiceChannel implements IServerChannel {
|
||||
|
||||
constructor(private service: IExtensionRecommendationNotificationService) { }
|
||||
|
||||
listen(_: unknown, event: string): Event<any> {
|
||||
throw new Error(`Event not found: ${event}`);
|
||||
}
|
||||
|
||||
call(_: unknown, command: string, args?: any): Promise<any> {
|
||||
switch (command) {
|
||||
case 'promptImportantExtensionsInstallNotification': return this.service.promptImportantExtensionsInstallNotification(args[0], args[1], args[2], args[3]);
|
||||
}
|
||||
|
||||
throw new Error(`Call not found: ${command}`);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user