@@ -45,7 +45,6 @@ export class ReleaseNotesManager {
45
45
private readonly disposables = new DisposableStore ( ) ;
46
46
47
47
public constructor (
48
- private readonly _useCurrentFile : boolean ,
49
48
@IEnvironmentService private readonly _environmentService : IEnvironmentService ,
50
49
@IKeybindingService private readonly _keybindingService : IKeybindingService ,
51
50
@ILanguageService private readonly _languageService : ILanguageService ,
@@ -81,8 +80,8 @@ export class ReleaseNotesManager {
81
80
}
82
81
}
83
82
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 ) ;
86
85
this . _lastText = releaseNoteText ;
87
86
const html = await this . renderBody ( releaseNoteText ) ;
88
87
const title = nls . localize ( 'releaseNotesInputName' , "Release Notes: {0}" , version ) ;
@@ -137,7 +136,7 @@ export class ReleaseNotesManager {
137
136
return true ;
138
137
}
139
138
140
- private async loadReleaseNotes ( version : string ) : Promise < string > {
139
+ private async loadReleaseNotes ( version : string , useCurrentFile : boolean ) : Promise < string > {
141
140
const match = / ^ ( \d + \. \d + ) \. / . exec ( version ) ;
142
141
if ( ! match ) {
143
142
throw new Error ( 'not found' ) ;
@@ -199,7 +198,12 @@ export class ReleaseNotesManager {
199
198
const fetchReleaseNotes = async ( ) => {
200
199
let text ;
201
200
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
+ }
203
207
} catch {
204
208
throw new Error ( 'Failed to fetch release notes' ) ;
205
209
}
@@ -211,6 +215,10 @@ export class ReleaseNotesManager {
211
215
return patchKeybindings ( text ) ;
212
216
} ;
213
217
218
+ // Don't cache the current file
219
+ if ( useCurrentFile ) {
220
+ return fetchReleaseNotes ( ) ;
221
+ }
214
222
if ( ! this . _releaseNotesCache . has ( version ) ) {
215
223
this . _releaseNotesCache . set ( version , ( async ( ) => {
216
224
try {
0 commit comments