Report errors only once
This commit is contained in:
@@ -107,21 +107,10 @@ pub fn highlight(file: &File) -> Vec<HighlightedRange> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn diagnostics(file: &File) -> Vec<Diagnostic> {
|
pub fn diagnostics(file: &File) -> Vec<Diagnostic> {
|
||||||
let mut res = Vec::new();
|
file.errors().into_iter().map(|err| Diagnostic {
|
||||||
|
|
||||||
for node in file.syntax().descendants() {
|
|
||||||
if node.kind() == ERROR {
|
|
||||||
res.push(Diagnostic {
|
|
||||||
range: node.range(),
|
|
||||||
msg: "Syntax Error".to_string(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
res.extend(file.errors().into_iter().map(|err| Diagnostic {
|
|
||||||
range: TextRange::offset_len(err.offset, 1.into()),
|
range: TextRange::offset_len(err.offset, 1.into()),
|
||||||
msg: err.msg,
|
msg: "Syntax Error: ".to_string() + &err.msg,
|
||||||
}));
|
}).collect()
|
||||||
res
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn syntax_tree(file: &File) -> String {
|
pub fn syntax_tree(file: &File) -> String {
|
||||||
|
|||||||
Reference in New Issue
Block a user