Cargo.lock 🔗
@@ -14823,6 +14823,7 @@ dependencies = [
"copilot",
"edit_prediction",
"editor",
+ "extension_host",
"feature_flags",
"fs",
"futures 0.3.31",
Richard Feldman created
Cargo.lock | 1
crates/settings_ui/Cargo.toml | 1
crates/settings_ui/src/pages/edit_prediction_provider_setup.rs | 9 +++
3 files changed, 10 insertions(+), 1 deletion(-)
@@ -14823,6 +14823,7 @@ dependencies = [
"copilot",
"edit_prediction",
"editor",
+ "extension_host",
"feature_flags",
"fs",
"futures 0.3.31",
@@ -20,6 +20,7 @@ anyhow.workspace = true
bm25 = "2.3.2"
copilot.workspace = true
edit_prediction.workspace = true
+extension_host.workspace = true
language_models.workspace = true
editor.workspace = true
feature_flags.workspace = true
@@ -3,6 +3,7 @@ use edit_prediction::{
mercury::{MERCURY_CREDENTIALS_URL, mercury_api_token},
sweep_ai::{SWEEP_CREDENTIALS_URL, sweep_api_token},
};
+use extension_host::ExtensionStore;
use feature_flags::FeatureFlagAppExt as _;
use gpui::{Entity, ScrollHandle, prelude::*};
use language_models::provider::mistral::{CODESTRAL_API_URL, codestral_api_key};
@@ -31,8 +32,14 @@ impl Render for EditPredictionSetupPage {
fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement {
let settings_window = self.settings_window.clone();
+ let copilot_extension_installed = ExtensionStore::global(cx)
+ .read(cx)
+ .installed_extensions()
+ .contains_key("copilot-chat");
+
let providers = [
- Some(render_github_copilot_provider(window, cx).into_any_element()),
+ (!copilot_extension_installed)
+ .then(|| render_github_copilot_provider(window, cx).into_any_element()),
cx.has_flag::<Zeta2FeatureFlag>().then(|| {
render_api_key_provider(
IconName::Inception,