@@ -138,10 +138,15 @@ export namespace ShowInformationMessageRequest {
138138}
139139
140140export namespace SetStatusBarMessageRequest {
141- export const type : RequestType < string , EditorOperationResponse , void > =
141+ export const type : RequestType < StatusBarMessageDetails , EditorOperationResponse , void > =
142142 { get method ( ) { return 'editor/setStatusBarMessage' ; } } ;
143143}
144144
145+ export interface StatusBarMessageDetails {
146+ message : string ;
147+ timeout ?: number ;
148+ }
149+
145150export class ExtensionCommandsFeature implements IFeature {
146151
147152 private command : vscode . Disposable ;
@@ -207,7 +212,7 @@ export class ExtensionCommandsFeature implements IFeature {
207212
208213 this . languageClient . onRequest (
209214 SetStatusBarMessageRequest . type ,
210- message => this . setStatusBarMessage ( message ) ) ;
215+ messageDetails => this . setStatusBarMessage ( messageDetails ) ) ;
211216 }
212217 }
213218
@@ -340,8 +345,15 @@ export class ExtensionCommandsFeature implements IFeature {
340345 . then ( _ => EditorOperationResponse . Completed ) ;
341346 }
342347
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+
345357 return EditorOperationResponse . Completed ;
346358 }
347359}
0 commit comments