diff --git a/crates/editor/src/hover_links.rs b/crates/editor/src/hover_links.rs index 4ce92574f1..6e93748fb0 100644 --- a/crates/editor/src/hover_links.rs +++ b/crates/editor/src/hover_links.rs @@ -448,15 +448,7 @@ pub fn update_inlay_link_and_hover_points( .next_back() .unwrap_or("unknown") .to_string(); - let _loading_text = format!( - "{}\n\nLoading documentation from {}...", - part.value.trim(), - filename - ); - eprintln!( - "Showing loading message for type: {}", - part.value.trim() - ); + hover_popover::hover_at_inlay( editor, InlayHover { @@ -474,27 +466,21 @@ pub fn update_inlay_link_and_hover_points( // Prepare data needed for the async task let project = editor.project.clone().unwrap(); let hint_value = part.value.clone(); - let location_uri = location.uri.as_str().to_string(); let highlight = highlight.clone(); let filename = filename.clone(); // Spawn async task to fetch documentation cx.spawn_in(window, async move |editor, cx| { - eprintln!("Starting async documentation fetch for {}", hint_value); - // Small delay to show the loading message first cx.background_executor() .timer(std::time::Duration::from_millis(50)) .await; // Convert LSP URL to file path - eprintln!("Converting LSP URI to file path: {}", location_uri); let file_path = location.uri.to_file_path() .map_err(|_| anyhow::anyhow!("Invalid file URL"))?; - eprintln!("File path: {:?}", file_path); // Open the definition file - eprintln!("Opening definition file via project.open_local_buffer"); let definition_buffer = project .update(cx, |project, cx| { project.open_local_buffer(file_path, cx) @@ -502,11 +488,9 @@ pub fn update_inlay_link_and_hover_points( .await?; // Register the buffer with language servers - eprintln!("Registering buffer with language servers"); let _lsp_handle = project.update(cx, |project, cx| { project.register_buffer_with_language_servers(&definition_buffer, cx) })?; - eprintln!("Successfully opened and registered definition buffer with LSP"); // Give LSP a moment to process the didOpen notification cx.background_executor() @@ -515,7 +499,6 @@ pub fn update_inlay_link_and_hover_points( // Try to get hover documentation from LSP let hover_position = location.range.start; - eprintln!("Requesting hover at position {:?}", hover_position); // Convert LSP position to a point let hover_point = definition_buffer.update(cx, |buffer, _| { @@ -531,14 +514,10 @@ pub fn update_inlay_link_and_hover_points( })? .await; - eprintln!("Hover response: {} hovers", hover_response.len()); - if !hover_response.is_empty() { // Get the first hover response let hover = &hover_response[0]; if !hover.contents.is_empty() { - eprintln!("Got {} hover blocks from LSP!", hover.contents.len()); - // Format the hover blocks as markdown let mut formatted_docs = String::new(); @@ -581,12 +560,9 @@ pub fn update_inlay_link_and_hover_points( } } - eprintln!("No hover documentation from LSP, falling back to parsing source"); - // Fallback: Extract documentation directly from the source let documentation = definition_buffer.update(cx, |buffer, _| { let line_number = location.range.start.line as usize; - eprintln!("Looking for documentation at line {}", line_number); // Get the text of the buffer let text = buffer.text(); @@ -629,20 +605,15 @@ pub fn update_inlay_link_and_hover_points( .map(|s| s.trim().to_string()) .unwrap_or_else(|| hint_value.clone()); - eprintln!("Found {} doc lines", doc_lines.len()); - if doc_lines.is_empty() { None } else { let docs = doc_lines.join("\n"); - eprintln!("Extracted docs: {}", docs.chars().take(100).collect::()); Some((definition, docs)) } })?; if let Some((definition, docs)) = documentation { - eprintln!("Got documentation from source!"); - // Format as markdown with the definition as a code block let formatted_docs = format!("```rust\n{}\n```\n\n{}", definition, docs); @@ -661,7 +632,6 @@ pub fn update_inlay_link_and_hover_points( ); }).log_err(); } else { - eprintln!("No documentation found in source, falling back to location info"); // Fallback to showing just the location info let fallback_text = format!( "{}\n\nDefined in {} at line {}", @@ -685,7 +655,6 @@ pub fn update_inlay_link_and_hover_points( }).log_err(); } - eprintln!("Documentation fetch complete"); anyhow::Ok(()) }).detach(); }