Skip to content

Commit b90df79

Browse files
committed
Add simplistic config validation
1 parent 6d7055e commit b90df79

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

crates/rust-analyzer/src/config.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -571,13 +571,26 @@ impl Config {
571571
None => tracing::info!("Invalid snippet {}", name),
572572
}
573573
}
574+
575+
self.validate(&mut errors);
576+
574577
if errors.is_empty() {
575578
Ok(())
576579
} else {
577580
Err(ConfigUpdateError { errors })
578581
}
579582
}
580583

584+
fn validate(&self, error_sink: &mut Vec<(String, serde_json::Error)>) {
585+
use serde::de::Error;
586+
if self.data.checkOnSave_command.is_empty() {
587+
error_sink.push((
588+
"/checkOnSave/command".to_string(),
589+
serde_json::Error::custom("expected a non-empty string"),
590+
));
591+
}
592+
}
593+
581594
pub fn json_schema() -> serde_json::Value {
582595
ConfigData::json_schema()
583596
}

0 commit comments

Comments
 (0)