diff --git a/crates/assistant/src/slash_command/rustdoc_command.rs b/crates/assistant/src/slash_command/rustdoc_command.rs index b11bb8d54d..4eabc2821e 100644 --- a/crates/assistant/src/slash_command/rustdoc_command.rs +++ b/crates/assistant/src/slash_command/rustdoc_command.rs @@ -10,20 +10,11 @@ use gpui::{AppContext, Model, Task, WeakView}; use http::{AsyncBody, HttpClient, HttpClientWithUrl}; use language::LspAdapterDelegate; use project::{Project, ProjectPath}; -use rustdoc::{convert_rustdoc_to_markdown, RustdocStore}; -use rustdoc::{CrateName, LocalProvider}; +use rustdoc::{convert_rustdoc_to_markdown, CrateName, LocalProvider, RustdocSource, RustdocStore}; use ui::{prelude::*, ButtonLike, ElevationIndex}; use util::{maybe, ResultExt}; use workspace::Workspace; -#[derive(Debug, Clone, Copy)] -enum RustdocSource { - /// The docs were sourced from local `cargo doc` output. - Local, - /// The docs were sourced from `docs.rs`. - DocsDotRs, -} - pub(crate) struct RustdocSlashCommand; impl RustdocSlashCommand { @@ -193,7 +184,7 @@ impl SlashCommand for RustdocSlashCommand { .await; if let Ok(item_docs) = item_docs { - anyhow::Ok((RustdocSource::Local, item_docs.docs().to_owned())) + anyhow::Ok((RustdocSource::Index, item_docs.docs().to_owned())) } else { Self::build_message( fs, @@ -261,6 +252,7 @@ impl RenderOnce for RustdocPlaceholder { .child(Label::new(format!( "rustdoc ({source}): {crate_path}", source = match self.source { + RustdocSource::Index => "index", RustdocSource::Local => "local", RustdocSource::DocsDotRs => "docs.rs", } diff --git a/crates/rustdoc/src/indexer.rs b/crates/rustdoc/src/indexer.rs index 79c24629da..81253e1d14 100644 --- a/crates/rustdoc/src/indexer.rs +++ b/crates/rustdoc/src/indexer.rs @@ -14,6 +14,8 @@ use crate::{ #[derive(Debug, Clone, Copy)] pub enum RustdocSource { + /// The docs were sourced from Zed's rustdoc index. + Index, /// The docs were sourced from local `cargo doc` output. Local, /// The docs were sourced from `docs.rs`.