don't send full ExtensionDescription when using message API

This commit is contained in:
Johannes Rieken
2022-01-11 13:57:30 +01:00
parent fb26a6122e
commit d528769c4d
4 changed files with 52 additions and 49 deletions

View File

@@ -185,7 +185,7 @@ export interface MainThreadAuthenticationShape extends IDisposable {
$unregisterAuthenticationProvider(id: string): void;
$ensureProvider(id: string): Promise<void>;
$sendDidChangeSessions(providerId: string, event: modes.AuthenticationSessionsChangeEvent): void;
$getSession(providerId: string, scopes: readonly string[], extensionId: string, extensionName: string, options: { createIfNone?: boolean, forceNewSession?: boolean | { detail: string }, clearSessionPreference?: boolean }): Promise<modes.AuthenticationSession | undefined>;
$getSession(providerId: string, scopes: readonly string[], extensionId: string, extensionName: string, options: { createIfNone?: boolean, forceNewSession?: boolean | { detail: string; }, clearSessionPreference?: boolean; }): Promise<modes.AuthenticationSession | undefined>;
$removeSession(providerId: string, sessionId: string): Promise<void>;
}
@@ -303,9 +303,9 @@ export interface MainThreadTextEditorsShape extends IDisposable {
}
export interface MainThreadTreeViewsShape extends IDisposable {
$registerTreeViewDataProvider(treeViewId: string, options: { showCollapseAll: boolean, canSelectMany: boolean, dragAndDropMimeTypes: string[] | undefined, hasWillDrop: boolean }): Promise<void>;
$registerTreeViewDataProvider(treeViewId: string, options: { showCollapseAll: boolean, canSelectMany: boolean, dragAndDropMimeTypes: string[] | undefined, hasWillDrop: boolean; }): Promise<void>;
$refresh(treeViewId: string, itemsToRefresh?: { [treeItemHandle: string]: ITreeItem; }): Promise<void>;
$reveal(treeViewId: string, itemInfo: { item: ITreeItem, parentChain: ITreeItem[] } | undefined, options: IRevealOptions): Promise<void>;
$reveal(treeViewId: string, itemInfo: { item: ITreeItem, parentChain: ITreeItem[]; } | undefined, options: IRevealOptions): Promise<void>;
$setMessage(treeViewId: string, message: string): void;
$setTitle(treeViewId: string, title: string, description: string | undefined): void;
}
@@ -435,13 +435,13 @@ export interface MainThreadLanguageFeaturesShape extends IDisposable {
export interface MainThreadLanguagesShape extends IDisposable {
$changeLanguage(resource: UriComponents, languageId: string): Promise<void>;
$tokensAtPosition(resource: UriComponents, position: IPosition): Promise<undefined | { type: modes.StandardTokenType, range: IRange }>;
$tokensAtPosition(resource: UriComponents, position: IPosition): Promise<undefined | { type: modes.StandardTokenType, range: IRange; }>;
$setLanguageStatus(handle: number, status: ILanguageStatus): void;
$removeLanguageStatus(handle: number): void;
}
export interface MainThreadMessageOptions {
extension?: IExtensionDescription;
source?: { identifier: ExtensionIdentifier, label: string; };
modal?: boolean;
detail?: string;
useCustom?: boolean;
@@ -483,7 +483,7 @@ export interface TerminalLaunchConfig {
shellArgs?: string[] | string;
cwd?: string | UriComponents;
env?: ITerminalEnvironment;
icon?: URI | { light: URI; dark: URI } | ThemeIcon;
icon?: URI | { light: URI; dark: URI; } | ThemeIcon;
color?: string;
initialText?: string;
waitOnExit?: boolean;
@@ -493,7 +493,7 @@ export interface TerminalLaunchConfig {
isFeatureTerminal?: boolean;
isExtensionOwnedTerminal?: boolean;
useShellEnvironment?: boolean;
location?: TerminalLocation | { viewColumn: number, preserveFocus?: boolean } | { parentTerminal: ExtHostTerminalIdentifier } | { splitActiveTerminal: boolean };
location?: TerminalLocation | { viewColumn: number, preserveFocus?: boolean; } | { parentTerminal: ExtHostTerminalIdentifier; } | { splitActiveTerminal: boolean; };
disablePersistence?: boolean;
}
@@ -655,7 +655,7 @@ export interface IEditorTabDto {
resource?: UriComponents;
editorId?: string;
isActive: boolean;
additionalResourcesAndViewIds: { resource?: UriComponents, viewId?: string }[]
additionalResourcesAndViewIds: { resource?: UriComponents, viewId?: string; }[];
}
export interface IExtHostEditorTabsShape {
@@ -740,7 +740,7 @@ export interface WebviewMessageArrayBufferReference {
export interface MainThreadWebviewsShape extends IDisposable {
$setHtml(handle: WebviewHandle, value: string): void;
$setOptions(handle: WebviewHandle, options: IWebviewContentOptions): void;
$postMessage(handle: WebviewHandle, value: string, ...buffers: VSBuffer[]): Promise<boolean>
$postMessage(handle: WebviewHandle, value: string, ...buffers: VSBuffer[]): Promise<boolean>;
}
export interface IWebviewIconPath {
@@ -768,7 +768,7 @@ export interface MainThreadWebviewPanelsShape extends IDisposable {
$setTitle(handle: WebviewHandle, value: string): void;
$setIconPath(handle: WebviewHandle, value: IWebviewIconPath | undefined): void;
$registerSerializer(viewType: string, options: { serializeBuffersForPostMessage: boolean }): void;
$registerSerializer(viewType: string, options: { serializeBuffersForPostMessage: boolean; }): void;
$unregisterSerializer(viewType: string): void;
}
@@ -782,7 +782,7 @@ export interface MainThreadCustomEditorsShape extends IDisposable {
}
export interface MainThreadWebviewViewsShape extends IDisposable {
$registerWebviewViewProvider(extension: WebviewExtensionDescription, viewType: string, options: { retainContextWhenHidden?: boolean, serializeBuffersForPostMessage: boolean }): void;
$registerWebviewViewProvider(extension: WebviewExtensionDescription, viewType: string, options: { retainContextWhenHidden?: boolean, serializeBuffersForPostMessage: boolean; }): void;
$unregisterWebviewViewProvider(viewType: string): void;
$setWebviewViewTitle(handle: WebviewHandle, value: string | undefined): void;
@@ -833,7 +833,7 @@ export interface ExtHostCustomEditorsShape {
position: EditorGroupColumn,
cancellation: CancellationToken
): Promise<void>;
$createCustomDocument(resource: UriComponents, viewType: string, backupId: string | undefined, untitledDocumentData: VSBuffer | undefined, cancellation: CancellationToken): Promise<{ editable: boolean }>;
$createCustomDocument(resource: UriComponents, viewType: string, backupId: string | undefined, untitledDocumentData: VSBuffer | undefined, cancellation: CancellationToken): Promise<{ editable: boolean; }>;
$disposeCustomDocument(resource: UriComponents, viewType: string): Promise<void>;
$undo(resource: UriComponents, viewType: string, editId: number, isDirty: boolean): Promise<void>;
@@ -904,11 +904,11 @@ export interface MainThreadNotebookEditorsShape extends IDisposable {
$removeNotebookEditorDecorationType(key: string): void;
$trySetSelections(id: string, range: ICellRange[]): void;
$trySetDecorations(id: string, range: ICellRange, decorationKey: string): void;
$tryApplyEdits(editorId: string, modelVersionId: number, cellEdits: ICellEditOperationDto[]): Promise<boolean>
$tryApplyEdits(editorId: string, modelVersionId: number, cellEdits: ICellEditOperationDto[]): Promise<boolean>;
}
export interface MainThreadNotebookDocumentsShape extends IDisposable {
$tryCreateNotebook(options: { viewType: string, content?: NotebookDataDto }): Promise<UriComponents>;
$tryCreateNotebook(options: { viewType: string, content?: NotebookDataDto; }): Promise<UriComponents>;
$tryOpenNotebook(uriComponents: UriComponents): Promise<UriComponents>;
$trySaveNotebook(uri: UriComponents): Promise<boolean>;
}
@@ -925,7 +925,7 @@ export interface INotebookKernelDto2 {
supportedLanguages?: string[];
supportsInterrupt?: boolean;
supportsExecutionOrder?: boolean;
preloads?: { uri: UriComponents; provides: string[] }[];
preloads?: { uri: UriComponents; provides: string[]; }[];
}
export interface ICellExecuteOutputEditDto {
@@ -933,7 +933,7 @@ export interface ICellExecuteOutputEditDto {
uri: UriComponents;
cellHandle: number;
append?: boolean;
outputs: NotebookOutputDto[]
outputs: NotebookOutputDto[];
}
export interface ICellExecuteOutputItemEditDto {
@@ -942,7 +942,7 @@ export interface ICellExecuteOutputItemEditDto {
cellHandle: number;
append?: boolean;
outputId: string;
items: NotebookOutputItemDto[]
items: NotebookOutputItemDto[];
}
export interface ICellExecutionStateUpdateDto extends ICellExecutionStateUpdate {
@@ -993,7 +993,7 @@ export interface MainThreadUriOpenersShape extends IDisposable {
export interface ExtHostUriOpenersShape {
$canOpenUri(id: string, uri: UriComponents, token: CancellationToken): Promise<modes.ExternalUriOpenerPriority>;
$openUri(id: string, context: { resolvedUri: UriComponents, sourceUri: UriComponents }, token: CancellationToken): Promise<void>;
$openUri(id: string, context: { resolvedUri: UriComponents, sourceUri: UriComponents; }, token: CancellationToken): Promise<void>;
}
export interface ITextSearchComplete {
@@ -1189,7 +1189,7 @@ export interface PortAttributesProviderSelector {
export interface MainThreadTunnelServiceShape extends IDisposable {
$openTunnel(tunnelOptions: TunnelOptions, source: string | undefined): Promise<TunnelDto | undefined>;
$closeTunnel(remote: { host: string, port: number }): Promise<void>;
$closeTunnel(remote: { host: string, port: number; }): Promise<void>;
$getTunnels(): Promise<TunnelDescription[]>;
$setTunnelProvider(features: TunnelProviderFeatures): Promise<void>;
$setRemoteTunnelService(processId: number): Promise<void>;
@@ -1335,7 +1335,7 @@ export interface ExtHostAuthenticationShape {
}
export interface ExtHostSecretStateShape {
$onDidChangePassword(e: { extensionId: string, key: string }): Promise<void>;
$onDidChangePassword(e: { extensionId: string, key: string; }): Promise<void>;
}
export interface ExtHostSearchShape {
@@ -1392,7 +1392,7 @@ export interface SourceTargetPair {
export interface IWillRunFileOperationParticipation {
edit: IWorkspaceEditDto;
extensionNames: string[]
extensionNames: string[];
}
export interface ExtHostFileSystemEventServiceShape {
@@ -1513,8 +1513,8 @@ export interface IInlayHintDto {
}
export interface IInlayHintsDto {
cacheId?: CacheId
hints: IInlayHintDto[]
cacheId?: CacheId;
hints: IInlayHintDto[];
}
export interface ILocationDto {
@@ -1544,7 +1544,7 @@ export interface IWorkspaceEditEntryMetadataDto {
needsConfirmation: boolean;
label: string;
description?: string;
iconPath?: { id: string } | UriComponents | { light: UriComponents, dark: UriComponents };
iconPath?: { id: string; } | UriComponents | { light: UriComponents, dark: UriComponents; };
}
export const enum WorkspaceEditType {
@@ -1557,7 +1557,7 @@ export interface IWorkspaceFileEditDto {
_type: WorkspaceEditType.File;
oldUri?: UriComponents;
newUri?: UriComponents;
options?: modes.WorkspaceFileEditOptions
options?: modes.WorkspaceFileEditOptions;
metadata?: IWorkspaceEditEntryMetadataDto;
}
@@ -1576,7 +1576,7 @@ export type ICellEditOperationDto =
editType: notebookCommon.CellEditType.Replace,
index: number,
count: number,
cells: NotebookCellDataDto[]
cells: NotebookCellDataDto[];
};
export interface IWorkspaceCellEditDto {
@@ -1628,7 +1628,7 @@ export interface ICodeActionListDto {
export interface ICodeActionProviderMetadataDto {
readonly providedKinds?: readonly string[];
readonly documentation?: ReadonlyArray<{ readonly kind: string, readonly command: ICommandDto }>;
readonly documentation?: ReadonlyArray<{ readonly kind: string, readonly command: ICommandDto; }>;
}
export type CacheId = number;
@@ -1672,7 +1672,7 @@ export interface IOutgoingCallDto {
export interface ILanguageWordDefinitionDto {
languageId: string;
regexSource: string;
regexFlags: string
regexFlags: string;
}
export interface ILinkedEditingRangesDto {
@@ -1711,7 +1711,7 @@ export interface ExtHostLanguageFeaturesShape {
$provideWorkspaceSymbols(handle: number, search: string, token: CancellationToken): Promise<IWorkspaceSymbolsDto>;
$resolveWorkspaceSymbol(handle: number, symbol: IWorkspaceSymbolDto, token: CancellationToken): Promise<IWorkspaceSymbolDto | undefined>;
$releaseWorkspaceSymbols(handle: number, id: number): void;
$provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string, token: CancellationToken): Promise<IWorkspaceEditDto & { rejectReason?: string } | undefined>;
$provideRenameEdits(handle: number, resource: UriComponents, position: IPosition, newName: string, token: CancellationToken): Promise<IWorkspaceEditDto & { rejectReason?: string; } | undefined>;
$resolveRenameLocation(handle: number, resource: UriComponents, position: IPosition, token: CancellationToken): Promise<modes.RenameLocation | undefined>;
$provideDocumentSemanticTokens(handle: number, resource: UriComponents, previousResultId: number, token: CancellationToken): Promise<VSBuffer | null>;
$releaseDocumentSemanticTokens(handle: number, semanticColoringResultId: number): void;
@@ -1724,7 +1724,7 @@ export interface ExtHostLanguageFeaturesShape {
$freeInlineCompletionsList(handle: number, pid: number): void;
$provideSignatureHelp(handle: number, resource: UriComponents, position: IPosition, context: modes.SignatureHelpContext, token: CancellationToken): Promise<ISignatureHelpDto | undefined>;
$releaseSignatureHelp(handle: number, id: number): void;
$provideInlayHints(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise<IInlayHintsDto | undefined>
$provideInlayHints(handle: number, resource: UriComponents, range: IRange, token: CancellationToken): Promise<IInlayHintsDto | undefined>;
$resolveInlayHint(handle: number, id: ChainedCacheId, token: CancellationToken): Promise<IInlayHintDto | undefined>;
$releaseInlayHints(handle: number, id: number): void;
$provideDocumentLinks(handle: number, resource: UriComponents, token: CancellationToken): Promise<ILinksListDto | undefined>;
@@ -1974,7 +1974,7 @@ export interface INotebookEditorAddData {
documentUri: UriComponents;
selections: ICellRange[];
visibleRanges: ICellRange[];
viewColumn?: number
viewColumn?: number;
}
export interface INotebookDocumentsAndEditorsDelta {
@@ -2125,7 +2125,7 @@ export interface MainThreadThemingShape extends IDisposable {
export interface ExtHostTunnelServiceShape {
$forwardPort(tunnelOptions: TunnelOptions, tunnelCreationOptions: TunnelCreationOptions): Promise<TunnelDto | undefined>;
$closeTunnel(remote: { host: string, port: number }, silent?: boolean): Promise<void>;
$closeTunnel(remote: { host: string, port: number; }, silent?: boolean): Promise<void>;
$onDidTunnelsChange(): Promise<void>;
$registerCandidateFinder(enable: boolean): Promise<void>;
$applyCandidateFilter(candidates: CandidatePort[]): Promise<CandidatePort[]>;