File tree Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Expand file tree Collapse file tree 1 file changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -86,7 +86,18 @@ impl ConnectionRpcChannel {
86
86
while let Ok ( message) = self . connection . receiver . recv ( ) {
87
87
trace ! ( "Received message: {:?}" , message) ;
88
88
match message {
89
- lsp_server:: Message :: Request ( request) => self . handle_request ( & mut server, request) ,
89
+ lsp_server:: Message :: Request ( request) => {
90
+ match self . connection . handle_shutdown ( & request) {
91
+ Ok ( shutdown) => {
92
+ if shutdown {
93
+ server. shutdown_server ( ) ;
94
+ } else {
95
+ self . handle_request ( & mut server, request)
96
+ }
97
+ }
98
+ Err ( err) => panic ! ( "{err:?}" ) ,
99
+ }
100
+ }
90
101
lsp_server:: Message :: Notification ( notification) => {
91
102
self . handle_notification ( & mut server, notification) ;
92
103
}
@@ -195,14 +206,6 @@ impl ConnectionRpcChannel {
195
206
}
196
207
Err ( request) => request,
197
208
} ;
198
- let request = match extract :: < request:: Shutdown > ( request) {
199
- Ok ( ( id, _params) ) => {
200
- server. shutdown_server ( ) ;
201
- self . send_response ( lsp_server:: Response :: new_ok ( id, ( ) ) ) ;
202
- return ;
203
- }
204
- Err ( request) => request,
205
- } ;
206
209
207
210
debug ! ( "Unhandled request: {:?}" , request) ;
208
211
self . send_response ( lsp_server:: Response :: new_err (
You can’t perform that action at this time.
0 commit comments