assistant: Add MVP for /rustdoc
using indexed docs (#12952)
This PR adds an MVP of retrieving docs using the `/rustdoc` command from an indexed set of docs. To try this out: 1. Build local docs using `cargo doc` 2. Index the docs for the crate you want to search using `/rustdoc --index <CRATE_NAME>` - Note: This may take a while, depending on the size of the crate 3. Search for docs using `/rustdoc my_crate::path::to::item` - You should get completions for the available items Here are some screenshots of it in action: <img width="640" alt="Screenshot 2024-06-12 at 6 19 20 PM" src="https://github.com/zed-industries/zed/assets/1486634/6c49bec9-d084-4dcb-a92c-1b4c557ee9ce"> <img width="636" alt="Screenshot 2024-06-12 at 6 52 56 PM" src="https://github.com/zed-industries/zed/assets/1486634/636a651c-7d02-48dc-b05c-931f33c49f9c"> Release Notes: - N/A
This commit is contained in:
parent
ec086945fc
commit
0ac9af94e0
8 changed files with 295 additions and 42 deletions
|
@ -43,6 +43,13 @@ pub struct RustdocItem {
|
|||
}
|
||||
|
||||
impl RustdocItem {
|
||||
pub fn display(&self) -> String {
|
||||
let mut path_segments = self.path.clone();
|
||||
path_segments.push(self.name.clone());
|
||||
|
||||
path_segments.join("::")
|
||||
}
|
||||
|
||||
pub fn url_path(&self) -> String {
|
||||
let name = &self.name;
|
||||
let mut path_components = self.path.clone();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue