File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 35543554 },
35553555 {
35563556 "command" : " pr.applyChangesFromDescription"
3557+ },
3558+ {
3559+ "command" : " pr.openChanges"
35573560 }
35583561 ]
35593562 },
Original file line number Diff line number Diff line change @@ -716,7 +716,7 @@ export function registerCommands(
716716 } ) ) ;
717717
718718 context . subscriptions . push (
719- vscode . commands . registerCommand ( 'pr.openChanges' , async ( pr : PRNode | RepositoryChangesNode | PullRequestModel | OverviewContext | ChatSessionWithPR | undefined ) => {
719+ vscode . commands . registerCommand ( 'pr.openChanges' , async ( pr : PRNode | RepositoryChangesNode | PullRequestModel | OverviewContext | ChatSessionWithPR | { path : string } | undefined ) => {
720720 if ( pr === undefined ) {
721721 // This is unexpected, but has happened a few times.
722722 Logger . error ( 'Unexpectedly received undefined when picking a PR.' , logId ) ;
@@ -739,7 +739,21 @@ export function registerCommands(
739739 preventDefaultContextMenuItems : true ,
740740 } ) ;
741741 pullRequestModel = resolved ?. pr ;
742- } else {
742+ }
743+ else if ( contextHasPath ( pr ) ) {
744+ const { path } = pr ;
745+ const prNumber = prNumberFromUriPath ( path ) ;
746+ if ( ! prNumber ) {
747+ return vscode . window . showErrorMessage ( vscode . l10n . t ( 'No pull request number found in context path.' ) ) ;
748+ }
749+ const folderManager = reposManager . folderManagers [ 0 ] ;
750+ const pullRequest = await folderManager . fetchById ( folderManager . gitHubRepositories [ 0 ] , Number ( prNumber ) ) ;
751+ if ( ! pullRequest ) {
752+ return vscode . window . showErrorMessage ( vscode . l10n . t ( 'Unable to find pull request #{0}' , prNumber . toString ( ) ) ) ;
753+ }
754+ pullRequestModel = pullRequest ;
755+ }
756+ else {
743757 const resolved = await resolvePr ( pr as OverviewContext ) ;
744758 pullRequestModel = resolved ?. pr ;
745759 }
You can’t perform that action at this time.
0 commit comments