Use Extension
trait when registering extension context servers (#21070)
This PR updates the extension context server registration to go through the `Extension` trait for interacting with extensions rather than going through the `WasmHost` directly. Release Notes: - N/A
This commit is contained in:
parent
ca76948044
commit
cb8028c092
8 changed files with 59 additions and 46 deletions
|
@ -25,6 +25,10 @@ pub trait WorktreeDelegate: Send + Sync + 'static {
|
|||
async fn shell_env(&self) -> Vec<(String, String)>;
|
||||
}
|
||||
|
||||
pub trait ProjectDelegate: Send + Sync + 'static {
|
||||
fn worktree_ids(&self) -> Vec<u64>;
|
||||
}
|
||||
|
||||
pub trait KeyValueStoreDelegate: Send + Sync + 'static {
|
||||
fn insert(&self, key: String, docs: String) -> Task<Result<()>>;
|
||||
}
|
||||
|
@ -87,6 +91,12 @@ pub trait Extension: Send + Sync + 'static {
|
|||
worktree: Option<Arc<dyn WorktreeDelegate>>,
|
||||
) -> Result<SlashCommandOutput>;
|
||||
|
||||
async fn context_server_command(
|
||||
&self,
|
||||
context_server_id: Arc<str>,
|
||||
project: Arc<dyn ProjectDelegate>,
|
||||
) -> Result<Command>;
|
||||
|
||||
async fn suggest_docs_packages(&self, provider: Arc<str>) -> Result<Vec<String>>;
|
||||
|
||||
async fn index_docs(
|
||||
|
|
|
@ -10,6 +10,7 @@ pub use slash_command::*;
|
|||
pub type EnvVars = Vec<(String, String)>;
|
||||
|
||||
/// A command.
|
||||
#[derive(Debug)]
|
||||
pub struct Command {
|
||||
/// The command to execute.
|
||||
pub command: String,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue