diff options
-rw-r--r-- | crates/ra_ide/src/diagnostics.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crates/ra_ide/src/diagnostics.rs b/crates/ra_ide/src/diagnostics.rs index e69e9b4ec..71fd45e5d 100644 --- a/crates/ra_ide/src/diagnostics.rs +++ b/crates/ra_ide/src/diagnostics.rs | |||
@@ -35,7 +35,8 @@ pub(crate) fn diagnostics(db: &RootDatabase, file_id: FileId) -> Vec<Diagnostic> | |||
35 | let parse = db.parse(file_id); | 35 | let parse = db.parse(file_id); |
36 | let mut res = Vec::new(); | 36 | let mut res = Vec::new(); |
37 | 37 | ||
38 | res.extend(parse.errors().iter().map(|err| Diagnostic { | 38 | // [#34344] Only take first 500 errors to prevent slowing down editor/ide, the number 500 is chosen arbitrarily. |
39 | res.extend(parse.errors().iter().take(500).map(|err| Diagnostic { | ||
39 | range: err.range(), | 40 | range: err.range(), |
40 | message: format!("Syntax Error: {}", err), | 41 | message: format!("Syntax Error: {}", err), |
41 | severity: Severity::Error, | 42 | severity: Severity::Error, |