@@ -224,46 +224,42 @@ impl lsp::notification::Notification for DidChangeStatus {
224
224
const METHOD : & ' static str = "didChangeStatus" ;
225
225
}
226
226
227
- // Standard LSP window/logMessage notification
228
- pub enum WindowLogMessage { }
227
+ // Standard LSP window/showMessageRequest request
228
+ pub enum WindowShowMessageRequest { }
229
229
230
230
#[ derive( Debug , Serialize , Deserialize ) ]
231
- pub struct WindowLogMessageParams {
231
+ pub struct ShowMessageParams {
232
232
/// The message type. See {@link MessageType}
233
233
#[ serde( rename = "type" ) ]
234
- pub type_ : i32 ,
234
+ pub type_ : MessageType ,
235
235
/// The actual message
236
236
pub message : String ,
237
237
}
238
238
239
- impl lsp:: notification:: Notification for WindowLogMessage {
240
- type Params = WindowLogMessageParams ;
241
- const METHOD : & ' static str = "window/logMessage" ;
239
+ #[ derive( Debug , Serialize , Deserialize , Clone , Copy ) ]
240
+ #[ repr( i32 ) ]
241
+ pub enum MessageType {
242
+ Error = 1 ,
243
+ Warning = 2 ,
244
+ Info = 3 ,
245
+ Log = 4 ,
246
+ Debug = 5 ,
242
247
}
243
248
244
- // Standard LSP window/showMessageRequest request
245
- pub enum WindowShowMessageRequest { }
246
-
247
- #[ derive( Debug , Serialize , Deserialize ) ]
248
- pub struct MessageActionItem {
249
- /// A short title like 'Retry', 'Open Log' etc.
250
- pub title : String ,
251
- }
252
-
253
- #[ derive( Debug , Serialize , Deserialize ) ]
254
- pub struct WindowShowMessageRequestParams {
255
- /// The message type. See {@link MessageType}
256
- #[ serde( rename = "type" ) ]
257
- pub type_ : i32 ,
258
- /// The actual message
259
- pub message : String ,
260
- /// The message action items to present.
261
- pub actions : Option < Vec < MessageActionItem > > ,
249
+ impl MessageType {
250
+ pub fn as_str ( & self ) -> & ' static str {
251
+ match self {
252
+ MessageType :: Error => "Error" ,
253
+ MessageType :: Warning => "Warning" ,
254
+ MessageType :: Info => "Info" ,
255
+ MessageType :: Log => "Log" ,
256
+ MessageType :: Debug => "Debug" ,
257
+ }
258
+ }
262
259
}
263
260
264
- impl lsp:: request:: Request for WindowShowMessageRequest {
265
- type Params = WindowShowMessageRequestParams ;
266
- type Result = Option < MessageActionItem > ;
261
+ impl lsp:: notification:: Notification for WindowShowMessageRequest {
262
+ type Params = ShowMessageParams ;
267
263
const METHOD : & ' static str = "window/showMessageRequest" ;
268
264
}
269
265
0 commit comments