diff --git a/crates/agent/src/agent.rs b/crates/agent/src/agent.rs index fe62d851ef1ba71c787aa6ec516b0b6b67449d67..7537931e836fa6bd600d09429fa4d46296ee2a89 100644 --- a/crates/agent/src/agent.rs +++ b/crates/agent/src/agent.rs @@ -38,7 +38,7 @@ use futures::future::Shared; use futures::{FutureExt as _, StreamExt as _, future}; use gpui::{ App, AppContext, AsyncApp, Context, Entity, EntityId, SharedString, Subscription, Task, - WeakEntity, + TaskExt, WeakEntity, }; use language_model::{IconOrSvg, LanguageModel, LanguageModelProvider, LanguageModelRegistry}; use project::{AgentId, Project, ProjectItem, ProjectPath, Worktree}; diff --git a/crates/agent/src/edit_agent/evals/fixtures/disable_cursor_blinking/before.rs b/crates/agent/src/edit_agent/evals/fixtures/disable_cursor_blinking/before.rs index 198ab45b13faef814e5964892e02e4c9d60de5b0..955d011fbcd9922c22de880745796d392b0db554 100644 --- a/crates/agent/src/edit_agent/evals/fixtures/disable_cursor_blinking/before.rs +++ b/crates/agent/src/edit_agent/evals/fixtures/disable_cursor_blinking/before.rs @@ -85,7 +85,7 @@ use code_context_menus::{ CompletionsMenu, ContextMenuOrigin, }; use git::blame::{GitBlame, GlobalBlameRenderer}; -use gpui::{ +use gpui::{GpuiTaskExt, Action, Animation, AnimationExt, AnyElement, App, AppContext, AsyncWindowContext, AvailableSpace, Background, Bounds, ClickEvent, ClipboardEntry, ClipboardItem, Context, DispatchPhase, Edges, Entity, EntityInputHandler, EventEmitter, FocusHandle, FocusOutEvent, diff --git a/crates/agent/src/thread_store.rs b/crates/agent/src/thread_store.rs index e62ff78871c65311627aab8f6a6e3c00481a0c2b..12d804e00d60fb4d3ff972489584d4f2219cd078 100644 --- a/crates/agent/src/thread_store.rs +++ b/crates/agent/src/thread_store.rs @@ -1,7 +1,7 @@ use crate::{DbThread, DbThreadMetadata, ThreadsDatabase}; use agent_client_protocol as acp; use anyhow::{Result, anyhow}; -use gpui::{App, Context, Entity, Global, Task, prelude::*}; +use gpui::{App, Context, Entity, Global, Task, TaskExt, prelude::*}; use util::path_list::PathList; struct GlobalThreadStore(Entity); diff --git a/crates/agent/src/tools/evals/fixtures/disable_cursor_blinking/before.rs b/crates/agent/src/tools/evals/fixtures/disable_cursor_blinking/before.rs index bdf160d8ffe2c605a9e995d6efe7227dce34eaab..64a520aedfcc508a22a170899cb9012879964589 100644 --- a/crates/agent/src/tools/evals/fixtures/disable_cursor_blinking/before.rs +++ b/crates/agent/src/tools/evals/fixtures/disable_cursor_blinking/before.rs @@ -85,7 +85,7 @@ use code_context_menus::{ CompletionsMenu, ContextMenuOrigin, }; use git::blame::{GitBlame, GlobalBlameRenderer}; -use gpui::{ +use gpui::{GpuiTaskExt, Action, Animation, AnimationExt, AnyElement, App, AppContext, AsyncWindowContext, AvailableSpace, Background, Bounds, ClickEvent, ClipboardEntry, ClipboardItem, Context, DispatchPhase, Edges, Entity, EntityInputHandler, EventEmitter, FocusHandle, FocusOutEvent, diff --git a/crates/agent_ui/src/agent_configuration.rs b/crates/agent_ui/src/agent_configuration.rs index fda3cb9907b2f02cce29ff0ae8c4762e6efa625a..73f9e2081a3a6958cceac14ebea820ea3f4737d7 100644 --- a/crates/agent_ui/src/agent_configuration.rs +++ b/crates/agent_ui/src/agent_configuration.rs @@ -17,7 +17,7 @@ use extension_host::ExtensionStore; use fs::Fs; use gpui::{ Action, AnyView, App, AsyncWindowContext, Corner, Entity, EventEmitter, FocusHandle, Focusable, - ScrollHandle, Subscription, Task, WeakEntity, + ScrollHandle, Subscription, Task, TaskExt, WeakEntity, }; use itertools::Itertools; use language::LanguageRegistry; diff --git a/crates/agent_ui/src/agent_configuration/add_llm_provider_modal.rs b/crates/agent_ui/src/agent_configuration/add_llm_provider_modal.rs index e0df79ba4dfe226652818b120b7bfcc493c73b1e..207a7901a8c59e7efc3f0dabfead50e313ba3bfe 100644 --- a/crates/agent_ui/src/agent_configuration/add_llm_provider_modal.rs +++ b/crates/agent_ui/src/agent_configuration/add_llm_provider_modal.rs @@ -4,7 +4,7 @@ use anyhow::Result; use collections::HashSet; use fs::Fs; use gpui::{ - DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, Render, ScrollHandle, Task, + DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, Render, ScrollHandle, Task, TaskExt, }; use language_model::LanguageModelRegistry; use language_models::provider::open_ai_compatible::{AvailableModel, ModelCapabilities}; diff --git a/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs b/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs index 9c44288e1cd23cd3bb0d6876f086c3f0e89dc4c7..c99cf99dfa8d75e2e9eed19484120c46022395fa 100644 --- a/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs +++ b/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs @@ -5,7 +5,8 @@ use editor::{Editor, EditorElement, EditorStyle}; use gpui::{ AsyncWindowContext, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, ScrollHandle, - Subscription, Task, TextStyle, TextStyleRefinement, UnderlineStyle, WeakEntity, prelude::*, + Subscription, Task, TaskExt, TextStyle, TextStyleRefinement, UnderlineStyle, WeakEntity, + prelude::*, }; use language::{Language, LanguageRegistry}; use markdown::{Markdown, MarkdownElement, MarkdownStyle}; diff --git a/crates/agent_ui/src/agent_diff.rs b/crates/agent_ui/src/agent_diff.rs index 567595143a41e71a25237e3b1bdcf2301880bccb..d5a0977acb9ef260f69502436fc4de9ea04dba1e 100644 --- a/crates/agent_ui/src/agent_diff.rs +++ b/crates/agent_ui/src/agent_diff.rs @@ -15,7 +15,7 @@ use editor::{ use gpui::{ Action, AnyElement, App, AppContext, Empty, Entity, EventEmitter, FocusHandle, Focusable, - Global, SharedString, Subscription, Task, WeakEntity, Window, prelude::*, + Global, SharedString, Subscription, Task, TaskExt, WeakEntity, Window, prelude::*, }; use language::{Buffer, Capability, OffsetRangeExt, Point}; diff --git a/crates/agent_ui/src/conversation_view.rs b/crates/agent_ui/src/conversation_view.rs index 528e38333144524c4a4dffa63a7a8b107c829e41..f9eff6917414efb89acfbf5d8ccb204f019371d0 100644 --- a/crates/agent_ui/src/conversation_view.rs +++ b/crates/agent_ui/src/conversation_view.rs @@ -32,7 +32,7 @@ use futures::FutureExt as _; use gpui::{ Action, Animation, AnimationExt, AnyView, App, ClickEvent, ClipboardItem, CursorStyle, ElementId, Empty, Entity, EventEmitter, FocusHandle, Focusable, Hsla, ListOffset, ListState, - ObjectFit, PlatformDisplay, ScrollHandle, SharedString, Subscription, Task, TextStyle, + ObjectFit, PlatformDisplay, ScrollHandle, SharedString, Subscription, Task, TaskExt, TextStyle, WeakEntity, Window, WindowHandle, div, ease_in_out, img, linear_color_stop, linear_gradient, list, point, pulsating_between, }; diff --git a/crates/agent_ui/src/conversation_view/thread_view.rs b/crates/agent_ui/src/conversation_view/thread_view.rs index 66a211b2f4cf048301da1e7c154d50db191ec15a..fef4fc3e3d53d3704249cf0e0a8dd5b8b302803b 100644 --- a/crates/agent_ui/src/conversation_view/thread_view.rs +++ b/crates/agent_ui/src/conversation_view/thread_view.rs @@ -10,7 +10,7 @@ use editor::actions::OpenExcerpts; use crate::StartThreadIn; use crate::message_editor::SharedSessionCapabilities; -use gpui::{Corner, List}; +use gpui::{Corner, List, TaskExt}; use heapless::Vec as ArrayVec; use language_model::{LanguageModelEffortLevel, Speed}; use settings::update_settings_file; diff --git a/crates/agent_ui/src/inline_assistant.rs b/crates/agent_ui/src/inline_assistant.rs index ce74b7f78cda0ea14a79593f83e5666795f80e5e..212916bfcf4cc452d628b50bcb7698b01707cb9c 100644 --- a/crates/agent_ui/src/inline_assistant.rs +++ b/crates/agent_ui/src/inline_assistant.rs @@ -36,8 +36,8 @@ use editor::{ use fs::Fs; use futures::{FutureExt, channel::mpsc}; use gpui::{ - App, Context, Entity, Focusable, Global, HighlightStyle, Subscription, Task, UpdateGlobal, - WeakEntity, Window, point, + App, Context, Entity, Focusable, Global, HighlightStyle, Subscription, Task, TaskExt, + UpdateGlobal, WeakEntity, Window, point, }; use language::{Buffer, Point, Selection, TransactionId}; use language_model::{ConfigurationError, ConfiguredModel, LanguageModelRegistry}; diff --git a/crates/agent_ui/src/message_editor.rs b/crates/agent_ui/src/message_editor.rs index 3b93439b62305f63596abcaebe562e7b3f2a65f3..3a995f5ab7fd64176caa4d999bb6fdb392d06181 100644 --- a/crates/agent_ui/src/message_editor.rs +++ b/crates/agent_ui/src/message_editor.rs @@ -21,7 +21,7 @@ use editor::{ use futures::{FutureExt as _, future::join_all}; use gpui::{ AppContext, ClipboardEntry, Context, Entity, EventEmitter, FocusHandle, Focusable, ImageFormat, - KeyContext, SharedString, Subscription, Task, TextStyle, WeakEntity, + KeyContext, SharedString, Subscription, Task, TaskExt, TextStyle, WeakEntity, }; use language::{Buffer, language_settings::InlayHintKind}; use parking_lot::RwLock; diff --git a/crates/agent_ui/src/model_selector.rs b/crates/agent_ui/src/model_selector.rs index 89290bd9973216f04cdd1d70e442cf04a47b97f2..2434231a9b76fe51dc6e42c884c1daf846e5d170 100644 --- a/crates/agent_ui/src/model_selector.rs +++ b/crates/agent_ui/src/model_selector.rs @@ -11,7 +11,7 @@ use futures::FutureExt; use fuzzy::{StringMatchCandidate, match_strings}; use gpui::{ Action, AsyncWindowContext, BackgroundExecutor, DismissEvent, FocusHandle, Subscription, Task, - WeakEntity, + TaskExt, WeakEntity, }; use itertools::Itertools; use ordered_float::OrderedFloat; diff --git a/crates/agent_ui/src/thread_branch_picker.rs b/crates/agent_ui/src/thread_branch_picker.rs index 99aced11de951c158b1c84c1f28c69da85a05359..75a7c08e9429be53da85a9c9db2bff662fdb80a2 100644 --- a/crates/agent_ui/src/thread_branch_picker.rs +++ b/crates/agent_ui/src/thread_branch_picker.rs @@ -9,7 +9,7 @@ use fuzzy::StringMatchCandidate; use git::repository::Branch as GitBranch; use gpui::{ AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - IntoElement, ParentElement, Render, SharedString, Styled, Task, Window, rems, + IntoElement, ParentElement, Render, SharedString, Styled, Task, TaskExt, Window, rems, }; use picker::{Picker, PickerDelegate, PickerEditorPosition}; use project::Project; diff --git a/crates/agent_ui/src/thread_history_view.rs b/crates/agent_ui/src/thread_history_view.rs index a4a00455be471c2a76fd8b2598402dc6e925ad86..7c6e00631e51b64baa8b6bbfe7659e855888e711 100644 --- a/crates/agent_ui/src/thread_history_view.rs +++ b/crates/agent_ui/src/thread_history_view.rs @@ -5,7 +5,7 @@ use chrono::{Datelike as _, Local, NaiveDate, TimeDelta, Utc}; use editor::{Editor, EditorEvent}; use fuzzy::StringMatchCandidate; use gpui::{ - AnyElement, App, Entity, EventEmitter, FocusHandle, Focusable, ScrollStrategy, Task, + AnyElement, App, Entity, EventEmitter, FocusHandle, Focusable, ScrollStrategy, Task, TaskExt, UniformListScrollHandle, Window, uniform_list, }; use std::{fmt::Display, ops::Range}; diff --git a/crates/agent_ui/src/thread_import.rs b/crates/agent_ui/src/thread_import.rs index 78de6fd34e2cab57377c640d27bd21c26f8a7339..9c8bf04b594a11e6e740260a3d4379114aaba3f9 100644 --- a/crates/agent_ui/src/thread_import.rs +++ b/crates/agent_ui/src/thread_import.rs @@ -8,7 +8,7 @@ use fs::Fs; use futures::FutureExt as _; use gpui::{ App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, MouseDownEvent, - Render, SharedString, Task, WeakEntity, Window, + Render, SharedString, Task, TaskExt, WeakEntity, Window, }; use notifications::status_toast::{StatusToast, ToastIcon}; use project::{AgentId, AgentRegistryStore, AgentServerStore}; diff --git a/crates/agent_ui/src/thread_metadata_store.rs b/crates/agent_ui/src/thread_metadata_store.rs index 4ba68b400a60320e95bfd645ee662f6483dc6cf4..f3e8e8ab52406b347bfc65ce0ca66a6ce2d3c305 100644 --- a/crates/agent_ui/src/thread_metadata_store.rs +++ b/crates/agent_ui/src/thread_metadata_store.rs @@ -19,7 +19,7 @@ use db::{ }; use fs::Fs; use futures::{FutureExt, future::Shared}; -use gpui::{AppContext as _, Entity, Global, Subscription, Task}; +use gpui::{AppContext as _, Entity, Global, Subscription, Task, TaskExt}; use project::AgentId; use remote::RemoteConnectionOptions; use ui::{App, Context, SharedString}; diff --git a/crates/agent_ui/src/threads_archive_view.rs b/crates/agent_ui/src/threads_archive_view.rs index 817a9deb3ae9223c0fe2bd169563bb9c5c6cb5a9..475de1c66529e4ae5fc18a67f3b98c7db51e0fa7 100644 --- a/crates/agent_ui/src/threads_archive_view.rs +++ b/crates/agent_ui/src/threads_archive_view.rs @@ -15,7 +15,8 @@ use fs::Fs; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - ListState, Render, SharedString, Subscription, Task, WeakEntity, Window, list, prelude::*, px, + ListState, Render, SharedString, Subscription, Task, TaskExt, WeakEntity, Window, list, + prelude::*, px, }; use itertools::Itertools as _; use menu::{Confirm, SelectFirst, SelectLast, SelectNext, SelectPrevious}; diff --git a/crates/agent_ui/src/ui/mention_crease.rs b/crates/agent_ui/src/ui/mention_crease.rs index bd48a558f5d9b1f042f974dc6e174f8ba8078adf..3d72a1fae4575e98a5487e25dca023f5b1238ca8 100644 --- a/crates/agent_ui/src/ui/mention_crease.rs +++ b/crates/agent_ui/src/ui/mention_crease.rs @@ -4,7 +4,8 @@ use acp_thread::MentionUri; use agent_client_protocol as acp; use editor::{Editor, SelectionEffects, scroll::Autoscroll}; use gpui::{ - Animation, AnimationExt, AnyView, Context, IntoElement, WeakEntity, Window, pulsating_between, + Animation, AnimationExt, AnyView, Context, IntoElement, TaskExt, WeakEntity, Window, + pulsating_between, }; use prompt_store::PromptId; use rope::Point; diff --git a/crates/ai_onboarding/src/ai_onboarding.rs b/crates/ai_onboarding/src/ai_onboarding.rs index c49558e50472f3b497ba74ac388f3874aceec77b..7bf76d465b8aadb6d80dee6251dc8e07907eba7f 100644 --- a/crates/ai_onboarding/src/ai_onboarding.rs +++ b/crates/ai_onboarding/src/ai_onboarding.rs @@ -16,7 +16,7 @@ pub use young_account_banner::YoungAccountBanner; use std::sync::Arc; use client::{Client, UserStore, zed_urls}; -use gpui::{AnyElement, Entity, IntoElement, ParentElement}; +use gpui::{AnyElement, Entity, IntoElement, ParentElement, TaskExt}; use ui::{ Divider, List, ListBulletItem, RegisterComponent, Tooltip, Vector, VectorName, prelude::*, }; diff --git a/crates/auto_update/src/auto_update.rs b/crates/auto_update/src/auto_update.rs index a057a30c6d37e9e2bc8f98a60055c407b95c2a4b..c1b15aa3b6c3715c85fed223f15b1ce8d8c622c2 100644 --- a/crates/auto_update/src/auto_update.rs +++ b/crates/auto_update/src/auto_update.rs @@ -3,8 +3,8 @@ use client::Client; use db::kvp::KeyValueStore; use futures_lite::StreamExt; use gpui::{ - App, AppContext as _, AsyncApp, BackgroundExecutor, Context, Entity, Global, Task, Window, - actions, + App, AppContext as _, AsyncApp, BackgroundExecutor, Context, Entity, Global, Task, TaskExt, + Window, actions, }; use http_client::{HttpClient, HttpClientWithUrl}; use paths::remote_servers_dir; diff --git a/crates/auto_update_ui/src/auto_update_ui.rs b/crates/auto_update_ui/src/auto_update_ui.rs index 6773dea5a09ad3bbe1a43761b6df43a56e195d8d..bb35ce51087dcfcf6dfa6454c76a772d6750ecb6 100644 --- a/crates/auto_update_ui/src/auto_update_ui.rs +++ b/crates/auto_update_ui/src/auto_update_ui.rs @@ -6,7 +6,8 @@ use db::kvp::Dismissable; use editor::{Editor, MultiBuffer}; use fs::Fs; use gpui::{ - App, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, Window, actions, prelude::*, + App, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, TaskExt, Window, actions, + prelude::*, }; use markdown_preview::markdown_preview_view::{MarkdownPreviewMode, MarkdownPreviewView}; use release_channel::{AppVersion, ReleaseChannel}; diff --git a/crates/call/src/call_impl/mod.rs b/crates/call/src/call_impl/mod.rs index b4bad6d2f350c3caa03eccbb8ca6582a71c6128c..4ae78f53b3077bdf3f3550355aac661e1aa59a38 100644 --- a/crates/call/src/call_impl/mod.rs +++ b/crates/call/src/call_impl/mod.rs @@ -9,7 +9,7 @@ use collections::HashSet; use futures::{Future, FutureExt, channel::oneshot, future::Shared}; use gpui::{ AnyView, App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, Subscription, Task, - WeakEntity, Window, + TaskExt, WeakEntity, Window, }; use postage::watch; use project::Project; diff --git a/crates/call/src/call_impl/room.rs b/crates/call/src/call_impl/room.rs index 37a3fd823ec03d3b1d94419ac47662431d718708..79b8777000ef3cb45ad34830758c4c2df78ec481 100644 --- a/crates/call/src/call_impl/room.rs +++ b/crates/call/src/call_impl/room.rs @@ -14,7 +14,7 @@ use fs::Fs; use futures::StreamExt; use gpui::{ App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, FutureExt as _, - ScreenCaptureSource, ScreenCaptureStream, Task, Timeout, WeakEntity, + ScreenCaptureSource, ScreenCaptureStream, Task, TaskExt, Timeout, WeakEntity, }; use gpui_tokio::Tokio; use language::LanguageRegistry; diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs index 05ca974f80438542b232262dd375e0e38ab4327c..9f1a6fcb1c82f17663618f00d8f2acd69b8f1c44 100644 --- a/crates/client/src/client.rs +++ b/crates/client/src/client.rs @@ -25,7 +25,7 @@ use futures::{ channel::{mpsc, oneshot}, future::BoxFuture, }; -use gpui::{App, AsyncApp, Entity, Global, Task, WeakEntity, actions}; +use gpui::{App, AsyncApp, Entity, Global, Task, TaskExt, WeakEntity, actions}; use http_client::{HttpClient, HttpClientWithUrl, http, read_proxy_from_env}; use parking_lot::{Mutex, RwLock}; use postage::watch; diff --git a/crates/client/src/llm_token.rs b/crates/client/src/llm_token.rs index 70457679e4b965e3251ae4861d3052bfa41fd65a..058be7905fa12d5fda7c3e9eea4c5ed785435c79 100644 --- a/crates/client/src/llm_token.rs +++ b/crates/client/src/llm_token.rs @@ -4,6 +4,7 @@ use cloud_api_types::websocket_protocol::MessageToClient; use cloud_llm_client::{EXPIRED_LLM_TOKEN_HEADER_NAME, OUTDATED_LLM_TOKEN_HEADER_NAME}; use gpui::{ App, AppContext as _, Context, Entity, EventEmitter, Global, ReadGlobal as _, Subscription, + TaskExt, }; use std::sync::Arc; diff --git a/crates/client/src/user.rs b/crates/client/src/user.rs index 270180cefd74b92075c1237a0f8320454a500b04..5baf6a1d6c19c6ed950de617317db3422f17d7ef 100644 --- a/crates/client/src/user.rs +++ b/crates/client/src/user.rs @@ -15,7 +15,8 @@ use derive_more::Deref; use feature_flags::FeatureFlagAppExt; use futures::{Future, StreamExt, channel::mpsc}; use gpui::{ - App, AsyncApp, Context, Entity, EventEmitter, SharedString, SharedUri, Task, WeakEntity, + App, AsyncApp, Context, Entity, EventEmitter, SharedString, SharedUri, Task, TaskExt, + WeakEntity, }; use http_client::http::{HeaderMap, HeaderValue}; use postage::{sink::Sink, watch}; diff --git a/crates/collab/tests/integration/random_project_collaboration_tests.rs b/crates/collab/tests/integration/random_project_collaboration_tests.rs index ab5bde6d3215fa60790d5f55d8b06ea6482098cc..a7eaa9cd60f1162d2fbd82c961ad0fd446433f3b 100644 --- a/crates/collab/tests/integration/random_project_collaboration_tests.rs +++ b/crates/collab/tests/integration/random_project_collaboration_tests.rs @@ -7,7 +7,7 @@ use collections::{BTreeMap, HashMap}; use editor::Bias; use fs::{FakeFs, Fs as _}; use git::status::{FileStatus, StatusCode, TrackedStatus, UnmergedStatus, UnmergedStatusCode}; -use gpui::{BackgroundExecutor, Entity, TestAppContext}; +use gpui::{BackgroundExecutor, Entity, TaskExt, TestAppContext}; use language::{ FakeLspAdapter, Language, LanguageConfig, LanguageMatcher, PointUtf16, range_to_lsp, }; diff --git a/crates/collab_ui/src/collab_panel.rs b/crates/collab_ui/src/collab_panel.rs index a80d5682eb56526d9060fd1014d29f1deac4d7d2..46567ba99438b89cb537894fc78fd0ee6cd3e84a 100644 --- a/crates/collab_ui/src/collab_panel.rs +++ b/crates/collab_ui/src/collab_panel.rs @@ -16,8 +16,8 @@ use gpui::{ AnyElement, App, AsyncWindowContext, Bounds, ClickEvent, ClipboardItem, DismissEvent, Div, Empty, Entity, EventEmitter, FocusHandle, Focusable, FontStyle, KeyContext, ListOffset, ListState, MouseDownEvent, Pixels, Point, PromptLevel, SharedString, Subscription, Task, - TextStyle, WeakEntity, Window, actions, anchored, canvas, deferred, div, fill, list, point, - prelude::*, px, + TaskExt, TextStyle, WeakEntity, Window, actions, anchored, canvas, deferred, div, fill, list, + point, prelude::*, px, }; use menu::{Cancel, Confirm, SecondaryConfirm, SelectNext, SelectPrevious}; diff --git a/crates/collab_ui/src/collab_panel/channel_modal.rs b/crates/collab_ui/src/collab_panel/channel_modal.rs index 3b3d974f3e50a9a16f32cee0c68fa399f00cd4b1..7e783c2969973a24148c6e2cd5b9503eaca0eead 100644 --- a/crates/collab_ui/src/collab_panel/channel_modal.rs +++ b/crates/collab_ui/src/collab_panel/channel_modal.rs @@ -6,7 +6,8 @@ use client::{ use fuzzy::{StringMatchCandidate, match_strings}; use gpui::{ App, ClipboardItem, Context, DismissEvent, Entity, EventEmitter, Focusable, ParentElement, - Render, Styled, Subscription, Task, WeakEntity, Window, actions, anchored, deferred, div, + Render, Styled, Subscription, Task, TaskExt, WeakEntity, Window, actions, anchored, deferred, + div, }; use picker::{Picker, PickerDelegate}; use std::sync::Arc; diff --git a/crates/collab_ui/src/notifications/incoming_call_notification.rs b/crates/collab_ui/src/notifications/incoming_call_notification.rs index 71940794f4180e18d54a8b2ff258d37642c1e83b..5a9628ac87d9ad70613e981d011da651ada01074 100644 --- a/crates/collab_ui/src/notifications/incoming_call_notification.rs +++ b/crates/collab_ui/src/notifications/incoming_call_notification.rs @@ -1,7 +1,7 @@ use crate::notification_window_options; use call::{ActiveCall, IncomingCall}; use futures::StreamExt; -use gpui::{App, WindowHandle, prelude::*}; +use gpui::{App, TaskExt, WindowHandle, prelude::*}; use std::sync::{Arc, Weak}; use ui::{CollabNotification, prelude::*}; diff --git a/crates/collab_ui/src/notifications/project_shared_notification.rs b/crates/collab_ui/src/notifications/project_shared_notification.rs index 3c231c5397af23656cc914e71269bdfff52d4af1..e39d1cd32a503f9832e4ef810a17392e43e306e0 100644 --- a/crates/collab_ui/src/notifications/project_shared_notification.rs +++ b/crates/collab_ui/src/notifications/project_shared_notification.rs @@ -2,7 +2,7 @@ use crate::notification_window_options; use call::{ActiveCall, room}; use client::User; use collections::HashMap; -use gpui::{App, Size}; +use gpui::{App, Size, TaskExt}; use std::sync::{Arc, Weak}; use ui::{CollabNotification, prelude::*}; diff --git a/crates/command_palette/src/command_palette.rs b/crates/command_palette/src/command_palette.rs index 4a80740c3765f25ee878a60fa061c17e3a795b5f..1d0514a2e9e364c65fef8f29abafda3d296c56d6 100644 --- a/crates/command_palette/src/command_palette.rs +++ b/crates/command_palette/src/command_palette.rs @@ -16,7 +16,7 @@ use command_palette_hooks::{ use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ Action, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - ParentElement, Render, Styled, Task, WeakEntity, Window, + ParentElement, Render, Styled, Task, TaskExt, WeakEntity, Window, }; use persistence::CommandPaletteDB; use picker::Direction; diff --git a/crates/copilot/src/copilot_edit_prediction_delegate.rs b/crates/copilot/src/copilot_edit_prediction_delegate.rs index e789a89df65daf45dd02a16d954b299307e0c62d..4b75feafe4b38b1ceebc6dac66fe4ad5eebf9156 100644 --- a/crates/copilot/src/copilot_edit_prediction_delegate.rs +++ b/crates/copilot/src/copilot_edit_prediction_delegate.rs @@ -10,7 +10,7 @@ use edit_prediction_types::{ EditPrediction, EditPredictionDelegate, EditPredictionDiscardReason, EditPredictionIconSet, interpolate_edits, }; -use gpui::{App, Context, Entity, Task}; +use gpui::{App, Context, Entity, Task, TaskExt}; use icons::IconName; use language::{Anchor, Buffer, BufferSnapshot, EditPreview, OffsetRangeExt, ToPointUtf16}; use std::{ops::Range, sync::Arc, time::Duration}; diff --git a/crates/copilot_chat/src/copilot_chat.rs b/crates/copilot_chat/src/copilot_chat.rs index 850190701e526fe3fad896a17cdc704b89253fea..0be17b083d220b1fe2d740d7c23add4b00713e8c 100644 --- a/crates/copilot_chat/src/copilot_chat.rs +++ b/crates/copilot_chat/src/copilot_chat.rs @@ -10,7 +10,7 @@ use collections::HashSet; use fs::Fs; use futures::{AsyncBufReadExt, AsyncReadExt, StreamExt, io::BufReader, stream::BoxStream}; use gpui::WeakEntity; -use gpui::{App, AsyncApp, Global, prelude::*}; +use gpui::{App, AsyncApp, Global, TaskExt, prelude::*}; use http_client::HttpRequestExt; use http_client::{AsyncBody, HttpClient, Method, Request as HttpRequest}; use paths::home_dir; diff --git a/crates/copilot_ui/src/sign_in.rs b/crates/copilot_ui/src/sign_in.rs index 09267020e5c3599675807f01777097d23b4d9ab0..f0408ea063a5428dae95ff7b2f566a388c7c0949 100644 --- a/crates/copilot_ui/src/sign_in.rs +++ b/crates/copilot_ui/src/sign_in.rs @@ -6,7 +6,7 @@ use copilot::{ use gpui::{ App, ClipboardItem, Context, DismissEvent, Element, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, IntoElement, MouseDownEvent, ParentElement, Render, Styled, - Subscription, Window, WindowBounds, WindowOptions, div, point, + Subscription, TaskExt, Window, WindowBounds, WindowOptions, div, point, }; use project::project_settings::ProjectSettings; use settings::Settings as _; diff --git a/crates/debugger_tools/src/dap_log.rs b/crates/debugger_tools/src/dap_log.rs index 2c653217716b0218cff0b60eb2bce4ac1ce02e5d..602bfe855dfa09b8b384632d267b3180b608a7fa 100644 --- a/crates/debugger_tools/src/dap_log.rs +++ b/crates/debugger_tools/src/dap_log.rs @@ -11,7 +11,8 @@ use futures::{ }; use gpui::{ App, AppContext, Context, Empty, Entity, EventEmitter, FocusHandle, Focusable, IntoElement, - ParentElement, Render, SharedString, Styled, Subscription, WeakEntity, Window, actions, div, + ParentElement, Render, SharedString, Styled, Subscription, TaskExt, WeakEntity, Window, + actions, div, }; use project::{ Project, diff --git a/crates/debugger_ui/src/attach_modal.rs b/crates/debugger_ui/src/attach_modal.rs index 6e537ae0c6e1db7418596cf48b51ca22df30be57..5f07f2a70d28379437680ad631d9f8044e71ce6f 100644 --- a/crates/debugger_ui/src/attach_modal.rs +++ b/crates/debugger_ui/src/attach_modal.rs @@ -1,7 +1,7 @@ use dap::{DapRegistry, DebugRequest}; use futures::channel::oneshot; use fuzzy::{StringMatch, StringMatchCandidate}; -use gpui::{AppContext, DismissEvent, Entity, EventEmitter, Focusable, Render, Task}; +use gpui::{AppContext, DismissEvent, Entity, EventEmitter, Focusable, Render, Task, TaskExt}; use gpui::{Subscription, WeakEntity}; use picker::{Picker, PickerDelegate}; use project::Project; diff --git a/crates/debugger_ui/src/debugger_panel.rs b/crates/debugger_ui/src/debugger_panel.rs index c2d8a7a5478cfc9eae53f9e7a6018864865a4d1a..346f52d364414ce15b40e7fc1f5e408e7f15289f 100644 --- a/crates/debugger_ui/src/debugger_panel.rs +++ b/crates/debugger_ui/src/debugger_panel.rs @@ -19,7 +19,7 @@ use feature_flags::{FeatureFlag, FeatureFlagAppExt as _}; use gpui::{ Action, App, AsyncWindowContext, ClipboardItem, Context, Corner, DismissEvent, Entity, EntityId, EventEmitter, FocusHandle, Focusable, MouseButton, MouseDownEvent, Point, - Subscription, Task, WeakEntity, anchored, deferred, + Subscription, Task, TaskExt, WeakEntity, anchored, deferred, }; use itertools::Itertools as _; diff --git a/crates/debugger_ui/src/debugger_ui.rs b/crates/debugger_ui/src/debugger_ui.rs index f5947a4393b2eeb8ca6ad3f844962500aa4ecf2d..2fe87d1ef005405c692df3b95fec6977113f9a5b 100644 --- a/crates/debugger_ui/src/debugger_ui.rs +++ b/crates/debugger_ui/src/debugger_ui.rs @@ -2,7 +2,7 @@ use std::any::TypeId; use debugger_panel::DebugPanel; use editor::{Editor, MultiBufferOffsetUtf16}; -use gpui::{Action, App, DispatchPhase, EntityInputHandler, actions}; +use gpui::{Action, App, DispatchPhase, EntityInputHandler, TaskExt, actions}; use new_process_modal::{NewProcessModal, NewProcessMode}; use project::debugger::{self, breakpoint_store::SourceBreakpoint, session::ThreadStatus}; use schemars::JsonSchema; diff --git a/crates/debugger_ui/src/new_process_modal.rs b/crates/debugger_ui/src/new_process_modal.rs index 1ea974c4fe2ace4be4aeaf0064304a7a4ee2fb08..249159a91c11d705c4ef5adc23123c95a456d48c 100644 --- a/crates/debugger_ui/src/new_process_modal.rs +++ b/crates/debugger_ui/src/new_process_modal.rs @@ -16,7 +16,7 @@ use editor::Editor; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ Action, App, AppContext, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - KeyContext, Render, Subscription, Task, WeakEntity, actions, + KeyContext, Render, Subscription, Task, TaskExt, WeakEntity, actions, }; use itertools::Itertools as _; use picker::{Picker, PickerDelegate, highlighted_match_with_paths::HighlightedMatch}; diff --git a/crates/debugger_ui/src/session/running.rs b/crates/debugger_ui/src/session/running.rs index 836f76a73fe69aa5dfdacf3359be34946d8c3740..76d4e8866ada110ff4a61e90831f0b6fd2f33af9 100644 --- a/crates/debugger_ui/src/session/running.rs +++ b/crates/debugger_ui/src/session/running.rs @@ -33,7 +33,7 @@ use dap::{ use futures::{SinkExt, channel::mpsc}; use gpui::{ Action as _, AnyView, AppContext, Axis, Entity, EntityId, EventEmitter, FocusHandle, Focusable, - NoAction, Pixels, Point, Subscription, Task, WeakEntity, + NoAction, Pixels, Point, Subscription, Task, TaskExt, WeakEntity, }; use language::Buffer; use loaded_source_list::LoadedSourceList; diff --git a/crates/debugger_ui/src/session/running/stack_frame_list.rs b/crates/debugger_ui/src/session/running/stack_frame_list.rs index 7175b8556a45f0f499bd0604a0112a085b8730ea..982fc0f8567bc1b2b11a695ab31f81b6e45d8032 100644 --- a/crates/debugger_ui/src/session/running/stack_frame_list.rs +++ b/crates/debugger_ui/src/session/running/stack_frame_list.rs @@ -8,7 +8,7 @@ use dap::adapters::DebugAdapterName; use db::kvp::KeyValueStore; use gpui::{ Action, AnyElement, Entity, EventEmitter, FocusHandle, Focusable, FontWeight, ListState, - Subscription, Task, WeakEntity, list, + Subscription, Task, TaskExt, WeakEntity, list, }; use util::{ debug_panic, diff --git a/crates/debugger_ui/src/session/running/variable_list.rs b/crates/debugger_ui/src/session/running/variable_list.rs index fd8fd736b9e5194d34df3928c0c2983bb40be954..b39d8ccdddf5a8df75f08e96ef2ddf0aecd3ed44 100644 --- a/crates/debugger_ui/src/session/running/variable_list.rs +++ b/crates/debugger_ui/src/session/running/variable_list.rs @@ -8,8 +8,9 @@ use dap::{ use editor::Editor; use gpui::{ Action, AnyElement, ClickEvent, ClipboardItem, Context, DismissEvent, Empty, Entity, - FocusHandle, Focusable, Hsla, MouseDownEvent, Point, Subscription, TextStyleRefinement, - UniformListScrollHandle, WeakEntity, actions, anchored, deferred, uniform_list, + FocusHandle, Focusable, Hsla, MouseDownEvent, Point, Subscription, TaskExt, + TextStyleRefinement, UniformListScrollHandle, WeakEntity, actions, anchored, deferred, + uniform_list, }; use itertools::Itertools; use menu::{SelectFirst, SelectLast, SelectNext, SelectPrevious}; diff --git a/crates/diagnostics/src/buffer_diagnostics.rs b/crates/diagnostics/src/buffer_diagnostics.rs index 040aeae4742e18449523cbc255b4370814c1f8d7..0a252c89921a4df706867b8ddc6554d259815c3b 100644 --- a/crates/diagnostics/src/buffer_diagnostics.rs +++ b/crates/diagnostics/src/buffer_diagnostics.rs @@ -13,7 +13,7 @@ use editor::{ use gpui::{ AnyElement, App, AppContext, Context, Entity, EntityId, EventEmitter, FocusHandle, Focusable, InteractiveElement, IntoElement, ParentElement, Render, SharedString, Styled, Subscription, - Task, WeakEntity, Window, actions, div, + Task, TaskExt, WeakEntity, Window, actions, div, }; use language::{Buffer, Capability, DiagnosticEntry, DiagnosticEntryRef, Point}; use project::{ diff --git a/crates/edit_prediction/src/edit_prediction.rs b/crates/edit_prediction/src/edit_prediction.rs index 6bca0a1639d47d09a94b650bc59ad790dbdcbf46..b6b004d1a074efc1db45053420f5e7f98997f19c 100644 --- a/crates/edit_prediction/src/edit_prediction.rs +++ b/crates/edit_prediction/src/edit_prediction.rs @@ -24,7 +24,7 @@ use futures::{ use gpui::BackgroundExecutor; use gpui::http_client::Url; use gpui::{ - App, AsyncApp, Entity, EntityId, Global, SharedString, Task, WeakEntity, actions, + App, AsyncApp, Entity, EntityId, Global, SharedString, Task, TaskExt, WeakEntity, actions, http_client::{self, AsyncBody, Method}, prelude::*, }; diff --git a/crates/edit_prediction/src/mercury.rs b/crates/edit_prediction/src/mercury.rs index 155fd449904687081da0a9eae3d4731863f02254..08f4ede6da2ee73c3c068d3e92d89c581e942bb0 100644 --- a/crates/edit_prediction/src/mercury.rs +++ b/crates/edit_prediction/src/mercury.rs @@ -8,7 +8,7 @@ use cloud_llm_client::EditPredictionRejectReason; use credentials_provider::CredentialsProvider; use futures::AsyncReadExt as _; use gpui::{ - App, AppContext as _, Context, Entity, Global, SharedString, Task, + App, AppContext as _, Context, Entity, Global, SharedString, Task, TaskExt, http_client::{self, AsyncBody, HttpClient, Method, StatusCode}, }; use language::{ToOffset, ToPoint as _}; diff --git a/crates/edit_prediction/src/ollama.rs b/crates/edit_prediction/src/ollama.rs index 0ae90dd9f6eca4bfe9f87950a5a66916d8894df4..fc0f36d83217719fe277ec12175c62328e861590 100644 --- a/crates/edit_prediction/src/ollama.rs +++ b/crates/edit_prediction/src/ollama.rs @@ -1,7 +1,7 @@ use anyhow::{Context as _, Result}; use futures::AsyncReadExt as _; use gpui::{ - App, SharedString, + App, SharedString, TaskExt, http_client::{self, HttpClient}, }; use language::language_settings::OpenAiCompatibleEditPredictionSettings; diff --git a/crates/edit_prediction/src/zeta.rs b/crates/edit_prediction/src/zeta.rs index 1173cd047a93253add13da946f02cbccb8da55f9..61f7db61ada5161bb6be9350386a6cd564bc5c8d 100644 --- a/crates/edit_prediction/src/zeta.rs +++ b/crates/edit_prediction/src/zeta.rs @@ -10,7 +10,7 @@ use cloud_llm_client::{ AcceptEditPredictionBody, EditPredictionRejectReason, predict_edits_v3::RawCompletionRequest, }; use edit_prediction_types::PredictedCursorPosition; -use gpui::{App, AppContext as _, Entity, Task, WeakEntity, prelude::*}; +use gpui::{App, AppContext as _, Entity, Task, TaskExt, WeakEntity, prelude::*}; use language::{ Buffer, BufferSnapshot, DiagnosticSeverity, OffsetRangeExt as _, ToOffset as _, language_settings::all_language_settings, text_diff, diff --git a/crates/edit_prediction_context/src/edit_prediction_context.rs b/crates/edit_prediction_context/src/edit_prediction_context.rs index a44ff8b2e3e873c23c2eaa914298a4d50aee3bdc..cf1ca45ef646112ebf8b574a8b9b929568b4f4a0 100644 --- a/crates/edit_prediction_context/src/edit_prediction_context.rs +++ b/crates/edit_prediction_context/src/edit_prediction_context.rs @@ -2,7 +2,9 @@ use crate::assemble_excerpts::assemble_excerpt_ranges; use anyhow::Result; use collections::HashMap; use futures::{FutureExt, StreamExt as _, channel::mpsc, future}; -use gpui::{App, AppContext, AsyncApp, Context, Entity, EntityId, EventEmitter, Task, WeakEntity}; +use gpui::{ + App, AppContext, AsyncApp, Context, Entity, EntityId, EventEmitter, Task, TaskExt, WeakEntity, +}; use language::{Anchor, Buffer, BufferSnapshot, OffsetRangeExt as _, Point, ToOffset as _}; use project::{LocationLink, Project, ProjectPath}; use smallvec::SmallVec; diff --git a/crates/edit_prediction_ui/src/edit_prediction_button.rs b/crates/edit_prediction_ui/src/edit_prediction_button.rs index bf915409480f1ab56ef7b2c002c467c02c1095d3..ed19deb7ce2d44ac290fcd84fdebcc89efc9b4a5 100644 --- a/crates/edit_prediction_ui/src/edit_prediction_button.rs +++ b/crates/edit_prediction_ui/src/edit_prediction_button.rs @@ -12,7 +12,7 @@ use feature_flags::FeatureFlagAppExt; use fs::Fs; use gpui::{ Action, Animation, AnimationExt, App, AsyncWindowContext, Corner, Entity, FocusHandle, - Focusable, IntoElement, ParentElement, Render, Subscription, WeakEntity, actions, div, + Focusable, IntoElement, ParentElement, Render, Subscription, TaskExt, WeakEntity, actions, div, ease_in_out, pulsating_between, }; use indoc::indoc; diff --git a/crates/edit_prediction_ui/src/edit_prediction_ui.rs b/crates/edit_prediction_ui/src/edit_prediction_ui.rs index 0735a8ccab69cfc812b84195adb14743167c651a..cc78625296ef1f1a6e534215e84eed25669b212c 100644 --- a/crates/edit_prediction_ui/src/edit_prediction_ui.rs +++ b/crates/edit_prediction_ui/src/edit_prediction_ui.rs @@ -7,6 +7,7 @@ use edit_prediction::{EditPredictionStore, ResetOnboarding, capture_example}; use edit_prediction_context_view::EditPredictionContextView; use editor::Editor; use feature_flags::FeatureFlagAppExt as _; +use gpui::TaskExt; use gpui::actions; use language::language_settings::AllLanguageSettings; use project::DisableAiSettings; diff --git a/crates/editor/src/clangd_ext.rs b/crates/editor/src/clangd_ext.rs index c52089ca6ac249acffff24be2d91e761f44efb8a..fbe58b06abb7ed6500426f38491572d5dd2f1320 100644 --- a/crates/editor/src/clangd_ext.rs +++ b/crates/editor/src/clangd_ext.rs @@ -1,5 +1,5 @@ use anyhow::Context as _; -use gpui::{App, Context, Entity, Window}; +use gpui::{App, Context, Entity, TaskExt, Window}; use language::Language; use project::lsp_store::lsp_ext_command::SwitchSourceHeaderResult; use rpc::proto; diff --git a/crates/editor/src/code_context_menus.rs b/crates/editor/src/code_context_menus.rs index 2db2086eef422a87a0825c4a4ad820d422b160e9..4b1f90708d377a5d1089889141e4bffd9a1e5db1 100644 --- a/crates/editor/src/code_context_menus.rs +++ b/crates/editor/src/code_context_menus.rs @@ -2,8 +2,8 @@ use crate::scroll::ScrollAmount; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ AnyElement, Entity, Focusable, FontWeight, ListSizingBehavior, ScrollHandle, ScrollStrategy, - SharedString, Size, StrikethroughStyle, StyledText, Task, UniformListScrollHandle, div, px, - uniform_list, + SharedString, Size, StrikethroughStyle, StyledText, Task, TaskExt, UniformListScrollHandle, + div, px, uniform_list, }; use itertools::Itertools; use language::CodeLabel; diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index 09fc8ece435c8aff22bbf380709669282bd28dcd..87c55de8f3c306fd6f7498d66fcfa39e45f7a872 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -121,9 +121,9 @@ use gpui::{ FocusOutEvent, Focusable, FontId, FontStyle, FontWeight, Global, HighlightStyle, Hsla, KeyContext, Modifiers, MouseButton, MouseDownEvent, MouseMoveEvent, PaintQuad, ParentElement, Pixels, PressureStage, Render, ScrollHandle, SharedString, SharedUri, Size, Stateful, Styled, - Subscription, Task, TextRun, TextStyle, TextStyleRefinement, UTF16Selection, UnderlineStyle, - UniformListScrollHandle, WeakEntity, WeakFocusHandle, Window, div, point, prelude::*, - pulsating_between, px, relative, size, + Subscription, Task, TaskExt, TextRun, TextStyle, TextStyleRefinement, UTF16Selection, + UnderlineStyle, UniformListScrollHandle, WeakEntity, WeakFocusHandle, Window, div, point, + prelude::*, pulsating_between, px, relative, size, }; use hover_links::{HoverLink, HoveredLinkState, find_file}; use hover_popover::{HoverState, hide_hover}; diff --git a/crates/editor/src/editor_tests.rs b/crates/editor/src/editor_tests.rs index c29df272d35af5a69ba07c76cb7da3866786bd2b..ef2f16a8eda3ae820b22a548849b672edf6111c4 100644 --- a/crates/editor/src/editor_tests.rs +++ b/crates/editor/src/editor_tests.rs @@ -18,7 +18,7 @@ use buffer_diff::{BufferDiff, DiffHunkSecondaryStatus, DiffHunkStatus, DiffHunkS use collections::HashMap; use futures::{StreamExt, channel::oneshot}; use gpui::{ - BackgroundExecutor, DismissEvent, TestAppContext, UpdateGlobal, VisualTestContext, + BackgroundExecutor, DismissEvent, TaskExt, TestAppContext, UpdateGlobal, VisualTestContext, WindowBounds, WindowOptions, div, }; use indoc::indoc; diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index fa6b9d30b5b7123e8775ba1d8b65a79461e26ca1..9429fd4be9b020e1b4719b06fc88ba9ff7130934 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -46,9 +46,10 @@ use gpui::{ IsZero, Length, Modifiers, ModifiersChangedEvent, MouseButton, MouseClickEvent, MouseDownEvent, MouseMoveEvent, MousePressureEvent, MouseUpEvent, PaintQuad, ParentElement, Pixels, PressureStage, ScrollDelta, ScrollHandle, ScrollWheelEvent, ShapedLine, SharedString, Size, - StatefulInteractiveElement, Style, Styled, StyledText, TextAlign, TextRun, TextStyleRefinement, - WeakEntity, Window, anchored, deferred, div, fill, linear_color_stop, linear_gradient, outline, - pattern_slash, point, px, quad, relative, size, solid_background, transparent_black, + StatefulInteractiveElement, Style, Styled, StyledText, TaskExt, TextAlign, TextRun, + TextStyleRefinement, WeakEntity, Window, anchored, deferred, div, fill, linear_color_stop, + linear_gradient, outline, pattern_slash, point, px, quad, relative, size, solid_background, + transparent_black, }; use itertools::Itertools; use language::{ diff --git a/crates/editor/src/hover_popover.rs b/crates/editor/src/hover_popover.rs index 55350a9c679a10ea8597ae8c923c33af34d71360..aca5a8214451f380b245391c17c44eaa04aa94d9 100644 --- a/crates/editor/src/hover_popover.rs +++ b/crates/editor/src/hover_popover.rs @@ -11,8 +11,8 @@ use anyhow::Context as _; use gpui::{ AnyElement, App, AsyncWindowContext, Bounds, Context, Entity, Focusable as _, FontWeight, Hsla, InteractiveElement, IntoElement, MouseButton, ParentElement, Pixels, ScrollHandle, Size, - StatefulInteractiveElement, StyleRefinement, Styled, Subscription, Task, TextStyleRefinement, - Window, canvas, div, px, + StatefulInteractiveElement, StyleRefinement, Styled, Subscription, Task, TaskExt, + TextStyleRefinement, Window, canvas, div, px, }; use itertools::Itertools; use language::{DiagnosticEntry, Language, LanguageRegistry}; diff --git a/crates/editor/src/rust_analyzer_ext.rs b/crates/editor/src/rust_analyzer_ext.rs index 6d4d599961761789dbf14c77cd3843b036d05b5e..ab59586c3a86a36ed1fb1ce25eef8d0638234654 100644 --- a/crates/editor/src/rust_analyzer_ext.rs +++ b/crates/editor/src/rust_analyzer_ext.rs @@ -1,7 +1,7 @@ use std::{fs, path::Path}; use anyhow::Context as _; -use gpui::{App, AppContext as _, Context, Entity, Window}; +use gpui::{App, AppContext as _, Context, Entity, TaskExt, Window}; use language::{Capability, Language, proto::serialize_anchor}; use multi_buffer::MultiBuffer; use project::{ diff --git a/crates/extension_host/src/extension_host.rs b/crates/extension_host/src/extension_host.rs index 03f340a56a98eb826110b245505c2b92774a0e0f..eebedb4cfddecd80681cd9d4f72ebfd648079c49 100644 --- a/crates/extension_host/src/extension_host.rs +++ b/crates/extension_host/src/extension_host.rs @@ -31,8 +31,8 @@ use futures::{ select_biased, }; use gpui::{ - App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, Global, Task, UpdateGlobal as _, - WeakEntity, actions, + App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, Global, Task, TaskExt, + UpdateGlobal as _, WeakEntity, actions, }; use http_client::{AsyncBody, HttpClient, HttpClientWithUrl}; use language::{ diff --git a/crates/extension_host/src/extension_store_test.rs b/crates/extension_host/src/extension_store_test.rs index a2722da336b4d52a04a7d6da3c22347a3535bf2b..3211002403a1b631f9c7be84ef266fc446f90fda 100644 --- a/crates/extension_host/src/extension_store_test.rs +++ b/crates/extension_host/src/extension_store_test.rs @@ -8,7 +8,7 @@ use collections::{BTreeMap, HashSet}; use extension::ExtensionHostProxy; use fs::{FakeFs, Fs, RealFs}; use futures::{AsyncReadExt, FutureExt, StreamExt, io::BufReader}; -use gpui::{AppContext as _, BackgroundExecutor, TestAppContext}; +use gpui::{AppContext as _, BackgroundExecutor, TaskExt, TestAppContext}; use http_client::{FakeHttpClient, Response}; use language::{BinaryStatus, LanguageMatcher, LanguageName, LanguageRegistry}; use language_extension::LspAccess; diff --git a/crates/extensions_ui/src/extensions_ui.rs b/crates/extensions_ui/src/extensions_ui.rs index 19bf62d8bbc476049548f65616e6ca1e12f5378a..407e1e2458c4cc0ead90e396f1666b502f9b2649 100644 --- a/crates/extensions_ui/src/extensions_ui.rs +++ b/crates/extensions_ui/src/extensions_ui.rs @@ -15,7 +15,7 @@ use extension_host::{ExtensionManifest, ExtensionOperation, ExtensionStore}; use fuzzy::{StringMatchCandidate, match_strings}; use gpui::{ Action, App, ClipboardItem, Context, Corner, Entity, EventEmitter, Focusable, - InteractiveElement, KeyContext, ParentElement, Point, Render, Styled, Task, TextStyle, + InteractiveElement, KeyContext, ParentElement, Point, Render, Styled, Task, TaskExt, TextStyle, UniformListScrollHandle, WeakEntity, Window, actions, point, uniform_list, }; use num_format::{Locale, ToFormattedString}; diff --git a/crates/file_finder/src/file_finder.rs b/crates/file_finder/src/file_finder.rs index a4d9ea042dea898b9dd9db7d40354cf960d210d5..36051e2a16d0979349336d3fe37502e85d5891e8 100644 --- a/crates/file_finder/src/file_finder.rs +++ b/crates/file_finder/src/file_finder.rs @@ -13,8 +13,8 @@ use fuzzy::{StringMatch, StringMatchCandidate}; use fuzzy_nucleo::{PathMatch, PathMatchCandidate}; use gpui::{ Action, AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - KeyContext, Modifiers, ModifiersChangedEvent, ParentElement, Render, Styled, Task, WeakEntity, - Window, actions, rems, + KeyContext, Modifiers, ModifiersChangedEvent, ParentElement, Render, Styled, Task, TaskExt, + WeakEntity, Window, actions, rems, }; use open_path_prompt::{ OpenPathPrompt, diff --git a/crates/git_ui/src/branch_picker.rs b/crates/git_ui/src/branch_picker.rs index 7269a14ab3c0931e71feb83673172b301c6f1087..c7d9702dec6f3543e6647c6fef5b4b68f21b524f 100644 --- a/crates/git_ui/src/branch_picker.rs +++ b/crates/git_ui/src/branch_picker.rs @@ -8,7 +8,7 @@ use gpui::http_client::Url; use gpui::{ Action, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, IntoElement, Modifiers, ModifiersChangedEvent, ParentElement, Render, - SharedString, Styled, Subscription, Task, WeakEntity, Window, actions, rems, + SharedString, Styled, Subscription, Task, TaskExt, WeakEntity, Window, actions, rems, }; use picker::{Picker, PickerDelegate, PickerEditorPosition}; use project::git_store::Repository; diff --git a/crates/git_ui/src/git_panel.rs b/crates/git_ui/src/git_panel.rs index a6f1e097cfe1cc0c012ff77987011571760b3ef0..478652971cf9a6349c8d7eb92157fbfe43f6e31a 100644 --- a/crates/git_ui/src/git_panel.rs +++ b/crates/git_ui/src/git_panel.rs @@ -39,7 +39,7 @@ use git::{ use gpui::{ Action, AsyncApp, AsyncWindowContext, Bounds, ClickEvent, Corner, DismissEvent, Empty, Entity, EventEmitter, FocusHandle, Focusable, KeyContext, MouseButton, MouseDownEvent, Point, - PromptLevel, ScrollStrategy, Subscription, Task, TextStyle, UniformListScrollHandle, + PromptLevel, ScrollStrategy, Subscription, Task, TaskExt, TextStyle, UniformListScrollHandle, WeakEntity, actions, anchored, deferred, point, size, uniform_list, }; use itertools::Itertools; diff --git a/crates/git_ui/src/stash_picker.rs b/crates/git_ui/src/stash_picker.rs index 2d3515e833e4d353c323f533f1f0f39bb1d76561..b17f88b03db2adf60af21dc74618ba6ae67666fd 100644 --- a/crates/git_ui/src/stash_picker.rs +++ b/crates/git_ui/src/stash_picker.rs @@ -4,7 +4,7 @@ use git::stash::StashEntry; use gpui::{ Action, AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, IntoElement, Modifiers, ModifiersChangedEvent, ParentElement, Render, - SharedString, Styled, Subscription, Task, WeakEntity, Window, actions, rems, + SharedString, Styled, Subscription, Task, TaskExt, WeakEntity, Window, actions, rems, }; use picker::{Picker, PickerDelegate}; use project::git_store::{Repository, RepositoryEvent}; diff --git a/crates/git_ui/src/worktree_picker.rs b/crates/git_ui/src/worktree_picker.rs index 2503c2ec6c4f5a669b0302ea45891434b901ef20..e3d2af07c4de96e32d2ed40d8308724231ab81ff 100644 --- a/crates/git_ui/src/worktree_picker.rs +++ b/crates/git_ui/src/worktree_picker.rs @@ -6,7 +6,7 @@ use git::repository::Worktree as GitWorktree; use gpui::{ Action, App, AsyncWindowContext, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, IntoElement, Modifiers, ModifiersChangedEvent, ParentElement, - Render, SharedString, Styled, Subscription, Task, WeakEntity, Window, actions, rems, + Render, SharedString, Styled, Subscription, Task, TaskExt, WeakEntity, Window, actions, rems, }; use picker::{Picker, PickerDelegate, PickerEditorPosition}; use project::project_settings::ProjectSettings; diff --git a/crates/gpui/src/executor.rs b/crates/gpui/src/executor.rs index f66f58447879afb86b721a9d6d7d2c59c65a8953..9d6ab9a6c1b7b49503d16e1f2d7b6bea52afd439 100644 --- a/crates/gpui/src/executor.rs +++ b/crates/gpui/src/executor.rs @@ -9,7 +9,9 @@ use std::{ time::Duration, }; -pub use scheduler::{FallibleTask, ForegroundExecutor as SchedulerForegroundExecutor, Priority}; +pub use scheduler::{ + FallibleTask, ForegroundExecutor as SchedulerForegroundExecutor, Priority, Task, +}; /// A pointer to the executor that is currently running, /// for spawning background tasks. @@ -28,67 +30,21 @@ pub struct ForegroundExecutor { not_send: PhantomData>, } -/// Task is a primitive that allows work to happen in the background. -/// -/// It implements [`Future`] so you can `.await` on it. +/// Extension trait for `Task>` that adds `detach_and_log_err` with an `&App` context. /// -/// If you drop a task it will be cancelled immediately. Calling [`Task::detach`] allows -/// the task to continue running, but with no way to return a value. -#[must_use] -#[derive(Debug)] -pub struct Task(scheduler::Task); - -impl Task { - /// Creates a new task that will resolve with the value. - pub fn ready(val: T) -> Self { - Task(scheduler::Task::ready(val)) - } - - /// Returns true if the task has completed or was created with `Task::ready`. - pub fn is_ready(&self) -> bool { - self.0.is_ready() - } - - /// Detaching a task runs it to completion in the background. - pub fn detach(self) { - self.0.detach() - } - - /// Wraps a scheduler::Task. - pub fn from_scheduler(task: scheduler::Task) -> Self { - Task(task) - } - - /// Converts this task into a fallible task that returns `Option`. - /// - /// Unlike the standard `Task`, a [`FallibleTask`] will return `None` - /// if the task was cancelled. - /// - /// # Example - /// - /// ```ignore - /// // Background task that gracefully handles cancellation: - /// cx.background_spawn(async move { - /// let result = foreground_task.fallible().await; - /// if let Some(value) = result { - /// // Process the value - /// } - /// // If None, task was cancelled - just exit gracefully - /// }).detach(); - /// ``` - pub fn fallible(self) -> FallibleTask { - self.0.fallible() - } +/// This trait is automatically implemented for all `Task>` types. +pub trait TaskExt { + /// Run the task to completion in the background and log any errors that occur. + fn detach_and_log_err(self, cx: &App); } -impl Task> +impl TaskExt for Task> where T: 'static, E: 'static + Debug, { - /// Run the task to completion in the background and log any errors that occur. #[track_caller] - pub fn detach_and_log_err(self, cx: &App) { + fn detach_and_log_err(self, cx: &App) { let location = core::panic::Location::caller(); cx.foreground_executor() .spawn(self.log_tracked_err(*location)) @@ -96,20 +52,6 @@ where } } -impl std::future::Future for Task { - type Output = T; - - fn poll( - self: std::pin::Pin<&mut Self>, - cx: &mut std::task::Context<'_>, - ) -> std::task::Poll { - // SAFETY: Task is a repr(transparent) wrapper around scheduler::Task, - // and we're just projecting the pin through to the inner task. - let inner = unsafe { self.map_unchecked_mut(|t| &mut t.0) }; - inner.poll(cx) - } -} - impl BackgroundExecutor { /// Creates a new BackgroundExecutor from the given PlatformDispatcher. pub fn new(dispatcher: Arc) -> Self { @@ -159,9 +101,9 @@ impl BackgroundExecutor { R: Send + 'static, { if priority == Priority::RealtimeAudio { - Task::from_scheduler(self.inner.spawn_realtime(future)) + self.inner.spawn_realtime(future) } else { - Task::from_scheduler(self.inner.spawn_with_priority(priority, future)) + self.inner.spawn_with_priority(priority, future) } } @@ -410,7 +352,7 @@ impl ForegroundExecutor { where R: 'static, { - Task::from_scheduler(self.inner.spawn(future.boxed_local())) + self.inner.spawn(future.boxed_local()) } /// Enqueues the given Task to run on the main thread with the given priority. @@ -424,7 +366,7 @@ impl ForegroundExecutor { R: 'static, { // Priority is ignored for foreground tasks - they run in order on the main thread - Task::from_scheduler(self.inner.spawn(future)) + self.inner.spawn(future) } /// Used by the test harness to run an async test in a synchronous fashion. diff --git a/crates/gpui/src/prelude.rs b/crates/gpui/src/prelude.rs index 191d0a0e6d4019df9a6584fc2c15a406bbb08287..b5185a25e8619886f9a2240da26e4d2b4cabd0ff 100644 --- a/crates/gpui/src/prelude.rs +++ b/crates/gpui/src/prelude.rs @@ -5,5 +5,5 @@ pub use crate::{ AppContext as _, BorrowAppContext, Context, Element, InteractiveElement, IntoElement, ParentElement, Refineable, Render, RenderOnce, StatefulInteractiveElement, Styled, StyledImage, - VisualContext, util::FluentBuilder, + TaskExt as _, VisualContext, util::FluentBuilder, }; diff --git a/crates/gpui_util/src/lib.rs b/crates/gpui_util/src/lib.rs index ae56c2ccd0ef8ff5ab339e1ddd017884abb168d4..1e50f9040bdf02068b2658b80f3e4598296a8dce 100644 --- a/crates/gpui_util/src/lib.rs +++ b/crates/gpui_util/src/lib.rs @@ -3,6 +3,7 @@ use std::{ env, + future::Future, ops::AddAssign, panic::Location, pin::Pin, diff --git a/crates/inspector_ui/src/inspector.rs b/crates/inspector_ui/src/inspector.rs index b687ea70a57d0f1b8ea97e4767d98eb701b77080..36eed3bc72c60cb73d997b8741a073e86b36f007 100644 --- a/crates/inspector_ui/src/inspector.rs +++ b/crates/inspector_ui/src/inspector.rs @@ -1,5 +1,5 @@ use anyhow::{Context as _, anyhow}; -use gpui::{App, DivInspectorState, Inspector, InspectorElementId, IntoElement, Window}; +use gpui::{App, DivInspectorState, Inspector, InspectorElementId, IntoElement, TaskExt, Window}; use std::{cell::OnceCell, path::Path, sync::Arc}; use ui::{Label, Tooltip, prelude::*, utils::platform_title_bar_height}; use util::{ResultExt as _, command::new_command}; diff --git a/crates/journal/src/journal.rs b/crates/journal/src/journal.rs index b8028c79b3d5da415a52d946d7601d8cbb40f738..713317b70dbef9a1c30acf2a06b1b046aff677d8 100644 --- a/crates/journal/src/journal.rs +++ b/crates/journal/src/journal.rs @@ -1,7 +1,7 @@ use chrono::{Datelike, Local, NaiveTime, Timelike}; use editor::scroll::Autoscroll; use editor::{Editor, SelectionEffects}; -use gpui::{App, AppContext as _, Context, Window, actions}; +use gpui::{App, AppContext as _, Context, TaskExt, Window, actions}; pub use settings::HourFormat; use settings::{RegisterSetting, Settings}; use std::{ diff --git a/crates/keymap_editor/src/keymap_editor.rs b/crates/keymap_editor/src/keymap_editor.rs index c4833620cf4ec0a6dc965aa9e23c2690a44773fd..0a89e60c816351e401b30db8845b21bf763ba5d6 100644 --- a/crates/keymap_editor/src/keymap_editor.rs +++ b/crates/keymap_editor/src/keymap_editor.rs @@ -20,8 +20,8 @@ use gpui::{ FocusHandle, Focusable, Global, IsZero, KeyBindingContextPredicate::{And, Descendant, Equal, Identifier, Not, NotEqual, Or}, KeyContext, KeybindingKeystroke, MouseButton, PlatformKeyboardMapper, Point, ScrollStrategy, - ScrollWheelEvent, Stateful, StyledText, Subscription, Task, TextStyleRefinement, WeakEntity, - actions, anchored, deferred, div, + ScrollWheelEvent, Stateful, StyledText, Subscription, Task, TaskExt, TextStyleRefinement, + WeakEntity, actions, anchored, deferred, div, }; use language::{Language, LanguageConfig, ToOffset as _}; diff --git a/crates/language_models/src/provider/anthropic.rs b/crates/language_models/src/provider/anthropic.rs index 58de77d573293345ec2120695866c824f10c6108..6bf93a1ee47d64226c0e6780122b1cf738bfb7a9 100644 --- a/crates/language_models/src/provider/anthropic.rs +++ b/crates/language_models/src/provider/anthropic.rs @@ -5,7 +5,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture, stream::BoxStream}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, Task}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, Task, TaskExt}; use http_client::HttpClient; use language_model::{ ANTHROPIC_PROVIDER_ID, ANTHROPIC_PROVIDER_NAME, ApiKeyState, AuthenticateError, diff --git a/crates/language_models/src/provider/bedrock.rs b/crates/language_models/src/provider/bedrock.rs index 80c758769cd990c00f5942433143bf6fb2216b7c..3f34272f35ea895388b3b6f234074d5fdda48b96 100644 --- a/crates/language_models/src/provider/bedrock.rs +++ b/crates/language_models/src/provider/bedrock.rs @@ -24,7 +24,8 @@ use collections::{BTreeMap, HashMap}; use credentials_provider::CredentialsProvider; use futures::{FutureExt, Stream, StreamExt, future::BoxFuture, stream::BoxStream}; use gpui::{ - AnyView, App, AsyncApp, Context, Entity, FocusHandle, Subscription, Task, Window, actions, + AnyView, App, AsyncApp, Context, Entity, FocusHandle, Subscription, Task, TaskExt, Window, + actions, }; use gpui_tokio::Tokio; use http_client::HttpClient; diff --git a/crates/language_models/src/provider/cloud.rs b/crates/language_models/src/provider/cloud.rs index 294b44ecae9941481e26c2341018ce584d68b3ec..1cbbca996941203a88ab88023dc998a36f669780 100644 --- a/crates/language_models/src/provider/cloud.rs +++ b/crates/language_models/src/provider/cloud.rs @@ -7,7 +7,7 @@ use cloud_api_types::Plan; use futures::StreamExt; use futures::future::BoxFuture; use gpui::AsyncApp; -use gpui::{AnyElement, AnyView, App, Context, Entity, Subscription, Task}; +use gpui::{AnyElement, AnyView, App, Context, Entity, Subscription, Task, TaskExt}; use language_model::{ AuthenticateError, IconOrSvg, LanguageModel, LanguageModelProvider, LanguageModelProviderId, LanguageModelProviderName, LanguageModelProviderState, ZED_CLOUD_PROVIDER_ID, diff --git a/crates/language_models/src/provider/deepseek.rs b/crates/language_models/src/provider/deepseek.rs index f3dccd5cc1a2e1a5ddfe2bc6b43901f2b549e532..da46f086b7e3dcd0ae780b7f1d05f46e4d6d98f6 100644 --- a/crates/language_models/src/provider/deepseek.rs +++ b/crates/language_models/src/provider/deepseek.rs @@ -5,7 +5,7 @@ use deepseek::DEEPSEEK_API_URL; use futures::Stream; use futures::{FutureExt, StreamExt, future::BoxFuture, stream::BoxStream}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/google.rs b/crates/language_models/src/provider/google.rs index 92278839c6ff5119849f8881409928686f055331..0692c787d6ad3304633ecdb48031cd9da9a58875 100644 --- a/crates/language_models/src/provider/google.rs +++ b/crates/language_models/src/provider/google.rs @@ -4,7 +4,7 @@ use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; pub use google_ai::completion::{GoogleEventMapper, count_google_tokens, into_google}; use google_ai::{GenerateContentResponse, GoogleModelMode}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ AuthenticateError, ConfigurationViewTargetAgent, EnvVar, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/lmstudio.rs b/crates/language_models/src/provider/lmstudio.rs index a541da8cd8092d5d0fa43af1217c31833f10cdeb..3a2c3f9b525c57a9739b3c4832ec2d4f65f82265 100644 --- a/crates/language_models/src/provider/lmstudio.rs +++ b/crates/language_models/src/provider/lmstudio.rs @@ -4,7 +4,7 @@ use credentials_provider::CredentialsProvider; use fs::Fs; use futures::Stream; use futures::{FutureExt, StreamExt, future::BoxFuture, stream::BoxStream}; -use gpui::{AnyView, App, AsyncApp, Context, CursorStyle, Entity, Subscription, Task}; +use gpui::{AnyView, App, AsyncApp, Context, CursorStyle, Entity, Subscription, Task, TaskExt}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/mistral.rs b/crates/language_models/src/provider/mistral.rs index 5fef40b2b1badbc77133ebe67fbe0f1fe5521259..a018e8d8b292eea9c89354e93deaf28fa58695ec 100644 --- a/crates/language_models/src/provider/mistral.rs +++ b/crates/language_models/src/provider/mistral.rs @@ -3,7 +3,7 @@ use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, Stream, StreamExt, future::BoxFuture, stream::BoxStream}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, Global, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, Global, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/ollama.rs b/crates/language_models/src/provider/ollama.rs index 49c326683a225bf73f604a584307ea1316a710c4..419bf94ba2fde6e2780624f043b561a4ba11c54c 100644 --- a/crates/language_models/src/provider/ollama.rs +++ b/crates/language_models/src/provider/ollama.rs @@ -3,7 +3,7 @@ use credentials_provider::CredentialsProvider; use fs::Fs; use futures::{FutureExt, StreamExt, future::BoxFuture, stream::BoxStream}; use futures::{Stream, TryFutureExt, stream}; -use gpui::{AnyView, App, AsyncApp, Context, CursorStyle, Entity, Task}; +use gpui::{AnyView, App, AsyncApp, Context, CursorStyle, Entity, Task, TaskExt}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/open_ai.rs b/crates/language_models/src/provider/open_ai.rs index 358a0ec5a6d517064be93d973f08eceb894ab665..a3354c88a57d5587be67bd8e6485bd2fd334dc9b 100644 --- a/crates/language_models/src/provider/open_ai.rs +++ b/crates/language_models/src/provider/open_ai.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/open_ai_compatible.rs b/crates/language_models/src/provider/open_ai_compatible.rs index 7a3126f8f33beb7851ea914cfe063b76f8b4443f..1a5885bfcb7e28b8af35bdc624599a957b616e62 100644 --- a/crates/language_models/src/provider/open_ai_compatible.rs +++ b/crates/language_models/src/provider/open_ai_compatible.rs @@ -2,7 +2,7 @@ use anyhow::Result; use convert_case::{Case, Casing}; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/open_router.rs b/crates/language_models/src/provider/open_router.rs index fba3a6938aecf1db80680e014e408e4d59c42ff7..543d43310687a0096e7656a225f57e4993205a5e 100644 --- a/crates/language_models/src/provider/open_router.rs +++ b/crates/language_models/src/provider/open_router.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::HashMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, Stream, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/opencode.rs b/crates/language_models/src/provider/opencode.rs index aae3a552544ebf2cc59255da954d84cf7b78c7da..96ec52b54acb61bcae18bac2f8394571cd77ed95 100644 --- a/crates/language_models/src/provider/opencode.rs +++ b/crates/language_models/src/provider/opencode.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/vercel.rs b/crates/language_models/src/provider/vercel.rs index cedbc9c3cb988375b90864ceb23a3b14fc50abdd..8ac5f40e38307fdf6f12561b70c893558d50db5d 100644 --- a/crates/language_models/src/provider/vercel.rs +++ b/crates/language_models/src/provider/vercel.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/vercel_ai_gateway.rs b/crates/language_models/src/provider/vercel_ai_gateway.rs index 66767edd809531b4b020263654922d742a1a04be..1bcbacd37d62b5fe08f4c31c94e8fbd9190bce9c 100644 --- a/crates/language_models/src/provider/vercel_ai_gateway.rs +++ b/crates/language_models/src/provider/vercel_ai_gateway.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{AsyncReadExt, FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, SharedString, Task, TaskExt, Window}; use http_client::{AsyncBody, HttpClient, Method, Request as HttpRequest, http}; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_models/src/provider/x_ai.rs b/crates/language_models/src/provider/x_ai.rs index e95bc1ba72fabcf9632b2ed2efd94254fb1313cd..ca8fef2c994fec04c464020eaeab0ceb02372aee 100644 --- a/crates/language_models/src/provider/x_ai.rs +++ b/crates/language_models/src/provider/x_ai.rs @@ -2,7 +2,7 @@ use anyhow::Result; use collections::BTreeMap; use credentials_provider::CredentialsProvider; use futures::{FutureExt, StreamExt, future::BoxFuture}; -use gpui::{AnyView, App, AsyncApp, Context, Entity, Task, Window}; +use gpui::{AnyView, App, AsyncApp, Context, Entity, Task, TaskExt, Window}; use http_client::HttpClient; use language_model::{ ApiKeyState, AuthenticateError, EnvVar, IconOrSvg, LanguageModel, LanguageModelCompletionError, diff --git a/crates/language_selector/src/language_selector.rs b/crates/language_selector/src/language_selector.rs index 70a03514f45371d58d0a8ee0a14eb87565d3a514..cd457cb50f943ba8da32dc5bb2f0fbcabd041f93 100644 --- a/crates/language_selector/src/language_selector.rs +++ b/crates/language_selector/src/language_selector.rs @@ -6,7 +6,7 @@ use editor::Editor; use fuzzy::{StringMatch, StringMatchCandidate, match_strings}; use gpui::{ App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, ParentElement, - Render, Styled, WeakEntity, Window, actions, + Render, Styled, TaskExt, WeakEntity, Window, actions, }; use language::{Buffer, LanguageMatcher, LanguageName, LanguageRegistry}; use open_path_prompt::file_finder_settings::FileFinderSettings; diff --git a/crates/language_tools/src/lsp_button.rs b/crates/language_tools/src/lsp_button.rs index 43b1736223478fe29f45aac0a712fafad1d2dcbe..910e242d2a93f6249d5395e4e640b2c049167bf0 100644 --- a/crates/language_tools/src/lsp_button.rs +++ b/crates/language_tools/src/lsp_button.rs @@ -13,7 +13,7 @@ use language::language_settings::{EditPredictionProvider, all_language_settings} use client::proto; use collections::HashSet; use editor::{Editor, EditorEvent}; -use gpui::{Corner, Entity, Subscription, Task, WeakEntity, actions}; +use gpui::{Corner, Entity, Subscription, Task, TaskExt, WeakEntity, actions}; use language::{BinaryStatus, BufferId, ServerHealth}; use lsp::{LanguageServerId, LanguageServerName, LanguageServerSelector}; use project::{ diff --git a/crates/onboarding/src/basics_page.rs b/crates/onboarding/src/basics_page.rs index 4817e897f7715de09f096619957675850e311b25..974169c728ba78ec654d8da04da95c0797ae5eb3 100644 --- a/crates/onboarding/src/basics_page.rs +++ b/crates/onboarding/src/basics_page.rs @@ -5,7 +5,7 @@ use client::{Client, TelemetrySettings, UserStore, zed_urls}; use cloud_api_types::Plan; use collections::HashMap; use fs::Fs; -use gpui::{Action, Animation, AnimationExt, App, Entity, IntoElement, pulsating_between}; +use gpui::{Action, Animation, AnimationExt, App, Entity, IntoElement, TaskExt, pulsating_between}; use project::agent_server_store::AllAgentServersSettings; use project::project_settings::ProjectSettings; use project::{AgentRegistryStore, RegistryAgent}; diff --git a/crates/outline_panel/src/outline_panel.rs b/crates/outline_panel/src/outline_panel.rs index fa23b805cd48461dabaddbb7670155cdfe1ba8b0..1c3a7121344e33c3e098ccc74330af2d2d2842d1 100644 --- a/crates/outline_panel/src/outline_panel.rs +++ b/crates/outline_panel/src/outline_panel.rs @@ -18,7 +18,7 @@ use gpui::{ DismissEvent, Div, ElementId, Entity, EventEmitter, FocusHandle, Focusable, HighlightStyle, InteractiveElement, IntoElement, KeyContext, ListHorizontalSizingBehavior, ListSizingBehavior, MouseButton, MouseDownEvent, ParentElement, Pixels, Point, Render, ScrollStrategy, - SharedString, Stateful, StatefulInteractiveElement as _, Styled, Subscription, Task, + SharedString, Stateful, StatefulInteractiveElement as _, Styled, Subscription, Task, TaskExt, UniformListScrollHandle, WeakEntity, Window, actions, anchored, deferred, div, point, px, size, uniform_list, }; diff --git a/crates/project/src/agent_registry_store.rs b/crates/project/src/agent_registry_store.rs index b2010da65d9477859eceab166de6e0819617e4da..21c07b0feba68b5791ee2b1fadc2a67d5b244df3 100644 --- a/crates/project/src/agent_registry_store.rs +++ b/crates/project/src/agent_registry_store.rs @@ -6,7 +6,7 @@ use anyhow::{Context as _, Result, bail}; use collections::HashMap; use fs::Fs; use futures::AsyncReadExt; -use gpui::{App, AppContext as _, Context, Entity, Global, SharedString, Task}; +use gpui::{App, AppContext as _, Context, Entity, Global, SharedString, Task, TaskExt}; use http_client::{AsyncBody, HttpClient}; use serde::Deserialize; use settings::Settings as _; diff --git a/crates/project/src/agent_server_store.rs b/crates/project/src/agent_server_store.rs index 5a9721d827cf3d189c7954f0698b662e5aaf4852..0a571a190637ae10ca2f43c1825edab1bb10a6f4 100644 --- a/crates/project/src/agent_server_store.rs +++ b/crates/project/src/agent_server_store.rs @@ -8,7 +8,7 @@ use std::{ use anyhow::{Context as _, Result, bail}; use collections::HashMap; use fs::Fs; -use gpui::{AsyncApp, Context, Entity, EventEmitter, SharedString, Subscription, Task}; +use gpui::{AsyncApp, Context, Entity, EventEmitter, SharedString, Subscription, Task, TaskExt}; use http_client::{HttpClient, github::AssetKind}; use node_runtime::NodeRuntime; use percent_encoding::percent_decode_str; diff --git a/crates/project/src/buffer_store.rs b/crates/project/src/buffer_store.rs index d2f05a119a1883a1ec744b40d4cdb467074d3c83..01386d49835039e7603e98aa6eba69838272bbf8 100644 --- a/crates/project/src/buffer_store.rs +++ b/crates/project/src/buffer_store.rs @@ -8,7 +8,8 @@ use client::Client; use collections::{HashMap, HashSet, hash_map}; use futures::{Future, FutureExt as _, channel::oneshot, future::Shared}; use gpui::{ - App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, Subscription, Task, WeakEntity, + App, AppContext as _, AsyncApp, Context, Entity, EventEmitter, Subscription, Task, TaskExt, + WeakEntity, }; use language::{ Buffer, BufferEvent, Capability, DiskState, File as _, Language, Operation, diff --git a/crates/project/src/context_server_store.rs b/crates/project/src/context_server_store.rs index 7b9fc16f10022805ea62df2f8b3df279fc96ae3d..1ea6d2c41887d79ab8159e3f0fefc5ef58735fbe 100644 --- a/crates/project/src/context_server_store.rs +++ b/crates/project/src/context_server_store.rs @@ -13,7 +13,9 @@ use context_server::{ContextServer, ContextServerCommand, ContextServerId}; use credentials_provider::CredentialsProvider; use futures::future::Either; use futures::{FutureExt as _, StreamExt as _, future::join_all}; -use gpui::{App, AsyncApp, Context, Entity, EventEmitter, Subscription, Task, WeakEntity, actions}; +use gpui::{ + App, AsyncApp, Context, Entity, EventEmitter, Subscription, Task, TaskExt, WeakEntity, actions, +}; use http_client::HttpClient; use itertools::Itertools; use rand::Rng as _; diff --git a/crates/project/src/debugger/dap_store.rs b/crates/project/src/debugger/dap_store.rs index 6d320bc06e69ba4eb3cc12ee9b7f328fc5fb0e08..adcb72197371faf5909e6c96a8e9aa260273a70b 100644 --- a/crates/project/src/debugger/dap_store.rs +++ b/crates/project/src/debugger/dap_store.rs @@ -30,7 +30,7 @@ use futures::{ channel::mpsc::{self, UnboundedSender}, future::{Shared, join_all}, }; -use gpui::{App, AppContext, AsyncApp, Context, Entity, EventEmitter, SharedString, Task}; +use gpui::{App, AppContext, AsyncApp, Context, Entity, EventEmitter, SharedString, Task, TaskExt}; use http_client::HttpClient; use language::{Buffer, LanguageToolchainStore}; use node_runtime::NodeRuntime; diff --git a/crates/project/src/debugger/session.rs b/crates/project/src/debugger/session.rs index 87e11cfd97a2f63bba3cefca671e4413deb6765f..1e11ae425640bcadf68469c400bddcb6bfb07a4e 100644 --- a/crates/project/src/debugger/session.rs +++ b/crates/project/src/debugger/session.rs @@ -38,7 +38,7 @@ use futures::{AsyncBufReadExt as _, SinkExt, StreamExt, TryStreamExt}; use futures::{FutureExt, future::Shared}; use gpui::{ App, AppContext, AsyncApp, BackgroundExecutor, Context, Entity, EventEmitter, SharedString, - Task, WeakEntity, + Task, TaskExt, WeakEntity, }; use http_client::HttpClient; use node_runtime::NodeRuntime; diff --git a/crates/project/src/git_store.rs b/crates/project/src/git_store.rs index a00e2dcfc860d468795e15ad9d78df87d75f15e8..d85d05e10a08f036be69302e235772c297ff7028 100644 --- a/crates/project/src/git_store.rs +++ b/crates/project/src/git_store.rs @@ -45,7 +45,7 @@ use git::{ }; use gpui::{ App, AppContext, AsyncApp, Context, Entity, EventEmitter, SharedString, Subscription, Task, - WeakEntity, + TaskExt, WeakEntity, }; use language::{ Buffer, BufferEvent, Language, LanguageRegistry, diff --git a/crates/project/src/lsp_command.rs b/crates/project/src/lsp_command.rs index d4a4f9b04968413c51607f71047752a9b779b79a..b017b313e169e54226eb682149c25affe1aa7a3c 100644 --- a/crates/project/src/lsp_command.rs +++ b/crates/project/src/lsp_command.rs @@ -14,7 +14,7 @@ use client::proto::{self, PeerId}; use clock::Global; use collections::HashMap; use futures::future; -use gpui::{App, AsyncApp, Entity, SharedString, Task, prelude::FluentBuilder}; +use gpui::{App, AsyncApp, Entity, SharedString, Task, TaskExt, prelude::FluentBuilder}; use language::{ Anchor, Bias, Buffer, BufferSnapshot, CachedLspAdapter, CharKind, CharScopeContext, OffsetRangeExt, PointUtf16, ToOffset, ToPointUtf16, Transaction, Unclipped, diff --git a/crates/project/src/lsp_store.rs b/crates/project/src/lsp_store.rs index 1479f159138040681122bac46ace6e73ad62337b..d3454dd36f709e2578d8e566448ffbdcda4fe5b4 100644 --- a/crates/project/src/lsp_store.rs +++ b/crates/project/src/lsp_store.rs @@ -65,7 +65,7 @@ use futures::{ use globset::{Glob, GlobBuilder, GlobMatcher, GlobSet, GlobSetBuilder}; use gpui::{ App, AppContext, AsyncApp, Context, Entity, EventEmitter, PromptLevel, SharedString, - Subscription, Task, WeakEntity, + Subscription, Task, TaskExt, WeakEntity, }; use http_client::HttpClient; use itertools::Itertools as _; diff --git a/crates/project/src/lsp_store/log_store.rs b/crates/project/src/lsp_store/log_store.rs index ae6f9ec09d419232d8f1e5ea76e92e80708f4311..0cfe3c14cf2cbaf05e6a5ceb8d9819aa9889775a 100644 --- a/crates/project/src/lsp_store/log_store.rs +++ b/crates/project/src/lsp_store/log_store.rs @@ -2,7 +2,9 @@ use std::{collections::VecDeque, sync::Arc}; use collections::HashMap; use futures::{StreamExt, channel::mpsc}; -use gpui::{App, AppContext as _, Context, Entity, EventEmitter, Global, Subscription, WeakEntity}; +use gpui::{ + App, AppContext as _, Context, Entity, EventEmitter, Global, Subscription, TaskExt, WeakEntity, +}; use lsp::{ IoKind, LanguageServer, LanguageServerId, LanguageServerName, LanguageServerSelector, MessageType, TraceValue, diff --git a/crates/project/src/project.rs b/crates/project/src/project.rs index 39e0cc9a0a00f4cd5861e60b1b100a8afef93eb8..9a0acc8105a37885aded28ff2f6d0c3fa084b4f1 100644 --- a/crates/project/src/project.rs +++ b/crates/project/src/project.rs @@ -83,7 +83,7 @@ use image_store::{ImageItemEvent, ImageStoreEvent}; use ::git::{blame::Blame, status::FileStatus}; use gpui::{ App, AppContext, AsyncApp, BorrowAppContext, Context, Entity, EventEmitter, Hsla, SharedString, - Task, WeakEntity, Window, + Task, TaskExt, WeakEntity, Window, }; use language::{ Buffer, BufferEvent, Capability, CodeLabel, CursorShape, DiskState, Language, LanguageName, diff --git a/crates/project/src/worktree_store.rs b/crates/project/src/worktree_store.rs index be95a6b0ded02ed3527195433adf6eb1ab1f781b..0ebfb1f7442a1f9bb5832e2c29aa4c22640e5ee1 100644 --- a/crates/project/src/worktree_store.rs +++ b/crates/project/src/worktree_store.rs @@ -12,7 +12,7 @@ use collections::HashMap; use fs::{Fs, copy_recursive}; use futures::{FutureExt, future::Shared}; use gpui::{ - App, AppContext as _, AsyncApp, Context, Entity, EntityId, EventEmitter, Global, Task, + App, AppContext as _, AsyncApp, Context, Entity, EntityId, EventEmitter, Global, Task, TaskExt, WeakEntity, }; use itertools::Either; diff --git a/crates/project_benchmarks/src/main.rs b/crates/project_benchmarks/src/main.rs index cdeb8ed780eceaac2dccb1ff2d8066049d134876..34d801648ea94e4ecb24afde658efa9b564ca139 100644 --- a/crates/project_benchmarks/src/main.rs +++ b/crates/project_benchmarks/src/main.rs @@ -6,6 +6,7 @@ use clap::Parser; use client::{Client, UserStore}; use futures::channel::oneshot; use gpui::AppContext as _; +use gpui::TaskExt; use http_client::FakeHttpClient; use language::LanguageRegistry; use node_runtime::NodeRuntime; diff --git a/crates/project_panel/src/project_panel.rs b/crates/project_panel/src/project_panel.rs index b409962d9fd20621ad4c1153ab723cf9e08d85a0..f6c66ec97b5edcbedd6db1b8a5f41273381312f2 100644 --- a/crates/project_panel/src/project_panel.rs +++ b/crates/project_panel/src/project_panel.rs @@ -25,7 +25,7 @@ use gpui::{ ExternalPaths, FocusHandle, Focusable, FontWeight, Hsla, InteractiveElement, KeyContext, ListHorizontalSizingBehavior, ListSizingBehavior, Modifiers, ModifiersChangedEvent, MouseButton, MouseDownEvent, ParentElement, PathPromptOptions, Pixels, Point, PromptLevel, - Render, ScrollStrategy, Stateful, Styled, Subscription, Task, UniformListScrollHandle, + Render, ScrollStrategy, Stateful, Styled, Subscription, Task, TaskExt, UniformListScrollHandle, WeakEntity, Window, actions, anchored, deferred, div, hsla, linear_color_stop, linear_gradient, point, px, size, transparent_white, uniform_list, }; diff --git a/crates/project_symbols/src/project_symbols.rs b/crates/project_symbols/src/project_symbols.rs index 8edcd9a80d1759d965dc38ecb1c88f0ea76056ad..2202ff35e18b2ff7c845bb4ac50cad150cf12486 100644 --- a/crates/project_symbols/src/project_symbols.rs +++ b/crates/project_symbols/src/project_symbols.rs @@ -1,8 +1,8 @@ use editor::{Bias, Editor, SelectionEffects, scroll::Autoscroll, styled_runs_for_code_label}; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ - App, Context, DismissEvent, Entity, HighlightStyle, ParentElement, StyledText, Task, TextStyle, - WeakEntity, Window, relative, rems, + App, Context, DismissEvent, Entity, HighlightStyle, ParentElement, StyledText, Task, TaskExt, + TextStyle, WeakEntity, Window, relative, rems, }; use ordered_float::OrderedFloat; use picker::{Picker, PickerDelegate}; diff --git a/crates/recent_projects/src/recent_projects.rs b/crates/recent_projects/src/recent_projects.rs index c90f2f69154f171dd5023697fbbf757c013f9b84..676ec608672a9a90d8f50c04158f9deac872e912 100644 --- a/crates/recent_projects/src/recent_projects.rs +++ b/crates/recent_projects/src/recent_projects.rs @@ -25,7 +25,7 @@ use disconnected_overlay::DisconnectedOverlay; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ Action, AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - Subscription, Task, WeakEntity, Window, actions, px, + Subscription, Task, TaskExt, WeakEntity, Window, actions, px, }; use picker::{ diff --git a/crates/recent_projects/src/remote_servers.rs b/crates/recent_projects/src/remote_servers.rs index 0e15abf296e491185f24718cddf72e2532e9e6aa..9906c235691097f0dcec50592449d1e255a5e93c 100644 --- a/crates/recent_projects/src/remote_servers.rs +++ b/crates/recent_projects/src/remote_servers.rs @@ -15,7 +15,7 @@ use extension_host::ExtensionStore; use futures::{FutureExt, channel::oneshot, future::Shared}; use gpui::{ Action, AnyElement, App, ClickEvent, ClipboardItem, Context, DismissEvent, Entity, - EventEmitter, FocusHandle, Focusable, PromptLevel, ScrollHandle, Subscription, Task, + EventEmitter, FocusHandle, Focusable, PromptLevel, ScrollHandle, Subscription, Task, TaskExt, WeakEntity, Window, canvas, }; use log::{debug, info}; diff --git a/crates/recent_projects/src/sidebar_recent_projects.rs b/crates/recent_projects/src/sidebar_recent_projects.rs index 2c697de73fb6ad203ae6f85c89e73050a68fcbd0..91b9a84b1a35d87591a79335193babe4d3a1f98d 100644 --- a/crates/recent_projects/src/sidebar_recent_projects.rs +++ b/crates/recent_projects/src/sidebar_recent_projects.rs @@ -4,7 +4,7 @@ use chrono::{DateTime, Utc}; use fuzzy::{StringMatch, StringMatchCandidate}; use gpui::{ Action, AnyElement, App, Context, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, - Subscription, Task, WeakEntity, Window, + Subscription, Task, TaskExt, WeakEntity, Window, }; use picker::{ Picker, PickerDelegate, diff --git a/crates/remote/src/remote_client.rs b/crates/remote/src/remote_client.rs index a32d5dc75c7fcb605d39c845d9fa54370a2b978c..03473f3efa9b83e023fc9859aeaf0cf95d4fbdc2 100644 --- a/crates/remote/src/remote_client.rs +++ b/crates/remote/src/remote_client.rs @@ -25,7 +25,7 @@ use futures::{ }; use gpui::{ App, AppContext as _, AsyncApp, BackgroundExecutor, BorrowAppContext, Context, Entity, - EventEmitter, FutureExt, Global, Task, WeakEntity, + EventEmitter, FutureExt, Global, Task, TaskExt, WeakEntity, }; use parking_lot::Mutex; diff --git a/crates/remote_server/src/headless_project.rs b/crates/remote_server/src/headless_project.rs index 63e9b4b787230ea877cdc92e1fdcdd6daa86dc0c..9111534dee0a792bc55a225a2b1af77f6ae29ac0 100644 --- a/crates/remote_server/src/headless_project.rs +++ b/crates/remote_server/src/headless_project.rs @@ -8,7 +8,7 @@ use lsp::LanguageServerId; use extension::ExtensionHostProxy; use extension_host::headless_host::HeadlessExtensionStore; use fs::Fs; -use gpui::{App, AppContext as _, AsyncApp, Context, Entity, PromptLevel}; +use gpui::{App, AppContext as _, AsyncApp, Context, Entity, PromptLevel, TaskExt}; use http_client::HttpClient; use language::{Buffer, BufferEvent, LanguageRegistry, proto::serialize_operation}; use node_runtime::NodeRuntime; diff --git a/crates/repl/src/repl_sessions_ui.rs b/crates/repl/src/repl_sessions_ui.rs index 9781382fc85d5da549a65dce2ca06fef4a3bff15..5fd1e922a50ee0616a804f48befe6e40aa6b70c4 100644 --- a/crates/repl/src/repl_sessions_ui.rs +++ b/crates/repl/src/repl_sessions_ui.rs @@ -1,6 +1,6 @@ use editor::Editor; use gpui::{ - AnyElement, App, Entity, EventEmitter, FocusHandle, Focusable, Subscription, actions, + AnyElement, App, Entity, EventEmitter, FocusHandle, Focusable, Subscription, TaskExt, actions, prelude::*, }; use project::ProjectItem as _; diff --git a/crates/repl/src/repl_store.rs b/crates/repl/src/repl_store.rs index 4c5827b7c0cf881725b2937cc0aef0b7e241f0f3..b2bf90e99dcd72505326314f79cc0855280ec59f 100644 --- a/crates/repl/src/repl_store.rs +++ b/crates/repl/src/repl_store.rs @@ -4,7 +4,9 @@ use std::sync::Arc; use anyhow::{Context as _, Result}; use collections::{HashMap, HashSet}; use command_palette_hooks::CommandPaletteFilter; -use gpui::{App, Context, Entity, EntityId, Global, SharedString, Subscription, Task, prelude::*}; +use gpui::{ + App, Context, Entity, EntityId, Global, SharedString, Subscription, Task, TaskExt, prelude::*, +}; use jupyter_websocket_client::RemoteServer; use language::{Language, LanguageName}; use project::{Fs, Project, ProjectPath, WorktreeId}; diff --git a/crates/rules_library/src/rules_library.rs b/crates/rules_library/src/rules_library.rs index 425f7d2aa3d9e9259fe005a0e15dee10e4e4baf1..f004d86dca26280e4c70ce030568fcd5dc17ba5a 100644 --- a/crates/rules_library/src/rules_library.rs +++ b/crates/rules_library/src/rules_library.rs @@ -4,7 +4,7 @@ use editor::SelectionEffects; use editor::{CurrentLineHighlight, Editor, EditorElement, EditorEvent, EditorStyle, actions::Tab}; use gpui::{ App, Bounds, DEFAULT_ADDITIONAL_WINDOW_SIZE, Entity, EventEmitter, Focusable, PromptLevel, - Subscription, Task, TextStyle, Tiling, TitlebarOptions, WindowBounds, WindowHandle, + Subscription, Task, TaskExt, TextStyle, Tiling, TitlebarOptions, WindowBounds, WindowHandle, WindowOptions, actions, point, size, transparent_black, }; use language::{Buffer, LanguageRegistry, language_settings::SoftWrap}; diff --git a/crates/search/src/buffer_search.rs b/crates/search/src/buffer_search.rs index 3a5fbe3fcae6241495deb43930b83bb78ba81968..a9c7442a7d149c958099186be1b05f6777bc5b89 100644 --- a/crates/search/src/buffer_search.rs +++ b/crates/search/src/buffer_search.rs @@ -22,7 +22,7 @@ use futures::channel::oneshot; use gpui::{ Action as _, App, ClickEvent, Context, Entity, EventEmitter, Focusable, InteractiveElement as _, IntoElement, KeyContext, ParentElement as _, Render, ScrollHandle, - Styled, Subscription, Task, WeakEntity, Window, div, + Styled, Subscription, Task, TaskExt, WeakEntity, Window, div, }; use language::{Language, LanguageRegistry}; use project::{ diff --git a/crates/search/src/project_search.rs b/crates/search/src/project_search.rs index 7e7903674e3d883bfb98ac8d57b5f407237f66d1..86bff82d053b5b4ed7042aa567ee99c432971b6a 100644 --- a/crates/search/src/project_search.rs +++ b/crates/search/src/project_search.rs @@ -22,7 +22,8 @@ use futures::{StreamExt, stream::FuturesOrdered}; use gpui::{ Action, AnyElement, App, Axis, Context, Entity, EntityId, EventEmitter, FocusHandle, Focusable, Global, Hsla, InteractiveElement, IntoElement, KeyContext, ParentElement, Point, Render, - SharedString, Styled, Subscription, Task, UpdateGlobal, WeakEntity, Window, actions, div, + SharedString, Styled, Subscription, Task, TaskExt, UpdateGlobal, WeakEntity, Window, actions, + div, }; use itertools::Itertools; use language::{Buffer, Language}; diff --git a/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs b/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs index a2a457d33eb0788ff0bed981ce5666423890f05a..a87b9e528bfe64fff11eacce5f92495acdb456b1 100644 --- a/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs +++ b/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs @@ -5,7 +5,7 @@ use edit_prediction::{ open_ai_compatible::{open_ai_compatible_api_token, open_ai_compatible_api_url}, }; use edit_prediction_ui::{get_available_providers, set_completion_provider}; -use gpui::{Entity, ScrollHandle, prelude::*}; +use gpui::{Entity, ScrollHandle, TaskExt, prelude::*}; use language::language_settings::AllLanguageSettings; use settings::Settings as _; diff --git a/crates/snippets_ui/src/snippets_ui.rs b/crates/snippets_ui/src/snippets_ui.rs index c881d5276e6f96c5fc9b4db802aa3731e843852f..ffb136f625286fc74cee5c64838b701125a03dda 100644 --- a/crates/snippets_ui/src/snippets_ui.rs +++ b/crates/snippets_ui/src/snippets_ui.rs @@ -2,7 +2,7 @@ use file_icons::FileIcons; use fuzzy::{StringMatch, StringMatchCandidate, match_strings}; use gpui::{ App, Context, DismissEvent, Entity, EventEmitter, Focusable, ParentElement, Render, Styled, - WeakEntity, Window, actions, + TaskExt, WeakEntity, Window, actions, }; use language::{LanguageMatcher, LanguageName, LanguageRegistry}; use open_path_prompt::file_finder_settings::FileFinderSettings; diff --git a/crates/tab_switcher/src/tab_switcher.rs b/crates/tab_switcher/src/tab_switcher.rs index d1e19ea4faee8d8259d06e2c24875faac7a0117c..522b601d72227858e8088466c317e0bf3a44341f 100644 --- a/crates/tab_switcher/src/tab_switcher.rs +++ b/crates/tab_switcher/src/tab_switcher.rs @@ -9,7 +9,7 @@ use fuzzy::StringMatchCandidate; use gpui::{ Action, AnyElement, App, Context, DismissEvent, Entity, EntityId, EventEmitter, FocusHandle, Focusable, Modifiers, ModifiersChangedEvent, MouseButton, MouseUpEvent, ParentElement, Point, - Render, Styled, Task, WeakEntity, Window, actions, rems, + Render, Styled, Task, TaskExt, WeakEntity, Window, actions, rems, }; use picker::{Picker, PickerDelegate}; use project::Project; diff --git a/crates/task/src/static_source.rs b/crates/task/src/static_source.rs index 9e4051ef9721f4f4ce3b6bbebd38535e4ed8e27b..a98d38a8eb81eae31c71a6df7cab6f43c1766b0b 100644 --- a/crates/task/src/static_source.rs +++ b/crates/task/src/static_source.rs @@ -3,7 +3,7 @@ use std::sync::Arc; use futures::{StreamExt, channel::mpsc::UnboundedSender}; -use gpui::{App, AppContext}; +use gpui::{App, AppContext, TaskExt}; use parking_lot::RwLock; use serde::Deserialize; use util::ResultExt; diff --git a/crates/tasks_ui/src/tasks_ui.rs b/crates/tasks_ui/src/tasks_ui.rs index ca8ebb5248e4e6d77a05efab8d43dbfbd8d02eca..072ad29c1b765e3ed13928c6805068d9dc44e614 100644 --- a/crates/tasks_ui/src/tasks_ui.rs +++ b/crates/tasks_ui/src/tasks_ui.rs @@ -2,7 +2,7 @@ use std::{path::Path, sync::Arc}; use collections::HashMap; use editor::Editor; -use gpui::{App, AppContext as _, Context, Entity, Task, Window}; +use gpui::{App, AppContext as _, Context, Entity, Task, TaskExt, Window}; use project::{Location, TaskContexts, TaskSourceKind, Worktree}; use task::{RevealTarget, TaskContext, TaskId, TaskTemplate, TaskVariables, VariableName}; use workspace::Workspace; diff --git a/crates/terminal_view/src/terminal_panel.rs b/crates/terminal_view/src/terminal_panel.rs index a813a1adc55fe5de75f5d9547839b15eb391192e..d4f618303ef1b554d75b26c7bab44c2b3b570e66 100644 --- a/crates/terminal_view/src/terminal_panel.rs +++ b/crates/terminal_view/src/terminal_panel.rs @@ -12,8 +12,8 @@ use db::kvp::KeyValueStore; use futures::{channel::oneshot, future::join_all}; use gpui::{ Action, AnyView, App, AsyncApp, AsyncWindowContext, Context, Corner, Entity, EventEmitter, - FocusHandle, Focusable, IntoElement, ParentElement, Pixels, Render, Styled, Task, WeakEntity, - Window, actions, + FocusHandle, Focusable, IntoElement, ParentElement, Pixels, Render, Styled, Task, TaskExt, + WeakEntity, Window, actions, }; use itertools::Itertools; use project::{Fs, Project}; diff --git a/crates/terminal_view/src/terminal_path_like_target.rs b/crates/terminal_view/src/terminal_path_like_target.rs index f0f13d8fc2cd737722f30d7e56248e4284ed4495..fb3abf41db74ca2d5e95c0d7d5304050848c5c41 100644 --- a/crates/terminal_view/src/terminal_path_like_target.rs +++ b/crates/terminal_view/src/terminal_path_like_target.rs @@ -1,7 +1,7 @@ use super::{HoverTarget, HoveredWord, TerminalView}; use anyhow::{Context as _, Result}; use editor::Editor; -use gpui::{App, AppContext, Context, Task, WeakEntity, Window}; +use gpui::{App, AppContext, Context, Task, TaskExt, WeakEntity, Window}; use itertools::Itertools; use project::{Entry, Metadata}; use std::path::PathBuf; diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index 2f6a984798f35c87e39f51978ad84bfdfa435187..00950ec3a6f427616c98b012f4922c37edb3017a 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -11,8 +11,8 @@ use editor::{ use gpui::{ Action, AnyElement, App, ClipboardEntry, DismissEvent, Entity, EventEmitter, ExternalPaths, FocusHandle, Focusable, Font, KeyContext, KeyDownEvent, Keystroke, MouseButton, MouseDownEvent, - Pixels, Point, Render, ScrollWheelEvent, Styled, Subscription, Task, WeakEntity, actions, - anchored, deferred, div, + Pixels, Point, Render, ScrollWheelEvent, Styled, Subscription, Task, TaskExt, WeakEntity, + actions, anchored, deferred, div, }; use itertools::Itertools; use menu; diff --git a/crates/title_bar/src/collab.rs b/crates/title_bar/src/collab.rs index 474d0d287e47dcc6aad0b0f5c57fce382ebf2ca9..72569b84fd40b4e89a5aa17a7932eec352177a07 100644 --- a/crates/title_bar/src/collab.rs +++ b/crates/title_bar/src/collab.rs @@ -5,8 +5,8 @@ use call::{ActiveCall, Room}; use channel::ChannelStore; use client::{User, proto::PeerId}; use gpui::{ - AnyElement, Hsla, IntoElement, MouseButton, Path, ScreenCaptureSource, Styled, WeakEntity, - canvas, point, + AnyElement, Hsla, IntoElement, MouseButton, Path, ScreenCaptureSource, Styled, TaskExt, + WeakEntity, canvas, point, }; use gpui::{App, Task, Window}; use icons::IconName; diff --git a/crates/title_bar/src/onboarding_banner.rs b/crates/title_bar/src/onboarding_banner.rs index 96400a91a0a26fdc6a4c1acb6387f27c3077e393..24dccdc35b9f23a46af2b45efab3a099929a756e 100644 --- a/crates/title_bar/src/onboarding_banner.rs +++ b/crates/title_bar/src/onboarding_banner.rs @@ -2,7 +2,7 @@ // It's currently not in use but is kept for future feature announcements. #![allow(dead_code)] -use gpui::{Action, Entity, Global, Render, SharedString}; +use gpui::{Action, Entity, Global, Render, SharedString, TaskExt}; use ui::{ButtonLike, Tooltip, prelude::*}; use util::ResultExt; diff --git a/crates/title_bar/src/title_bar.rs b/crates/title_bar/src/title_bar.rs index f47817b24509e7c99ee98fd1877e48361204e7cc..2434d6abacd85264716331fbf0102eb486f499f9 100644 --- a/crates/title_bar/src/title_bar.rs +++ b/crates/title_bar/src/title_bar.rs @@ -26,7 +26,7 @@ use cloud_api_types::Plan; use gpui::{ Action, Animation, AnimationExt, AnyElement, App, Context, Corner, Element, Entity, Focusable, InteractiveElement, IntoElement, MouseButton, ParentElement, Render, - StatefulInteractiveElement, Styled, Subscription, WeakEntity, Window, actions, div, + StatefulInteractiveElement, Styled, Subscription, TaskExt, WeakEntity, Window, actions, div, pulsating_between, }; use onboarding_banner::OnboardingBanner; diff --git a/crates/ui/src/components/context_menu.rs b/crates/ui/src/components/context_menu.rs index 2fcfd73b93d7c47018819fd9ec4426e9f1b38147..2d5c21512c9d59d3f6b1dfdfc3e896d4332682bc 100644 --- a/crates/ui/src/components/context_menu.rs +++ b/crates/ui/src/components/context_menu.rs @@ -5,7 +5,7 @@ use crate::{ use gpui::{ Action, AnyElement, App, Bounds, Corner, DismissEvent, Entity, EventEmitter, FocusHandle, Focusable, MouseButton, MouseDownEvent, MouseMoveEvent, MouseUpEvent, Pixels, Point, Size, - Subscription, anchored, canvas, prelude::*, px, + Subscription, TaskExt, anchored, canvas, prelude::*, px, }; use menu::{SelectChild, SelectFirst, SelectLast, SelectNext, SelectParent, SelectPrevious}; use std::{ diff --git a/crates/vim/src/command.rs b/crates/vim/src/command.rs index 06fa6ead775809c3df775d959fb080a93ee84aad..1589a6496a4bceb240048ce3ce44ec0f43aa602c 100644 --- a/crates/vim/src/command.rs +++ b/crates/vim/src/command.rs @@ -8,7 +8,8 @@ use editor::{ }; use futures::AsyncWriteExt as _; use gpui::{ - Action, App, AppContext as _, Context, Global, Keystroke, Task, WeakEntity, Window, actions, + Action, App, AppContext as _, Context, Global, Keystroke, Task, TaskExt, WeakEntity, Window, + actions, }; use itertools::Itertools; use language::Point; diff --git a/crates/vim/src/helix.rs b/crates/vim/src/helix.rs index 923bd8c6a057819129b29b86e559c79a30f011f9..43d58515350f8856b05a7d50dc49758aa66df99a 100644 --- a/crates/vim/src/helix.rs +++ b/crates/vim/src/helix.rs @@ -11,7 +11,7 @@ use editor::{ SelectionEffects, ToOffset, ToPoint, movement, }; use gpui::actions; -use gpui::{Context, Window}; +use gpui::{Context, TaskExt, Window}; use language::{CharClassifier, CharKind, Point}; use search::{BufferSearchBar, SearchOptions}; use settings::Settings; diff --git a/crates/vim/src/normal.rs b/crates/vim/src/normal.rs index 5aad101e08632b119cb86036cb1b8557c82cd702..9a280ef3403dd77386f2677badfe4a5163c72814 100644 --- a/crates/vim/src/normal.rs +++ b/crates/vim/src/normal.rs @@ -28,7 +28,7 @@ use editor::Editor; use editor::{Anchor, SelectionEffects}; use editor::{Bias, ToPoint}; use editor::{display_map::ToDisplayPoint, movement}; -use gpui::{Context, Window, actions}; +use gpui::{Context, TaskExt, Window, actions}; use language::{Point, SelectionGoal}; use log::error; use multi_buffer::MultiBufferRow; diff --git a/crates/vim/src/normal/mark.rs b/crates/vim/src/normal/mark.rs index 48cf8739b725f64e1dd5930b23e046e92fd72392..7f205a0fb8fda0bfac2a47bd06cb996aa8998989 100644 --- a/crates/vim/src/normal/mark.rs +++ b/crates/vim/src/normal/mark.rs @@ -5,7 +5,7 @@ use editor::{ display_map::{DisplaySnapshot, ToDisplayPoint}, movement, }; -use gpui::{Context, Entity, EntityId, UpdateGlobal, Window}; +use gpui::{Context, Entity, EntityId, TaskExt, UpdateGlobal, Window}; use language::SelectionGoal; use text::Point; use ui::App; diff --git a/crates/vim/src/normal/search.rs b/crates/vim/src/normal/search.rs index 22c453c877ec89fdbf432d19d89167285b78b12f..8376c66c1a039b4e1c3bf1a0ad48f2bbe2f607f3 100644 --- a/crates/vim/src/normal/search.rs +++ b/crates/vim/src/normal/search.rs @@ -1,5 +1,5 @@ use editor::{Editor, EditorSettings}; -use gpui::{Action, Context, Window, actions}; +use gpui::{Action, Context, TaskExt, Window, actions}; use language::Point; use schemars::JsonSchema; use search::{BufferSearchBar, SearchOptions, buffer_search}; diff --git a/crates/vim/src/state.rs b/crates/vim/src/state.rs index 661853930c97cdfe6455e10bfec404b3ade2f231..11587d76df1e0215af7477b6a115f4db052363bb 100644 --- a/crates/vim/src/state.rs +++ b/crates/vim/src/state.rs @@ -15,7 +15,8 @@ use editor::display_map::{is_invisible, replacement}; use editor::{Anchor, ClipboardSelection, Editor, MultiBuffer, ToPoint as EditorToPoint}; use gpui::{ Action, App, AppContext, BorrowAppContext, ClipboardEntry, ClipboardItem, DismissEvent, Entity, - EntityId, Global, HighlightStyle, StyledText, Subscription, Task, TextStyle, WeakEntity, + EntityId, Global, HighlightStyle, StyledText, Subscription, Task, TaskExt, TextStyle, + WeakEntity, }; use language::{Buffer, BufferEvent, BufferId, Chunk, LanguageAwareStyling, Point}; diff --git a/crates/workspace/src/item.rs b/crates/workspace/src/item.rs index 64647419e300357e360e3ac3f535d8bbcd076711..958c46b06d2d1754b30b819ae646e50cce1491ca 100644 --- a/crates/workspace/src/item.rs +++ b/crates/workspace/src/item.rs @@ -12,7 +12,7 @@ use client::{Client, proto}; use futures::channel::mpsc; use gpui::{ Action, AnyElement, AnyEntity, AnyView, App, AppContext, Context, Entity, EntityId, - EventEmitter, FocusHandle, Focusable, Font, Pixels, Point, Render, SharedString, Task, + EventEmitter, FocusHandle, Focusable, Font, Pixels, Point, Render, SharedString, Task, TaskExt, WeakEntity, Window, }; use language::Capability; diff --git a/crates/workspace/src/multi_workspace.rs b/crates/workspace/src/multi_workspace.rs index 9ef81194639e625b4944c48be41b7518fee0bbe3..90f88e65012bbdd6add75d13664e54800c74b121 100644 --- a/crates/workspace/src/multi_workspace.rs +++ b/crates/workspace/src/multi_workspace.rs @@ -2,8 +2,8 @@ use anyhow::Result; use gpui::PathPromptOptions; use gpui::{ AnyView, App, Context, DragMoveEvent, Entity, EntityId, EventEmitter, FocusHandle, Focusable, - ManagedView, MouseButton, Pixels, Render, Subscription, Task, Tiling, Window, WindowId, - actions, deferred, px, + ManagedView, MouseButton, Pixels, Render, Subscription, Task, TaskExt, Tiling, Window, + WindowId, actions, deferred, px, }; use project::{DirectoryLister, DisableAiSettings, Project, ProjectGroupKey}; use remote::RemoteConnectionOptions; diff --git a/crates/workspace/src/pane.rs b/crates/workspace/src/pane.rs index 785d4111a38ad859f415983209bcd1eeae484d5e..63e08a321037807ae77ef789d6ff084d4b0ceb32 100644 --- a/crates/workspace/src/pane.rs +++ b/crates/workspace/src/pane.rs @@ -24,8 +24,8 @@ use gpui::{ Action, AnyElement, App, AsyncWindowContext, ClickEvent, ClipboardItem, Context, Corner, Div, DragMoveEvent, Entity, EntityId, EventEmitter, ExternalPaths, FocusHandle, FocusOutEvent, Focusable, KeyContext, MouseButton, NavigationDirection, Pixels, Point, PromptLevel, Render, - ScrollHandle, Subscription, Task, WeakEntity, WeakFocusHandle, Window, actions, anchored, - deferred, prelude::*, + ScrollHandle, Subscription, Task, TaskExt, WeakEntity, WeakFocusHandle, Window, actions, + anchored, deferred, prelude::*, }; use itertools::Itertools; use language::{Capability, DiagnosticSeverity}; diff --git a/crates/workspace/src/persistence.rs b/crates/workspace/src/persistence.rs index 9ae44ef3db2e6c18979694440744043a6abc055e..cf721545a9247ed1c0e3aa70f9cc7fee6538821b 100644 --- a/crates/workspace/src/persistence.rs +++ b/crates/workspace/src/persistence.rs @@ -2506,7 +2506,7 @@ mod tests { }, }; use feature_flags::FeatureFlagAppExt; - use gpui::AppContext as _; + use gpui::{AppContext as _, TaskExt}; use pretty_assertions::assert_eq; use project::{Project, ProjectGroupKey}; use remote::SshConnectionOptions; diff --git a/crates/workspace/src/tasks.rs b/crates/workspace/src/tasks.rs index 98421365532a8fdd4fc36f0f5c68e83b0814ae8e..d0a5f7a54bd2e7026c2ab9de091799a8014e35c4 100644 --- a/crates/workspace/src/tasks.rs +++ b/crates/workspace/src/tasks.rs @@ -2,7 +2,7 @@ use std::process::ExitStatus; use anyhow::Result; use collections::HashSet; -use gpui::{AppContext, Context, Entity, Task}; +use gpui::{AppContext, Context, Entity, Task, TaskExt}; use language::Buffer; use project::{TaskSourceKind, WorktreeId}; use remote::ConnectionState; diff --git a/crates/workspace/src/welcome.rs b/crates/workspace/src/welcome.rs index 5bfed0ceed93a4b1216b5117486d6ef5f1d5571b..c5a33a2a760c40cb90d8c11c3fd6ce111ad1e332 100644 --- a/crates/workspace/src/welcome.rs +++ b/crates/workspace/src/welcome.rs @@ -9,9 +9,9 @@ use chrono::{DateTime, Utc}; use git::Clone as GitClone; use gpui::{ Action, App, Context, Entity, EventEmitter, FocusHandle, Focusable, InteractiveElement, - ParentElement, Render, Styled, Task, Window, actions, + ParentElement, Render, Styled, Task, TaskExt, WeakEntity, Window, actions, linear_color_stop, + linear_gradient, }; -use gpui::{WeakEntity, linear_color_stop, linear_gradient}; use menu::{SelectNext, SelectPrevious}; use schemars::JsonSchema; diff --git a/crates/workspace/src/workspace.rs b/crates/workspace/src/workspace.rs index 857db0795bbac8cfe5ee3040971d071c05ed38cd..6551a0c069d315d8270ec0feed7e3ada82d99bcf 100644 --- a/crates/workspace/src/workspace.rs +++ b/crates/workspace/src/workspace.rs @@ -60,8 +60,8 @@ use gpui::{ Context, CursorStyle, Decorations, DragMoveEvent, Entity, EntityId, EventEmitter, FocusHandle, Focusable, Global, HitboxBehavior, Hsla, KeyContext, Keystroke, ManagedView, MouseButton, PathPromptOptions, Point, PromptLevel, Render, ResizeEdge, Size, Stateful, Subscription, - SystemWindowTabController, Task, Tiling, WeakEntity, WindowBounds, WindowHandle, WindowId, - WindowOptions, actions, canvas, point, relative, size, transparent_black, + SystemWindowTabController, Task, TaskExt, Tiling, WeakEntity, WindowBounds, WindowHandle, + WindowId, WindowOptions, actions, canvas, point, relative, size, transparent_black, }; pub use history_manager::*; pub use item::{ diff --git a/crates/zed/src/main.rs b/crates/zed/src/main.rs index 97caf14639ce23a8c85392aa630267f146902602..3c189aa4033e02c77e3c4238f54d07b48c77c958 100644 --- a/crates/zed/src/main.rs +++ b/crates/zed/src/main.rs @@ -21,7 +21,9 @@ use fs::{Fs, RealFs}; use futures::{StreamExt, channel::oneshot, future}; use git::GitHostingProviderRegistry; use git_ui::clone::clone_and_open; -use gpui::{App, AppContext, Application, AsyncApp, Focusable as _, QuitMode, UpdateGlobal as _}; +use gpui::{ + App, AppContext, Application, AsyncApp, Focusable as _, QuitMode, TaskExt, UpdateGlobal as _, +}; use gpui_platform; use gpui_tokio::Tokio; diff --git a/crates/zed/src/reliability.rs b/crates/zed/src/reliability.rs index e6c3821507cffb0d6e46f9634a646a009b73ddc3..53fe1b5a127afa83558affbc7f302b27f8ffcb1c 100644 --- a/crates/zed/src/reliability.rs +++ b/crates/zed/src/reliability.rs @@ -2,7 +2,7 @@ use anyhow::{Context as _, Result}; use client::{Client, telemetry::MINIDUMP_ENDPOINT}; use feature_flags::FeatureFlagAppExt; use futures::{AsyncReadExt, TryStreamExt}; -use gpui::{App, AppContext as _, SerializedThreadTaskTimings}; +use gpui::{App, AppContext as _, SerializedThreadTaskTimings, TaskExt}; use http_client::{self, AsyncBody, HttpClient, Request}; use log::info; use project::Project; diff --git a/crates/zed/src/zed.rs b/crates/zed/src/zed.rs index 63e86a0b7c7980f6591dc248a4313577e8d46bea..303c31157ce18b2e03fd411fa53854103523d45b 100644 --- a/crates/zed/src/zed.rs +++ b/crates/zed/src/zed.rs @@ -35,7 +35,7 @@ use git_ui::project_diff::{BranchDiffToolbar, ProjectDiffToolbar}; use gpui::{ Action, App, AppContext as _, AsyncWindowContext, ClipboardItem, Context, DismissEvent, Element, Entity, FocusHandle, Focusable, Image, ImageFormat, KeyBinding, ParentElement, - PathPromptOptions, PromptLevel, ReadGlobal, SharedString, Size, Task, TitlebarOptions, + PathPromptOptions, PromptLevel, ReadGlobal, SharedString, Size, Task, TaskExt, TitlebarOptions, UpdateGlobal, WeakEntity, Window, WindowBounds, WindowHandle, WindowKind, WindowOptions, actions, image_cache, img, point, px, retain_all, }; diff --git a/crates/zed/src/zed/open_listener.rs b/crates/zed/src/zed/open_listener.rs index 7094a6a6a7addcfdb5c373258a95b2f2b02d5c2b..3f462d74cf8f0d834c3309e41b8fd52690e28484 100644 --- a/crates/zed/src/zed/open_listener.rs +++ b/crates/zed/src/zed/open_listener.rs @@ -14,7 +14,7 @@ use futures::future; use futures::{FutureExt, StreamExt}; use git_ui::{file_diff_view::FileDiffView, multi_diff_view::MultiDiffView}; -use gpui::{App, AsyncApp, Global, WindowHandle}; +use gpui::{App, AsyncApp, Global, TaskExt, WindowHandle}; use onboarding::FIRST_OPEN; use onboarding::show_onboarding_view; use recent_projects::{RemoteSettings, navigate_to_positions, open_remote_project}; diff --git a/crates/zed/src/zed/quick_action_bar/repl_menu.rs b/crates/zed/src/zed/quick_action_bar/repl_menu.rs index 7502481b5b50b6b3b423f82bf9f05cf6b978d6af..3807eedf5baf327b7990e0e786512a453443901f 100644 --- a/crates/zed/src/zed/quick_action_bar/repl_menu.rs +++ b/crates/zed/src/zed/quick_action_bar/repl_menu.rs @@ -1,5 +1,5 @@ use gpui::ElementId; -use gpui::{AnyElement, Entity}; +use gpui::{AnyElement, Entity, TaskExt}; use picker::Picker; use repl::{ ExecutionState, JupyterSettings, Kernel, KernelSpecification, KernelStatus, Session, diff --git a/crates/zed/src/zed/remote_debug.rs b/crates/zed/src/zed/remote_debug.rs index df91953c64c400e06294a9c0ad5d9dc3093fd68e..dd14706fe498ec6dbc9cb4ca35bd9f2061b6e2ab 100644 --- a/crates/zed/src/zed/remote_debug.rs +++ b/crates/zed/src/zed/remote_debug.rs @@ -1,3 +1,4 @@ +use gpui::TaskExt as _; use workspace::Workspace; use zed_actions::remote_debug::{SimulateDisconnect, SimulateTimeout, SimulateTimeoutExhausted};