Provide JSON language server with settings schema

This commit is contained in:
Max Brunsfeld 2022-03-11 11:46:22 -08:00
parent 862ec01e7d
commit 7a68b2d371
5 changed files with 69 additions and 5 deletions

View file

@ -95,6 +95,8 @@ pub trait LspAdapter: 'static + Send + Sync {
fn initialization_options(&self) -> Option<Value> {
None
}
fn register_handlers(&self, _: &mut lsp::LanguageServer) {}
}
#[derive(Clone, Debug, PartialEq, Eq)]
@ -319,13 +321,15 @@ impl LanguageRegistry {
let server_binary_path = server_binary_path.await?;
let server_args = adapter.server_args();
lsp::LanguageServer::new(
let mut server = lsp::LanguageServer::new(
&server_binary_path,
server_args,
&root_path,
adapter.initialization_options(),
background,
)
)?;
adapter.register_handlers(&mut server);
Ok(server)
}))
}