@@ -138,10 +138,15 @@ export namespace ShowInformationMessageRequest {
138
138
}
139
139
140
140
export namespace SetStatusBarMessageRequest {
141
- export const type : RequestType < string , EditorOperationResponse , void > =
141
+ export const type : RequestType < StatusBarMessageDetails , EditorOperationResponse , void > =
142
142
{ get method ( ) { return 'editor/setStatusBarMessage' ; } } ;
143
143
}
144
144
145
+ export interface StatusBarMessageDetails {
146
+ message : string ;
147
+ timeout ?: number ;
148
+ }
149
+
145
150
export class ExtensionCommandsFeature implements IFeature {
146
151
147
152
private command : vscode . Disposable ;
@@ -207,7 +212,7 @@ export class ExtensionCommandsFeature implements IFeature {
207
212
208
213
this . languageClient . onRequest (
209
214
SetStatusBarMessageRequest . type ,
210
- message => this . setStatusBarMessage ( message ) ) ;
215
+ messageDetails => this . setStatusBarMessage ( messageDetails ) ) ;
211
216
}
212
217
}
213
218
@@ -340,8 +345,15 @@ export class ExtensionCommandsFeature implements IFeature {
340
345
. then ( _ => EditorOperationResponse . Completed ) ;
341
346
}
342
347
343
- private setStatusBarMessage ( message : string ) : EditorOperationResponse {
344
- vscode . window . setStatusBarMessage ( message ) ;
348
+ private setStatusBarMessage ( messageDetails : StatusBarMessageDetails ) : EditorOperationResponse {
349
+
350
+ if ( messageDetails . timeout ) {
351
+ vscode . window . setStatusBarMessage ( messageDetails . message , messageDetails . timeout ) ;
352
+ }
353
+ else {
354
+ vscode . window . setStatusBarMessage ( messageDetails . message ) ;
355
+ }
356
+
345
357
return EditorOperationResponse . Completed ;
346
358
}
347
359
}
0 commit comments