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 {
8686 while let Ok ( message) = self . connection . receiver . recv ( ) {
8787 trace ! ( "Received message: {:?}" , message) ;
8888 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+ }
90101 lsp_server:: Message :: Notification ( notification) => {
91102 self . handle_notification ( & mut server, notification) ;
92103 }
@@ -195,14 +206,6 @@ impl ConnectionRpcChannel {
195206 }
196207 Err ( request) => request,
197208 } ;
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- } ;
206209
207210 debug ! ( "Unhandled request: {:?}" , request) ;
208211 self . send_response ( lsp_server:: Response :: new_err (
You can’t perform that action at this time.
0 commit comments