Skip to content

Commit 15c9041

Browse files
author
Junfeng Li
committed
Handle case workspace doesn't have settings properly.
Close #476.
1 parent bf010a9 commit 15c9041

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/languageclient.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ impl State {
195195

196196
fn get_workspace_settings(&self, root: &str) -> Result<Value> {
197197
if !self.loadSettings {
198-
return Ok(json!({}));
198+
return Ok(Value::Null);
199199
}
200200

201201
let buffer = read_to_string(Path::new(root).join(self.settingsPath.clone()))?;
@@ -2502,14 +2502,14 @@ impl State {
25022502
self.initialized(&params)?;
25032503

25042504
let root = self.roots.get(&languageId).cloned().unwrap_or_default();
2505-
let settings = self.get_workspace_settings(&root);
2506-
if let Err(ref err) = settings {
2507-
warn!("Failed to get workspace settings: {}", err);
2508-
}
2509-
self.workspace_didChangeConfiguration(&json!({
2510-
VimVar::LanguageId.to_key(): languageId,
2511-
"settings": settings.unwrap_or_else(|_| json!({})),
2512-
}).to_params()?)?;
2505+
match self.get_workspace_settings(&root) {
2506+
Ok(Value::Null) => (),
2507+
Ok(settings) => self.workspace_didChangeConfiguration(&json!({
2508+
VimVar::LanguageId.to_key(): languageId,
2509+
"settings": settings,
2510+
}).to_params()?)?,
2511+
Err(err) => warn!("Failed to get workspace settings: {}", err),
2512+
}
25132513

25142514
self.textDocument_didOpen(&params)?;
25152515
self.textDocument_didChange(&params)?;

0 commit comments

Comments
 (0)