mirror of
https://github.com/Microsoft/vscode
synced 2024-09-13 13:46:13 +00:00
Changes limit to take a cursor object — #91722
This commit is contained in:
parent
6f7c9f38b6
commit
d1c1e27028
|
@ -114,9 +114,9 @@ export class GitTimelineProvider implements TimelineProvider {
|
|||
// TODO[ECA]: Ensure that the uri is a file -- if not we could get the history of the repo?
|
||||
|
||||
let limit: number | undefined;
|
||||
if (typeof options.limit === 'string') {
|
||||
if (options.limit !== undefined && typeof options.limit !== 'number') {
|
||||
try {
|
||||
const result = await this._model.git.exec(repo.root, ['rev-list', '--count', `${options.limit}..`, '--', uri.fsPath]);
|
||||
const result = await this._model.git.exec(repo.root, ['rev-list', '--count', `${options.limit.cursor}..`, '--', uri.fsPath]);
|
||||
if (!result.exitCode) {
|
||||
// Ask for 1 more than so we can determine if there are more commits
|
||||
limit = Number(result.stdout) + 1;
|
||||
|
|
2
src/vs/vscode.proposed.d.ts
vendored
2
src/vs/vscode.proposed.d.ts
vendored
|
@ -1600,7 +1600,7 @@ declare module 'vscode' {
|
|||
/**
|
||||
* The maximum number or the ending cursor of timeline items that should be returned.
|
||||
*/
|
||||
limit?: number | string;
|
||||
limit?: number | { cursor: string };
|
||||
}
|
||||
|
||||
export interface TimelineProvider {
|
||||
|
|
|
@ -80,8 +80,8 @@ interface TimelineActionContext {
|
|||
}
|
||||
|
||||
interface TimelineCursors {
|
||||
startCursors?: { before: any; after?: any };
|
||||
endCursors?: { before: any; after?: any };
|
||||
startCursors?: { before: string; after?: string };
|
||||
endCursors?: { before: string; after?: string };
|
||||
more: boolean;
|
||||
}
|
||||
|
||||
|
@ -308,7 +308,9 @@ export class TimelinePane extends ViewPane {
|
|||
{
|
||||
cursor: options.before ? cursors?.startCursors?.before : (cursors?.endCursors ?? cursors?.startCursors)?.after,
|
||||
...options,
|
||||
limit: options.limit === 0 ? undefined : options.limit ?? defaultPageSize
|
||||
limit: options.limit === 0
|
||||
? undefined
|
||||
: options.limit ?? defaultPageSize
|
||||
},
|
||||
request?.tokenSource ?? new CancellationTokenSource(), { cacheResults: true, resetCache: false }
|
||||
)!;
|
||||
|
@ -329,7 +331,11 @@ export class TimelinePane extends ViewPane {
|
|||
source, this._uri,
|
||||
{
|
||||
...options,
|
||||
limit: options.limit === 0 ? undefined : (reset ? cursors?.endCursors?.after : undefined) ?? options.limit ?? defaultPageSize
|
||||
limit: options.limit === 0
|
||||
? undefined
|
||||
: (reset && cursors?.endCursors?.after !== undefined
|
||||
? { cursor: cursors.endCursors.after }
|
||||
: undefined) ?? options.limit ?? defaultPageSize
|
||||
},
|
||||
new CancellationTokenSource(), { cacheResults: true, resetCache: true }
|
||||
)!;
|
||||
|
|
|
@ -40,7 +40,7 @@ export interface TimelineChangeEvent {
|
|||
export interface TimelineOptions {
|
||||
cursor?: string;
|
||||
before?: boolean;
|
||||
limit?: number | string;
|
||||
limit?: number | { cursor: string };
|
||||
}
|
||||
|
||||
export interface InternalTimelineOptions {
|
||||
|
|
Loading…
Reference in a new issue