Skip to content

Commit 71904b9

Browse files
authored
Sort issue completion items by updated time (#6824)
Fixes #6737
1 parent 8e00d98 commit 71904b9

1 file changed

Lines changed: 3 additions & 15 deletions

File tree

src/issues/issueCompletionProvider.ts

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
115115
}
116116
}
117117

118-
const completionItems: Map<string, vscode.CompletionItem> = new Map();
119-
const now = new Date();
118+
const completionItems: Map<string, IssueCompletionItem> = new Map();
120119
let repo: PullRequestDefaults | undefined;
121120
let uri: vscode.Uri | undefined;
122121
if (document.languageId === 'scminput') {
@@ -148,26 +147,18 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
148147
}
149148
const issueData = this.stateManager.getIssueCollection(folderManager?.repository.rootUri ?? uri);
150149

151-
// Count up total number of issues. The number of queries is expected to be small.
152-
let totalIssues = 0;
153-
for (const issueQuery of issueData) {
154-
const issuesOrMilestones: IssueQueryResult = await issueQuery[1];
155-
totalIssues += (issuesOrMilestones.issues ?? []).length;
156-
}
157-
158150
for (const issueQuery of issueData) {
159151
const issuesOrMilestones: IssueQueryResult = await issueQuery[1];
160152
if ((issuesOrMilestones.issues ?? []).length === 0) {
161153
continue;
162154
}
163-
let index = 0;
164155
for (const issue of (issuesOrMilestones.issues ?? [])) {
165156
if (filterOwnerAndRepo && ((issue as IssueModel).remote.owner !== filterOwnerAndRepo.owner || (issue as IssueModel).remote.repositoryName !== filterOwnerAndRepo.repo)) {
166157
continue;
167158
}
168159
completionItems.set(
169160
getIssueNumberLabel(issue as IssueModel),
170-
await this.completionItemFromIssue(repo, issue as IssueModel, now, range, document, index++, totalIssues),
161+
await this.completionItemFromIssue(repo, issue as IssueModel, range, document),
171162
);
172163
}
173164

@@ -178,11 +169,8 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
178169
private async completionItemFromIssue(
179170
repo: PullRequestDefaults | undefined,
180171
issue: IssueModel,
181-
now: Date,
182172
range: vscode.Range,
183173
document: vscode.TextDocument,
184-
index: number,
185-
totalCount: number,
186174
milestone?: IMilestone,
187175
): Promise<IssueCompletionItem> {
188176
const item: IssueCompletionItem = new IssueCompletionItem(issue);
@@ -201,7 +189,7 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
201189
item.documentation = issue.body;
202190
item.range = range;
203191
item.detail = milestone ? milestone.title : issue.milestone?.title;
204-
item.sortText = `${index}`.padStart(`${totalCount}`.length, '0');
192+
item.sortText = `${new Date(issue.updatedAt).getTime()}`;
205193
item.filterText = `${item.detail} # ${issue.number} ${issue.title} ${item.documentation}`;
206194
return item;
207195
}

0 commit comments

Comments
 (0)