Skip to content

Commit 3d64905

Browse files
authored
Merge pull request #195 from Rutherther/correct-shutdown
Shutdown the server on `shutdown` request using `connection.handle_shutdown`.
2 parents 6681f48 + a1eef68 commit 3d64905

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

vhdl_ls/src/stdio_server.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff 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(

0 commit comments

Comments
 (0)