Skip to content

Commit f18884f

Browse files
authored
Support assigning, referencing Padawan (#6808)
Fixes #6742
1 parent d861070 commit f18884f

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

src/github/repositoriesManager.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import { Disposable, disposeAll } from '../common/lifecycle';
1111
import Logger from '../common/logger';
1212
import { ITelemetry } from '../common/telemetry';
1313
import { EventType } from '../common/timelineEvent';
14-
import { fromRepoUri, Schemes } from '../common/uri';
14+
import { fromPRUri, fromRepoUri, Schemes } from '../common/uri';
1515
import { compareIgnoreCase, isDescendant } from '../common/utils';
1616
import { CredentialStore } from './credentials';
1717
import { FolderRepositoryManager, ReposManagerState, ReposManagerStateContext } from './folderRepositoryManager';
@@ -134,6 +134,7 @@ export class RepositoriesManager extends Disposable {
134134
}
135135

136136
const repoInfo = ((uri.scheme === Schemes.Repo) ? fromRepoUri(uri) : undefined);
137+
const prInfo = ((uri.scheme === Schemes.Pr) ? fromPRUri(uri) : undefined);
137138

138139
// Prioritize longest path first to handle nested workspaces
139140
const folderManagers = this._folderManagers
@@ -145,6 +146,8 @@ export class RepositoriesManager extends Disposable {
145146

146147
if (repoInfo && folderManager.findExistingGitHubRepository({ owner: repoInfo.owner, repositoryName: repoInfo.repo })) {
147148
return folderManager;
149+
} else if (prInfo && folderManager.repository.state.remotes.find(remote => remote.name === prInfo.remoteName)) {
150+
return folderManager;
148151
} else {
149152
const testUriRelativePath = uri.path.substring(
150153
managerPath.length > 1 ? managerPath.length + 1 : managerPath.length,

src/issues/userCompletionProvider.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import * as path from 'path';
77
import * as vscode from 'vscode';
8+
import { SPECIAL_COMMENT_AUTHORS } from '../common/comment';
89
import Logger from '../common/logger';
910
import { IGNORE_USER_COMPLETION_TRIGGER, ISSUES_SETTINGS_NAMESPACE } from '../common/settingKeys';
1011
import { TimelineEvent } from '../common/timelineEvent';
@@ -108,9 +109,10 @@ export class UserCompletionProvider implements vscode.CompletionItemProvider {
108109
let completionItems: vscode.CompletionItem[] = [];
109110
const userMap = await this.stateManager.getUserMap(repoUri);
110111
userMap.forEach(item => {
112+
const login = item.specialDisplayName ?? item.login;
111113
const completionItem: UserCompletion = new UserCompletion(
112-
{ label: item.login, description: item.name }, vscode.CompletionItemKind.User);
113-
completionItem.insertText = `@${item.login}`;
114+
{ label: login, description: item.name }, vscode.CompletionItemKind.User);
115+
completionItem.insertText = `@${login}`;
114116
completionItem.login = item.login;
115117
completionItem.uri = repoUri;
116118
completionItem.range = range;

0 commit comments

Comments
 (0)