@@ -39,7 +39,7 @@ export interface CommentReactionHandler {
39
39
export function threadRange ( startLine : number , endLine : number , endCharacter ?: number ) : vscode . Range {
40
40
if ( ( startLine !== endLine ) && ( endCharacter === undefined ) ) {
41
41
endCharacter = 300 ; // 300 is a "large" number that will select a lot of the line since don't know anything about the line length
42
- } else {
42
+ } else if ( ! endCharacter ) {
43
43
endCharacter = 0 ;
44
44
}
45
45
return new vscode . Range ( startLine , 0 , endLine , endCharacter ) ;
@@ -89,7 +89,20 @@ export function getCommentCollapsibleState(isResolved: boolean, expand?: boolean
89
89
? vscode . CommentThreadCollapsibleState . Expanded : vscode . CommentThreadCollapsibleState . Collapsed ;
90
90
}
91
91
92
- export function updateThread ( vscodeThread : GHPRCommentThread , reviewThread : IReviewThread , expand ?: boolean ) {
92
+
93
+ export function updateThreadWithRange ( vscodeThread : GHPRCommentThread , reviewThread : IReviewThread , expand ?: boolean ) {
94
+ const editors = vscode . window . visibleTextEditors ;
95
+ for ( let editor of editors ) {
96
+ if ( editor . document . uri . toString ( ) === vscodeThread . uri . toString ( ) ) {
97
+ const endLine = editor . document . lineAt ( vscodeThread . range . end . line ) ;
98
+ const range = new vscode . Range ( vscodeThread . range . start . line , 0 , vscodeThread . range . end . line , endLine . text . length ) ;
99
+ updateThread ( vscodeThread , reviewThread , expand , range ) ;
100
+ break ;
101
+ }
102
+ }
103
+ }
104
+
105
+ export function updateThread ( vscodeThread : GHPRCommentThread , reviewThread : IReviewThread , expand ?: boolean , range ?: vscode . Range ) {
93
106
if ( reviewThread . viewerCanResolve && ! reviewThread . isResolved ) {
94
107
vscodeThread . contextValue = 'canResolve' ;
95
108
} else if ( reviewThread . viewerCanUnresolve && reviewThread . isResolved ) {
@@ -101,7 +114,9 @@ export function updateThread(vscodeThread: GHPRCommentThread, reviewThread: IRev
101
114
vscodeThread . state = newResolvedState ;
102
115
}
103
116
vscodeThread . collapsibleState = getCommentCollapsibleState ( reviewThread . isResolved , expand ) ;
104
-
117
+ if ( range ) {
118
+ vscodeThread . range = range ;
119
+ }
105
120
vscodeThread . comments = reviewThread . comments . map ( c => new GHPRComment ( c , vscodeThread ) ) ;
106
121
updateCommentThreadLabel ( vscodeThread ) ;
107
122
}
0 commit comments