mirror of
https://github.com/zed-industries/zed.git
synced 2025-01-24 02:46:43 +00:00
assistant2: Don't suggest thread context for inline assist without a ThreadStore
(#23506)
Some checks are pending
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Linux x86_x64 release bundle (push) Blocked by required conditions
CI / Linux arm64 release bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
Some checks are pending
CI / Check Postgres and Protobuf migrations, mergability (push) Waiting to run
CI / Check formatting and spelling (push) Waiting to run
CI / (macOS) Run Clippy and tests (push) Waiting to run
CI / (Linux) Run Clippy and tests (push) Waiting to run
CI / (Linux) Build Remote Server (push) Waiting to run
CI / (Windows) Run Clippy and tests (push) Waiting to run
CI / Create a macOS bundle (push) Blocked by required conditions
CI / Linux x86_x64 release bundle (push) Blocked by required conditions
CI / Linux arm64 release bundle (push) Blocked by required conditions
CI / Auto release preview (push) Blocked by required conditions
Deploy Docs / Deploy Docs (push) Waiting to run
Docs / Check formatting (push) Waiting to run
Script / ShellCheck Scripts (push) Waiting to run
This PR makes it so we don't suggest threads as context in the inline assist when we don't have a `ThreadStore` to pull from. Release Notes: - N/A
This commit is contained in:
parent
ecf70db7f0
commit
82cee9e9a4
4 changed files with 15 additions and 6 deletions
|
@ -259,7 +259,7 @@ impl ActiveThread {
|
||||||
h_flex().flex_wrap().gap_1().px_1p5().pb_1p5().children(
|
h_flex().flex_wrap().gap_1().px_1p5().pb_1p5().children(
|
||||||
context
|
context
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.map(|context| ContextPill::new_added(context, false, false, None)),
|
.map(|context| ContextPill::added(context, false, false, None)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -89,7 +89,7 @@ impl ContextPicker {
|
||||||
ContextKind::Directory,
|
ContextKind::Directory,
|
||||||
ContextKind::FetchedUrl,
|
ContextKind::FetchedUrl,
|
||||||
];
|
];
|
||||||
if self.thread_store.is_some() {
|
if self.allow_threads() {
|
||||||
context_kinds.push(ContextKind::Thread);
|
context_kinds.push(ContextKind::Thread);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +132,11 @@ impl ContextPicker {
|
||||||
menu
|
menu
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Whether threads are allowed as context.
|
||||||
|
pub fn allow_threads(&self) -> bool {
|
||||||
|
self.thread_store.is_some()
|
||||||
|
}
|
||||||
|
|
||||||
fn select_kind(&mut self, kind: ContextKind, cx: &mut ViewContext<Self>) {
|
fn select_kind(&mut self, kind: ContextKind, cx: &mut ViewContext<Self>) {
|
||||||
let context_picker = cx.view().downgrade();
|
let context_picker = cx.view().downgrade();
|
||||||
|
|
||||||
|
|
|
@ -118,6 +118,10 @@ impl ContextStrip {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn suggested_thread(&self, cx: &ViewContext<Self>) -> Option<SuggestedContext> {
|
fn suggested_thread(&self, cx: &ViewContext<Self>) -> Option<SuggestedContext> {
|
||||||
|
if !self.context_picker.read(cx).allow_threads() {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
let workspace = self.workspace.upgrade()?;
|
let workspace = self.workspace.upgrade()?;
|
||||||
let active_thread = workspace
|
let active_thread = workspace
|
||||||
.read(cx)
|
.read(cx)
|
||||||
|
@ -432,7 +436,7 @@ impl Render for ContextStrip {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.children(context.iter().enumerate().map(|(i, context)| {
|
.children(context.iter().enumerate().map(|(i, context)| {
|
||||||
ContextPill::new_added(
|
ContextPill::added(
|
||||||
context.clone(),
|
context.clone(),
|
||||||
dupe_names.contains(&context.name),
|
dupe_names.contains(&context.name),
|
||||||
self.focused_index == Some(i),
|
self.focused_index == Some(i),
|
||||||
|
@ -454,7 +458,7 @@ impl Render for ContextStrip {
|
||||||
}))
|
}))
|
||||||
.when_some(suggested_context, |el, suggested| {
|
.when_some(suggested_context, |el, suggested| {
|
||||||
el.child(
|
el.child(
|
||||||
ContextPill::new_suggested(
|
ContextPill::suggested(
|
||||||
suggested.name().clone(),
|
suggested.name().clone(),
|
||||||
suggested.icon_path(),
|
suggested.icon_path(),
|
||||||
suggested.kind(),
|
suggested.kind(),
|
||||||
|
|
|
@ -24,7 +24,7 @@ pub enum ContextPill {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl ContextPill {
|
impl ContextPill {
|
||||||
pub fn new_added(
|
pub fn added(
|
||||||
context: ContextSnapshot,
|
context: ContextSnapshot,
|
||||||
dupe_name: bool,
|
dupe_name: bool,
|
||||||
focused: bool,
|
focused: bool,
|
||||||
|
@ -39,7 +39,7 @@ impl ContextPill {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn new_suggested(
|
pub fn suggested(
|
||||||
name: SharedString,
|
name: SharedString,
|
||||||
icon_path: Option<SharedString>,
|
icon_path: Option<SharedString>,
|
||||||
kind: ContextKind,
|
kind: ContextKind,
|
||||||
|
|
Loading…
Reference in a new issue