diff --git a/crates/assistant/src/ambient_context.rs b/crates/assistant/src/ambient_context.rs new file mode 100644 index 0000000000000000000000000000000000000000..55fe3e605115aa97baf967587a031ac842e2d7fb --- /dev/null +++ b/crates/assistant/src/ambient_context.rs @@ -0,0 +1,8 @@ +mod recent_buffers; + +pub use recent_buffers::*; + +#[derive(Default)] +pub struct AmbientContext { + pub recent_buffers: RecentBuffersContext, +} diff --git a/crates/assistant/src/ambient_context/recent_buffers.rs b/crates/assistant/src/ambient_context/recent_buffers.rs new file mode 100644 index 0000000000000000000000000000000000000000..4f6280b43c14c2c41d883d207c2cfd1eb9f89232 --- /dev/null +++ b/crates/assistant/src/ambient_context/recent_buffers.rs @@ -0,0 +1,25 @@ +use gpui::{Subscription, Task, WeakModel}; +use language::Buffer; + +pub struct RecentBuffersContext { + pub enabled: bool, + pub buffers: Vec, + pub message: String, + pub pending_message: Option>, +} + +pub struct RecentBuffer { + pub buffer: WeakModel, + pub _subscription: Subscription, +} + +impl Default for RecentBuffersContext { + fn default() -> Self { + Self { + enabled: true, + buffers: Vec::new(), + message: String::new(), + pending_message: None, + } + } +} diff --git a/crates/assistant/src/assistant.rs b/crates/assistant/src/assistant.rs index 949cc1741d6bb05c827fc4c6de02919b93718050..1873c2179bb87b2fd294e186af84fc6787a280af 100644 --- a/crates/assistant/src/assistant.rs +++ b/crates/assistant/src/assistant.rs @@ -1,3 +1,4 @@ +mod ambient_context; pub mod assistant_panel; pub mod assistant_settings; mod codegen; diff --git a/crates/assistant/src/assistant_panel.rs b/crates/assistant/src/assistant_panel.rs index f3136b6139389a3801303e2073767f54274fb426..b8b5c8b8adab288a162a1d039353ef495acb5bc5 100644 --- a/crates/assistant/src/assistant_panel.rs +++ b/crates/assistant/src/assistant_panel.rs @@ -1,3 +1,4 @@ +use crate::ambient_context::{AmbientContext, RecentBuffer}; use crate::{ assistant_settings::{AssistantDockPosition, AssistantSettings, ZedDotDevModel}, codegen::{self, Codegen, CodegenKind}, @@ -1367,34 +1368,6 @@ pub struct Conversation { telemetry: Option>, } -#[derive(Default)] -struct AmbientContext { - recent_buffers: RecentBuffersContext, -} - -struct RecentBuffersContext { - enabled: bool, - buffers: Vec, - message: String, - pending_message: Option>, -} - -struct RecentBuffer { - buffer: WeakModel, - _subscription: Subscription, -} - -impl Default for RecentBuffersContext { - fn default() -> Self { - Self { - enabled: true, - buffers: Vec::new(), - message: String::new(), - pending_message: None, - } - } -} - impl EventEmitter for Conversation {} impl Conversation {