Remove some of the panics, just log instead.
This commit is contained in:
parent
d24844b73d
commit
caf4349925
3 changed files with 20 additions and 8 deletions
|
@ -130,10 +130,10 @@ pub enum Notification {
|
|||
}
|
||||
|
||||
impl Notification {
|
||||
pub fn parse(method: &str, params: jsonrpc::Params) -> Notification {
|
||||
pub fn parse(method: &str, params: jsonrpc::Params) -> Option<Notification> {
|
||||
use lsp::notification::Notification as _;
|
||||
|
||||
match method {
|
||||
let notification = match method {
|
||||
lsp::notification::PublishDiagnostics::METHOD => {
|
||||
let params: lsp::PublishDiagnosticsParams = params
|
||||
.parse()
|
||||
|
@ -155,8 +155,13 @@ impl Notification {
|
|||
|
||||
Notification::LogMessage(params)
|
||||
}
|
||||
_ => unimplemented!("unhandled notification: {}", method),
|
||||
}
|
||||
_ => {
|
||||
log::error!("unhandled LSP notification: {}", method);
|
||||
return None;
|
||||
}
|
||||
};
|
||||
|
||||
Some(notification)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -145,7 +145,11 @@ impl Application {
|
|||
use helix_lsp::{Call, Notification};
|
||||
match call {
|
||||
Call::Notification(helix_lsp::jsonrpc::Notification { method, params, .. }) => {
|
||||
let notification = Notification::parse(&method, params);
|
||||
let notification = match Notification::parse(&method, params) {
|
||||
Some(notification) => notification,
|
||||
None => return,
|
||||
};
|
||||
|
||||
// TODO: parse should return Result/Option
|
||||
match notification {
|
||||
Notification::PublishDiagnostics(params) => {
|
||||
|
|
|
@ -1883,7 +1883,8 @@ pub fn format_selections(cx: &mut Context) {
|
|||
};
|
||||
// TODO: handle fails
|
||||
// TODO: concurrent map
|
||||
unimplemented!(); // neeed to block to get the formatting
|
||||
|
||||
// TODO: need to block to get the formatting
|
||||
|
||||
// let edits = block_on(language_server.text_document_range_formatting(
|
||||
// doc.identifier(),
|
||||
|
@ -2098,10 +2099,12 @@ pub fn hover(cx: &mut Context) {
|
|||
lsp::HoverContents::Scalar(contents) => {
|
||||
// markedstring(string/languagestring to be highlighted)
|
||||
// TODO
|
||||
unimplemented!("{:?}", contents)
|
||||
log::error!("hover contents {:?}", contents);
|
||||
return;
|
||||
}
|
||||
lsp::HoverContents::Array(contents) => {
|
||||
unimplemented!("{:?}", contents)
|
||||
log::error!("hover contents {:?}", contents);
|
||||
return;
|
||||
}
|
||||
// TODO: render markdown
|
||||
lsp::HoverContents::Markup(contents) => contents.value,
|
||||
|
|
Loading…
Add table
Reference in a new issue