@@ -45,7 +45,6 @@ export class ReleaseNotesManager {
4545 private readonly disposables = new DisposableStore ( ) ;
4646
4747 public constructor (
48- private readonly _useCurrentFile : boolean ,
4948 @IEnvironmentService private readonly _environmentService : IEnvironmentService ,
5049 @IKeybindingService private readonly _keybindingService : IKeybindingService ,
5150 @ILanguageService private readonly _languageService : ILanguageService ,
@@ -81,8 +80,8 @@ export class ReleaseNotesManager {
8180 }
8281 }
8382
84- public async show ( version : string ) : Promise < boolean > {
85- const releaseNoteText = await this . loadReleaseNotes ( version ) ;
83+ public async show ( version : string , useCurrentFile : boolean ) : Promise < boolean > {
84+ const releaseNoteText = await this . loadReleaseNotes ( version , useCurrentFile ) ;
8685 this . _lastText = releaseNoteText ;
8786 const html = await this . renderBody ( releaseNoteText ) ;
8887 const title = nls . localize ( 'releaseNotesInputName' , "Release Notes: {0}" , version ) ;
@@ -137,7 +136,7 @@ export class ReleaseNotesManager {
137136 return true ;
138137 }
139138
140- private async loadReleaseNotes ( version : string ) : Promise < string > {
139+ private async loadReleaseNotes ( version : string , useCurrentFile : boolean ) : Promise < string > {
141140 const match = / ^ ( \d + \. \d + ) \. / . exec ( version ) ;
142141 if ( ! match ) {
143142 throw new Error ( 'not found' ) ;
@@ -199,7 +198,12 @@ export class ReleaseNotesManager {
199198 const fetchReleaseNotes = async ( ) => {
200199 let text ;
201200 try {
202- text = this . _useCurrentFile ? this . _codeEditorService . getActiveCodeEditor ( ) ?. getModel ( ) ?. getValue ( ) : await asTextOrError ( await this . _requestService . request ( { url } , CancellationToken . None ) ) ;
201+ if ( useCurrentFile ) {
202+ const file = this . _codeEditorService . getActiveCodeEditor ( ) ?. getModel ( ) ?. getValue ( ) ;
203+ text = file ? file . substring ( file . indexOf ( '#' ) ) : undefined ;
204+ } else {
205+ text = await asTextOrError ( await this . _requestService . request ( { url } , CancellationToken . None ) ) ;
206+ }
203207 } catch {
204208 throw new Error ( 'Failed to fetch release notes' ) ;
205209 }
@@ -211,6 +215,10 @@ export class ReleaseNotesManager {
211215 return patchKeybindings ( text ) ;
212216 } ;
213217
218+ // Don't cache the current file
219+ if ( useCurrentFile ) {
220+ return fetchReleaseNotes ( ) ;
221+ }
214222 if ( ! this . _releaseNotesCache . has ( version ) ) {
215223 this . _releaseNotesCache . set ( version , ( async ( ) => {
216224 try {
0 commit comments