Skip to content
This repository was archived by the owner on Dec 29, 2022. It is now read-only.

Commit 25cc7c8

Browse files
committed
warn unused config: rev0.4
1 parent 221cd45 commit 25cc7c8

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/lsp_data.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -268,11 +268,9 @@ impl ChangeConfigSettings {
268268
continue;
269269
}
270270
if let serde_json::Value::Object(_) = v {
271-
let mut unknowns1 = Vec::<String>::new();
272-
if let Ok(rust) = config::Config::try_deserialize(v, dups, &mut unknowns1) {
271+
if let Ok(rust) = config::Config::try_deserialize(v, dups, unknowns) {
273272
ret = Ok(ChangeConfigSettings{rust: rust});
274273
}
275-
unknowns.extend(unknowns1.iter().map(|s| format!("rust.{}", s)));
276274
} else {
277275
return Err(());
278276
}

src/server/mod.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,11 @@ pub(crate) fn maybe_notify_unknown_configs<O: Output>(out: &O, unknowns: &Vec<(S
9090
if unknowns.is_empty() {
9191
return;
9292
}
93-
let mut msg = String::new();
93+
let mut msg = "Unknown RLS configuration:".to_string();
94+
let mut first = true;
9495
for key in unknowns {
95-
write!(msg, "unknown RLS configuration: {}; ", key.clone()).ok();
96+
write!(msg, "{}`{}` ", if first {' '} else {','}, key.clone()).unwrap();
97+
first = false;
9698
}
9799
out.notify(Notification::<ShowMessage>::new(ShowMessageParams {
98100
typ: MessageType::Warning,
@@ -107,15 +109,17 @@ pub(crate) fn maybe_notify_duplicated_configs<O: Output>(out: &O, dups: &std::co
107109
}
108110
let mut msg = String::new();
109111
for kv in dups {
110-
write!(msg, "{}: ", kv.0).ok();
112+
write!(msg, "{}:", kv.0).unwrap();
113+
let mut first = true;
111114
for v in kv.1 {
112-
write!(msg, "{}, ", v).ok();
115+
write!(msg, "{}{}, ", if first {' '} else {','}, v).unwrap();
116+
first = false;
113117
}
114118
msg += "; ";
115119
}
116120
out.notify(Notification::<ShowMessage>::new(ShowMessageParams {
117121
typ: MessageType::Warning,
118-
message: format!("duplicated RLS configuration: {}", msg.clone()),
122+
message: format!("Duplicated RLS configuration: {}", msg.clone()),
119123
}));
120124
}
121125

tests/client.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,21 +1281,19 @@ fn client_deglob() {
12811281
}
12821282

12831283
fn is_notification_for_unknown_config(msg:&serde_json::Value) -> bool {
1284-
eprintln!("unk msg: {}", msg);
12851284
msg["method"] == ShowMessage::METHOD
12861285
&& msg["params"]["message"]
12871286
.as_str()
12881287
.unwrap()
1289-
.contains("unknown")
1288+
.contains("Unknown")
12901289
}
12911290

12921291
fn is_notification_for_duplicated_config(msg:&serde_json::Value) -> bool {
1293-
eprintln!("dup msg: {}", msg);
12941292
msg["method"] == ShowMessage::METHOD
12951293
&& msg["params"]["message"]
12961294
.as_str()
12971295
.unwrap()
1298-
.contains("duplicate")
1296+
.contains("Duplicate")
12991297
}
13001298

13011299
#[test]

0 commit comments

Comments
 (0)