summaryrefslogtreecommitdiff
path: root/cli/lsp/diagnostics.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/lsp/diagnostics.rs')
-rw-r--r--cli/lsp/diagnostics.rs31
1 files changed, 13 insertions, 18 deletions
diff --git a/cli/lsp/diagnostics.rs b/cli/lsp/diagnostics.rs
index 9b9035ac5..c069e4666 100644
--- a/cli/lsp/diagnostics.rs
+++ b/cli/lsp/diagnostics.rs
@@ -222,17 +222,6 @@ impl<'a> From<&'a diagnostics::Position> for lsp::Position {
}
}
-/// Check if diagnostics can be generated for the provided media type.
-pub fn is_diagnosable(media_type: MediaType) -> bool {
- matches!(
- media_type,
- MediaType::TypeScript
- | MediaType::JavaScript
- | MediaType::Tsx
- | MediaType::Jsx
- )
-}
-
fn get_diagnostic_message(diagnostic: &diagnostics::Diagnostic) -> String {
if let Some(message) = diagnostic.message_text.clone() {
message
@@ -322,13 +311,16 @@ async fn generate_lint_diagnostics(
let mut diagnostics_vec = Vec::new();
if workspace_settings.lint {
for specifier in documents.open_specifiers() {
+ if !documents.is_diagnosable(specifier) {
+ continue;
+ }
let version = documents.version(specifier);
let current_version = collection
.lock()
.await
.get_version(specifier, &DiagnosticSource::DenoLint);
let media_type = MediaType::from(specifier);
- if version != current_version && is_diagnosable(media_type) {
+ if version != current_version {
if let Ok(Some(source_code)) = documents.content(specifier) {
if let Ok(references) = analysis::get_lint_references(
specifier,
@@ -366,12 +358,15 @@ async fn generate_ts_diagnostics(
.open_specifiers()
.iter()
.filter_map(|&s| {
- let version = snapshot.documents.version(s);
- let current_version =
- collection.get_version(s, &DiagnosticSource::TypeScript);
- let media_type = MediaType::from(s);
- if version != current_version && is_diagnosable(media_type) {
- Some(s.clone())
+ if snapshot.documents.is_diagnosable(s) {
+ let version = snapshot.documents.version(s);
+ let current_version =
+ collection.get_version(s, &DiagnosticSource::TypeScript);
+ if version != current_version {
+ Some(s.clone())
+ } else {
+ None
+ }
} else {
None
}