diff --git a/crates/ty_server/src/server/api/requests/completion.rs b/crates/ty_server/src/server/api/requests/completion.rs index f100e69f50..5f7b922b68 100644 --- a/crates/ty_server/src/server/api/requests/completion.rs +++ b/crates/ty_server/src/server/api/requests/completion.rs @@ -38,7 +38,7 @@ impl BackgroundDocumentRequestHandler for CompletionRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/goto_type_definition.rs b/crates/ty_server/src/server/api/requests/goto_type_definition.rs index 55f5cf892c..cb18fca66d 100644 --- a/crates/ty_server/src/server/api/requests/goto_type_definition.rs +++ b/crates/ty_server/src/server/api/requests/goto_type_definition.rs @@ -34,7 +34,7 @@ impl BackgroundDocumentRequestHandler for GotoTypeDefinitionRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/hover.rs b/crates/ty_server/src/server/api/requests/hover.rs index 1f2cd4b47c..4562930b85 100644 --- a/crates/ty_server/src/server/api/requests/hover.rs +++ b/crates/ty_server/src/server/api/requests/hover.rs @@ -34,7 +34,7 @@ impl BackgroundDocumentRequestHandler for HoverRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/inlay_hints.rs b/crates/ty_server/src/server/api/requests/inlay_hints.rs index eec6744f97..ed17f24464 100644 --- a/crates/ty_server/src/server/api/requests/inlay_hints.rs +++ b/crates/ty_server/src/server/api/requests/inlay_hints.rs @@ -33,7 +33,7 @@ impl BackgroundDocumentRequestHandler for InlayHintRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/semantic_tokens.rs b/crates/ty_server/src/server/api/requests/semantic_tokens.rs index 99e52c801c..3871aed50d 100644 --- a/crates/ty_server/src/server/api/requests/semantic_tokens.rs +++ b/crates/ty_server/src/server/api/requests/semantic_tokens.rs @@ -30,7 +30,7 @@ impl BackgroundDocumentRequestHandler for SemanticTokensRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/semantic_tokens_range.rs b/crates/ty_server/src/server/api/requests/semantic_tokens_range.rs index 0b7f8c02eb..3abaab0120 100644 --- a/crates/ty_server/src/server/api/requests/semantic_tokens_range.rs +++ b/crates/ty_server/src/server/api/requests/semantic_tokens_range.rs @@ -32,7 +32,7 @@ impl BackgroundDocumentRequestHandler for SemanticTokensRangeRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/server/api/requests/signature_help.rs b/crates/ty_server/src/server/api/requests/signature_help.rs index 4c468fb9a5..825c352cf1 100644 --- a/crates/ty_server/src/server/api/requests/signature_help.rs +++ b/crates/ty_server/src/server/api/requests/signature_help.rs @@ -36,7 +36,7 @@ impl BackgroundDocumentRequestHandler for SignatureHelpRequestHandler { return Ok(None); } - let Some(file) = snapshot.file_ok(db) else { + let Some(file) = snapshot.file(db) else { return Ok(None); }; diff --git a/crates/ty_server/src/session.rs b/crates/ty_server/src/session.rs index 2348da88e3..c31ec23884 100644 --- a/crates/ty_server/src/session.rs +++ b/crates/ty_server/src/session.rs @@ -508,35 +508,25 @@ impl DocumentSnapshot { self.document_query_result.as_ref() } - pub(crate) fn file_ok(&self, db: &dyn Db) -> Option { - match self.file(db) { - Ok(file) => Some(file), - Err(err) => { - tracing::debug!("Failed to resolve file: {}", err); - None - } - } - } - - fn file(&self, db: &dyn Db) -> Result { + pub(crate) fn file(&self, db: &dyn Db) -> Option { let document = match self.document() { Ok(document) => document, - Err(err) => return Err(FileLookupError::DocumentQuery(err.clone())), + Err(err) => { + tracing::debug!("Failed to resolve file: {}", err); + return None; + } }; - document - .file(db) - .ok_or_else(|| FileLookupError::NotFound(document.file_path().clone())) + let file = document.file(db); + if file.is_none() { + tracing::debug!( + "Failed to resolve file: file not found for path `{}`", + document.file_path() + ); + } + file } } -#[derive(Debug, thiserror::Error)] -pub(crate) enum FileLookupError { - #[error("file not found for path `{0}`")] - NotFound(AnySystemPath), - #[error(transparent)] - DocumentQuery(DocumentQueryError), -} - /// An immutable snapshot of the current state of [`Session`]. pub(crate) struct SessionSnapshot { projects: Vec,