Introduce following for assistant panel (#14479)
Release Notes: - Added support for following into the assistant panel. --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Nathan <nathan@zed.dev>
This commit is contained in:
parent
977a1b7a82
commit
decdd3b6ac
13 changed files with 819 additions and 541 deletions
|
@ -291,6 +291,10 @@ pub trait BorrowAppContext {
|
|||
fn update_global<G, R>(&mut self, f: impl FnOnce(&mut G, &mut Self) -> R) -> R
|
||||
where
|
||||
G: Global;
|
||||
/// Updates the global state of the given type, creating a default if it didn't exist before.
|
||||
fn update_default_global<G, R>(&mut self, f: impl FnOnce(&mut G, &mut Self) -> R) -> R
|
||||
where
|
||||
G: Global + Default;
|
||||
}
|
||||
|
||||
impl<C> BorrowAppContext for C
|
||||
|
@ -310,6 +314,14 @@ where
|
|||
self.borrow_mut().end_global_lease(global);
|
||||
result
|
||||
}
|
||||
|
||||
fn update_default_global<G, R>(&mut self, f: impl FnOnce(&mut G, &mut Self) -> R) -> R
|
||||
where
|
||||
G: Global + Default,
|
||||
{
|
||||
self.borrow_mut().default_global::<G>();
|
||||
self.update_global(f)
|
||||
}
|
||||
}
|
||||
|
||||
/// A flatten equivalent for anyhow `Result`s.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue