diff --git a/Cargo.lock b/Cargo.lock index 1eea008873..40e6a17240 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -382,6 +382,7 @@ dependencies = [ "ctor", "editor", "env_logger", + "feature_flags", "file_icons", "fs", "futures 0.3.28", diff --git a/crates/assistant/Cargo.toml b/crates/assistant/Cargo.toml index ca96bd4bac..a9397bf3c1 100644 --- a/crates/assistant/Cargo.toml +++ b/crates/assistant/Cargo.toml @@ -23,6 +23,7 @@ client.workspace = true collections.workspace = true command_palette_hooks.workspace = true editor.workspace = true +feature_flags.workspace = true file_icons.workspace = true fs.workspace = true futures.workspace = true diff --git a/crates/assistant/src/assistant_panel.rs b/crates/assistant/src/assistant_panel.rs index a39c14d7bd..9c169b9861 100644 --- a/crates/assistant/src/assistant_panel.rs +++ b/crates/assistant/src/assistant_panel.rs @@ -462,6 +462,11 @@ impl AssistantPanel { .focus_handle(cx) .contains_focused(cx) { + use feature_flags::FeatureFlagAppExt; + if !cx.has_flag::() { + return None; + } + if let Some(terminal_view) = terminal_panel .read(cx) .pane() diff --git a/crates/feature_flags/src/feature_flags.rs b/crates/feature_flags/src/feature_flags.rs index 200468d6f3..0435f52c17 100644 --- a/crates/feature_flags/src/feature_flags.rs +++ b/crates/feature_flags/src/feature_flags.rs @@ -29,6 +29,11 @@ impl FeatureFlag for Remoting { const NAME: &'static str = "remoting"; } +pub struct TerminalInlineAssist {} +impl FeatureFlag for TerminalInlineAssist { + const NAME: &'static str = "terminal-inline-assist"; +} + pub trait FeatureFlagViewExt { fn observe_flag(&mut self, callback: F) -> Subscription where