declare module 'vscode' { export interface SourceControl { historyProvider?: SourceControlHistoryProvider; } export interface SourceControlHistoryProvider { actionButton?: SourceControlActionButton; currentHistoryItemGroup?: SourceControlHistoryItemGroup; /** * Fires when the action button changes */ onDidChangeActionButton: Event; /** * Fires when the current history item group changes (ex: checkout) */ onDidChangeCurrentHistoryItemGroup: Event; /** * Fires when the history item groups change (ex: commit, push, fetch) */ // onDidChangeHistoryItemGroups: Event; provideHistoryItems(historyItemGroupId: string, options: SourceControlHistoryOptions, token: CancellationToken): ProviderResult; provideHistoryItemChanges(historyItemId: string, token: CancellationToken): ProviderResult; resolveHistoryItemGroupBase(historyItemGroupId: string, token: CancellationToken): ProviderResult; resolveHistoryItemGroupCommonAncestor(historyItemGroupId1: string, historyItemGroupId: string, token: CancellationToken): ProviderResult<{ id: string; ahead: number; behind: number }>; } export interface SourceControlHistoryOptions { readonly cursor?: string; readonly limit?: number | { id?: string }; } export interface SourceControlHistoryItemGroup { readonly id: string; readonly label: string; readonly upstream?: SourceControlRemoteHistoryItemGroup; } export interface SourceControlRemoteHistoryItemGroup { readonly id: string; readonly label: string; } export interface SourceControlHistoryItem { readonly id: string; readonly parentIds: string[]; readonly label: string; readonly description?: string; readonly icon?: Uri | { light: Uri; dark: Uri } | ThemeIcon; readonly timestamp?: number; } export interface SourceControlHistoryItemChange { readonly uri: Uri; readonly originalUri: Uri | undefined; readonly modifiedUri: Uri | undefined; readonly renameUri: Uri | undefined; } }