@@ -46,7 +46,7 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
46
46
47
47
await this . stateManager . tryInitializeAndWait ( ) ;
48
48
49
- const completionItems : vscode . CompletionItem [ ] = [ ] ;
49
+ const completionItems : Map < string , vscode . CompletionItem > = new Map ( ) ;
50
50
const now = new Date ( ) ;
51
51
let repo : PullRequestDefaults | undefined ;
52
52
try {
@@ -63,18 +63,18 @@ export class IssueCompletionProvider implements vscode.CompletionItemProvider {
63
63
if ( issuesOrMilestones [ 0 ] instanceof IssueModel ) {
64
64
let index = 0 ;
65
65
for ( const issue of issuesOrMilestones ) {
66
- completionItems . push ( await this . completionItemFromIssue ( repo , < IssueModel > issue , now , range , document , index ++ ) ) ;
66
+ completionItems . set ( getIssueNumberLabel ( < IssueModel > issue ) , await this . completionItemFromIssue ( repo , < IssueModel > issue , now , range , document , index ++ ) ) ;
67
67
}
68
68
} else {
69
69
for ( let index = 0 ; index < issuesOrMilestones . length ; index ++ ) {
70
70
const value : MilestoneModel = < MilestoneModel > issuesOrMilestones [ index ] ;
71
71
for ( const issue of value . issues ) {
72
- completionItems . push ( await this . completionItemFromIssue ( repo , issue , now , range , document , index , value . milestone ) ) ;
72
+ completionItems . set ( getIssueNumberLabel ( issue ) , await this . completionItemFromIssue ( repo , issue , now , range , document , index , value . milestone ) ) ;
73
73
}
74
74
}
75
75
}
76
76
}
77
- return completionItems ;
77
+ return [ ... completionItems . values ( ) ] ;
78
78
}
79
79
80
80
private async completionItemFromIssue ( repo : PullRequestDefaults | undefined , issue : IssueModel , now : Date , range : vscode . Range , document : vscode . TextDocument , index : number , milestone ?: IMilestone ) : Promise < IssueCompletionItem > {
0 commit comments