diff --git a/app/build.rs b/app/build.rs index 6a19eba7..95838d56 100644 --- a/app/build.rs +++ b/app/build.rs @@ -6,15 +6,15 @@ use cfg_aliases::cfg_aliases; use anyhow::Result; -use sha2::Digest; -use std::path::{Path, PathBuf}; -use std::{env, fs, process::Command}; -use walkdir::WalkDir; use galaxy_util::assets::{ ASSETS_DIR, ASYNC_ASSETS_DIR, CONPTY_DLL_FILE, DXCOMPILER_DLL_FILE, DXIL_DLL_FILE, OPEN_CONSOLE_EXE_FILE, REMOTE_ASSETS_DIR, WINDOWS_ASSETS_DIR, }; use galaxy_util::path::app_target_dir; +use sha2::Digest; +use std::path::{Path, PathBuf}; +use std::{env, fs, process::Command}; +use walkdir::WalkDir; fn main() -> Result<()> { cfg_aliases! { diff --git a/app/examples/generate_default_settings.rs b/app/examples/generate_default_settings.rs index bc02f2ea..ab33462a 100644 --- a/app/examples/generate_default_settings.rs +++ b/app/examples/generate_default_settings.rs @@ -16,10 +16,12 @@ use std::collections::HashSet; use std::path::PathBuf; -use settings::schema::SettingSchemaEntry; -use galaxy_core::features::{FeatureFlag, DEBUG_FLAGS, DOGFOOD_FLAGS, PREVIEW_FLAGS, RELEASE_FLAGS}; +use galaxy_core::features::{ + FeatureFlag, DEBUG_FLAGS, DOGFOOD_FLAGS, PREVIEW_FLAGS, RELEASE_FLAGS, +}; use galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences; use galaxyui_extras::user_preferences::UserPreferences as _; +use settings::schema::SettingSchemaEntry; /// Ensures all `inventory::submit!` registrations from the app crate's /// dependency tree are linked into the binary. diff --git a/app/src/ai/agent/api.rs b/app/src/ai/agent/api.rs index 083e82f8..3add69bf 100644 --- a/app/src/ai/agent/api.rs +++ b/app/src/ai/agent/api.rs @@ -13,13 +13,13 @@ pub use convert_from::{ pub use r#impl::generate_multi_agent_output; use futures_lite::Stream; +use galaxy_core::channel::ChannelState; +use galaxy_core::execution_mode::AppExecutionMode; +use galaxy_core::features::FeatureFlag; use serde::Serialize; use std::path::Path; use std::pin::Pin; use std::sync::Arc; -use galaxy_core::channel::ChannelState; -use galaxy_core::execution_mode::AppExecutionMode; -use galaxy_core::features::FeatureFlag; use crate::ai::agent::conversation::AIConversationId; use crate::ai::ambient_agents::AmbientAgentTaskId; @@ -137,7 +137,8 @@ pub struct RequestParams { /// Populated by the Bedrock path after building the message list. /// Contains the full messages sent (old history + new input) so the controller /// can store them back into the conversation for the next request cycle. - pub bedrock_messages_sent: std::sync::Arc>>, + pub bedrock_messages_sent: + std::sync::Arc>>, } pub type Event = Result>; diff --git a/app/src/ai/agent/api/convert_conversation.rs b/app/src/ai/agent/api/convert_conversation.rs index d632936d..9b6751fa 100644 --- a/app/src/ai/agent/api/convert_conversation.rs +++ b/app/src/ai/agent/api/convert_conversation.rs @@ -39,10 +39,10 @@ use ai::agent::action_result::{ }; use ai::skills::ParsedSkill; use chrono::{DateTime, Local, TimeZone}; +use galaxy_core::command::ExitCode; use persistence::model::AgentConversationData; use std::collections::{HashMap, HashSet}; use std::sync::Arc; -use galaxy_core::command::ExitCode; use warp_multi_agent_api as api; use warp_multi_agent_api::ask_user_question_result::answer_item::Answer as AskUserQuestionAnswer; diff --git a/app/src/ai/agent/api/impl.rs b/app/src/ai/agent/api/impl.rs index 1d244e2b..43a1ba9b 100644 --- a/app/src/ai/agent/api/impl.rs +++ b/app/src/ai/agent/api/impl.rs @@ -207,9 +207,7 @@ pub async fn generate_multi_agent_output( // immediately after, and that the conversation starts with a // user message. Without this, interrupted tool calls cause // Bedrock ValidationException errors. - crate::ai::bedrock::convert_request::sanitize_messages_for_bedrock( - &mut messages, - ); + crate::ai::bedrock::convert_request::sanitize_messages_for_bedrock(&mut messages); let system_prompt = crate::ai::bedrock::convert_request::extract_system_prompt(&request); @@ -329,7 +327,9 @@ pub async fn generate_multi_agent_output( log::error!("[bedrock] No Bedrock config available and server fallback is disabled. Cannot process request."); let err = Arc::new(crate::server::server_api::AIApiError::Stream { stream_type: "bedrock_converse", - source: anyhow::anyhow!("No AI backend available. Please configure Bedrock credentials in Settings > AI."), + source: anyhow::anyhow!( + "No AI backend available. Please configure Bedrock credentials in Settings > AI." + ), }); let (tx, rx) = async_channel::unbounded(); let _ = tx.send(Err(err)).await; diff --git a/app/src/ai/agent/conversation_tests.rs b/app/src/ai/agent/conversation_tests.rs index 8c41e788..f31fcaa8 100644 --- a/app/src/ai/agent/conversation_tests.rs +++ b/app/src/ai/agent/conversation_tests.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use super::{ - artifact_from_fork_proto, AIConversation, AIConversationAutoexecuteMode, AIConversationId, + AIConversation, AIConversationAutoexecuteMode, AIConversationId, artifact_from_fork_proto, }; use crate::ai::artifacts::Artifact; use crate::persistence::model::AgentConversationData; diff --git a/app/src/ai/agent/task.rs b/app/src/ai/agent/task.rs index 8762bb40..1e473232 100644 --- a/app/src/ai/agent/task.rs +++ b/app/src/ai/agent/task.rs @@ -766,11 +766,18 @@ impl Task { .apply() .map_err(UpdateTaskError::from)?; - let text_len = updated_message.message.as_ref().map(|m| match m { - api::message::Message::AgentOutput(o) => o.text.len(), - _ => 0, - }).unwrap_or(0); - log::info!("[bedrock-debug] append_to_message_content: accumulated text_len={}", text_len); + let text_len = updated_message + .message + .as_ref() + .map(|m| match m { + api::message::Message::AgentOutput(o) => o.text.len(), + _ => 0, + }) + .unwrap_or(0); + log::info!( + "[bedrock-debug] append_to_message_content: accumulated text_len={}", + text_len + ); let id = self.id.clone(); let exchange_to_update = self @@ -999,12 +1006,24 @@ impl AIAgentExchange { .iter() .position(|m| m.id.0 == task_message.id); - let proto_text = task_message.message.as_ref().map(|m| match m { - api::message::Message::AgentOutput(o) => format!("AgentOutput(text_len={})", o.text.len()), - api::message::Message::ToolCall(t) => format!("ToolCall(id={})", t.tool_call_id), - other => format!("{:?}", std::mem::discriminant(other)), - }).unwrap_or_else(|| "None".to_string()); - log::info!("[bedrock-debug] upsert_output_for_message: id={}, proto_type={}", task_message.id, proto_text); + let proto_text = task_message + .message + .as_ref() + .map(|m| match m { + api::message::Message::AgentOutput(o) => { + format!("AgentOutput(text_len={})", o.text.len()) + } + api::message::Message::ToolCall(t) => { + format!("ToolCall(id={})", t.tool_call_id) + } + other => format!("{:?}", std::mem::discriminant(other)), + }) + .unwrap_or_else(|| "None".to_string()); + log::info!( + "[bedrock-debug] upsert_output_for_message: id={}, proto_type={}", + task_message.id, + proto_text + ); match task_message .clone() @@ -1014,7 +1033,10 @@ impl AIAgentExchange { task_id, })? { MaybeAIAgentOutputMessage::Message(m) => { - log::info!("[bedrock-debug] upsert_output_for_message: client_message_type={:?}", std::mem::discriminant(&m.message)); + log::info!( + "[bedrock-debug] upsert_output_for_message: client_message_type={:?}", + std::mem::discriminant(&m.message) + ); output.extend_citations(m.citations.clone()); if let Some(message_idx) = message_idx { output.messages[message_idx] = m; diff --git a/app/src/ai/agent/telemetry.rs b/app/src/ai/agent/telemetry.rs index ca0ca765..61c757de 100644 --- a/app/src/ai/agent/telemetry.rs +++ b/app/src/ai/agent/telemetry.rs @@ -1,5 +1,5 @@ -use serde::Serialize; use galaxyui::{AppContext, SingletonEntity}; +use serde::Serialize; use crate::ai::llms::LLMId; use crate::CloudModel; diff --git a/app/src/ai/agent/todos/popup.rs b/app/src/ai/agent/todos/popup.rs index 8a88c0ad..fb2cdacd 100644 --- a/app/src/ai/agent/todos/popup.rs +++ b/app/src/ai/agent/todos/popup.rs @@ -1,5 +1,4 @@ use crate::ai::blocklist::{BlocklistAIContextEvent, BlocklistAIContextModel}; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ @@ -18,6 +17,7 @@ use galaxyui::{ keymap::FixedBinding, AppContext, Element, Entity, EntityId, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; use crate::ai::agent::icons::{in_progress_icon, pending_icon, succeeded_icon}; use crate::ai::agent::todos::AIAgentTodoList; diff --git a/app/src/ai/agent/util.rs b/app/src/ai/agent/util.rs index 23624363..953ead7f 100644 --- a/app/src/ai/agent/util.rs +++ b/app/src/ai/agent/util.rs @@ -5,6 +5,7 @@ use super::{ use crate::code::editor_management::CodeSource; use crate::features::FeatureFlag; use ai::gfm_table::{format_gfm_table, maybe_collect_gfm_table_lines}; +use galaxy_util::path::LineAndColumnArg; use itertools::Itertools; use lazy_static::lazy_static; use markdown_parser::{ @@ -13,7 +14,6 @@ use markdown_parser::{ use mermaid_to_svg::is_mermaid_diagram; use regex::Regex; use std::{collections::HashMap, path::PathBuf}; -use galaxy_util::path::LineAndColumnArg; lazy_static! { /// Markdown prefix for code blocks. Matches on triple backticks followed by a language. diff --git a/app/src/ai/agent_conversations_model.rs b/app/src/ai/agent_conversations_model.rs index 3939785c..c67aa86d 100644 --- a/app/src/ai/agent_conversations_model.rs +++ b/app/src/ai/agent_conversations_model.rs @@ -23,12 +23,6 @@ use crate::workspaces::user_profiles::UserProfiles; use chrono::{DateTime, Utc}; use clap::ValueEnum; use futures::stream::AbortHandle; -use instant::Instant; -use itertools::Itertools; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; -use session_sharing_protocol::common::SessionId; -use std::collections::{HashMap, HashSet}; -use std::time::Duration; use galaxy_cli::agent::Harness; use galaxy_core::execution_mode::AppExecutionMode; use galaxy_core::features::FeatureFlag; @@ -41,6 +35,12 @@ use galaxyui::{ duration_with_jitter, AppContext, Entity, EntityId, ModelContext, RequestState, SingletonEntity, WindowId, }; +use instant::Instant; +use itertools::Itertools; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; +use session_sharing_protocol::common::SessionId; +use std::collections::{HashMap, HashSet}; +use std::time::Duration; const SESSION_EXPIRATION_TIME: chrono::Duration = chrono::Duration::weeks(1); const POLLING_INTERVAL: Duration = Duration::from_secs(30); diff --git a/app/src/ai/agent_conversations_model_tests.rs b/app/src/ai/agent_conversations_model_tests.rs index cb1f7e47..22f11f07 100644 --- a/app/src/ai/agent_conversations_model_tests.rs +++ b/app/src/ai/agent_conversations_model_tests.rs @@ -1,4 +1,6 @@ use chrono::{DateTime, Duration, Utc}; +use galaxy_core::features::FeatureFlag; +use galaxyui::{App, EntityId}; use instant::Instant; use persistence::model::AgentConversationData; use std::{ @@ -8,8 +10,6 @@ use std::{ Arc, }, }; -use galaxy_core::features::FeatureFlag; -use galaxyui::{App, EntityId}; use crate::ai::agent::conversation::{AIConversation, AIConversationId, ConversationStatus}; use crate::ai::ambient_agents::task::{TaskCreatorInfo, TaskStatusMessage}; diff --git a/app/src/ai/agent_events/driver.rs b/app/src/ai/agent_events/driver.rs index 31e76690..8414e45d 100644 --- a/app/src/ai/agent_events/driver.rs +++ b/app/src/ai/agent_events/driver.rs @@ -5,8 +5,8 @@ use anyhow::{anyhow, Result}; use async_trait::async_trait; use futures::future::Either; use futures::StreamExt; -use instant::Instant; use galaxyui::r#async::Timer; +use instant::Instant; use crate::server::server_api::ai::AgentRunEvent; use crate::server::server_api::ServerApi; diff --git a/app/src/ai/agent_management/agent_type_selector.rs b/app/src/ai/agent_management/agent_type_selector.rs index 62150044..96069c6c 100644 --- a/app/src/ai/agent_management/agent_type_selector.rs +++ b/app/src/ai/agent_management/agent_type_selector.rs @@ -5,8 +5,6 @@ use crate::appearance::Appearance; use crate::ui_components::icons::Icon; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::color::blend::Blend; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::{ @@ -19,6 +17,8 @@ use galaxyui::keymap::{FixedBinding, Keystroke}; use galaxyui::platform::Cursor; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; // Modal dimensions based on Figma design. const MODAL_WIDTH: f32 = 440.; diff --git a/app/src/ai/agent_management/cloud_setup_guide_view.rs b/app/src/ai/agent_management/cloud_setup_guide_view.rs index 75bdfcbe..96ee95b2 100644 --- a/app/src/ai/agent_management/cloud_setup_guide_view.rs +++ b/app/src/ai/agent_management/cloud_setup_guide_view.rs @@ -8,9 +8,6 @@ use crate::send_telemetry_from_ctx; use crate::view_components::action_button::{ActionButton, SecondaryTheme}; use crate::workflows::workflow::{Argument, ArgumentType, Workflow}; use crate::workflows::WorkflowType; -use serde::Serialize; -use std::collections::HashMap; -use string_offset::CharCounter; use galaxy_completer::signatures::CommandRegistry; use galaxy_completer::{util::parse_current_commands_and_tokens, ParsedTokensSnapshot}; use galaxy_core::report_error; @@ -28,6 +25,9 @@ use galaxyui::text_layout::TextStyle; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::ViewHandle; use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext}; +use serde::Serialize; +use std::collections::HashMap; +use string_offset::CharCounter; const DOCS_URL: &str = "https://docs.warp.dev/agent-platform/cloud-agents/overview"; const ENV_DOCS_URL: &str = diff --git a/app/src/ai/agent_management/notifications/item.rs b/app/src/ai/agent_management/notifications/item.rs index e3b49b6f..62d29e75 100644 --- a/app/src/ai/agent_management/notifications/item.rs +++ b/app/src/ai/agent_management/notifications/item.rs @@ -1,7 +1,7 @@ use enum_iterator::Sequence; +use galaxyui::EntityId; use instant::Instant; use uuid::Uuid; -use galaxyui::EntityId; use crate::ai::agent::conversation::AIConversationId; use crate::ai::artifacts::Artifact; diff --git a/app/src/ai/agent_management/notifications/item_rendering.rs b/app/src/ai/agent_management/notifications/item_rendering.rs index 90db7255..91a55436 100644 --- a/app/src/ai/agent_management/notifications/item_rendering.rs +++ b/app/src/ai/agent_management/notifications/item_rendering.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use pathfinder_color::ColorU; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::{Fill, WarpTheme}; use galaxyui::clipboard::ClipboardContent; @@ -12,6 +11,7 @@ use galaxyui::elements::{ use galaxyui::fonts::Weight; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{View, ViewContext, ViewHandle}; +use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance as CoreAppearance; use galaxy_core::ui::theme::color::internal_colors; diff --git a/app/src/ai/agent_management/notifications/toast_stack.rs b/app/src/ai/agent_management/notifications/toast_stack.rs index 7f90d6ae..668be514 100644 --- a/app/src/ai/agent_management/notifications/toast_stack.rs +++ b/app/src/ai/agent_management/notifications/toast_stack.rs @@ -1,6 +1,5 @@ use std::time::Duration; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::color::blend::Blend; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::{ @@ -14,7 +13,10 @@ use galaxyui::platform::Cursor; use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::ui_components::keyboard_shortcut::KeyboardShortcut; -use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle}; +use galaxyui::{ + AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, +}; +use pathfinder_geometry::vector::vec2f; use crate::ai::agent_management::notifications::item_rendering::{ create_notification_artifact_buttons_view, handle_notification_artifact_buttons_event, diff --git a/app/src/ai/agent_management/notifications/view.rs b/app/src/ai/agent_management/notifications/view.rs index 4f4ba458..5a3f76d0 100644 --- a/app/src/ai/agent_management/notifications/view.rs +++ b/app/src/ai/agent_management/notifications/view.rs @@ -12,7 +12,9 @@ use galaxyui::keymap::macros::id; use galaxyui::keymap::FixedBinding; use galaxyui::platform::Cursor; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; -use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle}; +use galaxyui::{ + AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, +}; use crate::ai::agent_management::notifications::item::NotificationFilter; use crate::ai::agent_management::notifications::item_rendering::{ @@ -56,7 +58,9 @@ impl Entity for NotificationMailboxView { #[derive(Debug, Clone)] pub enum NotificationMailboxViewEvent { - NavigateToTerminal { terminal_view_id: galaxyui::EntityId }, + NavigateToTerminal { + terminal_view_id: galaxyui::EntityId, + }, Dismissed, } diff --git a/app/src/ai/agent_management/telemetry.rs b/app/src/ai/agent_management/telemetry.rs index 80ec001b..f7a0ab05 100644 --- a/app/src/ai/agent_management/telemetry.rs +++ b/app/src/ai/agent_management/telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::json; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use crate::ai::agent_management::cloud_setup_guide_view::SetupGuideDocs; diff --git a/app/src/ai/agent_management/view.rs b/app/src/ai/agent_management/view.rs index 17ee7ee3..9543b936 100644 --- a/app/src/ai/agent_management/view.rs +++ b/app/src/ai/agent_management/view.rs @@ -3,12 +3,12 @@ use std::hash::{Hash, Hasher}; use std::sync::Arc; use fuzzy_match::match_indices_case_insensitive; -use lazy_static::lazy_static; -use pathfinder_color::ColorU; -use siphasher::sip::SipHasher; use galaxy_core::features::FeatureFlag; use galaxyui::scene::DropShadow; use galaxyui::ui_components::button::ButtonVariant; +use lazy_static::lazy_static; +use pathfinder_color::ColorU; +use siphasher::sip::SipHasher; use crate::ai::agent::conversation::AIConversationId; use crate::ai::agent_conversations_model::{ @@ -63,8 +63,6 @@ use crate::workspace::{ForkedConversationDestination, ToastStack}; use crate::workspace::{RestoreConversationLayout, WorkspaceAction}; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::{send_telemetry_from_ctx, AgentModeEntrypoint}; -use pathfinder_geometry::vector::vec2f; -use settings::Setting; use galaxy_cli::agent::Harness; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::color::internal_colors; @@ -88,6 +86,8 @@ use galaxyui::{ keymap::FixedBinding, Action, AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakViewHandle, }; +use pathfinder_geometry::vector::vec2f; +use settings::Setting; lazy_static! { static ref HASHER: SipHasher = SipHasher::new_with_keys(0, 0); diff --git a/app/src/ai/agent_sdk/admin.rs b/app/src/ai/agent_sdk/admin.rs index de75a9d8..02a4fc7a 100644 --- a/app/src/ai/agent_sdk/admin.rs +++ b/app/src/ai/agent_sdk/admin.rs @@ -1,9 +1,9 @@ //! General-purpose administrative commands in the Warp CLI. use anyhow::{Context, Result}; -use serde::Serialize; use galaxy_cli::agent::OutputFormat; use galaxyui::{platform::TerminationMode, AppContext, SingletonEntity}; +use serde::Serialize; use crate::auth::auth_manager::{AuthManager, AuthManagerEvent}; use crate::auth::user::PrincipalType; diff --git a/app/src/ai/agent_sdk/artifact.rs b/app/src/ai/agent_sdk/artifact.rs index 2b3758c0..e5a4f235 100644 --- a/app/src/ai/agent_sdk/artifact.rs +++ b/app/src/ai/agent_sdk/artifact.rs @@ -1,13 +1,13 @@ use std::{path::PathBuf, sync::Arc}; use anyhow::{Context, Result}; -use serde::Serialize; use galaxy_cli::agent::OutputFormat; use galaxy_cli::artifact::{ ArtifactCommand, DownloadArtifactArgs, GetArtifactArgs, UploadArtifactArgs, }; use galaxy_cli::GlobalOptions; use galaxyui::{platform::TerminationMode, AppContext, ModelContext, SingletonEntity}; +use serde::Serialize; use crate::ai::artifact_download::{download_artifact_bytes, download_destination}; #[cfg(test)] diff --git a/app/src/ai/agent_sdk/artifact_tests.rs b/app/src/ai/agent_sdk/artifact_tests.rs index 4ddec4d8..bfe6d990 100644 --- a/app/src/ai/agent_sdk/artifact_tests.rs +++ b/app/src/ai/agent_sdk/artifact_tests.rs @@ -1,5 +1,5 @@ -use std::path::PathBuf; use galaxy_cli::agent::OutputFormat; +use std::path::PathBuf; use super::*; diff --git a/app/src/ai/agent_sdk/artifact_upload.rs b/app/src/ai/agent_sdk/artifact_upload.rs index 18022bdf..2a349925 100644 --- a/app/src/ai/agent_sdk/artifact_upload.rs +++ b/app/src/ai/agent_sdk/artifact_upload.rs @@ -6,8 +6,8 @@ use std::sync::Arc; use anyhow::{anyhow, bail, Context, Result}; use blocking::unblock; -use mime_guess::from_path; use galaxy_cli::artifact::UploadArtifactArgs; +use mime_guess::from_path; use super::common::parse_ambient_task_id; use crate::ai::agent::api::ServerConversationToken; diff --git a/app/src/ai/agent_sdk/artifact_upload_tests.rs b/app/src/ai/agent_sdk/artifact_upload_tests.rs index 893a3f98..f845fa0a 100644 --- a/app/src/ai/agent_sdk/artifact_upload_tests.rs +++ b/app/src/ai/agent_sdk/artifact_upload_tests.rs @@ -3,8 +3,8 @@ use std::fs; use std::path::PathBuf; use chrono::Utc; -use tempfile::tempdir; use galaxy_cli::artifact::UploadArtifactArgs; +use tempfile::tempdir; use super::*; use crate::ai::agent::api::ServerConversationToken; diff --git a/app/src/ai/agent_sdk/common.rs b/app/src/ai/agent_sdk/common.rs index 34c00836..8bbbaaf0 100644 --- a/app/src/ai/agent_sdk/common.rs +++ b/app/src/ai/agent_sdk/common.rs @@ -6,11 +6,11 @@ use std::sync::Arc; use std::time::Duration; use futures::TryFutureExt; -use inquire::{InquireError, Select}; use galaxy_cli::agent::Harness; use galaxy_cli::environment::{EnvironmentCreateArgs, EnvironmentUpdateArgs}; use galaxyui::r#async::FutureExt; use galaxyui::{AppContext, GetSingletonModelHandle, SingletonEntity as _, UpdateModel}; +use inquire::{InquireError, Select}; use crate::ai::agent::conversation::ServerAIConversationMetadata; use crate::ai::agent_sdk::driver::{AgentDriverError, WARP_DRIVE_SYNC_TIMEOUT}; diff --git a/app/src/ai/agent_sdk/config_file.rs b/app/src/ai/agent_sdk/config_file.rs index 1a104510..301bdb94 100644 --- a/app/src/ai/agent_sdk/config_file.rs +++ b/app/src/ai/agent_sdk/config_file.rs @@ -1,8 +1,8 @@ use std::path::Path; use anyhow::Context as _; -use serde_json::{Map, Value}; use galaxy_cli::mcp::MCPSpec; +use serde_json::{Map, Value}; use crate::ai::ambient_agents::AgentConfigSnapshot; diff --git a/app/src/ai/agent_sdk/driver.rs b/app/src/ai/agent_sdk/driver.rs index 5ecb0345..bd49b76d 100644 --- a/app/src/ai/agent_sdk/driver.rs +++ b/app/src/ai/agent_sdk/driver.rs @@ -74,8 +74,6 @@ use futures::{ future::{self, Either}, FutureExt as _, }; -use oneshot::{Canceled, Receiver, Sender}; -use uuid::Uuid; use galaxy_cli::agent::{Harness, OutputFormat}; use galaxy_cli::mcp::MCPSpec; use galaxy_cli::share::ShareRequest; @@ -86,6 +84,8 @@ use galaxyui::{ r#async::{FutureExt, TimeoutError}, AppContext, Entity, ModelContext, ModelHandle, ModelSpawner, SingletonEntity, }; +use oneshot::{Canceled, Receiver, Sender}; +use uuid::Uuid; pub(crate) mod attachments; pub(crate) mod cloud_provider; diff --git a/app/src/ai/agent_sdk/driver/attachments.rs b/app/src/ai/agent_sdk/driver/attachments.rs index 97ab41d4..7185edae 100644 --- a/app/src/ai/agent_sdk/driver/attachments.rs +++ b/app/src/ai/agent_sdk/driver/attachments.rs @@ -5,10 +5,10 @@ use anyhow::Context; use base64::{engine::general_purpose, Engine}; use futures::future::join_all; use futures::TryStreamExt as _; +use galaxy_core::features::FeatureFlag; use mime_guess::from_path; use tokio::fs; use tokio_util::io::StreamReader; -use galaxy_core::features::FeatureFlag; use crate::ai::agent_sdk::retry::with_bounded_retry; use crate::ai::ambient_agents::task::{AttachmentInput, TaskAttachment}; diff --git a/app/src/ai/agent_sdk/driver/cloud_provider/aws.rs b/app/src/ai/agent_sdk/driver/cloud_provider/aws.rs index ec14769d..46c9cb6f 100644 --- a/app/src/ai/agent_sdk/driver/cloud_provider/aws.rs +++ b/app/src/ai/agent_sdk/driver/cloud_provider/aws.rs @@ -1,11 +1,11 @@ use std::{collections::HashMap, ffi::OsString, future::Future, pin::Pin, time::Duration}; use anyhow::Context; -use tempfile::{Builder, NamedTempFile}; -use vec1::Vec1; use galaxy_core::safe_info; use galaxy_managed_secrets::ManagedSecretManager; use galaxyui::{ModelSpawner, SingletonEntity}; +use tempfile::{Builder, NamedTempFile}; +use vec1::Vec1; use crate::ai::aws_credentials::aws_role_session_name; use crate::ai::cloud_environments::AwsProviderConfig; diff --git a/app/src/ai/agent_sdk/driver/environment.rs b/app/src/ai/agent_sdk/driver/environment.rs index 1a29bdd5..848f0495 100644 --- a/app/src/ai/agent_sdk/driver/environment.rs +++ b/app/src/ai/agent_sdk/driver/environment.rs @@ -13,10 +13,10 @@ use ai::index::full_source_code_embedding::manager::{ CodebaseIndexManager, CodebaseIndexManagerEvent, }; use futures::{channel::oneshot, future::join_all}; -use repo_metadata::repositories::{DetectedRepositories, RepoDetectionSource}; use galaxy_completer::completer::CommandExitStatus; use galaxy_core::{command::ExitCode, safe_info, safe_warn}; use galaxyui::{r#async::FutureExt, ModelContext, ModelSpawner, SingletonEntity}; +use repo_metadata::repositories::{DetectedRepositories, RepoDetectionSource}; use super::{terminal::TerminalDriver, AgentDriverError}; use galaxy_cli::agent::Harness; diff --git a/app/src/ai/agent_sdk/driver/harness/claude_code.rs b/app/src/ai/agent_sdk/driver/harness/claude_code.rs index d5ad3974..7e790bd5 100644 --- a/app/src/ai/agent_sdk/driver/harness/claude_code.rs +++ b/app/src/ai/agent_sdk/driver/harness/claude_code.rs @@ -5,13 +5,13 @@ use std::sync::Arc; use anyhow::{Context, Result}; use async_trait::async_trait; +use galaxy_cli::agent::Harness; +use galaxyui::{ModelHandle, ModelSpawner}; use parking_lot::Mutex; use serde::{Deserialize, Serialize}; use serde_json::{Map, Value}; use tempfile::NamedTempFile; use uuid::Uuid; -use galaxy_cli::agent::Harness; -use galaxyui::{ModelHandle, ModelSpawner}; use crate::ai::agent::conversation::AIConversationId; use crate::ai::ambient_agents::AmbientAgentTaskId; diff --git a/app/src/ai/agent_sdk/driver/harness/claude_code/parent_bridge.rs b/app/src/ai/agent_sdk/driver/harness/claude_code/parent_bridge.rs index 324ca2ef..2a8bccbb 100644 --- a/app/src/ai/agent_sdk/driver/harness/claude_code/parent_bridge.rs +++ b/app/src/ai/agent_sdk/driver/harness/claude_code/parent_bridge.rs @@ -15,13 +15,13 @@ use std::sync::Arc; use anyhow::{anyhow, Context, Result}; use async_trait::async_trait; +use galaxyui::r#async::SpawnedFutureHandle; +use galaxyui::ModelSpawner; use parking_lot::Mutex; use serde::{Deserialize, Serialize}; use tempfile::NamedTempFile; use tokio::sync::Mutex as AsyncMutex; use uuid::Uuid; -use galaxyui::r#async::SpawnedFutureHandle; -use galaxyui::ModelSpawner; use crate::ai::agent_events::{ run_agent_event_driver, AgentEventConsumer, AgentEventConsumerControlFlow, diff --git a/app/src/ai/agent_sdk/driver/harness/claude_transcript.rs b/app/src/ai/agent_sdk/driver/harness/claude_transcript.rs index a12463b5..4a466f83 100644 --- a/app/src/ai/agent_sdk/driver/harness/claude_transcript.rs +++ b/app/src/ai/agent_sdk/driver/harness/claude_transcript.rs @@ -19,10 +19,10 @@ use std::io::{BufRead, BufReader}; use std::path::{Path, PathBuf}; use anyhow::{Context, Result}; +use galaxy_core::safe_warn; use serde::{Deserialize, Serialize}; use serde_json::Value; use uuid::Uuid; -use galaxy_core::safe_warn; use crate::ai::agent::conversation::AIConversationId; diff --git a/app/src/ai/agent_sdk/driver/harness/gemini.rs b/app/src/ai/agent_sdk/driver/harness/gemini.rs index 0347f119..8c3a9708 100644 --- a/app/src/ai/agent_sdk/driver/harness/gemini.rs +++ b/app/src/ai/agent_sdk/driver/harness/gemini.rs @@ -4,13 +4,13 @@ use std::sync::Arc; use anyhow::{Context, Result}; use async_trait::async_trait; +use galaxy_cli::agent::Harness; +use galaxy_managed_secrets::ManagedSecretValue; +use galaxyui::{ModelHandle, ModelSpawner}; use parking_lot::Mutex; use serde::{Deserialize, Serialize}; use serde_json::{Map, Value}; use tempfile::NamedTempFile; -use galaxy_cli::agent::Harness; -use galaxy_managed_secrets::ManagedSecretValue; -use galaxyui::{ModelHandle, ModelSpawner}; use crate::ai::agent::conversation::AIConversationId; use crate::ai::ambient_agents::AmbientAgentTaskId; diff --git a/app/src/ai/agent_sdk/driver/harness/mod.rs b/app/src/ai/agent_sdk/driver/harness/mod.rs index 16e30cf1..78a3f03b 100644 --- a/app/src/ai/agent_sdk/driver/harness/mod.rs +++ b/app/src/ai/agent_sdk/driver/harness/mod.rs @@ -8,10 +8,10 @@ use std::sync::Arc; use anyhow::{Context, Result}; use async_trait::async_trait; -use tempfile::NamedTempFile; use galaxy_cli::agent::Harness; use galaxy_managed_secrets::ManagedSecretValue; use galaxyui::{ModelHandle, ModelSpawner, SingletonEntity}; +use tempfile::NamedTempFile; use crate::ai::agent::conversation::AIConversationId; use crate::ai::ambient_agents::AmbientAgentTaskId; diff --git a/app/src/ai/agent_sdk/driver/output.rs b/app/src/ai/agent_sdk/driver/output.rs index 6a5c6fcd..bebc8c75 100644 --- a/app/src/ai/agent_sdk/driver/output.rs +++ b/app/src/ai/agent_sdk/driver/output.rs @@ -1288,8 +1288,8 @@ pub mod json { use crate::ai::agent::{AIAgentText, AIAgentTextSection}; use crate::code::editor_management::CodeSource; -use std::io::{self, BufWriter, Write}; use galaxy_core::channel::ChannelState; +use std::io::{self, BufWriter, Write}; /// Constructs the Oz dashboard URL for a given run ID. fn run_url(run_id: &str) -> String { diff --git a/app/src/ai/agent_sdk/driver/terminal.rs b/app/src/ai/agent_sdk/driver/terminal.rs index 63fbb95f..73c2f134 100644 --- a/app/src/ai/agent_sdk/driver/terminal.rs +++ b/app/src/ai/agent_sdk/driver/terminal.rs @@ -10,8 +10,6 @@ use std::{ }; use futures::channel::oneshot; -use session_sharing_protocol::common::{Role, SessionId}; -use session_sharing_protocol::sharer::SessionSourceType; use galaxy_cli::share::{ShareAccessLevel, ShareRequest, ShareSubject}; use galaxy_completer::completer::CommandOutput; use galaxy_core::command::ExitCode; @@ -21,6 +19,8 @@ use galaxyui::{ r#async::FutureExt, AppContext, Entity, ModelContext, ModelHandle, SingletonEntity as _, ViewHandle, }; +use session_sharing_protocol::common::{Role, SessionId}; +use session_sharing_protocol::sharer::SessionSourceType; use crate::terminal::model::session::ExecuteCommandOptions; @@ -197,8 +197,8 @@ impl TerminalDriver { // Create a oneshot channel for session sharing when sharing is expected. // When sharing is disabled (or running against ngrok), leave both halves // as None so that `wait_for_session_shared` returns immediately. - let sharing_expected = - should_share && !galaxy_core::channel::ChannelState::server_root_url().contains("ngrok"); + let sharing_expected = should_share + && !galaxy_core::channel::ChannelState::server_root_url().contains("ngrok"); let (mut session_share_tx, session_share_rx) = if sharing_expected { if !FeatureFlag::CreatingSharedSessions.is_enabled() { // Session sharing was requested but the feature is not enabled for this diff --git a/app/src/ai/agent_sdk/environment.rs b/app/src/ai/agent_sdk/environment.rs index 2ff2df61..84a87279 100644 --- a/app/src/ai/agent_sdk/environment.rs +++ b/app/src/ai/agent_sdk/environment.rs @@ -1,8 +1,6 @@ use std::collections::HashSet; use comfy_table::Cell; -use inquire::{error::InquireError, Confirm, Select}; -use serde::Serialize; use galaxy_cli::{ agent::OutputFormat, environment::{EnvironmentCommand, ImageCommand}, @@ -11,6 +9,8 @@ use galaxy_cli::{ }; use galaxyui::r#async::FutureExt; use galaxyui::{AppContext, ModelContext, SingletonEntity}; +use inquire::{error::InquireError, Confirm, Select}; +use serde::Serialize; use crate::ai::agent_sdk::output::{self, TableFormat}; diff --git a/app/src/ai/agent_sdk/federate.rs b/app/src/ai/agent_sdk/federate.rs index 5913c6f3..f15c96ca 100644 --- a/app/src/ai/agent_sdk/federate.rs +++ b/app/src/ai/agent_sdk/federate.rs @@ -1,12 +1,12 @@ use std::process; use anyhow::{anyhow, Result}; -use serde_json::json; use galaxy_cli::federate::{FederateCommand, IssueGcpTokenArgs, IssueTokenArgs}; use galaxy_cli::{agent::OutputFormat, GlobalOptions}; use galaxy_core::{features::FeatureFlag, report_error}; use galaxy_managed_secrets::ManagedSecretManager; use galaxyui::{platform::TerminationMode, AppContext, SingletonEntity as _}; +use serde_json::json; use super::common::set_ambient_task_context_from_run_id; @@ -42,12 +42,13 @@ fn issue_token( }; ManagedSecretManager::handle(ctx).update(ctx, move |manager, ctx| { - let future = - manager.issue_task_identity_token(galaxy_managed_secrets::client::IdentityTokenOptions { + let future = manager.issue_task_identity_token( + galaxy_managed_secrets::client::IdentityTokenOptions { audience, requested_duration: duration, subject_template, - }); + }, + ); ctx.spawn(future, move |_, result, ctx| match result { Ok(token) => { let token_value = token.token; diff --git a/app/src/ai/agent_sdk/integration_output.rs b/app/src/ai/agent_sdk/integration_output.rs index b31e14fb..92cd9c12 100644 --- a/app/src/ai/agent_sdk/integration_output.rs +++ b/app/src/ai/agent_sdk/integration_output.rs @@ -1,8 +1,8 @@ use chrono::{DateTime, Utc}; use comfy_table::{presets::UTF8_FULL, Cell, Table}; +use galaxy_cli::agent::OutputFormat; use serde::Serialize; use serde_json::{Map, Value}; -use galaxy_cli::agent::OutputFormat; use crate::ai::agent_sdk::output::{self, TableFormat}; use crate::util::time_format::format_approx_duration_from_now_utc; diff --git a/app/src/ai/agent_sdk/mcp.rs b/app/src/ai/agent_sdk/mcp.rs index 32ff04dc..9acc9460 100644 --- a/app/src/ai/agent_sdk/mcp.rs +++ b/app/src/ai/agent_sdk/mcp.rs @@ -1,7 +1,7 @@ use comfy_table::Cell; -use serde::Serialize; use galaxy_cli::{mcp::MCPCommand, GlobalOptions}; use galaxyui::{AppContext, ModelContext, SingletonEntity}; +use serde::Serialize; use crate::ai::agent_sdk::output::{self, TableFormat}; use crate::ai::mcp::TemplatableMCPServerManager; diff --git a/app/src/ai/agent_sdk/mcp_config.rs b/app/src/ai/agent_sdk/mcp_config.rs index e0aae368..cb67a192 100644 --- a/app/src/ai/agent_sdk/mcp_config.rs +++ b/app/src/ai/agent_sdk/mcp_config.rs @@ -1,6 +1,6 @@ use anyhow::Context as _; -use serde_json::{Map, Value}; use galaxy_cli::mcp::MCPSpec; +use serde_json::{Map, Value}; use crate::ai::mcp::TemplatableMCPServer; diff --git a/app/src/ai/agent_sdk/mcp_config_tests.rs b/app/src/ai/agent_sdk/mcp_config_tests.rs index e5aaea48..65201b98 100644 --- a/app/src/ai/agent_sdk/mcp_config_tests.rs +++ b/app/src/ai/agent_sdk/mcp_config_tests.rs @@ -1,5 +1,5 @@ -use serde_json::{json, Map, Value}; use galaxy_cli::mcp::MCPSpec; +use serde_json::{json, Map, Value}; use super::build_mcp_servers_from_specs; diff --git a/app/src/ai/agent_sdk/mod.rs b/app/src/ai/agent_sdk/mod.rs index 49dc7675..9e250dd2 100644 --- a/app/src/ai/agent_sdk/mod.rs +++ b/app/src/ai/agent_sdk/mod.rs @@ -71,9 +71,9 @@ pub(crate) use driver::harness::{ task_env_vars, validate_cli_installed, ClaudeHarness, ThirdPartyHarness, }; pub use driver::AgentDriver; -use telemetry::CliTelemetryEvent; use galaxy_cli::agent::{Harness, Prompt, RunAgentArgs}; use galaxy_cli::OZ_HARNESS_ENV; +use telemetry::CliTelemetryEvent; mod admin; mod agent_config; diff --git a/app/src/ai/agent_sdk/mod_tests.rs b/app/src/ai/agent_sdk/mod_tests.rs index d083f3ad..4cb9788c 100644 --- a/app/src/ai/agent_sdk/mod_tests.rs +++ b/app/src/ai/agent_sdk/mod_tests.rs @@ -1,10 +1,10 @@ -use serde_json::json; use galaxy_cli::{ artifact::{ArtifactCommand, DownloadArtifactArgs, GetArtifactArgs, UploadArtifactArgs}, task::{MessageCommand, MessageSendArgs, MessageWatchArgs, TaskCommand}, CliCommand, }; use galaxy_core::telemetry::TelemetryEvent; +use serde_json::json; use super::{command_requires_auth, command_to_telemetry_event}; diff --git a/app/src/ai/agent_sdk/model.rs b/app/src/ai/agent_sdk/model.rs index 2744ef97..7789d1be 100644 --- a/app/src/ai/agent_sdk/model.rs +++ b/app/src/ai/agent_sdk/model.rs @@ -3,9 +3,9 @@ use std::collections::BTreeSet; use crate::ai::agent_sdk::output::{self, TableFormat}; use crate::ai::llms::LLMPreferences; use comfy_table::Cell; -use serde::Serialize; use galaxy_cli::{model::ModelCommand, GlobalOptions}; use galaxyui::{platform::TerminationMode, AppContext, ModelContext, SingletonEntity}; +use serde::Serialize; /// Handle model-related CLI commands. pub fn run( diff --git a/app/src/ai/agent_sdk/output.rs b/app/src/ai/agent_sdk/output.rs index 7469081f..3a21dc60 100644 --- a/app/src/ai/agent_sdk/output.rs +++ b/app/src/ai/agent_sdk/output.rs @@ -8,11 +8,11 @@ use jaq_all::data::Runner; use jaq_all::fmts::write::Writer; use jaq_all::fmts::Format; // Use jaq_json directly to ensure serde support is included. +use galaxy_cli::agent::OutputFormat; +use galaxy_cli::json_filter::{JqFilter, JsonOutput}; use jaq_json::{write as jaq_write, Val}; use serde::Serialize; use tabwriter::TabWriter; -use galaxy_cli::agent::OutputFormat; -use galaxy_cli::json_filter::{JqFilter, JsonOutput}; pub fn standard_table() -> Table { let mut table = Table::new(); diff --git a/app/src/ai/agent_sdk/output_tests.rs b/app/src/ai/agent_sdk/output_tests.rs index 47edc251..b0ad8e12 100644 --- a/app/src/ai/agent_sdk/output_tests.rs +++ b/app/src/ai/agent_sdk/output_tests.rs @@ -2,10 +2,10 @@ use super::{ run_jq_filter, write_filter_output, write_json, write_json_line, write_list, TableFormat, }; use comfy_table::Cell; -use serde::Serialize; -use serde_json::json; use galaxy_cli::agent::OutputFormat; use galaxy_cli::json_filter::parse_jq_filter; +use serde::Serialize; +use serde_json::json; #[derive(Serialize)] struct TestItem { diff --git a/app/src/ai/agent_sdk/profiles.rs b/app/src/ai/agent_sdk/profiles.rs index a04a87dc..db2724e8 100644 --- a/app/src/ai/agent_sdk/profiles.rs +++ b/app/src/ai/agent_sdk/profiles.rs @@ -1,7 +1,7 @@ use comfy_table::Cell; -use serde::Serialize; use galaxy_cli::{agent::AgentProfileCommand, GlobalOptions}; use galaxyui::{AppContext, ModelContext, SingletonEntity}; +use serde::Serialize; use crate::ai::agent_sdk::output::{self, TableFormat}; use crate::ai::execution_profiles::profiles::AIExecutionProfilesModel; diff --git a/app/src/ai/agent_sdk/provider.rs b/app/src/ai/agent_sdk/provider.rs index ea3eb94b..5f50b2f8 100644 --- a/app/src/ai/agent_sdk/provider.rs +++ b/app/src/ai/agent_sdk/provider.rs @@ -1,13 +1,13 @@ //! Provider command for linking third-party services. use crate::workspaces::user_workspaces::UserWorkspaces; use comfy_table::Cell; -use serde::Serialize; use galaxy_cli::{ provider::{ProviderCommand, ProviderType}, GlobalOptions, }; use galaxy_core::channel::ChannelState; use galaxyui::{platform::TerminationMode, AppContext, ModelContext, SingletonEntity}; +use serde::Serialize; use crate::ai::agent_sdk::output::{self, TableFormat}; diff --git a/app/src/ai/agent_sdk/schedule.rs b/app/src/ai/agent_sdk/schedule.rs index cb57f71b..a41e733d 100644 --- a/app/src/ai/agent_sdk/schedule.rs +++ b/app/src/ai/agent_sdk/schedule.rs @@ -1,7 +1,6 @@ use chrono::{DateTime, Utc}; use comfy_table::Cell; use futures::future; -use serde::Serialize; use galaxy_cli::schedule::{ CreateScheduleArgs, DeleteScheduleArgs, GetScheduleArgs, PauseScheduleArgs, ScheduleCommand, ScheduleSubcommand, UnpauseScheduleArgs, UpdateScheduleArgs, @@ -10,6 +9,7 @@ use galaxy_cli::{agent::OutputFormat, GlobalOptions}; use galaxy_graphql::queries::get_scheduled_agent_history::ScheduledAgentHistory; use galaxyui::platform::TerminationMode; use galaxyui::{AppContext, SingletonEntity}; +use serde::Serialize; use crate::ai::ambient_agents::scheduled::{ CloudScheduledAmbientAgent, ScheduledAgentManager, ScheduledAmbientAgent, UpdateScheduleParams, diff --git a/app/src/ai/agent_sdk/secret.rs b/app/src/ai/agent_sdk/secret.rs index 35a141fb..b47a92b9 100644 --- a/app/src/ai/agent_sdk/secret.rs +++ b/app/src/ai/agent_sdk/secret.rs @@ -6,8 +6,6 @@ use std::{ use anyhow::{Context, Result}; use chrono::{DateTime, Utc}; use comfy_table::Cell; -use inquire::{Confirm, InquireError, Password}; -use serde::Serialize; use galaxy_cli::{ agent::OutputFormat, scope::ObjectScope, @@ -24,6 +22,8 @@ use galaxy_graphql::{ }; use galaxy_managed_secrets::{client::SecretOwner, ManagedSecretManager, ManagedSecretValue}; use galaxyui::{platform::TerminationMode, AppContext, SingletonEntity as _}; +use inquire::{Confirm, InquireError, Password}; +use serde::Serialize; use crate::{ auth::UserUid, cloud_object::Owner, server::ids::ServerId, diff --git a/app/src/ai/agent_sdk/telemetry.rs b/app/src/ai/agent_sdk/telemetry.rs index 4909e41a..f05ffa84 100644 --- a/app/src/ai/agent_sdk/telemetry.rs +++ b/app/src/ai/agent_sdk/telemetry.rs @@ -1,7 +1,7 @@ use crate::features::FeatureFlag; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; #[derive(Debug, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] diff --git a/app/src/ai/agent_tips.rs b/app/src/ai/agent_tips.rs index 87d2472d..0f3557d5 100644 --- a/app/src/ai/agent_tips.rs +++ b/app/src/ai/agent_tips.rs @@ -14,13 +14,13 @@ use crate::workspace::view::{ use crate::workspace::WorkspaceAction; use crate::workspaces::user_workspaces::UserWorkspaces; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; +use galaxyui::keymap::Keystroke; +use galaxyui::r#async::SpawnedFutureHandle; +use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use markdown_parser::FormattedTextFragment; use std::path::Path; use std::sync::LazyLock; use std::time::Duration; -use galaxyui::keymap::Keystroke; -use galaxyui::r#async::SpawnedFutureHandle; -use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; /// Trait for tip implementations that can be displayed to users. /// Tips provide helpful information with optional links and keybindings. diff --git a/app/src/ai/ai_document_view.rs b/app/src/ai/ai_document_view.rs index e9fb3fa7..25325596 100644 --- a/app/src/ai/ai_document_view.rs +++ b/app/src/ai/ai_document_view.rs @@ -47,7 +47,6 @@ use crate::{ ui_components::icons::Icon, view_components::action_button::{ActionButton, PrimaryTheme}, }; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::icons; use galaxy_core::ui::icons::ICON_DIMENSIONS; use galaxy_core::ui::theme::Fill as ThemeFill; @@ -70,6 +69,7 @@ use galaxyui::{ ViewHandle, }; use galaxyui::{id, EntityId}; +use pathfinder_geometry::vector::vec2f; pub fn init(app: &mut AppContext) { app.register_editable_bindings([EditableBinding::new( diff --git a/app/src/ai/ambient_agents/task.rs b/app/src/ai/ambient_agents/task.rs index 7653cb1d..94168c10 100644 --- a/app/src/ai/ambient_agents/task.rs +++ b/app/src/ai/ambient_agents/task.rs @@ -2,11 +2,11 @@ use anyhow::anyhow; use chrono::{DateTime, Utc}; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; use galaxy_cli::agent::Harness; use galaxy_core::report_error; use galaxy_core::ui::theme::WarpTheme; use galaxyui::color::ColorU; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; use crate::ai::artifacts::{deserialize_artifacts, Artifact}; use crate::server::server_api::ServerApiProvider; diff --git a/app/src/ai/ambient_agents/telemetry.rs b/app/src/ai/ambient_agents/telemetry.rs index 5b5b33a8..3414a9fa 100644 --- a/app/src/ai/ambient_agents/telemetry.rs +++ b/app/src/ai/ambient_agents/telemetry.rs @@ -1,9 +1,9 @@ use crate::server::ids::ServerId; +use galaxy_core::features::FeatureFlag; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::features::FeatureFlag; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; /// The entry point through which Cloud Mode was entered. #[derive(Clone, Copy, Debug, Serialize)] diff --git a/app/src/ai/artifacts/mod.rs b/app/src/ai/artifacts/mod.rs index 45bb6a0d..144f8517 100644 --- a/app/src/ai/artifacts/mod.rs +++ b/app/src/ai/artifacts/mod.rs @@ -3,12 +3,12 @@ use std::path::Path; use std::path::PathBuf; use anyhow::anyhow; -use ui_components::lightbox::{LightboxImage, LightboxImageSource}; use galaxy_core::report_error; -use warp_multi_agent_api as api; #[cfg(feature = "local_fs")] use galaxyui::platform::SaveFilePickerConfiguration; use galaxyui::SingletonEntity; +use ui_components::lightbox::{LightboxImage, LightboxImageSource}; +use warp_multi_agent_api as api; #[cfg(feature = "local_fs")] use crate::ai::artifact_download::default_download_filename; diff --git a/app/src/ai/aws_credentials.rs b/app/src/ai/aws_credentials.rs index 4d3a51c3..2b57ecf5 100644 --- a/app/src/ai/aws_credentials.rs +++ b/app/src/ai/aws_credentials.rs @@ -11,10 +11,10 @@ use aws_credential_types::provider::error::CredentialsError; use aws_credential_types::provider::ProvideCredentials; use futures::channel::oneshot::channel; use futures::future::BoxFuture; -use tokio::sync::OnceCell; -use vec1::vec1; use galaxy_managed_secrets::{client::IdentityTokenOptions, ManagedSecretManager}; use galaxyui::{ModelContext, ModelHandle, SingletonEntity}; +use tokio::sync::OnceCell; +use vec1::vec1; /// Errors that can occur when loading AWS credentials. #[derive(Debug, Clone)] diff --git a/app/src/ai/bedrock/convert_request.rs b/app/src/ai/bedrock/convert_request.rs index e6d65c13..6f2a289a 100644 --- a/app/src/ai/bedrock/convert_request.rs +++ b/app/src/ai/bedrock/convert_request.rs @@ -1,7 +1,9 @@ #![allow(dead_code, unused_imports, unused_variables, deprecated)] use warp_multi_agent_api as api; -use super::convert::{ConversationMessage, ContentPart, MessageContent, MessageRole, ToolDefinition}; +use super::convert::{ + ContentPart, ConversationMessage, MessageContent, MessageRole, ToolDefinition, +}; /// Extract new input messages from the current request and convert them directly /// to ConversationMessage format for the Bedrock message history. @@ -36,9 +38,7 @@ pub fn extract_new_input_messages(request: &api::Request) -> Vec { + Some(api::request::input::user_inputs::user_input::Input::UserQuery(query)) => { if !query.query.is_empty() { user_queries.push(ConversationMessage { role: MessageRole::User, @@ -59,9 +59,15 @@ pub fn extract_new_input_messages(request: &api::Request) -> Vec = tool_results .into_iter() .map(|tr| match tr.content { - MessageContent::ToolResult { tool_use_id, content, is_error } => { - ContentPart::ToolResult { tool_use_id, content, is_error } - } + MessageContent::ToolResult { + tool_use_id, + content, + is_error, + } => ContentPart::ToolResult { + tool_use_id, + content, + is_error, + }, _ => unreachable!(), }) .collect(); @@ -111,10 +117,7 @@ pub fn extract_new_input_messages(request: &api::Request) -> Vec { results.push(ConversationMessage { role: MessageRole::User, - content: MessageContent::Text(format!( - "Create a new project: {}", - project.query, - )), + content: MessageContent::Text(format!("Create a new project: {}", project.query,)), }); } api::request::input::Type::CloneRepository(repo) => { @@ -150,11 +153,17 @@ pub fn extract_new_input_messages(request: &api::Request) -> Vec format!("Text({}chars)", t.len()), - MessageContent::ToolResult { tool_use_id, .. } => format!("ToolResult({})", tool_use_id), + MessageContent::ToolResult { tool_use_id, .. } => { + format!("ToolResult({})", tool_use_id) + } MessageContent::MultiPart(parts) => format!("MultiPart({} parts)", parts.len()), _ => "Other".to_string(), }; - log::info!("[bedrock] New input message: role={:?}, content={}", msg.role, desc); + log::info!( + "[bedrock] New input message: role={:?}, content={}", + msg.role, + desc + ); } results @@ -247,9 +256,7 @@ fn extract_input_messages(request: &api::Request) -> Vec { }); } } - Some(api::request::input::user_inputs::user_input::Input::UserQuery( - query, - )) => { + Some(api::request::input::user_inputs::user_input::Input::UserQuery(query)) => { if !query.query.is_empty() { results.push(api::Message { id: uuid::Uuid::new_v4().to_string(), @@ -280,12 +287,10 @@ fn extract_input_messages(request: &api::Request) -> Vec { timestamp: None, server_message_data: String::new(), citations: vec![], - message: Some(api::message::Message::UserQuery( - api::message::UserQuery { - query: query.query.clone(), - ..Default::default() - }, - )), + message: Some(api::message::Message::UserQuery(api::message::UserQuery { + query: query.query.clone(), + ..Default::default() + })), }); } } @@ -303,13 +308,11 @@ fn extract_input_messages(request: &api::Request) -> Vec { api::message::ToolCallResult { tool_call_id: result.tool_call_id.clone(), context: None, - result: Some( - api::message::tool_call_result::Result::Server( - api::message::tool_call_result::ServerResult { - serialized_result: content, - }, - ), - ), + result: Some(api::message::tool_call_result::Result::Server( + api::message::tool_call_result::ServerResult { + serialized_result: content, + }, + )), }, )), }); @@ -336,14 +339,18 @@ pub fn extract_messages_from_request(request: &api::Request) -> Vec "UserQuery", - api::message::Message::AgentOutput(_) => "AgentOutput", - api::message::Message::ToolCall(_) => "ToolCall", - api::message::Message::ToolCallResult(_) => "ToolCallResult", - api::message::Message::AgentReasoning(_) => "AgentReasoning", - _ => "Other", - }).unwrap_or("None"); + let msg_type = msg + .message + .as_ref() + .map(|m| match m { + api::message::Message::UserQuery(_) => "UserQuery", + api::message::Message::AgentOutput(_) => "AgentOutput", + api::message::Message::ToolCall(_) => "ToolCall", + api::message::Message::ToolCallResult(_) => "ToolCallResult", + api::message::Message::AgentReasoning(_) => "AgentReasoning", + _ => "Other", + }) + .unwrap_or("None"); log::info!( "[bedrock-debug] extract_messages: msg id='{}' type={}", msg.id, @@ -577,16 +584,29 @@ fn ensure_tool_results_paired(messages: &mut Vec) { } existing => { // Convert existing single content + synthetic results into MultiPart. - let existing_part = match std::mem::replace(existing, MessageContent::Text(String::new())) { - MessageContent::Text(t) => ContentPart::Text(t), - MessageContent::ToolResult { tool_use_id, content, is_error } => { - ContentPart::ToolResult { tool_use_id, content, is_error } - } - MessageContent::ToolUse { tool_use_id, name, input } => { - ContentPart::ToolUse { tool_use_id, name, input } - } - MessageContent::MultiPart(_) => unreachable!(), - }; + let existing_part = + match std::mem::replace(existing, MessageContent::Text(String::new())) { + MessageContent::Text(t) => ContentPart::Text(t), + MessageContent::ToolResult { + tool_use_id, + content, + is_error, + } => ContentPart::ToolResult { + tool_use_id, + content, + is_error, + }, + MessageContent::ToolUse { + tool_use_id, + name, + input, + } => ContentPart::ToolUse { + tool_use_id, + name, + input, + }, + MessageContent::MultiPart(_) => unreachable!(), + }; let mut parts = vec![existing_part]; parts.extend(synthetic_results); *existing = MessageContent::MultiPart(parts); @@ -596,9 +616,15 @@ fn ensure_tool_results_paired(messages: &mut Vec) { // No user message follows — insert a new one. let content = if synthetic_results.len() == 1 { match synthetic_results.into_iter().next().unwrap() { - ContentPart::ToolResult { tool_use_id, content, is_error } => { - MessageContent::ToolResult { tool_use_id, content, is_error } - } + ContentPart::ToolResult { + tool_use_id, + content, + is_error, + } => MessageContent::ToolResult { + tool_use_id, + content, + is_error, + }, _ => unreachable!(), } } else { @@ -631,15 +657,22 @@ fn ensure_tool_results_paired(messages: &mut Vec) { .into_iter() .map(|id| ContentPart::ToolResult { tool_use_id: id, - content: "Tool call result unavailable (conversation was interrupted).".to_string(), + content: "Tool call result unavailable (conversation was interrupted)." + .to_string(), is_error: false, }) .collect(); let content = if parts.len() == 1 { match parts.into_iter().next().unwrap() { - ContentPart::ToolResult { tool_use_id, content, is_error } => { - MessageContent::ToolResult { tool_use_id, content, is_error } - } + ContentPart::ToolResult { + tool_use_id, + content, + is_error, + } => MessageContent::ToolResult { + tool_use_id, + content, + is_error, + }, _ => unreachable!(), } } else { @@ -746,18 +779,25 @@ pub fn extract_system_prompt(request: &api::Request) -> Option { prompt.push_str("## Tools\nYou have access to the following tools. Use them proactively to explore codebases and complete tasks:\n"); prompt.push_str("- `run_shell_command`: Execute shell commands. Use absolute paths based on the working directory.\n"); - prompt.push_str("- `read_files`: Read file contents. Pass all files you need in a single call.\n"); + prompt.push_str( + "- `read_files`: Read file contents. Pass all files you need in a single call.\n", + ); prompt.push_str("- `apply_file_diffs`: Apply search/replace edits to files.\n"); prompt.push_str("- `grep`: Search for patterns in files. Pass all patterns in one call.\n"); - prompt.push_str("- `file_glob`: Find files matching glob patterns. Pass all patterns in one call.\n"); + prompt.push_str( + "- `file_glob`: Find files matching glob patterns. Pass all patterns in one call.\n", + ); prompt.push_str("- `get_tool_documentation`: Get detailed documentation for any tool or system capabilities.\n"); prompt.push_str("- `suggest_next_prompt`: After completing a task, suggest a follow-up action the user might want.\n\n"); prompt.push_str("## Guidelines\n"); - prompt.push_str("- ALWAYS use tools to explore the codebase before answering questions about code.\n"); + prompt.push_str( + "- ALWAYS use tools to explore the codebase before answering questions about code.\n", + ); prompt.push_str("- Use absolute paths based on the working directory shown above.\n"); prompt.push_str("- When asked about a project, start by listing files with `file_glob` or `run_shell_command`.\n"); - prompt.push_str("- Read relevant files before making claims about code structure or behavior.\n"); + prompt + .push_str("- Read relevant files before making claims about code structure or behavior.\n"); prompt.push_str("- Be concise and direct in responses.\n"); prompt.push_str("- IMPORTANT: After EVERY response, you MUST call `suggest_next_prompt` to suggest a relevant follow-up action or question the user might want to take next.\n"); @@ -984,9 +1024,9 @@ fn extract_tool_call_info(tool_call: &api::message::ToolCall) -> (String, serde_ ), api::message::tool_call::Tool::SuggestPrompt(sp) => { let (prompt, label) = match &sp.display_mode { - Some(api::message::tool_call::suggest_prompt::DisplayMode::PromptChip(chip)) => { - (chip.prompt.clone(), chip.label.clone()) - } + Some(api::message::tool_call::suggest_prompt::DisplayMode::PromptChip( + chip, + )) => (chip.prompt.clone(), chip.label.clone()), _ => (String::new(), String::new()), }; ( @@ -1129,10 +1169,7 @@ fn format_tool_call_result(result: &api::message::ToolCallResult) -> String { if finished.output.is_empty() { format!("Exit code: {}\n(no output)", finished.exit_code) } else { - format!( - "Exit code: {}\n{}", - finished.exit_code, finished.output - ) + format!("Exit code: {}\n{}", finished.exit_code, finished.output) } } Some(api::run_shell_command_result::Result::LongRunningCommandSnapshot( diff --git a/app/src/ai/bedrock/stream.rs b/app/src/ai/bedrock/stream.rs index f4ce6daf..1b9d7159 100644 --- a/app/src/ai/bedrock/stream.rs +++ b/app/src/ai/bedrock/stream.rs @@ -13,7 +13,7 @@ use warp_multi_agent_api::{self as api, ClientAction, ResponseEvent}; use crate::ai::agent::api::Event; use crate::server::server_api::AIApiError; -use super::convert::{ContentPart, MessageContent, MessageRole, ConversationMessage}; +use super::convert::{ContentPart, ConversationMessage, MessageContent, MessageRole}; use super::diagnostic::BedrockDiagnosticLogger; pub fn bedrock_stream_to_response_events( diff --git a/app/src/ai/block_context.rs b/app/src/ai/block_context.rs index d6b73377..c615400b 100644 --- a/app/src/ai/block_context.rs +++ b/app/src/ai/block_context.rs @@ -1,7 +1,7 @@ use channel_versions::overrides::TargetOS; use chrono::{DateTime, Local}; -use serde::{Deserialize, Serialize}; use galaxy_core::command::ExitCode; +use serde::{Deserialize, Serialize}; use crate::terminal::event::UserBlockCompleted; use crate::terminal::model::block::BlockId; diff --git a/app/src/ai/blocklist/action_model.rs b/app/src/ai/blocklist/action_model.rs index d8c42967..b1fa897b 100644 --- a/app/src/ai/blocklist/action_model.rs +++ b/app/src/ai/blocklist/action_model.rs @@ -47,9 +47,9 @@ use std::{ }; use crate::ai::agent::conversation::AIConversationId; +use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; use itertools::Itertools; use parking_lot::FairMutex; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/action_model/execute.rs b/app/src/ai/blocklist/action_model/execute.rs index 69c8b532..1929c428 100644 --- a/app/src/ai/blocklist/action_model/execute.rs +++ b/app/src/ai/blocklist/action_model/execute.rs @@ -29,6 +29,7 @@ use edit_documents::EditDocumentsExecutor; use fetch_conversation::FetchConversationExecutor; use file_glob::FileGlobExecutor; use futures::{future::BoxFuture, FutureExt}; +use galaxy_core::{execution_mode::AppExecutionMode, features::FeatureFlag}; use grep::GrepExecutor; use parking_lot::FairMutex; use read_documents::ReadDocumentsExecutor; @@ -52,13 +53,11 @@ use suggest_new_conversation::SuggestNewConversationExecutor; pub use suggest_prompt::PromptSuggestionExecutor; use upload_artifact::UploadArtifactExecutor; use use_computer::UseComputerExecutor; -use galaxy_core::{execution_mode::AppExecutionMode, features::FeatureFlag}; #[cfg(feature = "local_fs")] use crate::util::openable_file_type::is_binary_file; #[cfg(feature = "local_fs")] use futures::AsyncReadExt; -use std::{any::Any, path::PathBuf, pin::Pin, sync::Arc}; #[cfg(feature = "local_fs")] use galaxy_files::{FileModel, TextFileReadResult}; #[cfg(feature = "local_fs")] @@ -69,6 +68,7 @@ use galaxyui::{ r#async::{Spawnable, SpawnableOutput}, AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, }; +use std::{any::Any, path::PathBuf, pin::Pin, sync::Arc}; #[cfg(feature = "local_fs")] use crate::util::image::{ diff --git a/app/src/ai/blocklist/action_model/execute/call_mcp_tool.rs b/app/src/ai/blocklist/action_model/execute/call_mcp_tool.rs index 562466b0..87668efa 100644 --- a/app/src/ai/blocklist/action_model/execute/call_mcp_tool.rs +++ b/app/src/ai/blocklist/action_model/execute/call_mcp_tool.rs @@ -15,9 +15,9 @@ use crate::{ send_telemetry_from_app_ctx, TelemetryEvent, }; #[cfg(not(target_family = "wasm"))] -use itertools::Itertools; -#[cfg(not(target_family = "wasm"))] use galaxyui::SingletonEntity; +#[cfg(not(target_family = "wasm"))] +use itertools::Itertools; pub struct CallMCPToolExecutor { _active_session: ModelHandle, diff --git a/app/src/ai/blocklist/action_model/execute/edit_documents.rs b/app/src/ai/blocklist/action_model/execute/edit_documents.rs index a34136f3..abfbfbfb 100644 --- a/app/src/ai/blocklist/action_model/execute/edit_documents.rs +++ b/app/src/ai/blocklist/action_model/execute/edit_documents.rs @@ -1,7 +1,7 @@ use ai::diff_validation::DiffDelta; use futures::{future::BoxFuture, FutureExt}; -use std::collections::HashMap; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use std::collections::HashMap; use crate::ai::{ agent::{ diff --git a/app/src/ai/blocklist/action_model/execute/file_glob.rs b/app/src/ai/blocklist/action_model/execute/file_glob.rs index 22613314..37394902 100644 --- a/app/src/ai/blocklist/action_model/execute/file_glob.rs +++ b/app/src/ai/blocklist/action_model/execute/file_glob.rs @@ -4,9 +4,9 @@ use std::time::Duration; use futures::future::BoxFuture; use futures::FutureExt; -use itertools::Itertools; use galaxyui::r#async::FutureExt as AsyncFutureExt; use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; use crate::ai::agent::{ conversation::AIConversationId, AIAgentAction, AIAgentActionType, FileGlobResult, diff --git a/app/src/ai/blocklist/action_model/execute/read_skill_tests.rs b/app/src/ai/blocklist/action_model/execute/read_skill_tests.rs index 74cbab91..f0ec2a12 100644 --- a/app/src/ai/blocklist/action_model/execute/read_skill_tests.rs +++ b/app/src/ai/blocklist/action_model/execute/read_skill_tests.rs @@ -8,13 +8,13 @@ use crate::ai::blocklist::action_model::AIConversationId; use crate::ai::skills::SkillManager; use crate::warp_managed_paths_watcher::WarpManagedPathsWatcher; use ai::skills::{parse_skill, SkillReference}; +use galaxyui::App; use repo_metadata::{ repositories::DetectedRepositories, watcher::DirectoryWatcher, RepoMetadataModel, }; use std::fs; use std::io::Write; use tempfile::TempDir; -use galaxyui::App; use watcher::HomeDirectoryWatcher; fn initialize_app(app: &mut App) { diff --git a/app/src/ai/blocklist/action_model/execute/request_file_edits.rs b/app/src/ai/blocklist/action_model/execute/request_file_edits.rs index 88f4e5ac..c1425b1c 100644 --- a/app/src/ai/blocklist/action_model/execute/request_file_edits.rs +++ b/app/src/ai/blocklist/action_model/execute/request_file_edits.rs @@ -9,10 +9,10 @@ use std::path::PathBuf; use ai::diff_validation::AIRequestedCodeDiff; use futures::{channel::oneshot, future::BoxFuture, FutureExt}; -use itertools::Itertools; -use vec1::{vec1, Vec1}; use galaxy_core::send_telemetry_from_ctx; use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity as _, ViewHandle}; +use itertools::Itertools; +use vec1::{vec1, Vec1}; use apply_diff_model::ApplyDiffModel; pub(crate) use diff_application::apply_edits; diff --git a/app/src/ai/blocklist/action_model/execute/request_file_edits/apply_diff_model.rs b/app/src/ai/blocklist/action_model/execute/request_file_edits/apply_diff_model.rs index fb72110c..17ac9fb9 100644 --- a/app/src/ai/blocklist/action_model/execute/request_file_edits/apply_diff_model.rs +++ b/app/src/ai/blocklist/action_model/execute/request_file_edits/apply_diff_model.rs @@ -10,9 +10,9 @@ use ai::diff_validation::AIRequestedCodeDiff; use futures::FutureExt; -use vec1::Vec1; use galaxyui::r#async::BoxFuture; use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity as _}; +use vec1::Vec1; use crate::ai::agent::{AIIdentifiers, FileEdit}; use crate::ai::blocklist::SessionContext; diff --git a/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application.rs b/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application.rs index 640ef8fa..014c163a 100644 --- a/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application.rs +++ b/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application.rs @@ -11,9 +11,9 @@ use ai::diff_validation::{ fuzzy_match_diffs, fuzzy_match_v4a_diffs, AIRequestedCodeDiff, DiffDelta, DiffMatchFailures, DiffType, ParsedDiff, SearchAndReplace, V4AHunk, }; +use galaxyui::r#async::executor::Background; use itertools::Itertools; use vec1::Vec1; -use galaxyui::r#async::executor::Background; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application_tests.rs b/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application_tests.rs index f131e626..e73f36f3 100644 --- a/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application_tests.rs +++ b/app/src/ai/blocklist/action_model/execute/request_file_edits/diff_application_tests.rs @@ -3,9 +3,9 @@ use std::sync::Arc; use ai::diff_validation::{DiffDelta, ParsedDiff, V4AHunk}; use async_io::block_on; +use galaxyui::App; use tempfile::NamedTempFile; use vec1::vec1; -use galaxyui::App; use crate::ai::agent::{AIIdentifiers, FileEdit}; use crate::ai::blocklist::SessionContext; diff --git a/app/src/ai/blocklist/action_model/execute/request_file_edits/telemetry.rs b/app/src/ai/blocklist/action_model/execute/request_file_edits/telemetry.rs index effe9691..45b304e1 100644 --- a/app/src/ai/blocklist/action_model/execute/request_file_edits/telemetry.rs +++ b/app/src/ai/blocklist/action_model/execute/request_file_edits/telemetry.rs @@ -3,10 +3,10 @@ /// This distinguishes the legacy search/replace edit format from the structured /// V4A patch format used by `apply_patch`. use ai::diff_validation::DiffMatchFailures; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::json; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use crate::ai::{agent::AIIdentifiers, blocklist::RequestedEditResolution}; diff --git a/app/src/ai/blocklist/action_model/execute/search_codebase.rs b/app/src/ai/blocklist/action_model/execute/search_codebase.rs index 2539c81a..bb6b3d73 100644 --- a/app/src/ai/blocklist/action_model/execute/search_codebase.rs +++ b/app/src/ai/blocklist/action_model/execute/search_codebase.rs @@ -4,8 +4,8 @@ use std::{ }; use futures::{channel::oneshot, future::BoxFuture, FutureExt}; -use itertools::Itertools; use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/action_model/execute/shell_command.rs b/app/src/ai/blocklist/action_model/execute/shell_command.rs index 1626b8cd..a244d627 100644 --- a/app/src/ai/blocklist/action_model/execute/shell_command.rs +++ b/app/src/ai/blocklist/action_model/execute/shell_command.rs @@ -7,13 +7,13 @@ use futures::channel::oneshot; use futures::future::BoxFuture; use futures::{select, FutureExt}; use futures_lite::pin; -use itertools::Itertools; -use parking_lot::FairMutex; use galaxy_core::command::ExitCode; use galaxy_core::execution_mode::AppExecutionMode; use galaxy_util::path::ShellFamily; use galaxyui::r#async::{Spawnable, Timer}; use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; +use parking_lot::FairMutex; use crate::ai::agent::{ AIAgentActionId, AIAgentActionType, AIAgentPtyWriteMode, ReadShellCommandOutputResult, diff --git a/app/src/ai/blocklist/agent_view/agent_input_footer/environment_selector.rs b/app/src/ai/blocklist/agent_view/agent_input_footer/environment_selector.rs index cc48a96d..607175a1 100644 --- a/app/src/ai/blocklist/agent_view/agent_input_footer/environment_selector.rs +++ b/app/src/ai/blocklist/agent_view/agent_input_footer/environment_selector.rs @@ -1,6 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use settings::Setting; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::color::blend::Blend; use galaxy_core::ui::theme::Fill; @@ -12,6 +9,9 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use settings::Setting; use std::sync::Arc; diff --git a/app/src/ai/blocklist/agent_view/agent_input_footer/mod.rs b/app/src/ai/blocklist/agent_view/agent_input_footer/mod.rs index a669ecd0..795634d6 100644 --- a/app/src/ai/blocklist/agent_view/agent_input_footer/mod.rs +++ b/app/src/ai/blocklist/agent_view/agent_input_footer/mod.rs @@ -54,8 +54,8 @@ use crate::{ workspace::{view::TOGGLE_PROJECT_EXPLORER_BINDING_NAME, ToastStack}, workspaces::user_workspaces::UserWorkspaces, }; -use toolbar_item::AgentToolbarItemKind; use galaxy_cli::agent::Harness; +use toolbar_item::AgentToolbarItemKind; use std::sync::Arc; @@ -1309,10 +1309,12 @@ impl AgentInputFooter { .unwrap_or_else(|| appearance.theme().foreground().into_solid()); left_buttons.add_child( Container::new( - ConstrainedBox::new(icon.to_galaxyui_icon(Fill::Solid(icon_color)).finish()) - .with_width(cli_icon_size) - .with_height(cli_icon_size) - .finish(), + ConstrainedBox::new( + icon.to_galaxyui_icon(Fill::Solid(icon_color)).finish(), + ) + .with_width(cli_icon_size) + .with_height(cli_icon_size) + .finish(), ) .with_padding_right(8.) .finish(), diff --git a/app/src/ai/blocklist/agent_view/agent_input_footer/toolbar_item.rs b/app/src/ai/blocklist/agent_view/agent_input_footer/toolbar_item.rs index 9aeabad0..a6fe85c3 100644 --- a/app/src/ai/blocklist/agent_view/agent_input_footer/toolbar_item.rs +++ b/app/src/ai/blocklist/agent_view/agent_input_footer/toolbar_item.rs @@ -72,9 +72,7 @@ pub enum AgentToolbarItemKind { impl AgentToolbarItemKind { pub fn available_in(&self) -> ToolbarAvailability { match self { - Self::ContextChip(_) | Self::VoiceInput | Self::FileAttach => { - ToolbarAvailability::Both - } + Self::ContextChip(_) | Self::VoiceInput | Self::FileAttach => ToolbarAvailability::Both, Self::ModelSelector | Self::NLDToggle | Self::ContextWindowUsage diff --git a/app/src/ai/blocklist/agent_view/agent_message_bar.rs b/app/src/ai/blocklist/agent_view/agent_message_bar.rs index 137c6a29..b315fb18 100644 --- a/app/src/ai/blocklist/agent_view/agent_message_bar.rs +++ b/app/src/ai/blocklist/agent_view/agent_message_bar.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use parking_lot::FairMutex; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; @@ -9,6 +8,7 @@ use galaxyui::elements::{Container, Element, Empty, MouseStateHandle}; use galaxyui::keymap::Keystroke; use galaxyui::platform::OperatingSystem; use galaxyui::{AppContext, Entity, ModelHandle, SingletonEntity, View, ViewContext}; +use parking_lot::FairMutex; use super::{AgentViewState, EphemeralMessageModel, EphemeralMessageModelEvent}; use crate::ai::agent::conversation::AIConversation; diff --git a/app/src/ai/blocklist/agent_view/agent_view_block.rs b/app/src/ai/blocklist/agent_view/agent_view_block.rs index 1734e18d..217993da 100644 --- a/app/src/ai/blocklist/agent_view/agent_view_block.rs +++ b/app/src/ai/blocklist/agent_view/agent_view_block.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use settings::Setting; use galaxy_core::ui::{appearance::Appearance, Icon}; use galaxyui::{ elements::{ @@ -12,6 +10,8 @@ use galaxyui::{ text_layout::ClipConfig, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use settings::Setting; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/agent_view/controller.rs b/app/src/ai/blocklist/agent_view/controller.rs index b482248e..be788405 100644 --- a/app/src/ai/blocklist/agent_view/controller.rs +++ b/app/src/ai/blocklist/agent_view/controller.rs @@ -2,13 +2,13 @@ use std::{sync::Arc, time::Duration}; use instant::Instant; -use parking_lot::FairMutex; use galaxy_core::ui::appearance::Appearance; use galaxyui::keymap::Keystroke; use galaxyui::AppContext; use galaxyui::{ r#async::SpawnedFutureHandle, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, }; +use parking_lot::FairMutex; use crate::terminal::input::message_bar::{Message, MessageItem}; use crate::terminal::input::slash_commands::SlashCommandTrigger; diff --git a/app/src/ai/blocklist/agent_view/inline_agent_view_header.rs b/app/src/ai/blocklist/agent_view/inline_agent_view_header.rs index 74802d0c..b9461c6c 100644 --- a/app/src/ai/blocklist/agent_view/inline_agent_view_header.rs +++ b/app/src/ai/blocklist/agent_view/inline_agent_view_header.rs @@ -1,12 +1,12 @@ use std::sync::Arc; use ai::agent::action::{AIAgentActionType, ShellCommandDelay}; -use parking_lot::FairMutex; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{CornerRadius, Radius}, AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, View, ViewContext, }; +use parking_lot::FairMutex; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/agent_view/mod.rs b/app/src/ai/blocklist/agent_view/mod.rs index 8f8c0ca4..cf481a9d 100644 --- a/app/src/ai/blocklist/agent_view/mod.rs +++ b/app/src/ai/blocklist/agent_view/mod.rs @@ -15,17 +15,17 @@ pub use agent_message_bar::*; pub use agent_view_block::*; pub use controller::*; pub use ephemeral_message_model::*; -pub use inline_agent_view_header::*; use galaxyui::fonts::Properties; +pub use inline_agent_view_header::*; pub use zero_state_block::*; use std::sync::LazyLock; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::{appearance::Appearance, color::blend::Blend}; use galaxyui::keymap::Keystroke; use galaxyui::{AppContext, SingletonEntity}; +use pathfinder_color::ColorU; use crate::view_components::action_button::ActionButtonTheme; diff --git a/app/src/ai/blocklist/agent_view/orchestration_conversation_links.rs b/app/src/ai/blocklist/agent_view/orchestration_conversation_links.rs index 48f85f6d..c83d7065 100644 --- a/app/src/ai/blocklist/agent_view/orchestration_conversation_links.rs +++ b/app/src/ai/blocklist/agent_view/orchestration_conversation_links.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::{ @@ -12,6 +10,8 @@ use galaxyui::{ text_layout::ClipConfig, AppContext, Element, EventContext, SingletonEntity, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; use crate::{ ai::{ @@ -199,7 +199,9 @@ pub(crate) fn conversation_navigation_card_with_icon( Container::new( ConstrainedBox::new( Icon::ChevronRight - .to_galaxyui_icon(blended_colors::text_sub(theme, theme.background()).into()) + .to_galaxyui_icon( + blended_colors::text_sub(theme, theme.background()).into(), + ) .finish(), ) .with_height(20.) diff --git a/app/src/ai/blocklist/agent_view/zero_state_block.rs b/app/src/ai/blocklist/agent_view/zero_state_block.rs index df6a62fc..c8577358 100644 --- a/app/src/ai/blocklist/agent_view/zero_state_block.rs +++ b/app/src/ai/blocklist/agent_view/zero_state_block.rs @@ -1,9 +1,4 @@ #![allow(dead_code, unused_imports, unused_variables)] -use itertools::Itertools as _; -use markdown_parser::{parse_markdown, FormattedText, FormattedTextFragment, FormattedTextLine}; -use parking_lot::FairMutex; -use settings::Setting; -use std::{borrow::Cow, cmp::Reverse, path::Path, sync::Arc}; use galaxy_core::{features::FeatureFlag, report_if_error, ui::Icon}; use galaxyui::{ elements::{ @@ -17,6 +12,11 @@ use galaxyui::{ scene::Border, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use itertools::Itertools as _; +use markdown_parser::{parse_markdown, FormattedText, FormattedTextFragment, FormattedTextLine}; +use parking_lot::FairMutex; +use settings::Setting; +use std::{borrow::Cow, cmp::Reverse, path::Path, sync::Arc}; use crate::{ ai::{ @@ -209,8 +209,7 @@ impl AgentViewZeroStateBlock { } } }); - ctx.subscribe_to_model(&AISettings::handle(ctx), |_me, _, _event, _ctx| { - }); + ctx.subscribe_to_model(&AISettings::handle(ctx), |_me, _, _event, _ctx| {}); let mut state_handles = StateHandles::default(); state_handles.update_hyperlinks.resize( diff --git a/app/src/ai/blocklist/agent_view/zero_state_block_tests.rs b/app/src/ai/blocklist/agent_view/zero_state_block_tests.rs index 05a2bd02..33852af0 100644 --- a/app/src/ai/blocklist/agent_view/zero_state_block_tests.rs +++ b/app/src/ai/blocklist/agent_view/zero_state_block_tests.rs @@ -7,8 +7,8 @@ use crate::terminal::{ color::{self, Colors}, event_listener::ChannelEventListener, }; -use std::{path::PathBuf, sync::Arc}; use galaxyui::r#async::executor::Background; +use std::{path::PathBuf, sync::Arc}; fn terminal_with_startup_path(startup_path: Option<&str>) -> TerminalModel { TerminalModel::new_for_test( diff --git a/app/src/ai/blocklist/block.rs b/app/src/ai/blocklist/block.rs index d60d219b..2a9e605a 100644 --- a/app/src/ai/blocklist/block.rs +++ b/app/src/ai/blocklist/block.rs @@ -54,21 +54,21 @@ use crate::view_components::action_button::{ use crate::view_components::compactible_action_button::CompactibleActionButton; use crate::AIAgentTodoList; use crate::FileEdit; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::Fill; +use pathfinder_color::ColorU; use cli_controller::CLISubagentController; use cli_controller::CLISubagentEvent; use find::FindState; -use model::AIBlockOutputStatus; -use parking_lot::FairMutex; -use settings::Setting as _; use galaxy_core::features::FeatureFlag; use galaxyui::elements::get_rich_content_position_id; use galaxyui::elements::ClippedScrollStateHandle; use galaxyui::elements::TableStateHandle; use galaxyui::ui_components::radio_buttons::RadioButtonStateHandle; +use model::AIBlockOutputStatus; +use parking_lot::FairMutex; +use settings::Setting as _; use crate::ai::agent::conversation::AIConversationId; use crate::ai::agent::AIAgentActionResultType; @@ -111,6 +111,15 @@ use crate::view_components::action_button::KeystrokeSource; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::Appearance; use crate::LLMPreferences; +use galaxy_util::path::ShellFamily; +use galaxyui::elements::MainAxisAlignment; +use galaxyui::elements::MainAxisSize; +use galaxyui::elements::SecretRange; +use galaxyui::ui_components::button::ButtonVariant; +use galaxyui::ui_components::button::TextAndIcon; +use galaxyui::ui_components::button::TextAndIconAlignment; +use galaxyui::ui_components::components::UiComponent; +use galaxyui::ui_components::components::UiComponentStyles; use indexmap::IndexMap; use parking_lot::{Mutex, RwLock}; use pathfinder_geometry::vector::vec2f; @@ -121,20 +130,9 @@ use std::ops::Range; use std::path::{Path, PathBuf}; use std::rc::Rc; use std::{cell::OnceCell, sync::Arc}; -use galaxy_util::path::ShellFamily; -use galaxyui::elements::MainAxisAlignment; -use galaxyui::elements::MainAxisSize; -use galaxyui::elements::SecretRange; -use galaxyui::ui_components::button::ButtonVariant; -use galaxyui::ui_components::button::TextAndIcon; -use galaxyui::ui_components::button::TextAndIconAlignment; -use galaxyui::ui_components::components::UiComponent; -use galaxyui::ui_components::components::UiComponentStyles; use crate::util::link_detection::*; use chrono::Duration; -use itertools::Itertools; -use secret_redaction::*; #[cfg(feature = "local_fs")] use galaxy_editor::content::edit::resolve_asset_source_relative_to_directory; use galaxy_editor::{ @@ -151,6 +149,8 @@ use galaxyui::{ AppContext, Entity, EntityId, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakViewHandle, WindowId, }; +use itertools::Itertools; +use secret_redaction::*; use crate::ai::agent::{ AIAgentAction, AIAgentActionId, AIAgentActionType, AIAgentAttachment, AIAgentCitation, @@ -1688,13 +1688,20 @@ impl AIBlock { let status = self.model.status(ctx); let is_udi_enabled = InputSettings::as_ref(ctx).is_universal_developer_input_enabled(ctx); - log::info!("[bedrock-debug] on_output_status_update: status={}", match &status { - AIBlockOutputStatus::Pending => "Pending".to_string(), - AIBlockOutputStatus::PartiallyReceived { output } => format!("PartiallyReceived(messages={})", output.get().messages.len()), - AIBlockOutputStatus::Complete { output } => format!("Complete(messages={})", output.get().messages.len()), - AIBlockOutputStatus::Cancelled { .. } => "Cancelled".to_string(), - AIBlockOutputStatus::Failed { .. } => "Failed".to_string(), - }); + log::info!( + "[bedrock-debug] on_output_status_update: status={}", + match &status { + AIBlockOutputStatus::Pending => "Pending".to_string(), + AIBlockOutputStatus::PartiallyReceived { output } => format!( + "PartiallyReceived(messages={})", + output.get().messages.len() + ), + AIBlockOutputStatus::Complete { output } => + format!("Complete(messages={})", output.get().messages.len()), + AIBlockOutputStatus::Cancelled { .. } => "Cancelled".to_string(), + AIBlockOutputStatus::Failed { .. } => "Failed".to_string(), + } + ); match status { AIBlockOutputStatus::Pending => { diff --git a/app/src/ai/blocklist/block/cli.rs b/app/src/ai/blocklist/block/cli.rs index 9ff56d49..e9cf0866 100644 --- a/app/src/ai/blocklist/block/cli.rs +++ b/app/src/ai/blocklist/block/cli.rs @@ -1,9 +1,3 @@ -use parking_lot::{FairMutex, RwLock}; -use pathfinder_color::ColorU; -use settings::Setting as _; -use std::sync::Arc; -use std::time::Duration; -use std::{cmp::Ordering, rc::Rc}; use galaxy_core::features::FeatureFlag; use galaxy_core::report_error; use galaxy_core::ui::theme::color::internal_colors; @@ -16,11 +10,16 @@ use galaxyui::elements::{ use galaxyui::fonts::Weight; use galaxyui::platform::{Cursor, OperatingSystem}; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; +use parking_lot::{FairMutex, RwLock}; +use pathfinder_color::ColorU; +use settings::Setting as _; +use std::sync::Arc; +use std::time::Duration; +use std::{cmp::Ordering, rc::Rc}; use lazy_static::lazy_static; use pathfinder_geometry::vector::vec2f; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::{ @@ -41,6 +40,7 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::ai::agent::{AIAgentPtyWriteMode, CancellationReason}; use crate::ai::blocklist::block::view_impl::common::{ diff --git a/app/src/ai/blocklist/block/cli_controller.rs b/app/src/ai/blocklist/block/cli_controller.rs index a39ecbc0..94153042 100644 --- a/app/src/ai/blocklist/block/cli_controller.rs +++ b/app/src/ai/blocklist/block/cli_controller.rs @@ -1,11 +1,11 @@ use std::{collections::HashMap, sync::Arc}; use crate::server::telemetry::{CLISubagentControlState, TelemetryEvent}; +use galaxy_core::send_telemetry_from_ctx; +use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; use instant::Instant; use parking_lot::FairMutex; use serde::{Deserialize, Serialize}; -use galaxy_core::send_telemetry_from_ctx; -use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; use crate::ai::blocklist::context_model::block_context_from_terminal_model; use crate::{ diff --git a/app/src/ai/blocklist/block/model.rs b/app/src/ai/blocklist/block/model.rs index 7370d49c..6aa1793b 100644 --- a/app/src/ai/blocklist/block/model.rs +++ b/app/src/ai/blocklist/block/model.rs @@ -1,10 +1,10 @@ mod helper; mod model_impl; +use galaxy_core::features::FeatureFlag; pub use helper::AIBlockModelHelper; pub use model_impl::*; use session_sharing_protocol::common::ParticipantId; -use galaxy_core::features::FeatureFlag; use crate::ai::{ agent::{ diff --git a/app/src/ai/blocklist/block/model/model_impl.rs b/app/src/ai/blocklist/block/model/model_impl.rs index cdae43c4..62ad5898 100644 --- a/app/src/ai/blocklist/block/model/model_impl.rs +++ b/app/src/ai/blocklist/block/model/model_impl.rs @@ -2,9 +2,9 @@ use std::marker::PhantomData; use anyhow::{anyhow, Result}; use chrono::{Local, TimeDelta}; +use galaxyui::{AppContext, SingletonEntity, View, ViewContext}; use history_model::{BlocklistAIHistoryEvent, BlocklistAIHistoryModel}; use session_sharing_protocol::common::ParticipantId; -use galaxyui::{AppContext, SingletonEntity, View, ViewContext}; use crate::ai::{ agent::{ @@ -203,7 +203,10 @@ where let exchange_id = self.exchange_id; let conversation_id = self.conversation_id; let history_model = BlocklistAIHistoryModel::handle(ctx); - log::info!("[bedrock-debug] on_updated_output: subscribing for exchange_id={:?}", exchange_id); + log::info!( + "[bedrock-debug] on_updated_output: subscribing for exchange_id={:?}", + exchange_id + ); ctx.subscribe_to_model(&history_model, move |me, _, event, ctx| { let BlocklistAIHistoryEvent::UpdatedStreamingExchange { exchange_id: event_exchange_id, diff --git a/app/src/ai/blocklist/block/number_shortcut_buttons_tests.rs b/app/src/ai/blocklist/block/number_shortcut_buttons_tests.rs index 56aae29c..f24fd60c 100644 --- a/app/src/ai/blocklist/block/number_shortcut_buttons_tests.rs +++ b/app/src/ai/blocklist/block/number_shortcut_buttons_tests.rs @@ -1,5 +1,3 @@ -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use std::{cell::RefCell, rc::Rc}; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -10,6 +8,8 @@ use galaxyui::{ App, Entity, Event, Presenter, TypedActionView, View, ViewContext, ViewHandle, WindowId, WindowInvalidation, }; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use std::{cell::RefCell, rc::Rc}; use super::*; diff --git a/app/src/ai/blocklist/block/secret_redaction.rs b/app/src/ai/blocklist/block/secret_redaction.rs index 5245c851..82e9b51e 100644 --- a/app/src/ai/blocklist/block/secret_redaction.rs +++ b/app/src/ai/blocklist/block/secret_redaction.rs @@ -1,9 +1,9 @@ use std::collections::HashMap; -use itertools::Itertools; -use similar::DiffableStr; use galaxyui::elements::{MouseStateHandle, PartialClickableElement, SecretRange}; use galaxyui::platform::Cursor; +use itertools::Itertools; +use similar::DiffableStr; use crate::ai::agent::{AIAgentOutput, AIAgentTextSection, AgentOutputText}; use crate::terminal::model::secrets::{SecretLevel, REGEX_LEVEL_METADATA, SECRETS_REGEX}; diff --git a/app/src/ai/blocklist/block/secret_redaction_test.rs b/app/src/ai/blocklist/block/secret_redaction_test.rs index 1db65a3c..346cf3ee 100644 --- a/app/src/ai/blocklist/block/secret_redaction_test.rs +++ b/app/src/ai/blocklist/block/secret_redaction_test.rs @@ -1,7 +1,7 @@ -use regex::Regex; -use serial_test::serial; use galaxyui::elements::Text; use galaxyui::fonts::FamilyId; +use regex::Regex; +use serial_test::serial; use crate::terminal::model::secrets::{self, SecretLevel}; diff --git a/app/src/ai/blocklist/block/status_bar.rs b/app/src/ai/blocklist/block/status_bar.rs index f7106296..ad960315 100644 --- a/app/src/ai/blocklist/block/status_bar.rs +++ b/app/src/ai/blocklist/block/status_bar.rs @@ -67,9 +67,6 @@ use crate::{ util::bindings::keybinding_name_to_keystroke, BlocklistAIHistoryModel, }; -use instant::Instant; -use parking_lot::FairMutex; -use pathfinder_color::ColorU; use galaxy_core::{ features::FeatureFlag, ui::{appearance::Appearance, theme::Fill, Icon as CoreIcon}, @@ -84,6 +81,9 @@ use galaxyui::{ ViewHandle, }; use galaxyui::{r#async::Timer, TypedActionView}; +use instant::Instant; +use parking_lot::FairMutex; +use pathfinder_color::ColorU; pub fn init(app: &mut AppContext) { summarization_cancel_dialog::init(app); @@ -989,8 +989,8 @@ fn latest_model_used_before_exchange( fn render_agent_tip(tip: &AgentTip, app: &AppContext) -> Box { use crate::ai::agent_tips::AITip; - use markdown_parser::{FormattedTextFragment, FormattedTextLine}; use galaxyui::text_layout::ClipConfig; + use markdown_parser::{FormattedTextFragment, FormattedTextLine}; let appearance = Appearance::as_ref(app); let theme = appearance.theme(); diff --git a/app/src/ai/blocklist/block/view_impl.rs b/app/src/ai/blocklist/block/view_impl.rs index f8d257b8..713954f7 100644 --- a/app/src/ai/blocklist/block/view_impl.rs +++ b/app/src/ai/blocklist/block/view_impl.rs @@ -30,9 +30,6 @@ pub mod query; mod todos; use common::get_highlight_ranges_for_find_matches; -use pathfinder_color::ColorU; -use settings::Setting as _; -use std::collections::{HashMap, HashSet}; use galaxy_core::features::FeatureFlag; use galaxy_core::semantic_selection::SemanticSelection; use galaxyui::elements::{ @@ -45,6 +42,9 @@ use galaxyui::{ AppContext, Element, SingletonEntity, }; use galaxyui::{View, ViewContext}; +use pathfinder_color::ColorU; +use settings::Setting as _; +use std::collections::{HashMap, HashSet}; use crate::ai::agent::AIAgentCitation; use crate::ai::agent::AIAgentInput; @@ -82,7 +82,6 @@ use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon; use crate::util::link_detection::DetectedLinkType; use crate::workspace::WorkspaceAction; -use itertools::Itertools; use galaxy_core::ui::color::contrast::{ foreground_color_with_minimum_contrast, MinimumAllowedContrast, }; @@ -93,6 +92,7 @@ use galaxyui::fonts::Properties; use galaxyui::platform::Cursor; use galaxyui::text_layout::TextStyle; use galaxyui::ui_components::components::UiComponent; +use itertools::Itertools; /// Helper function to create gray strikethrough highlight for secrets fn create_secret_gray_highlight() -> Highlight { diff --git a/app/src/ai/blocklist/block/view_impl/common.rs b/app/src/ai/blocklist/block/view_impl/common.rs index 7da8fb7e..eb69e6b4 100644 --- a/app/src/ai/blocklist/block/view_impl/common.rs +++ b/app/src/ai/blocklist/block/view_impl/common.rs @@ -11,11 +11,6 @@ use std::path::Path; #[cfg(feature = "local_fs")] use std::path::PathBuf; -use itertools::Itertools; -use markdown_parser::{FormattedText, FormattedTextInline, TableAlignment}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use std::sync::Arc; use galaxy_core::{ features::FeatureFlag, ui::{appearance::Appearance, color::blend::Blend, theme::color::internal_colors}, @@ -43,6 +38,11 @@ use galaxyui::{ }, Action, AppContext, Element, EventContext, SingletonEntity, View, ViewHandle, }; +use itertools::Itertools; +use markdown_parser::{FormattedText, FormattedTextInline, TableAlignment}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use std::sync::Arc; use super::{add_highlights_to_rich_text, add_highlights_to_text, output::LinkActionConstructors}; use crate::ai::agent::MessageId; diff --git a/app/src/ai/blocklist/block/view_impl/common_tests.rs b/app/src/ai/blocklist/block/view_impl/common_tests.rs index faf24e77..d573f84d 100644 --- a/app/src/ai/blocklist/block/view_impl/common_tests.rs +++ b/app/src/ai/blocklist/block/view_impl/common_tests.rs @@ -22,8 +22,8 @@ use crate::{ features::FeatureFlag, search::slash_command_menu::static_commands::commands, }; -use ui_components::lightbox::{LightboxImage, LightboxImageSource}; use galaxyui::{elements::Empty, Element}; +use ui_components::lightbox::{LightboxImage, LightboxImageSource}; #[test] fn query_prefix_highlight_len_highlights_invoke_skill_inputs() { diff --git a/app/src/ai/blocklist/block/view_impl/orchestration.rs b/app/src/ai/blocklist/block/view_impl/orchestration.rs index 99a38af4..05b6ea9d 100644 --- a/app/src/ai/blocklist/block/view_impl/orchestration.rs +++ b/app/src/ai/blocklist/block/view_impl/orchestration.rs @@ -1,15 +1,15 @@ //! Rendering functions for orchestration-related output items (messaging & agent management). -use pathfinder_color::ColorU; use galaxyui::elements::{ ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex, Hoverable, MouseStateHandle, ParentElement, Radius, Text, }; use galaxyui::platform::Cursor; use galaxyui::{AppContext, Element, SingletonEntity}; +use pathfinder_color::ColorU; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxyui::elements::FormattedTextElement; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::ai::agent::conversation::{AIConversation, AIConversationId, ConversationStatus}; use crate::ai::agent::{ diff --git a/app/src/ai/blocklist/block/view_impl/output.rs b/app/src/ai/blocklist/block/view_impl/output.rs index 36ffbac1..ecaca55d 100644 --- a/app/src/ai/blocklist/block/view_impl/output.rs +++ b/app/src/ai/blocklist/block/view_impl/output.rs @@ -38,9 +38,6 @@ use ai::agent::action::{ RequestComputerUseRequest, SuggestPromptRequest, UploadArtifactRequest, UseComputerRequest, }; use ai::skills::SkillReference; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::ui::theme::color::internal_colors; #[allow(unused_imports)] use galaxy_util::path::{common_path, CleanPathResult}; @@ -49,6 +46,9 @@ use galaxyui::elements::{ ChildAnchor, NewScrollable, OffsetPositioning, ParentAnchor, ParentOffsetBounds, Stack, }; use galaxyui::EntityId; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use ui_components::{button, Component as _, Options as _}; use crate::ai::blocklist::block::{ CollapsibleElementState, CollapsibleExpansionState, FinishReason, ImportedCommentGroup, @@ -108,9 +108,9 @@ use crate::{ workspace::WorkspaceAction, FeatureFlag, }; +use galaxy_core::channel::ChannelState; use itertools::Itertools; use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use galaxy_core::channel::ChannelState; use super::common::{ format_elapsed_seconds, render_debug_footer, render_failed_output, render_informational_footer, @@ -220,17 +220,29 @@ pub(super) fn render(props: Props, app: &AppContext) -> Box { | AIBlockOutputStatus::Complete { .. } | AIBlockOutputStatus::Cancelled { .. } | AIBlockOutputStatus::Failed { .. } => { - if let Some(output) = status.output_to_render() { + if let Some(output) = status.output_to_render() { let output = output.get(); - let total_text_len: usize = output.messages.iter().map(|m| match &m.message { - AIAgentOutputMessageType::Text(t) => t.sections.iter().map(|s| match s { - AIAgentTextSection::PlainText { text } => text.text().len(), - AIAgentTextSection::Code { code, .. } => code.len(), + let total_text_len: usize = output + .messages + .iter() + .map(|m| match &m.message { + AIAgentOutputMessageType::Text(t) => t + .sections + .iter() + .map(|s| match s { + AIAgentTextSection::PlainText { text } => text.text().len(), + AIAgentTextSection::Code { code, .. } => code.len(), + _ => 0, + }) + .sum::(), _ => 0, - }).sum::(), - _ => 0, - }).sum(); - log::info!("[bedrock-debug] render output: messages={}, total_text_len={}", output.messages.len(), total_text_len); + }) + .sum(); + log::info!( + "[bedrock-debug] render output: messages={}, total_text_len={}", + output.messages.len(), + total_text_len + ); let is_complete = matches!(status, AIBlockOutputStatus::Complete { .. }); let is_output_for_static_prompt_suggestions = props.model.contains_static_prompt_suggestion_input(app); diff --git a/app/src/ai/blocklist/block_tests.rs b/app/src/ai/blocklist/block_tests.rs index 32e35602..6b8064ce 100644 --- a/app/src/ai/blocklist/block_tests.rs +++ b/app/src/ai/blocklist/block_tests.rs @@ -1,8 +1,8 @@ use super::{CollapsibleElementState, CollapsibleExpansionState}; use crate::settings::AISettings; use crate::test_util::settings::initialize_settings_for_tests; -use settings::Setting; use galaxyui::{App, SingletonEntity}; +use settings::Setting; #[test] fn reasoning_auto_collapses_when_user_has_not_manually_toggled() { diff --git a/app/src/ai/blocklist/code_block.rs b/app/src/ai/blocklist/code_block.rs index cf70790e..9171b248 100644 --- a/app/src/ai/blocklist/code_block.rs +++ b/app/src/ai/blocklist/code_block.rs @@ -5,7 +5,6 @@ use crate::ai::blocklist::inline_action::inline_action_icons::icon_size; use crate::code::editor_management::CodeSource; use crate::search::files::icon::icon_from_file_path; use crate::search::ItemHighlightState; -use std::iter; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ChildView, HighlightedRange, MouseStateHandle}; use galaxyui::{ @@ -17,6 +16,7 @@ use galaxyui::{ AppContext, Element, SingletonEntity, }; use galaxyui::{EventContext, ViewHandle}; +use std::iter; use crate::code::editor::view::CodeEditorView; use crate::ui_components::blended_colors; diff --git a/app/src/ai/blocklist/context_model.rs b/app/src/ai/blocklist/context_model.rs index b76092b7..9097f707 100644 --- a/app/src/ai/blocklist/context_model.rs +++ b/app/src/ai/blocklist/context_model.rs @@ -15,9 +15,9 @@ use crate::ai::{ use super::agent_view::{AgentViewController, AgentViewEntryOrigin, EnterAgentViewError}; use ai::project_context::model::ProjectContextModel; -use parking_lot::FairMutex; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use parking_lot::FairMutex; use crate::ai::agent::conversation::{AIConversationAutoexecuteMode, ConversationStatus}; use crate::{ diff --git a/app/src/ai/blocklist/controller.rs b/app/src/ai/blocklist/controller.rs index 02a4a57e..4b20cf2e 100644 --- a/app/src/ai/blocklist/controller.rs +++ b/app/src/ai/blocklist/controller.rs @@ -67,6 +67,8 @@ use crate::workspaces::user_workspaces::UserWorkspaces; use crate::{send_telemetry_from_ctx, server::telemetry::TelemetryEvent}; use anyhow::anyhow; use chrono::{DateTime, Local}; +use galaxy_core::assertions::safe_assert; +use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use itertools::Itertools; use parking_lot::FairMutex; use pending_response_streams::PendingResponseStreams; @@ -74,9 +76,7 @@ use session_sharing_protocol::common::ParticipantId; use std::collections::{HashMap, HashSet}; use std::sync::Arc; use std::time::Duration; -use galaxy_core::assertions::safe_assert; use warp_multi_agent_api::{message, Task, ToolType}; -use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use super::orchestration_events::{OrchestrationEventService, OrchestrationEventServiceEvent}; use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; @@ -2306,9 +2306,14 @@ impl BlocklistAIController { // After the stream finishes, persist the full message // history (input + assistant response) from the Arc back // into the conversation for the next request cycle. - let messages_sent_arc = response_stream.as_ref(ctx).bedrock_messages_sent().clone(); + let messages_sent_arc = + response_stream.as_ref(ctx).bedrock_messages_sent().clone(); let new_history = messages_sent_arc.lock().ok().and_then(|sent| { - if sent.is_empty() { None } else { Some(sent.clone()) } + if sent.is_empty() { + None + } else { + Some(sent.clone()) + } }); if let Some(new_history) = new_history { let history_model = BlocklistAIHistoryModel::handle(ctx); diff --git a/app/src/ai/blocklist/controller/input_context.rs b/app/src/ai/blocklist/controller/input_context.rs index 0532b136..fdccb794 100644 --- a/app/src/ai/blocklist/controller/input_context.rs +++ b/app/src/ai/blocklist/controller/input_context.rs @@ -2,10 +2,10 @@ use std::{collections::HashMap, path::Path, sync::Arc}; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; use chrono::Local; -use lazy_static::lazy_static; -use regex::Regex; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, SingletonEntity}; +use lazy_static::lazy_static; +use regex::Regex; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/controller/pending_response_streams.rs b/app/src/ai/blocklist/controller/pending_response_streams.rs index d1413e73..6b88c1c6 100644 --- a/app/src/ai/blocklist/controller/pending_response_streams.rs +++ b/app/src/ai/blocklist/controller/pending_response_streams.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use itertools::Itertools; use galaxyui::{AppContext, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; use crate::{ ai::agent::{conversation::AIConversationId, CancellationReason}, diff --git a/app/src/ai/blocklist/controller/response_stream.rs b/app/src/ai/blocklist/controller/response_stream.rs index 31d098bd..27a55a58 100644 --- a/app/src/ai/blocklist/controller/response_stream.rs +++ b/app/src/ai/blocklist/controller/response_stream.rs @@ -3,9 +3,9 @@ use std::{cell::RefCell, rc::Rc}; use anyhow::anyhow; use chrono::{DateTime, Local, TimeDelta}; use futures::channel::oneshot; +use galaxyui::{Entity, ModelContext, SingletonEntity}; use uuid::Uuid; use warp_multi_agent_api::response_event; -use galaxyui::{Entity, ModelContext, SingletonEntity}; use crate::{ ai::{ @@ -151,7 +151,10 @@ impl ResponseStream { &self.id } - pub fn bedrock_messages_sent(&self) -> &std::sync::Arc>> { + pub fn bedrock_messages_sent( + &self, + ) -> &std::sync::Arc>> + { &self.params.bedrock_messages_sent } @@ -255,7 +258,9 @@ impl ResponseStream { ctx: &mut ModelContext, ) { if self.current_request_id.is_none_or(|id| id != request_id) { - log::info!("[bedrock-debug] handle_response_stream_event: stale request_id, dropping event"); + log::info!( + "[bedrock-debug] handle_response_stream_event: stale request_id, dropping event" + ); return; } self.time_to_latest_event = Local::now().signed_duration_since(self.start_time); @@ -265,11 +270,20 @@ impl ResponseStream { let event_type_name = match &response_event.r#type { Some(warp_multi_agent_api::response_event::Type::Init(_)) => "Init", Some(warp_multi_agent_api::response_event::Type::ClientActions(a)) => { - log::info!("[bedrock-debug] ResponseStream received ClientActions with {} actions", a.actions.len()); + log::info!( + "[bedrock-debug] ResponseStream received ClientActions with {} actions", + a.actions.len() + ); "ClientActions" } Some(warp_multi_agent_api::response_event::Type::Finished(f)) => { - log::info!("[bedrock-debug] ResponseStream received Finished (reason={:?})", f.reason.as_ref().map(|r| format!("{r:?}")).unwrap_or("None".into())); + log::info!( + "[bedrock-debug] ResponseStream received Finished (reason={:?})", + f.reason + .as_ref() + .map(|r| format!("{r:?}")) + .unwrap_or("None".into()) + ); "Finished" } None => "None", diff --git a/app/src/ai/blocklist/controller/shared_session.rs b/app/src/ai/blocklist/controller/shared_session.rs index 03a2b6da..9f7e1692 100644 --- a/app/src/ai/blocklist/controller/shared_session.rs +++ b/app/src/ai/blocklist/controller/shared_session.rs @@ -3,9 +3,9 @@ // and defines state used only for session sharing. use std::collections::HashMap; +use galaxy_core::features::FeatureFlag; use itertools::Itertools; use session_sharing_protocol::common::{AgentAttachment, ParticipantId, ServerConversationToken}; -use galaxy_core::features::FeatureFlag; use warp_multi_agent_api::response_event::{stream_finished, ClientActions}; use warp_multi_agent_api::{client_action::Action, message::Message}; diff --git a/app/src/ai/blocklist/history_model.rs b/app/src/ai/blocklist/history_model.rs index f99664ac..7063ecfa 100644 --- a/app/src/ai/blocklist/history_model.rs +++ b/app/src/ai/blocklist/history_model.rs @@ -3,16 +3,16 @@ use std::collections::{HashMap, HashSet}; use anyhow::anyhow; use chrono::{DateTime, Local, NaiveDateTime}; +use galaxy_core::features::FeatureFlag; +use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; use itertools::Itertools as _; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; use warp_multi_agent_api::response_event::stream_finished::ConversationUsageMetadata; use warp_multi_agent_api::{ client_action::{Action, StartNewConversation}, response_event::stream_finished::TokenUsage, }; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; #[cfg(feature = "local_fs")] use std::sync::{Arc, Mutex}; diff --git a/app/src/ai/blocklist/history_model/conversation_loader.rs b/app/src/ai/blocklist/history_model/conversation_loader.rs index 8827f6aa..156efbcd 100644 --- a/app/src/ai/blocklist/history_model/conversation_loader.rs +++ b/app/src/ai/blocklist/history_model/conversation_loader.rs @@ -6,10 +6,10 @@ use std::future::Future; use std::sync::Arc; use futures::FutureExt; -use itertools::Itertools as _; -use persistence::model::AgentConversationRecord; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools as _; +use persistence::model::AgentConversationRecord; use crate::ai::agent::api::convert_conversation::{ convert_conversation_data_to_ai_conversation, RestorationMode, diff --git a/app/src/ai/blocklist/history_model_test.rs b/app/src/ai/blocklist/history_model_test.rs index faaceb1e..003a4015 100644 --- a/app/src/ai/blocklist/history_model_test.rs +++ b/app/src/ai/blocklist/history_model_test.rs @@ -2,8 +2,8 @@ use std::collections::{HashMap, HashSet}; use std::time::Duration; use chrono::{DateTime, Local, Utc}; -use itertools::Itertools; use galaxyui::{App, EntityId}; +use itertools::Itertools; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/inline_action/ask_user_question_view.rs b/app/src/ai/blocklist/inline_action/ask_user_question_view.rs index 9952358f..5dfc61e9 100644 --- a/app/src/ai/blocklist/inline_action/ask_user_question_view.rs +++ b/app/src/ai/blocklist/inline_action/ask_user_question_view.rs @@ -4,7 +4,6 @@ use ai::agent::{ action::{AskUserQuestionItem, AskUserQuestionOption, AskUserQuestionType}, action_result::{AskUserQuestionAnswerItem, AskUserQuestionResult}, }; -use itertools::Itertools; use galaxy_core::ui::theme::{color::internal_colors, WarpTheme}; use galaxyui::{ elements::{ @@ -19,6 +18,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/inline_action/aws_bedrock_credentials_error.rs b/app/src/ai/blocklist/inline_action/aws_bedrock_credentials_error.rs index 109c643c..f0341fce 100644 --- a/app/src/ai/blocklist/inline_action/aws_bedrock_credentials_error.rs +++ b/app/src/ai/blocklist/inline_action/aws_bedrock_credentials_error.rs @@ -1,4 +1,3 @@ -use settings::Setting as _; use galaxy_core::ui::Icon; use galaxyui::elements::{ ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, MainAxisAlignment, @@ -10,6 +9,7 @@ use galaxyui::{ AppContext, Element, Entity, EventContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use settings::Setting as _; use crate::report_if_error; use crate::Appearance; diff --git a/app/src/ai/blocklist/inline_action/code_diff_view.rs b/app/src/ai/blocklist/inline_action/code_diff_view.rs index c786d59f..ee88e393 100644 --- a/app/src/ai/blocklist/inline_action/code_diff_view.rs +++ b/app/src/ai/blocklist/inline_action/code_diff_view.rs @@ -1,17 +1,6 @@ use crate::ai::blocklist::view_util::render_provider_icon_button; use crate::ai::skills::{SkillOpenOrigin, SkillTelemetryEvent}; use anyhow::Result; -use lazy_static::lazy_static; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_geometry::vector::vec2f; -use rand::{distributions::Alphanumeric, thread_rng, Rng as _}; -use std::{ - collections::HashMap, - path::{Path, PathBuf}, - rc::Rc, - sync::Arc, - time::Duration, -}; use galaxy_core::{ features::FeatureFlag, platform::SessionPlatform, @@ -49,6 +38,17 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use lazy_static::lazy_static; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_geometry::vector::vec2f; +use rand::{distributions::Alphanumeric, thread_rng, Rng as _}; +use std::{ + collections::HashMap, + path::{Path, PathBuf}, + rc::Rc, + sync::Arc, + time::Duration, +}; use super::malformed_line_heuristics::has_malformed_terminal_correction_signal; use crate::view_components::action_button::{ActionButton, NakedTheme}; diff --git a/app/src/ai/blocklist/inline_action/inline_action_header.rs b/app/src/ai/blocklist/inline_action/inline_action_header.rs index 0b7a808b..dbe6c1f9 100644 --- a/app/src/ai/blocklist/inline_action/inline_action_header.rs +++ b/app/src/ai/blocklist/inline_action/inline_action_header.rs @@ -1,6 +1,3 @@ -use pathfinder_color::ColorU; -use std::borrow::Cow; -use std::rc::Rc; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors}; use galaxyui::{ elements::{ @@ -13,6 +10,9 @@ use galaxyui::{ platform::Cursor, AppContext, Element, EventContext, SingletonEntity, }; +use pathfinder_color::ColorU; +use std::borrow::Cow; +use std::rc::Rc; use crate::{ ai::blocklist::inline_action::inline_action_icons::icon_size, diff --git a/app/src/ai/blocklist/inline_action/requested_action.rs b/app/src/ai/blocklist/inline_action/requested_action.rs index 69d9117a..a964f3a0 100644 --- a/app/src/ai/blocklist/inline_action/requested_action.rs +++ b/app/src/ai/blocklist/inline_action/requested_action.rs @@ -9,13 +9,6 @@ //! into [`View`] components as well. If that's ever deemed necessary, see [`RequestedCommandView`] //! for an example on how that transformation could be made. -use lazy_static::lazy_static; -use markdown_parser::FormattedText; -use markdown_parser::FormattedTextFragment; -use markdown_parser::FormattedTextLine; -use pathfinder_color::ColorU; -use std::borrow::Cow; -use std::rc::Rc; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors::neutral_2; use galaxyui::elements::Align; @@ -33,6 +26,13 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, EventContext, SingletonEntity, }; +use lazy_static::lazy_static; +use markdown_parser::FormattedText; +use markdown_parser::FormattedTextFragment; +use markdown_parser::FormattedTextLine; +use pathfinder_color::ColorU; +use std::borrow::Cow; +use std::rc::Rc; use super::inline_action_header::HeaderConfig; use crate::ai::blocklist::block::view_impl::WithContentItemSpacing; diff --git a/app/src/ai/blocklist/inline_action/requested_command.rs b/app/src/ai/blocklist/inline_action/requested_command.rs index b5a68489..56163316 100644 --- a/app/src/ai/blocklist/inline_action/requested_command.rs +++ b/app/src/ai/blocklist/inline_action/requested_command.rs @@ -1,12 +1,3 @@ -use lazy_static::lazy_static; -use parking_lot::FairMutex; -use pathfinder_geometry::vector::vec2f; -use settings::Setting as _; -use std::borrow::Cow; -use std::cmp::{Ordering, PartialEq}; -use std::collections::HashMap; -use std::rc::Rc; -use std::sync::Arc; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::Icon; use galaxy_editor::render::element::VerticalExpansionBehavior; @@ -22,6 +13,15 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, UpdateView, View, ViewContext, ViewHandle, }; +use lazy_static::lazy_static; +use parking_lot::FairMutex; +use pathfinder_geometry::vector::vec2f; +use settings::Setting as _; +use std::borrow::Cow; +use std::cmp::{Ordering, PartialEq}; +use std::collections::HashMap; +use std::rc::Rc; +use std::sync::Arc; use crate::ai::agent::{AIAgentActionResult, AIAgentActionType}; use galaxyui::{EntityId, EventContext}; diff --git a/app/src/ai/blocklist/inline_action/requested_script.rs b/app/src/ai/blocklist/inline_action/requested_script.rs index 5fe74dab..5864ce93 100644 --- a/app/src/ai/blocklist/inline_action/requested_script.rs +++ b/app/src/ai/blocklist/inline_action/requested_script.rs @@ -1,8 +1,6 @@ //! This module is similar to `requested_actions.rs` but specifically for scripts instead of commands. //! Eventually, we'll probably want to refactor the functions here to lean on Views instead. -use pathfinder_geometry::vector::Vector2F; -use std::rc::Rc; use galaxy_core::ui::appearance::Appearance; use galaxyui::elements::{ Align, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable, @@ -16,6 +14,8 @@ use galaxyui::ui_components::toggle_menu::{ ToggleMenuCallback, ToggleMenuItem, ToggleMenuStateHandle, }; use galaxyui::{AppContext, Element, EventContext, SingletonEntity}; +use pathfinder_geometry::vector::Vector2F; +use std::rc::Rc; use super::inline_action_header::{ INLINE_ACTION_HEADER_VERTICAL_PADDING, INLINE_ACTION_HORIZONTAL_PADDING, diff --git a/app/src/ai/blocklist/inline_action/suggested_unit_tests.rs b/app/src/ai/blocklist/inline_action/suggested_unit_tests.rs index a26ec512..c4a27aa4 100644 --- a/app/src/ai/blocklist/inline_action/suggested_unit_tests.rs +++ b/app/src/ai/blocklist/inline_action/suggested_unit_tests.rs @@ -1,7 +1,5 @@ use std::sync::Arc; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use rand::{distributions::Alphanumeric, thread_rng, Rng as _}; use galaxy_core::{settings::ToggleableSetting, ui::appearance::Appearance}; use galaxyui::{ elements::{ @@ -13,6 +11,8 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use rand::{distributions::Alphanumeric, thread_rng, Rng as _}; use crate::{ ai::{ diff --git a/app/src/ai/blocklist/input_model.rs b/app/src/ai/blocklist/input_model.rs index 95aa0fd2..6fa2423f 100644 --- a/app/src/ai/blocklist/input_model.rs +++ b/app/src/ai/blocklist/input_model.rs @@ -8,14 +8,14 @@ use std::sync::Arc; use futures::stream::AbortHandle; +use galaxy_core::features::FeatureFlag; +use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; use input_classifier::util::{is_agent_follow_up_input, is_one_off_natural_language_word}; use instant::Instant; use parking_lot::FairMutex; use serde::{Deserialize, Serialize}; use session_sharing_protocol::common::{InputMode, InputType as ProtocolInputType}; use settings::Setting as _; -use galaxy_core::features::FeatureFlag; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; pub use input_classifier::InputType; diff --git a/app/src/ai/blocklist/orchestration_event_streamer.rs b/app/src/ai/blocklist/orchestration_event_streamer.rs index 86505961..14b78b8a 100644 --- a/app/src/ai/blocklist/orchestration_event_streamer.rs +++ b/app/src/ai/blocklist/orchestration_event_streamer.rs @@ -13,14 +13,14 @@ use crate::server::server_api::{ServerApi, ServerApiProvider}; use anyhow::anyhow; use async_trait::async_trait; use futures::channel::mpsc; +use galaxy_core::features::FeatureFlag; +use galaxyui::r#async::Timer; +use galaxyui::{Entity, ModelContext, SingletonEntity}; use std::collections::{HashMap, HashSet}; use std::sync::Arc; use std::time::Duration; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; use warp_multi_agent_api as api; -use galaxyui::r#async::Timer; -use galaxyui::{Entity, ModelContext, SingletonEntity}; /// Backoff schedule (seconds) reused for the post-restore /// `get_ambient_agent_task` retry: 1s, 2s, 5s, then 10s max. diff --git a/app/src/ai/blocklist/orchestration_event_streamer_tests.rs b/app/src/ai/blocklist/orchestration_event_streamer_tests.rs index 92426420..20d406c8 100644 --- a/app/src/ai/blocklist/orchestration_event_streamer_tests.rs +++ b/app/src/ai/blocklist/orchestration_event_streamer_tests.rs @@ -195,8 +195,8 @@ fn finish_restore_fetch_uses_server_cursor_when_sqlite_is_absent() { use crate::ai::agent::conversation::AIConversation; use crate::server::server_api::ai::MockAIClient; use crate::server::server_api::ServerApiProvider; - use std::sync::Arc; use galaxyui::App; + use std::sync::Arc; App::test((), |mut app| async move { let _v2_guard = FeatureFlag::OrchestrationV2.override_enabled(true); @@ -251,8 +251,8 @@ fn restored_inprogress_parent_defers_delivery_until_success() { use crate::ai::agent::conversation::{AIConversation, AIConversationId, ConversationStatus}; use crate::server::server_api::ai::MockAIClient; use crate::server::server_api::ServerApiProvider; - use std::sync::Arc; use galaxyui::App; + use std::sync::Arc; App::test((), |mut app| async move { let _v2_guard = FeatureFlag::OrchestrationV2.override_enabled(true); @@ -339,8 +339,8 @@ fn handle_event_batch_persists_max_seq_to_history_model() { use crate::server::server_api::ServerApiProvider; use crate::test_util::settings::initialize_settings_for_tests; use crate::{GlobalResourceHandles, GlobalResourceHandlesProvider}; - use std::sync::Arc; use galaxyui::App; + use std::sync::Arc; App::test((), |mut app| async move { let _v2_guard = FeatureFlag::OrchestrationV2.override_enabled(true); @@ -436,8 +436,8 @@ fn finish_restore_fetch_no_ops_when_conversation_deleted_mid_flight() { use crate::ai::agent::conversation::AIConversation; use crate::server::server_api::ai::MockAIClient; use crate::server::server_api::ServerApiProvider; - use std::sync::Arc; use galaxyui::App; + use std::sync::Arc; App::test((), |mut app| async move { let _v2_guard = FeatureFlag::OrchestrationV2.override_enabled(true); @@ -508,8 +508,8 @@ fn finish_restore_fetch_reconnects_sse_when_children_added_to_open_connection() use crate::ai::agent::conversation::{AIConversation, ConversationStatus}; use crate::server::server_api::ai::MockAIClient; use crate::server::server_api::ServerApiProvider; - use std::sync::Arc; use galaxyui::App; + use std::sync::Arc; App::test((), |mut app| async move { let _v2_guard = FeatureFlag::OrchestrationV2.override_enabled(true); diff --git a/app/src/ai/blocklist/orchestration_events.rs b/app/src/ai/blocklist/orchestration_events.rs index 1503ce93..8c44ec4f 100644 --- a/app/src/ai/blocklist/orchestration_events.rs +++ b/app/src/ai/blocklist/orchestration_events.rs @@ -10,12 +10,12 @@ use crate::ai::agent::{ AIAgentExchangeId, AIAgentInput, AIAgentOutputMessageType, LifecycleEventType, ReceivedMessageInput, }; -use std::collections::{HashMap, HashSet}; -use uuid::Uuid; use galaxy_core::features::FeatureFlag; use galaxy_core::send_telemetry_from_ctx; -use warp_multi_agent_api as api; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use std::collections::{HashMap, HashSet}; +use uuid::Uuid; +use warp_multi_agent_api as api; const MAX_RETRY_ATTEMPTS: i32 = 3; const MAX_PENDING_LIFECYCLE_EVENTS_PER_TARGET: usize = 200; diff --git a/app/src/ai/blocklist/passive_suggestions/legacy.rs b/app/src/ai/blocklist/passive_suggestions/legacy.rs index a9987a89..b967ce2f 100644 --- a/app/src/ai/blocklist/passive_suggestions/legacy.rs +++ b/app/src/ai/blocklist/passive_suggestions/legacy.rs @@ -32,11 +32,11 @@ use crate::terminal::model_events::{ModelEvent, ModelEventDispatcher}; use crate::terminal::view::{AgentModePromptSuggestion, PromptSuggestion}; use crate::workspaces::user_workspaces::UserWorkspaces; use chrono::Utc; -use parking_lot::FairMutex; -use serde_json::json; use galaxy_core::features::FeatureFlag; use galaxyui::r#async::{FutureExt as AsyncFutureExt, SpawnedFutureHandle, Timer}; use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use parking_lot::FairMutex; +use serde_json::json; const NUM_TOP_BLOCK_LINES: usize = 100; const NUM_BOTTOM_BLOCK_LINES: usize = 200; diff --git a/app/src/ai/blocklist/passive_suggestions/maa.rs b/app/src/ai/blocklist/passive_suggestions/maa.rs index 239a1de0..c92ea4cc 100644 --- a/app/src/ai/blocklist/passive_suggestions/maa.rs +++ b/app/src/ai/blocklist/passive_suggestions/maa.rs @@ -28,10 +28,10 @@ use crate::workspaces::user_workspaces::UserWorkspaces; use ai::agent::action::{AIAgentActionType, FileEdit}; use ai::diff_validation::ParsedDiff; use chrono::{DateTime, Utc}; -use parking_lot::FairMutex; use galaxy_core::features::FeatureFlag; use galaxyui::r#async::SpawnedFutureHandle; use galaxyui::{Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use parking_lot::FairMutex; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/app/src/ai/blocklist/permissions.rs b/app/src/ai/blocklist/permissions.rs index e1ff581a..27d97765 100644 --- a/app/src/ai/blocklist/permissions.rs +++ b/app/src/ai/blocklist/permissions.rs @@ -22,12 +22,12 @@ use crate::ai::mcp::mcp_provider_from_file_path; use crate::ai::mcp::TemplatableMCPServerManager; use anyhow::Result; -use serde::{Deserialize, Serialize}; use galaxy_completer::parsers::simple::decompose_command; use galaxy_core::user_preferences::GetUserPreferences; use galaxy_core::{features::FeatureFlag, settings::Setting}; use galaxy_util::path::EscapeChar; use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; use super::BlocklistAIHistoryModel; diff --git a/app/src/ai/blocklist/prompt/plan_and_todo_list.rs b/app/src/ai/blocklist/prompt/plan_and_todo_list.rs index 646dd714..86e33242 100644 --- a/app/src/ai/blocklist/prompt/plan_and_todo_list.rs +++ b/app/src/ai/blocklist/prompt/plan_and_todo_list.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors, Icon}; use galaxyui::{ elements::{ @@ -16,6 +15,7 @@ use galaxyui::{ elements::{ParentElement, ParentOffsetBounds}, ui_components::components::UiComponent, }; +use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; diff --git a/app/src/ai/blocklist/prompt/prompt_alert.rs b/app/src/ai/blocklist/prompt/prompt_alert.rs index 4b6056fc..cda1b7ec 100644 --- a/app/src/ai/blocklist/prompt/prompt_alert.rs +++ b/app/src/ai/blocklist/prompt/prompt_alert.rs @@ -1,4 +1,3 @@ -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -7,6 +6,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::{ ai::{blocklist::error_color, AIRequestUsageModel}, diff --git a/app/src/ai/blocklist/suggested_agent_mode_workflow_modal.rs b/app/src/ai/blocklist/suggested_agent_mode_workflow_modal.rs index 6af25611..a1acc10a 100644 --- a/app/src/ai/blocklist/suggested_agent_mode_workflow_modal.rs +++ b/app/src/ai/blocklist/suggested_agent_mode_workflow_modal.rs @@ -11,8 +11,6 @@ use crate::{ workspaces::user_workspaces::UserWorkspaces, TelemetryEvent, }; -use pathfinder_geometry::vector::vec2f; -use std::{collections::HashMap, default::Default, sync::Arc}; use galaxy_core::{send_telemetry_from_ctx, ui::appearance::Appearance}; use galaxyui::{ elements::{ @@ -25,6 +23,8 @@ use galaxyui::{ ui_components::components::{Coords, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; +use std::{collections::HashMap, default::Default, sync::Arc}; const SUGGESTED_PROMPT_MODAL_HEADER: &str = "Prompt"; diff --git a/app/src/ai/blocklist/suggested_rule_modal.rs b/app/src/ai/blocklist/suggested_rule_modal.rs index acbccf64..91ac3745 100644 --- a/app/src/ai/blocklist/suggested_rule_modal.rs +++ b/app/src/ai/blocklist/suggested_rule_modal.rs @@ -23,7 +23,6 @@ use crate::{ server::cloud_objects::update_manager::UpdateManager, ui_components::blended_colors, }; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::{ @@ -44,6 +43,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; const HEADER_TEXT: &str = "Suggested rule"; const MAX_EDITOR_HEIGHT: f32 = 240.; diff --git a/app/src/ai/blocklist/suggestion_chip_view.rs b/app/src/ai/blocklist/suggestion_chip_view.rs index bcf4d4e2..1ae1d22d 100644 --- a/app/src/ai/blocklist/suggestion_chip_view.rs +++ b/app/src/ai/blocklist/suggestion_chip_view.rs @@ -14,7 +14,6 @@ use crate::{ server::{cloud_objects::update_manager::UpdateManager, ids::ClientId}, ui_components::{blended_colors, icons::Icon}, }; -use pathfinder_color::ColorU; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; @@ -22,6 +21,7 @@ use galaxyui::{ elements::{Align, ChildView, Container, ParentElement, SavePosition, Stack}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use super::suggested_agent_mode_workflow_modal::SuggestedAgentModeWorkflowAndId; use super::suggested_rule_modal::SuggestedRuleAndId; diff --git a/app/src/ai/blocklist/summarization_cancel_dialog.rs b/app/src/ai/blocklist/summarization_cancel_dialog.rs index 185a5bae..2c8beda2 100644 --- a/app/src/ai/blocklist/summarization_cancel_dialog.rs +++ b/app/src/ai/blocklist/summarization_cancel_dialog.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{Align, Container, CrossAxisAlignment, Dismiss, Flex, ParentElement, Stack}, @@ -10,6 +9,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; use crate::ui_components::{ diff --git a/app/src/ai/blocklist/task_status_sync_model.rs b/app/src/ai/blocklist/task_status_sync_model.rs index 8200fbe0..6ca6a906 100644 --- a/app/src/ai/blocklist/task_status_sync_model.rs +++ b/app/src/ai/blocklist/task_status_sync_model.rs @@ -7,10 +7,10 @@ use crate::server::server_api::ServerApiProvider; use crate::terminal::cli_agent_sessions::{ CLIAgentSessionStatus, CLIAgentSessionsModel, CLIAgentSessionsModelEvent, }; -use std::collections::HashMap; -use std::sync::Arc; use galaxy_graphql::ai::{AgentTaskState, PlatformErrorCode}; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity}; +use std::collections::HashMap; +use std::sync::Arc; /// Listens for conversation status changes and CLI agent session status /// changes, then reports the corresponding task state to the server via diff --git a/app/src/ai/blocklist/telemetry.rs b/app/src/ai/blocklist/telemetry.rs index c912d46e..eb5000a7 100644 --- a/app/src/ai/blocklist/telemetry.rs +++ b/app/src/ai/blocklist/telemetry.rs @@ -1,8 +1,8 @@ use crate::ai::agent::conversation::AIConversationId; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; #[derive(Debug, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] diff --git a/app/src/ai/blocklist/usage/conversation_usage_view.rs b/app/src/ai/blocklist/usage/conversation_usage_view.rs index da50f7a7..ce17a689 100644 --- a/app/src/ai/blocklist/usage/conversation_usage_view.rs +++ b/app/src/ai/blocklist/usage/conversation_usage_view.rs @@ -6,8 +6,6 @@ use crate::persistence::model::{ PRIMARY_AGENT_CATEGORY, }; use crate::ui_components::blended_colors; -use std::cmp::Ordering; -use std::collections::HashMap; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::Icon; use galaxyui::elements::ConstrainedBox; @@ -18,6 +16,8 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use std::cmp::Ordering; +use std::collections::HashMap; #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum DisplayMode { diff --git a/app/src/ai/blocklist/view_util.rs b/app/src/ai/blocklist/view_util.rs index 74d2a12e..373df3c6 100644 --- a/app/src/ai/blocklist/view_util.rs +++ b/app/src/ai/blocklist/view_util.rs @@ -1,8 +1,6 @@ //! This module contains common utilities for rendering Blocklist AI UI. use std::sync::LazyLock; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -17,6 +15,8 @@ use galaxyui::{ }, AppContext, Element, EntityId, EventContext, SingletonEntity, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use crate::{ themes::theme::{AnsiColorIdentifier, Fill, WarpTheme}, diff --git a/app/src/ai/cloud_environments/mod.rs b/app/src/ai/cloud_environments/mod.rs index de74be9b..b364980b 100644 --- a/app/src/ai/cloud_environments/mod.rs +++ b/app/src/ai/cloud_environments/mod.rs @@ -1,6 +1,6 @@ +use galaxy_server_client::cloud_object::Owner; use serde::{Deserialize, Serialize}; use std::fmt; -use galaxy_server_client::cloud_object::Owner; use crate::{ auth::AuthStateProvider, diff --git a/app/src/ai/control_code_parser.rs b/app/src/ai/control_code_parser.rs index 6294c5ad..a2a29444 100644 --- a/app/src/ai/control_code_parser.rs +++ b/app/src/ai/control_code_parser.rs @@ -1,6 +1,6 @@ +use galaxyui::keymap::Keystroke; use regex::Regex; use std::ops::Range; -use galaxyui::keymap::Keystroke; use crate::terminal::model::escape_sequences::C0; diff --git a/app/src/ai/conversation_details_panel.rs b/app/src/ai/conversation_details_panel.rs index 4729dc49..35126614 100644 --- a/app/src/ai/conversation_details_panel.rs +++ b/app/src/ai/conversation_details_panel.rs @@ -3,9 +3,6 @@ use std::{collections::HashMap, str::FromStr, sync::Arc}; use chrono::{DateTime, Duration, Local}; -use instant::Instant; -use parking_lot::RwLock; -use pathfinder_color::ColorU; use galaxy_cli::agent::Harness; use galaxy_cli::skill::SkillSpec; use galaxy_core::channel::ChannelState; @@ -26,6 +23,9 @@ use galaxyui::{ ui_components::components::UiComponent, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use instant::Instant; +use parking_lot::RwLock; +use pathfinder_color::ColorU; use crate::ai::agent::api::ServerConversationToken; #[cfg(target_family = "wasm")] diff --git a/app/src/ai/conversation_details_panel_tests.rs b/app/src/ai/conversation_details_panel_tests.rs index 3c0cf1ac..83e4ec66 100644 --- a/app/src/ai/conversation_details_panel_tests.rs +++ b/app/src/ai/conversation_details_panel_tests.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; use chrono::{Local, Utc}; -use persistence::model::AgentConversationData; use galaxy_cli::agent::Harness; use galaxy_core::features::FeatureFlag; -use warp_multi_agent_api as api; use galaxyui::{App, EntityId}; +use persistence::model::AgentConversationData; +use warp_multi_agent_api as api; use crate::ai::agent::conversation::{AIConversation, AIConversationId}; use crate::ai::ambient_agents::task::{AgentConfigSnapshot, HarnessConfig, TaskCreatorInfo}; diff --git a/app/src/ai/conversation_navigation/mod.rs b/app/src/ai/conversation_navigation/mod.rs index 20cebcfd..169f4892 100644 --- a/app/src/ai/conversation_navigation/mod.rs +++ b/app/src/ai/conversation_navigation/mod.rs @@ -8,9 +8,9 @@ use crate::undo_close::UndoCloseStack; use crate::workspace::PaneViewLocator; use crate::workspace::WorkspaceRegistry; use chrono::TimeZone; +use galaxyui::{AppContext, EntityId, SingletonEntity, WindowId}; use std::cmp::Ordering; use std::collections::HashSet; -use galaxyui::{AppContext, EntityId, SingletonEntity, WindowId}; /// Result from matching a conversation. /// terminal_view_id and window_id are optional because, when we add restored conversations, diff --git a/app/src/ai/document/ai_document_model.rs b/app/src/ai/document/ai_document_model.rs index 753109b0..da4b76e8 100644 --- a/app/src/ai/document/ai_document_model.rs +++ b/app/src/ai/document/ai_document_model.rs @@ -9,9 +9,11 @@ use std::time::Duration; pub use ai::document::{AIDocumentId, AIDocumentVersion}; use anyhow; use chrono::{DateTime, Local, Utc}; +use galaxyui::{ + AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, WindowId, +}; use itertools::Itertools; use uuid::Uuid; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, WindowId}; use crate::ai::ai_document_view::DEFAULT_PLANNING_DOCUMENT_TITLE; use crate::auth::auth_state::AuthStateProvider; diff --git a/app/src/ai/document/ai_document_model_tests.rs b/app/src/ai/document/ai_document_model_tests.rs index b33b0e4b..26695db7 100644 --- a/app/src/ai/document/ai_document_model_tests.rs +++ b/app/src/ai/document/ai_document_model_tests.rs @@ -1,7 +1,7 @@ use ai::diff_validation::DiffDelta; use chrono::Local; -use std::ops::Range; use galaxyui::App; +use std::ops::Range; use super::*; use crate::ai::agent::conversation::AIConversationId; diff --git a/app/src/ai/execution_profiles/editor/manager.rs b/app/src/ai/execution_profiles/editor/manager.rs index 2623abf5..a0b65529 100644 --- a/app/src/ai/execution_profiles/editor/manager.rs +++ b/app/src/ai/execution_profiles/editor/manager.rs @@ -1,5 +1,5 @@ -use std::collections::HashMap; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity, WindowId}; +use std::collections::HashMap; use crate::{ ai::execution_profiles::profiles::ClientProfileId, diff --git a/app/src/ai/execution_profiles/editor/mod.rs b/app/src/ai/execution_profiles/editor/mod.rs index 5b4a3818..4650cf38 100644 --- a/app/src/ai/execution_profiles/editor/mod.rs +++ b/app/src/ai/execution_profiles/editor/mod.rs @@ -24,14 +24,13 @@ use crate::{ Appearance, }; use ai::api_keys::{ApiKeyManager, ApiKeyManagerEvent}; -use itertools::Itertools; -use regex::Regex; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::fonts::Properties; use galaxyui::platform::Cursor; use galaxyui::ui_components::switch::SwitchStateHandle; +use itertools::Itertools; +use regex::Regex; -use std::path::{Path, PathBuf}; use galaxyui::{ elements::{ Align, Border, ChildView, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox, @@ -41,6 +40,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use std::path::{Path, PathBuf}; const MODEL_MENU_WIDTH: f32 = 250.; diff --git a/app/src/ai/execution_profiles/editor/ui_helpers.rs b/app/src/ai/execution_profiles/editor/ui_helpers.rs index 99f4abfd..23f0250d 100644 --- a/app/src/ai/execution_profiles/editor/ui_helpers.rs +++ b/app/src/ai/execution_profiles/editor/ui_helpers.rs @@ -6,8 +6,6 @@ use crate::view_components::FilterableDropdown; use crate::view_components::{Dropdown, SubmittableTextInput}; use crate::Appearance; use crate::TemplatableMCPServerManager; -use pathfinder_geometry::vector::vec2f; -use uuid::Uuid; use galaxy_core::features::FeatureFlag; use galaxyui::elements::Hoverable; use galaxyui::elements::MouseStateHandle; @@ -20,6 +18,8 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::ui_components::components::UiComponent; use galaxyui::AppContext; use galaxyui::{Element, SingletonEntity, ViewHandle}; +use pathfinder_geometry::vector::vec2f; +use uuid::Uuid; use super::ExecutionProfileEditorView; use super::ExecutionProfileEditorViewAction; diff --git a/app/src/ai/execution_profiles/mod.rs b/app/src/ai/execution_profiles/mod.rs index 7a1575af..44a50c1d 100644 --- a/app/src/ai/execution_profiles/mod.rs +++ b/app/src/ai/execution_profiles/mod.rs @@ -18,10 +18,10 @@ use crate::{ DEFAULT_COMMAND_EXECUTION_DENYLIST, }, }; -use serde::{Deserialize, Serialize}; use galaxy_core::channel::ChannelState; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; use super::llms::LLMId; diff --git a/app/src/ai/execution_profiles/model_menu_items.rs b/app/src/ai/execution_profiles/model_menu_items.rs index 49aa7ee0..b4605d73 100644 --- a/app/src/ai/execution_profiles/model_menu_items.rs +++ b/app/src/ai/execution_profiles/model_menu_items.rs @@ -1,7 +1,5 @@ use crate::ai::llms::{is_using_api_key_for_provider, DisableReason, LLMId, LLMInfo, LLMProvider}; use crate::menu::{MenuItem, MenuItemFields, MenuTooltipPosition}; -use itertools::Itertools; -use std::sync::Arc; use galaxy_core::ui::Icon; use galaxyui::{ elements::{ @@ -11,6 +9,8 @@ use galaxyui::{ fonts::{Properties, Style}, Action, AppContext, Element, }; +use itertools::Itertools; +use std::sync::Arc; pub fn is_auto(llm: &LLMInfo) -> bool { llm.display_name.to_lowercase().contains("auto") diff --git a/app/src/ai/execution_profiles/profiles.rs b/app/src/ai/execution_profiles/profiles.rs index 9b09cfd6..df81fd8c 100644 --- a/app/src/ai/execution_profiles/profiles.rs +++ b/app/src/ai/execution_profiles/profiles.rs @@ -3,11 +3,11 @@ use std::collections::HashMap; use std::path::PathBuf; use std::sync::atomic::{AtomicUsize, Ordering}; -use serde::{Deserialize, Serialize}; -use uuid::Uuid; use galaxy_core::channel::ChannelState; use galaxy_core::user_preferences::GetUserPreferences; use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; +use uuid::Uuid; use crate::ai::llms::LLMId; use crate::ai::mcp::templatable_manager::TemplatableMCPServerManagerEvent; diff --git a/app/src/ai/facts/manager.rs b/app/src/ai/facts/manager.rs index 58deebc3..bfb4157a 100644 --- a/app/src/ai/facts/manager.rs +++ b/app/src/ai/facts/manager.rs @@ -3,8 +3,8 @@ use crate::{ pane_group::{AIFactPane, PaneContent}, PaneViewLocator, }; -use std::collections::HashMap; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId}; +use std::collections::HashMap; /// Singleton model to manage state of AI fact panes across multiple windows /// (where only one AI fact pane can exist per window). Specifically: diff --git a/app/src/ai/facts/mod.rs b/app/src/ai/facts/mod.rs index 548b288a..3755e210 100644 --- a/app/src/ai/facts/mod.rs +++ b/app/src/ai/facts/mod.rs @@ -12,8 +12,8 @@ use crate::{ }, drive::CloudObjectTypeAndId, }; -use serde::{Deserialize, Serialize}; use galaxy_core::ui::appearance::Appearance; +use serde::{Deserialize, Serialize}; pub mod manager; pub mod view; diff --git a/app/src/ai/facts/view/mod.rs b/app/src/ai/facts/view/mod.rs index 221fefcb..fb8d29dc 100644 --- a/app/src/ai/facts/view/mod.rs +++ b/app/src/ai/facts/view/mod.rs @@ -7,7 +7,6 @@ use crate::pane_group::focus_state::PaneFocusHandle; use crate::pane_group::{pane::view, BackingView, PaneConfiguration, PaneEvent}; use crate::server::ids::SyncId; use crate::server::sync_queue::SyncQueue; -use std::path::PathBuf; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -18,6 +17,7 @@ use galaxyui::{ ui_components::components::UiComponent, AppContext, Element, Entity, FocusContext, ModelHandle, TypedActionView, View, ViewContext, }; +use std::path::PathBuf; use crate::ui_components::icons::Icon; use galaxyui::elements::ChildView; diff --git a/app/src/ai/facts/view/rule.rs b/app/src/ai/facts/view/rule.rs index f4a1aeb8..00ff8b8c 100644 --- a/app/src/ai/facts/view/rule.rs +++ b/app/src/ai/facts/view/rule.rs @@ -22,11 +22,6 @@ use crate::view_components::{ use crate::workspace::ToastStack; use crate::workspaces::user_workspaces::UserWorkspaces; use ai::project_context::model::{ProjectContextModel, ProjectContextModelEvent}; -use markdown_parser::{ - weight::CustomWeight, FormattedText, FormattedTextFragment, FormattedTextLine, -}; -use std::fmt::Debug; -use std::path::PathBuf; use galaxy_core::ui::{ appearance::{Appearance, AppearanceEvent}, theme::color::internal_colors, @@ -45,6 +40,11 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{ + weight::CustomWeight, FormattedText, FormattedTextFragment, FormattedTextLine, +}; +use std::fmt::Debug; +use std::path::PathBuf; use super::{is_edit_allowed, is_syncing, style, AIFact, CloudAIFact, CloudAIFactModel}; use crate::ai::facts::AIMemory; @@ -527,15 +527,15 @@ impl RuleView { if is_selected { container = container .with_background(appearance.theme().surface_2()) - .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( - 4., - ))); + .with_corner_radius(CornerRadius::with_all( + galaxyui::elements::Radius::Pixels(4.), + )); } else if state.is_hovered() { container = container .with_background(appearance.theme().surface_1()) - .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( - 4., - ))); + .with_corner_radius(CornerRadius::with_all( + galaxyui::elements::Radius::Pixels(4.), + )); } container.finish() @@ -609,7 +609,9 @@ impl RuleView { .finish(), ) .with_background(appearance.theme().accent_overlay()) - .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels(4.))) + .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( + 4., + ))) .with_uniform_padding(style::BANNER_PADDING) .with_margin_bottom(style::ITEM_BOTTOM_MARGIN) .finish() @@ -704,7 +706,9 @@ impl RuleView { Some( Container::new(row.finish()) .with_background(internal_colors::neutral_1(appearance.theme())) - .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels(4.))) + .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( + 4., + ))) .with_border( Border::all(1.) .with_border_color(internal_colors::neutral_2(appearance.theme())), @@ -785,7 +789,9 @@ impl RuleView { Container::new(row.finish()) .with_background(bg_color) - .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels(4.))) + .with_corner_radius(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( + 4., + ))) .with_border( Border::all(1.) .with_border_color(internal_colors::neutral_2(appearance.theme())), diff --git a/app/src/ai/get_relevant_files/controller.rs b/app/src/ai/get_relevant_files/controller.rs index db1b4c7b..e7af19e0 100644 --- a/app/src/ai/get_relevant_files/controller.rs +++ b/app/src/ai/get_relevant_files/controller.rs @@ -7,13 +7,13 @@ use ai::index::{ }; use anyhow::anyhow; use futures_util::stream::AbortHandle; +use galaxy_core::features::FeatureFlag; use instant::Instant; use std::{ collections::HashSet, path::{Path, PathBuf}, sync::Arc, }; -use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; diff --git a/app/src/ai/harness_display.rs b/app/src/ai/harness_display.rs index 89f7fec9..cbf44323 100644 --- a/app/src/ai/harness_display.rs +++ b/app/src/ai/harness_display.rs @@ -4,8 +4,8 @@ //! dropdown, the conversation details sidebar, etc. — should source its label, //! icon, and brand color from here so the two surfaces cannot drift. -use pathfinder_color::ColorU; use galaxy_cli::agent::Harness; +use pathfinder_color::ColorU; use crate::ai::agent::conversation::AIAgentHarness; use crate::ai::blocklist::CLAUDE_ORANGE; diff --git a/app/src/ai/llms.rs b/app/src/ai/llms.rs index 4d007a9d..dd9113ac 100644 --- a/app/src/ai/llms.rs +++ b/app/src/ai/llms.rs @@ -1,12 +1,12 @@ +use galaxy_core::ui::icons::Icon; +use galaxy_core::user_preferences::GetUserPreferences; +use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; use parking_lot::FairMutex; use serde::{de, Deserialize, Serialize}; use std::{ collections::{HashMap, HashSet}, sync::{Arc, OnceLock}, }; -use galaxy_core::ui::icons::Icon; -use galaxy_core::user_preferences::GetUserPreferences; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity}; use crate::{ auth::{ diff --git a/app/src/ai/mcp/file_based_manager.rs b/app/src/ai/mcp/file_based_manager.rs index d47137a5..408d89aa 100644 --- a/app/src/ai/mcp/file_based_manager.rs +++ b/app/src/ai/mcp/file_based_manager.rs @@ -1,12 +1,12 @@ use super::MCPProvider; use super::{FileMCPWatcher, FileMCPWatcherEvent}; +use galaxy_core::features::FeatureFlag; +use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use itertools::Itertools as _; use repo_metadata::repositories::DetectedRepositories; use std::collections::{hash_map::Entry, HashMap, HashSet}; use std::path::{Path, PathBuf}; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; -use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use crate::{ ai::mcp::{ diff --git a/app/src/ai/mcp/file_based_manager_tests.rs b/app/src/ai/mcp/file_based_manager_tests.rs index d4567c59..919b1929 100644 --- a/app/src/ai/mcp/file_based_manager_tests.rs +++ b/app/src/ai/mcp/file_based_manager_tests.rs @@ -5,6 +5,8 @@ use crate::auth::AuthStateProvider; use crate::settings::{AISettings, FocusedTerminalInfo}; use crate::warp_managed_paths_watcher::{warp_data_dir, WarpManagedPathsWatcher}; use crate::workspaces::user_workspaces::UserWorkspaces; +use galaxy_core::features::FeatureFlag; +use galaxyui::{App, Entity, ModelHandle, SingletonEntity as _}; use repo_metadata::{ repositories::DetectedRepositories, watcher::DirectoryWatcher, RepoMetadataModel, }; @@ -12,8 +14,6 @@ use settings::Setting as _; use std::collections::HashSet; use std::path::PathBuf; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; -use galaxyui::{App, Entity, ModelHandle, SingletonEntity as _}; use watcher::HomeDirectoryWatcher; // Helper to initialize dependencies and return FileBasedMCPManager handle diff --git a/app/src/ai/mcp/file_mcp_watcher.rs b/app/src/ai/mcp/file_mcp_watcher.rs index 866b8227..39b77a8a 100644 --- a/app/src/ai/mcp/file_mcp_watcher.rs +++ b/app/src/ai/mcp/file_mcp_watcher.rs @@ -1,5 +1,7 @@ use async_channel::Sender; use futures::Future; +use galaxy_core::safe_warn; +use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use regex::Regex; use repo_metadata::{ repositories::{DetectedRepositories, DetectedRepositoriesEvent, RepoDetectionSource}, @@ -11,8 +13,6 @@ use std::io::ErrorKind; use std::path::{Path, PathBuf}; use std::pin::Pin; use std::sync::LazyLock; -use galaxy_core::safe_warn; -use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use watcher::HomeDirectoryWatcherEvent; use crate::ai::mcp::{ diff --git a/app/src/ai/mcp/gallery.rs b/app/src/ai/mcp/gallery.rs index 2b2e6966..8a080172 100644 --- a/app/src/ai/mcp/gallery.rs +++ b/app/src/ai/mcp/gallery.rs @@ -6,8 +6,8 @@ use crate::ai::mcp::templatable::{ use crate::server::cloud_objects::update_manager::{UpdateManager, UpdateManagerEvent}; use crate::server::datetime_ext::DateTimeExt; use chrono::DateTime; -use uuid::Uuid; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use uuid::Uuid; #[derive(Clone, Debug)] pub struct GalleryMCPServer { diff --git a/app/src/ai/mcp/mod.rs b/app/src/ai/mcp/mod.rs index bee3ec63..87a125bb 100644 --- a/app/src/ai/mcp/mod.rs +++ b/app/src/ai/mcp/mod.rs @@ -25,11 +25,11 @@ use crate::{ }; #[cfg(not(target_family = "wasm"))] use diesel::{QueryDsl, RunQueryDsl, SqliteConnection}; +use galaxy_core::ui::appearance::Appearance; +use galaxy_core::ui::Icon; use serde::{Deserialize, Serialize}; use strum::IntoEnumIterator; use strum_macros::EnumIter; -use galaxy_core::ui::appearance::Appearance; -use galaxy_core::ui::Icon; pub mod manager; pub mod templatable_manager; @@ -158,8 +158,8 @@ mod tests { } pub mod gallery; -pub use gallery::MCPGalleryManager; use galaxyui::{AppContext, SingletonEntity as _}; +pub use gallery::MCPGalleryManager; pub mod templatable; pub use templatable::JsonTemplate; pub use templatable::{TemplatableMCPServer, TemplateVariable}; diff --git a/app/src/ai/mcp/mod_test.rs b/app/src/ai/mcp/mod_test.rs index 1c89eb99..55376683 100644 --- a/app/src/ai/mcp/mod_test.rs +++ b/app/src/ai/mcp/mod_test.rs @@ -8,9 +8,9 @@ mod tests { StaticEnvVar, StaticHeader, TemplatableMCPServer, TemplatableMCPServerInstallation, TemplateVariable, TransportType, VariableType, VariableValue, }; + use galaxy_managed_secrets::ManagedSecretValue; use serde_json; use std::collections::HashMap; - use galaxy_managed_secrets::ManagedSecretValue; #[test] fn test_mcp_server_config_serialization_excludes_secret_env_values() { diff --git a/app/src/ai/mcp/reconnecting_peer.rs b/app/src/ai/mcp/reconnecting_peer.rs index 3283fe83..2f77fb30 100644 --- a/app/src/ai/mcp/reconnecting_peer.rs +++ b/app/src/ai/mcp/reconnecting_peer.rs @@ -2,8 +2,8 @@ use std::future::Future; -use uuid::Uuid; use galaxyui::ModelSpawner; +use uuid::Uuid; use super::TemplatableMCPServerManager; diff --git a/app/src/ai/mcp/templatable.rs b/app/src/ai/mcp/templatable.rs index 556ac254..20430736 100644 --- a/app/src/ai/mcp/templatable.rs +++ b/app/src/ai/mcp/templatable.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; use chrono::DateTime; +use galaxy_core::ui::appearance::Appearance; +use galaxyui::{AppContext, SingletonEntity as _}; use handlebars::get_arguments; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use galaxy_core::ui::appearance::Appearance; -use galaxyui::{AppContext, SingletonEntity as _}; use crate::{ cloud_object::{ diff --git a/app/src/ai/mcp/templatable_installation.rs b/app/src/ai/mcp/templatable_installation.rs index 83573861..1fd95ee5 100644 --- a/app/src/ai/mcp/templatable_installation.rs +++ b/app/src/ai/mcp/templatable_installation.rs @@ -1,11 +1,11 @@ use std::collections::HashMap; +use galaxy_managed_secrets::ManagedSecretValue; use handlebars::{get_arguments, render_template}; use lazy_static::lazy_static; use serde::{Deserialize, Serialize}; use std::hash::{Hash, Hasher}; use uuid::Uuid; -use galaxy_managed_secrets::ManagedSecretValue; use crate::ai::mcp::{TemplatableMCPServer, TemplateVariable}; use siphasher::sip::SipHasher; diff --git a/app/src/ai/mcp/templatable_manager.rs b/app/src/ai/mcp/templatable_manager.rs index c329b49d..9d7f992b 100644 --- a/app/src/ai/mcp/templatable_manager.rs +++ b/app/src/ai/mcp/templatable_manager.rs @@ -20,10 +20,10 @@ use crate::ai::mcp::templatable::CloudTemplatableMCPServer; use crate::ai::mcp::FileBasedMCPManager; use crate::ai::mcp::{templatable_installation::TemplatableMCPServerInstallation, MCPServerState}; use futures_util::stream::AbortHandle; -use uuid::Uuid; #[cfg(not(target_family = "wasm"))] use galaxyui::ModelSpawner; use galaxyui::{Entity, SingletonEntity}; +use uuid::Uuid; #[cfg(not(target_family = "wasm"))] type ReconnectResultSender = diff --git a/app/src/ai/mcp/templatable_manager/native.rs b/app/src/ai/mcp/templatable_manager/native.rs index e6401d1e..ced80d4e 100644 --- a/app/src/ai/mcp/templatable_manager/native.rs +++ b/app/src/ai/mcp/templatable_manager/native.rs @@ -49,16 +49,18 @@ use crate::{ use async_compat::CompatExt as _; use cfg_if::cfg_if; use futures::FutureExt as _; +use galaxy_core::safe_error; +use galaxy_core::{ + execution_mode::AppExecutionMode, features::FeatureFlag, settings::Setting as _, +}; +use galaxyui::AppContext; +use galaxyui::{windowing::WindowManager, ModelContext, SingletonEntity}; use parking_lot::Mutex; use rmcp::{transport::ConfigureCommandExt as _, ServiceExt as _}; use simple_logger::manager::LogManager; use simple_logger::SimpleLogger; use tokio::io::AsyncBufReadExt as _; use uuid::Uuid; -use galaxy_core::safe_error; -use galaxy_core::{execution_mode::AppExecutionMode, features::FeatureFlag, settings::Setting as _}; -use galaxyui::AppContext; -use galaxyui::{windowing::WindowManager, ModelContext, SingletonEntity}; use super::{ oauth::{self, AuthContext, FileBasedPersistedCredentialsMap, PersistedCredentialsMap}, diff --git a/app/src/ai/mcp/templatable_manager/oauth.rs b/app/src/ai/mcp/templatable_manager/oauth.rs index 11dbe6fd..b53940ed 100644 --- a/app/src/ai/mcp/templatable_manager/oauth.rs +++ b/app/src/ai/mcp/templatable_manager/oauth.rs @@ -1,6 +1,9 @@ use std::collections::HashMap; use anyhow::{anyhow, bail}; +use galaxy_core::channel::ChannelState; +use galaxyui::ModelSpawner; +use galaxyui_extras::secure_storage::AppContextExt as _; use oauth2::{RefreshToken, TokenResponse as _}; use rmcp::transport::{ auth::{ @@ -13,9 +16,6 @@ use serde::de::DeserializeOwned; use serde::{Deserialize, Serialize}; use url::Url; use uuid::Uuid; -use galaxy_core::channel::ChannelState; -use galaxyui::ModelSpawner; -use galaxyui_extras::secure_storage::AppContextExt as _; use super::{MCPServerState, TemplatableMCPServerManager}; use {crate::ai::mcp::FileBasedMCPManager, galaxyui::SingletonEntity}; diff --git a/app/src/ai/mod.rs b/app/src/ai/mod.rs index 8fd7002a..fcbc2269 100644 --- a/app/src/ai/mod.rs +++ b/app/src/ai/mod.rs @@ -37,8 +37,8 @@ pub(crate) mod restored_conversations; pub(crate) mod skills; pub(crate) mod voice; pub use agent_tips::*; -pub use request_usage_model::*; use galaxyui::AppContext; +pub use request_usage_model::*; #[cfg(not(target_family = "wasm"))] pub mod agent_sdk; pub mod cloud_agent_config; diff --git a/app/src/ai/onboarding.rs b/app/src/ai/onboarding.rs index d78b1ec2..65337cc0 100644 --- a/app/src/ai/onboarding.rs +++ b/app/src/ai/onboarding.rs @@ -1,10 +1,10 @@ //! Onboarding-specific AI types and conversions. use ai::LLMId; -use onboarding::slides::OnboardingModelInfo; -use onboarding::OnboardingAuthState; use galaxy_core::ui::icons::Icon; use galaxyui::{AppContext, SingletonEntity}; +use onboarding::slides::OnboardingModelInfo; +use onboarding::OnboardingAuthState; use crate::auth::AuthStateProvider; use crate::experiments::FreeTierDefaultModel; diff --git a/app/src/ai/outline/native.rs b/app/src/ai/outline/native.rs index 6f56b5e0..638b4727 100644 --- a/app/src/ai/outline/native.rs +++ b/app/src/ai/outline/native.rs @@ -7,6 +7,7 @@ use std::{ use ai::index::build_outline; use async_channel::Sender; use futures::stream::AbortHandle; +use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use instant::Instant; use repo_metadata::CanonicalizedPath; use repo_metadata::{ @@ -15,7 +16,6 @@ use repo_metadata::{ DirectoryWatcher, Repository, RepositoryUpdate, }; use settings::Setting as _; -use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use crate::{ ai::persisted_workspace::all_working_directories, diff --git a/app/src/ai/persisted_workspace.rs b/app/src/ai/persisted_workspace.rs index db78a004..3e6f4ed9 100644 --- a/app/src/ai/persisted_workspace.rs +++ b/app/src/ai/persisted_workspace.rs @@ -25,12 +25,12 @@ use ai::{ }; use anyhow::Context; use chrono::Utc; -use itertools::Itertools; -use lsp::supported_servers::LSPServerType; use galaxy_core::features::FeatureFlag; #[cfg(feature = "local_fs")] use galaxyui::windowing::WindowManager; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; +use itertools::Itertools; +use lsp::supported_servers::LSPServerType; #[cfg(feature = "local_fs")] use crate::code::language_server_shutdown_manager::LanguageServerShutdownManager; @@ -43,9 +43,9 @@ use crate::terminal::local_shell::LocalShellState; #[cfg(feature = "local_fs")] use crate::{view_components::DismissibleToast, workspace::ToastStack}; #[cfg(feature = "local_fs")] -use lsp::LspEvent; -#[cfg(feature = "local_fs")] use galaxy_core::channel::ChannelState; +#[cfg(feature = "local_fs")] +use lsp::LspEvent; use ai::project_context::model::{ProjectContextModel, ProjectContextModelEvent}; diff --git a/app/src/ai/predict/next_command_model.rs b/app/src/ai/predict/next_command_model.rs index 6cecec03..04764728 100644 --- a/app/src/ai/predict/next_command_model.rs +++ b/app/src/ai/predict/next_command_model.rs @@ -11,13 +11,6 @@ use crate::terminal::{History, HistoryEntry, TerminalModel}; use crate::workspaces::user_workspaces::UserWorkspaces; use chrono::Utc; use futures::stream::AbortHandle; -use itertools::Itertools; -#[cfg_attr(not(feature = "local_fs"), allow(unused_imports))] -use parking_lot::{FairMutex, Mutex}; -use std::collections::HashMap; -use std::sync::Arc; -#[cfg(feature = "local_fs")] -use std::time::Duration; use galaxy_completer::completer::{ self, expand_command_aliases, AliasExpansionResult, CompleterOptions, CompletionsFallbackStrategy, MatchStrategy, @@ -29,6 +22,13 @@ use galaxy_core::features::FeatureFlag; #[cfg(feature = "local_fs")] use galaxyui::r#async::FutureExt; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; +#[cfg_attr(not(feature = "local_fs"), allow(unused_imports))] +use parking_lot::{FairMutex, Mutex}; +use std::collections::HashMap; +use std::sync::Arc; +#[cfg(feature = "local_fs")] +use std::time::Duration; use super::generate_ai_input_suggestions::{ create_generate_ai_input_suggestions_request, get_context_messages, diff --git a/app/src/ai/predict/next_command_model_test.rs b/app/src/ai/predict/next_command_model_test.rs index de0f98b3..1fb7645c 100644 --- a/app/src/ai/predict/next_command_model_test.rs +++ b/app/src/ai/predict/next_command_model_test.rs @@ -3,10 +3,10 @@ use crate::terminal::model::session::Session; use crate::terminal::model::session::{ command_executor::testing::TestCommandExecutor, SessionInfo, }; -use typed_path::TypedPathBuf; use galaxy_completer::signatures::CommandRegistry; use galaxy_completer::{meta::SpannedItem, parsers::ParsedToken}; use galaxyui::App; +use typed_path::TypedPathBuf; use super::*; diff --git a/app/src/ai/request_usage_model.rs b/app/src/ai/request_usage_model.rs index 290737cf..5f9ce0a1 100644 --- a/app/src/ai/request_usage_model.rs +++ b/app/src/ai/request_usage_model.rs @@ -10,12 +10,12 @@ use crate::workspaces::workspace::WorkspaceUid; use crate::BlocklistAIHistoryModel; use ai::api_keys::ApiKeyManager; use chrono::{DateTime, Utc}; -use instant::Instant; -use serde::{Deserialize, Serialize}; -use std::sync::Arc; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxy_graphql::scalars::time::ServerTimestamp; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; +use instant::Instant; +use serde::{Deserialize, Serialize}; +use std::sync::Arc; pub use galaxy_graphql::billing::BonusGrantType; diff --git a/app/src/ai/restored_conversations.rs b/app/src/ai/restored_conversations.rs index c76fd3de..00aec852 100644 --- a/app/src/ai/restored_conversations.rs +++ b/app/src/ai/restored_conversations.rs @@ -1,7 +1,7 @@ //! A singleton model for storing conversations by ID to enable restoration across terminal views. -use std::collections::HashMap; use galaxyui::{Entity, SingletonEntity}; +use std::collections::HashMap; use crate::{ ai::{ diff --git a/app/src/ai/skills/file_watchers/skill_watcher.rs b/app/src/ai/skills/file_watchers/skill_watcher.rs index 4d79a9c5..4d3cb566 100644 --- a/app/src/ai/skills/file_watchers/skill_watcher.rs +++ b/app/src/ai/skills/file_watchers/skill_watcher.rs @@ -24,12 +24,12 @@ use ai::skills::{ }; use async_channel::Sender; use chrono::{DateTime, Duration, Utc}; +use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; use repo_metadata::{ repositories::{DetectedRepositories, RepoDetectionSource}, repository::{Repository, SubscriberId}, DirectoryWatcher, RepoMetadataModel, RepositoryUpdate, }; -use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; #[derive(Debug, PartialEq)] pub enum SkillWatcherEvent { diff --git a/app/src/ai/skills/file_watchers/skill_watcher_tests.rs b/app/src/ai/skills/file_watchers/skill_watcher_tests.rs index cd349bdd..f1316e74 100644 --- a/app/src/ai/skills/file_watchers/skill_watcher_tests.rs +++ b/app/src/ai/skills/file_watchers/skill_watcher_tests.rs @@ -5,13 +5,13 @@ use std::{ use crate::ai::skills::skill_manager::SkillWatcherEvent; use ai::skills::{ParsedSkill, SkillProvider, SkillScope}; +use galaxy_util::standardized_path::StandardizedPath; +use galaxyui::App; use repo_metadata::{ repositories::DetectedRepositories, DirectoryWatcher, RepoMetadataModel, RepositoryUpdate, TargetFile, }; use tempfile::TempDir; -use galaxy_util::standardized_path::StandardizedPath; -use galaxyui::App; use super::SkillWatcher; diff --git a/app/src/ai/skills/file_watchers/subscribers.rs b/app/src/ai/skills/file_watchers/subscribers.rs index 15bc604a..95ece09c 100644 --- a/app/src/ai/skills/file_watchers/subscribers.rs +++ b/app/src/ai/skills/file_watchers/subscribers.rs @@ -4,8 +4,8 @@ use futures::Future; use ai::skills::{read_skills, ParsedSkill, SKILL_PROVIDER_DEFINITIONS}; use async_channel::Sender; -use repo_metadata::{repository::RepositorySubscriber, Repository, RepositoryUpdate}; use galaxyui::ModelContext; +use repo_metadata::{repository::RepositorySubscriber, Repository, RepositoryUpdate}; /// Messages sent from [`RepositorySubscriber`]s to [`SkillManager`]. pub enum SkillRepositoryMessage { diff --git a/app/src/ai/skills/file_watchers/utils.rs b/app/src/ai/skills/file_watchers/utils.rs index 1fb8df48..3e79c7c4 100644 --- a/app/src/ai/skills/file_watchers/utils.rs +++ b/app/src/ai/skills/file_watchers/utils.rs @@ -8,9 +8,9 @@ use ai::skills::{ home_skills_path, read_skills, ParsedSkill, SkillProvider, SKILL_PROVIDER_DEFINITIONS, }; use anyhow::Error; +use galaxyui::AppContext; use regex::Regex; use repo_metadata::{local_model::GetContentsArgs, RepoContent, RepoMetadataModel}; -use galaxyui::AppContext; use crate::warp_managed_paths_watcher::warp_managed_skill_dirs; diff --git a/app/src/ai/skills/file_watchers/utils_tests.rs b/app/src/ai/skills/file_watchers/utils_tests.rs index 732817f3..e82bab5a 100644 --- a/app/src/ai/skills/file_watchers/utils_tests.rs +++ b/app/src/ai/skills/file_watchers/utils_tests.rs @@ -1,3 +1,4 @@ +use galaxyui::App; use repo_metadata::{ entry::{DirectoryEntry, Entry, FileMetadata}, file_tree_store::FileTreeState, @@ -5,7 +6,6 @@ use repo_metadata::{ DirectoryWatcher, RepoMetadataModel, }; use virtual_fs::{Stub, VirtualFS}; -use galaxyui::App; use super::{ extract_skill_parent_directory, find_skill_directories_in_tree, is_home_provider_path, @@ -500,8 +500,10 @@ fn find_skill_directories_in_tree_finds_root_skills() { app.add_singleton_model(|_| DetectedRepositories::default()); let repo_handle = watcher.update(&mut app, |w, ctx| { w.add_directory( - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(), + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(), ctx, ) .unwrap() @@ -511,8 +513,10 @@ fn find_skill_directories_in_tree_finds_root_skills() { let model_handle = app.add_singleton_model(RepoMetadataModel::new); model_handle.update(&mut app, |model, ctx| { let key = - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(); + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(); model.insert_test_state(key, state, ctx); }); @@ -644,8 +648,10 @@ fn find_skill_directories_in_tree_finds_subdirectory_skills() { app.add_singleton_model(|_| DetectedRepositories::default()); let repo_handle = watcher.update(&mut app, |w, ctx| { w.add_directory( - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(), + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(), ctx, ) .unwrap() @@ -655,8 +661,10 @@ fn find_skill_directories_in_tree_finds_subdirectory_skills() { let model_handle = app.add_singleton_model(RepoMetadataModel::new); model_handle.update(&mut app, |model, ctx| { let key = - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(); + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(); model.insert_test_state(key, state, ctx); }); @@ -683,8 +691,10 @@ fn find_skill_directories_in_tree_empty_repo() { vfs.mkdir("repo/src"); let src = Entry::Directory(DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo.join("src")) - .unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local( + &repo.join("src"), + ) + .unwrap(), children: vec![], ignored: false, loaded: true, @@ -701,8 +711,10 @@ fn find_skill_directories_in_tree_empty_repo() { app.add_singleton_model(|_| DetectedRepositories::default()); let repo_handle = watcher.update(&mut app, |w, ctx| { w.add_directory( - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(), + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(), ctx, ) .unwrap() @@ -712,8 +724,10 @@ fn find_skill_directories_in_tree_empty_repo() { let model_handle = app.add_singleton_model(RepoMetadataModel::new); model_handle.update(&mut app, |model, ctx| { let key = - galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized(&repo) - .unwrap(); + galaxy_util::standardized_path::StandardizedPath::from_local_canonicalized( + &repo, + ) + .unwrap(); model.insert_test_state(key, state, ctx); }); diff --git a/app/src/ai/skills/listed_skill.rs b/app/src/ai/skills/listed_skill.rs index 749a6d0a..5440cf64 100644 --- a/app/src/ai/skills/listed_skill.rs +++ b/app/src/ai/skills/listed_skill.rs @@ -1,6 +1,6 @@ use ai::skills::{ParsedSkill, SkillProvider, SkillReference, SkillScope}; -use serde::{Deserialize, Serialize}; use galaxy_core::ui::icons::Icon; +use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Hash)] pub struct SkillDescriptor { diff --git a/app/src/ai/skills/skill_manager_tests.rs b/app/src/ai/skills/skill_manager_tests.rs index 8a122bc5..4d0dc7c2 100644 --- a/app/src/ai/skills/skill_manager_tests.rs +++ b/app/src/ai/skills/skill_manager_tests.rs @@ -1,12 +1,12 @@ use super::*; use crate::warp_managed_paths_watcher::WarpManagedPathsWatcher; use ai::skills::{ParsedSkill, SkillProvider, SkillScope}; +use galaxy_core::channel::ChannelState; +use galaxyui::App; use repo_metadata::{repositories::DetectedRepositories, DirectoryWatcher, RepoMetadataModel}; use std::collections::{HashMap, HashSet}; use std::fs; use tempfile::TempDir; -use galaxy_core::channel::ChannelState; -use galaxyui::App; use watcher::HomeDirectoryWatcher; // ============================================================================ diff --git a/app/src/ai/skills/skill_utils.rs b/app/src/ai/skills/skill_utils.rs index 461dc9f2..d86a7120 100644 --- a/app/src/ai/skills/skill_utils.rs +++ b/app/src/ai/skills/skill_utils.rs @@ -7,6 +7,12 @@ use crate::ai::blocklist::BlocklistAIHistoryModel; use ai::skills::{ home_skills_path, provider_rank, ParsedSkill, SkillProvider, SKILL_PROVIDER_DEFINITIONS, }; +use galaxy_core::ui::appearance::Appearance; +use galaxy_core::ui::theme::color::internal_colors; +use galaxy_core::ui::Icon; +use galaxyui::prelude::MouseStateHandle; +use galaxyui::EventContext; +use galaxyui::{AppContext, Element, SingletonEntity}; use lazy_static::lazy_static; use siphasher::sip::SipHasher; use std::collections::hash_map::Entry; @@ -14,12 +20,6 @@ use std::collections::{HashMap, HashSet}; use std::hash::{Hash, Hasher}; use std::path::Path; use std::path::PathBuf; -use galaxy_core::ui::appearance::Appearance; -use galaxy_core::ui::theme::color::internal_colors; -use galaxy_core::ui::Icon; -use galaxyui::prelude::MouseStateHandle; -use galaxyui::EventContext; -use galaxyui::{AppContext, Element, SingletonEntity}; use crate::warp_managed_paths_watcher::warp_managed_skill_dirs; diff --git a/app/src/ai/skills/telemetry.rs b/app/src/ai/skills/telemetry.rs index 97e7901a..f26e188b 100644 --- a/app/src/ai/skills/telemetry.rs +++ b/app/src/ai/skills/telemetry.rs @@ -1,8 +1,8 @@ use ai::skills::{SkillProvider, SkillReference, SkillScope}; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::{Deserialize, Serialize}; use serde_json::json; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use crate::features::FeatureFlag; diff --git a/app/src/ai_assistant/mod.rs b/app/src/ai_assistant/mod.rs index 4be9a32a..8a68fa28 100644 --- a/app/src/ai_assistant/mod.rs +++ b/app/src/ai_assistant/mod.rs @@ -7,10 +7,6 @@ use crate::{ terminal::model::terminal_model::BlockIndex, workflows::workflow::{Argument, Workflow}, }; -use itertools::Itertools; -use lazy_static::lazy_static; -use pathfinder_color::ColorU; -use serde::{Deserialize, Serialize}; use galaxy_core::command::ExitCode; use galaxy_graphql::{ ai::{ @@ -19,6 +15,10 @@ use galaxy_graphql::{ }, mutations::generate_commands::{GenerateCommandsFailureType, GeneratedCommand}, }; +use itertools::Itertools; +use lazy_static::lazy_static; +use pathfinder_color::ColorU; +use serde::{Deserialize, Serialize}; pub mod execution_context; pub mod panel; diff --git a/app/src/ai_assistant/panel.rs b/app/src/ai_assistant/panel.rs index 2704e2dd..8671de4d 100644 --- a/app/src/ai_assistant/panel.rs +++ b/app/src/ai_assistant/panel.rs @@ -3,7 +3,6 @@ use std::time::Duration; use chrono::Local; -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxy_editor::editor::NavigationKey; use galaxyui::clipboard::ClipboardContent; use galaxyui::elements::{ @@ -22,6 +21,7 @@ use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::{elements::Element, AppContext, Entity, TypedActionView, View, ViewContext}; use galaxyui::{FocusContext, ModelHandle, SingletonEntity, ViewHandle}; +use pathfinder_geometry::vector::{vec2f, Vector2F}; use crate::appearance::Appearance; use crate::editor::{ diff --git a/app/src/ai_assistant/transcript.rs b/app/src/ai_assistant/transcript.rs index bbed31fd..c5c1ed98 100644 --- a/app/src/ai_assistant/transcript.rs +++ b/app/src/ai_assistant/transcript.rs @@ -1,7 +1,3 @@ -use markdown_parser::markdown_parser::RUNNABLE_BLOCK_MARKDOWN_LANG; -use markdown_parser::CodeBlockText; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::builder::AnimatedButtonOptions; use galaxyui::clipboard::ClipboardContent; use galaxyui::elements::{DispatchEventResult, Stack}; @@ -22,6 +18,10 @@ use galaxyui::{ WeakViewHandle, }; use galaxyui::{BlurContext, FocusContext}; +use markdown_parser::markdown_parser::RUNNABLE_BLOCK_MARKDOWN_LANG; +use markdown_parser::CodeBlockText; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::{ diff --git a/app/src/ai_assistant/utils.rs b/app/src/ai_assistant/utils.rs index 56943bd0..3f654bb2 100644 --- a/app/src/ai_assistant/utils.rs +++ b/app/src/ai_assistant/utils.rs @@ -1,6 +1,3 @@ -/// Common functionality used across different AI Assistant components. -use markdown_parser::{parse_markdown, CodeBlockText, FormattedText, FormattedTextLine}; -use pathfinder_color::ColorU; use galaxyui::{ elements::{ ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, HighlightedHyperlink, @@ -13,6 +10,9 @@ use galaxyui::{ }, AppContext, Element, ModelHandle, }; +/// Common functionality used across different AI Assistant components. +use markdown_parser::{parse_markdown, CodeBlockText, FormattedText, FormattedTextLine}; +use pathfinder_color::ColorU; use crate::{appearance::Appearance, ui_components::blended_colors}; diff --git a/app/src/antivirus/telemetry.rs b/app/src/antivirus/telemetry.rs index d66a3e4f..ea046135 100644 --- a/app/src/antivirus/telemetry.rs +++ b/app/src/antivirus/telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde_json::{json, Value}; use strum_macros::EnumDiscriminants; use strum_macros::EnumIter; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; #[derive(Debug, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] diff --git a/app/src/app_menus.rs b/app/src/app_menus.rs index 7a1b85f8..b63ce50a 100644 --- a/app/src/app_menus.rs +++ b/app/src/app_menus.rs @@ -23,9 +23,6 @@ use crate::{auth, report_if_error}; use ai::workspace::WorkspaceMetadata; use csv::Writer; use enclose::enclose; -use itertools::Itertools; -use settings::manager::SettingsManager; -use settings::Setting as _; use galaxy_core::context_flag::ContextFlag; use galaxy_util::path::user_friendly_path; use galaxyui::actions::StandardAction; @@ -35,6 +32,9 @@ use galaxyui::platform::menu::{ }; use galaxyui::windowing::WindowManager; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools; +use settings::manager::SettingsManager; +use settings::Setting as _; type CheckmarkStatusGetter = dyn 'static + Fn(&mut AppContext) -> bool; diff --git a/app/src/app_services/linux/mod.rs b/app/src/app_services/linux/mod.rs index a8617871..fdf7a0a9 100644 --- a/app/src/app_services/linux/mod.rs +++ b/app/src/app_services/linux/mod.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; use futures_util::FutureExt as _; -use itertools::Itertools as _; use galaxyui::{r#async::executor::BackgroundTask, AppContext, SingletonEntity}; +use itertools::Itertools as _; use zbus::{interface, proxy, zvariant}; use crate::channel::ChannelState; diff --git a/app/src/app_services/windows/mod.rs b/app/src/app_services/windows/mod.rs index 83e653bf..cef312c9 100644 --- a/app/src/app_services/windows/mod.rs +++ b/app/src/app_services/windows/mod.rs @@ -1,10 +1,9 @@ -use registry::register_uri_handler; use galaxyui::AppContext; +use registry::register_uri_handler; #[cfg(feature = "release_bundle")] use { - service_impl::forward_uri_to_sole_running_instance, + galaxy_core::channel::ChannelState, service_impl::forward_uri_to_sole_running_instance, single_instance_manager::SingleInstanceManager, thiserror::Error, url::Url, - galaxy_core::channel::ChannelState, }; mod registry; diff --git a/app/src/app_services/windows/service_impl.rs b/app/src/app_services/windows/service_impl.rs index a43e6ca1..0cf39663 100644 --- a/app/src/app_services/windows/service_impl.rs +++ b/app/src/app_services/windows/service_impl.rs @@ -2,9 +2,9 @@ use std::sync::Arc; use async_channel::Sender; use async_trait::async_trait; +use galaxyui::r#async::executor::Background; use ipc::{Client, ConnectionAddress}; use url::Url; -use galaxyui::r#async::executor::Background; use super::single_instance_manager::uri_named_pipe_name; diff --git a/app/src/app_services/windows/single_instance_manager.rs b/app/src/app_services/windows/single_instance_manager.rs index 451555b5..53b9307e 100644 --- a/app/src/app_services/windows/single_instance_manager.rs +++ b/app/src/app_services/windows/single_instance_manager.rs @@ -1,9 +1,9 @@ use std::sync::LazyLock; -use ipc::ServerBuilder; -use parking_lot::Mutex; use galaxy_core::channel::ChannelState; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use ipc::ServerBuilder; +use parking_lot::Mutex; use windows::core::Error; use windows::Win32::Foundation::{CloseHandle, GetLastError, ERROR_ALREADY_EXISTS, HANDLE}; diff --git a/app/src/app_state.rs b/app/src/app_state.rs index b94f73aa..986cbf2a 100644 --- a/app/src/app_state.rs +++ b/app/src/app_state.rs @@ -1,9 +1,9 @@ +use galaxyui::platform::FullscreenState; use pathfinder_geometry::rect::RectF; use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::path::PathBuf; use std::sync::Arc; -use galaxyui::platform::FullscreenState; use galaxyui::AppContext; diff --git a/app/src/appearance.rs b/app/src/appearance.rs index 01eb81dd..1514bfc4 100644 --- a/app/src/appearance.rs +++ b/app/src/appearance.rs @@ -1,8 +1,8 @@ -use settings::Setting as _; use galaxyui::{ fonts::FamilyId, AddSingletonModel, AppContext, AssetProvider, Entity, ModelContext, SingletonEntity, }; +use settings::Setting as _; #[cfg(target_os = "macos")] mod macos_app_icon { @@ -11,9 +11,9 @@ mod macos_app_icon { appkit::NSApp, base::{id, nil}, }; - pub use objc::{class, msg_send, sel, sel_impl}; pub use galaxy_core::channel::{Channel, ChannelState}; pub use galaxyui::platform::mac::{make_nsstring, AutoreleasePoolGuard}; + pub use objc::{class, msg_send, sel, sel_impl}; pub use crate::settings::app_icon::{AppIcon, AppIconSettings, AppIconSettingsChangedEvent}; } @@ -378,7 +378,8 @@ fn get_or_load_font_family(font_name: &str, ctx: &mut AppContext) -> Option { - let font_id = font_cache.select_font(family, galaxyui::fonts::Properties::default()); + let font_id = + font_cache.select_font(family, galaxyui::fonts::Properties::default()); // Validate that the font contains the `m` glyph since this is assumed in // various parts of the code. We already do this when surfacing fonts in the font diff --git a/app/src/auth/anonymous_id.rs b/app/src/auth/anonymous_id.rs index f3888cff..deca75c4 100644 --- a/app/src/auth/anonymous_id.rs +++ b/app/src/auth/anonymous_id.rs @@ -1,5 +1,5 @@ -use uuid::Uuid; use galaxy_core::user_preferences::GetUserPreferences; +use uuid::Uuid; /// Key used to persist the anonymous id to user defaults. We use "ExperimentId" as the key /// since we use the persisted id to determine experiment groups, and we want to avoid diff --git a/app/src/auth/auth_manager.rs b/app/src/auth/auth_manager.rs index 329cbfc3..90d95506 100644 --- a/app/src/auth/auth_manager.rs +++ b/app/src/auth/auth_manager.rs @@ -6,8 +6,6 @@ use std::sync::Arc; use std::time::Duration; use anyhow::{anyhow, Result}; -use settings::Setting as _; -use uuid::Uuid; use galaxy_core::channel::ChannelState; use galaxy_core::features::FeatureFlag; #[allow(unused_imports)] @@ -16,6 +14,8 @@ use galaxy_graphql::mutations::create_anonymous_user::{ }; #[allow(unused_imports)] use galaxyui::{clipboard::ClipboardContent, Entity, ModelContext, SingletonEntity, UpdateModel}; +use settings::Setting as _; +use uuid::Uuid; use super::auth_state::{AuthState, PersistAction}; use super::auth_view_modal::{AuthRedirectPayload, AuthViewVariant}; @@ -557,8 +557,7 @@ impl AuthManager { /// NOTE: You probably want to call auth::log_out instead; this only manages the auth state, /// it doesn't shut down any other user-dependent parts of the app. /// TODO(jeff): Can we move those pieces in here? - pub(super) fn log_out(&mut self, _ctx: &mut ModelContext) { - } + pub(super) fn log_out(&mut self, _ctx: &mut ModelContext) {} /// Sets whether or not this user's Firebase credentials are invalid and thus needs to reauth. pub fn set_needs_reauth(&self, needs_reauth: bool, ctx: &mut ModelContext) { @@ -629,8 +628,7 @@ impl AuthManager { ) { } - pub fn anonymous_user_hit_drive_object_limit(&self, _ctx: &mut ModelContext) { - } + pub fn anonymous_user_hit_drive_object_limit(&self, _ctx: &mut ModelContext) {} pub fn initiate_anonymous_user_linking( &self, diff --git a/app/src/auth/auth_manager/user_persistence.rs b/app/src/auth/auth_manager/user_persistence.rs index bb1e48c9..236d4395 100644 --- a/app/src/auth/auth_manager/user_persistence.rs +++ b/app/src/auth/auth_manager/user_persistence.rs @@ -1,7 +1,7 @@ -use serde::{Deserialize, Serialize}; use galaxy_graphql::scalars::time::ServerTimestamp; use galaxyui::AppContext; use galaxyui_extras::secure_storage; +use serde::{Deserialize, Serialize}; use crate::auth::{ user::{AnonymousUserType, FirebaseAuthTokens, PersonalObjectLimits, UserMetadata}, diff --git a/app/src/auth/auth_state.rs b/app/src/auth/auth_state.rs index 079f9029..a9247db9 100644 --- a/app/src/auth/auth_state.rs +++ b/app/src/auth/auth_state.rs @@ -5,16 +5,13 @@ use std::sync::{ use anyhow::anyhow; use chrono::{DateTime, Duration, Utc}; -use parking_lot::RwLock; -use uuid::Uuid; use galaxy_core::channel::{Channel, ChannelState}; use galaxy_graphql::object_permissions::OwnerType; use galaxyui::{AppContext, Entity, SingletonEntity}; +use parking_lot::RwLock; +use uuid::Uuid; -use crate::{ - cloud_object::ObjectType, - report_error, -}; +use crate::{cloud_object::ObjectType, report_error}; use super::{ anonymous_id::get_or_create_anonymous_id, diff --git a/app/src/auth/auth_view_modal.rs b/app/src/auth/auth_view_modal.rs index eb95d253..2e2a711c 100644 --- a/app/src/auth/auth_view_modal.rs +++ b/app/src/auth/auth_view_modal.rs @@ -1,6 +1,6 @@ use anyhow::Result; -use url::Url; use galaxyui::{AppContext, Element, Entity, TypedActionView, View, ViewContext}; +use url::Url; use super::credentials::RefreshToken; use super::user_uid::UserUid; diff --git a/app/src/auth/mod.rs b/app/src/auth/mod.rs index 8d5bf6e4..b5c3abb4 100644 --- a/app/src/auth/mod.rs +++ b/app/src/auth/mod.rs @@ -25,10 +25,10 @@ use ::settings::{Setting, SettingsManager, ToggleableSetting}; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; pub use auth_manager::AuthManager; pub use auth_state::AuthStateProvider; -use itertools::Itertools; pub use auth_view_modal::LoginFailureReason; -pub use user_uid::UserUid; use galaxyui::modals::{AlertDialogWithCallbacks, ModalButton}; +use itertools::Itertools; +pub use user_uid::UserUid; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxyui::{AppContext, SingletonEntity}; diff --git a/app/src/auth/user.rs b/app/src/auth/user.rs index c80a523c..38ab0631 100644 --- a/app/src/auth/user.rs +++ b/app/src/auth/user.rs @@ -1,8 +1,8 @@ use crate::server::datetime_ext::DateTimeExt; use anyhow::{anyhow, Result}; use chrono::{DateTime, FixedOffset}; -use serde::{Deserialize, Serialize}; use galaxy_graphql::{queries::get_user::FirebaseProfile, scalars::time::ServerTimestamp}; +use serde::{Deserialize, Serialize}; use super::UserUid; diff --git a/app/src/autoupdate/linux.rs b/app/src/autoupdate/linux.rs index 33f2130f..38abb252 100644 --- a/app/src/autoupdate/linux.rs +++ b/app/src/autoupdate/linux.rs @@ -3,10 +3,10 @@ use std::path::PathBuf; use anyhow::{bail, Context as _, Result}; use channel_versions::VersionInfo; -use instant::Duration; use galaxy_core::channel::{Channel, ChannelState}; use galaxy_terminal::shell::ShellType; use galaxyui::ViewContext; +use instant::Duration; use crate::workspace::Workspace; @@ -161,13 +161,13 @@ mod appimage { } mod package_manager { - use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextHeader, FormattedTextLine, - }; use galaxyui::{ elements::{Container, FormattedTextElement, HighlightedHyperlink}, Element, SingletonEntity as _, }; + use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextHeader, FormattedTextLine, + }; use crate::appearance::Appearance; diff --git a/app/src/autoupdate/mac.rs b/app/src/autoupdate/mac.rs index 4a9e7c55..74e294ac 100644 --- a/app/src/autoupdate/mac.rs +++ b/app/src/autoupdate/mac.rs @@ -3,6 +3,7 @@ use command::{blocking, r#async::Command}; use futures::{StreamExt, TryStreamExt as _}; use futures_lite::future; +use galaxy_core::safe_error; use instant::Instant; use std::{ env, @@ -13,14 +14,13 @@ use std::{ str, time::Duration, }; -use galaxy_core::safe_error; use anyhow::{anyhow, bail, ensure, Context, Result}; use channel_versions::VersionInfo; -use nix::unistd::{fchown, getgid}; -use nix::{errno::Errno, unistd::getuid}; use galaxy_core::macos::get_bundle_path; use galaxyui::{AppContext, ModelContext, SingletonEntity}; +use nix::unistd::{fchown, getgid}; +use nix::{errno::Errno, unistd::getuid}; use crate::{ appearance::AppearanceManager, diff --git a/app/src/autoupdate/mod.rs b/app/src/autoupdate/mod.rs index 4628a84d..7b3a6455 100644 --- a/app/src/autoupdate/mod.rs +++ b/app/src/autoupdate/mod.rs @@ -20,10 +20,6 @@ use crate::{ use ::channel_versions::{ParsedVersion, VersionInfo}; use anyhow::{anyhow, Context as _, Result}; use chrono::{DateTime, FixedOffset, NaiveDate}; -use rand::Rng as _; -use std::collections::VecDeque; -use std::sync::Arc; -use std::time::Duration; use galaxy_core::execution_mode::AppExecutionMode; use galaxyui::platform::TerminationMode; use galaxyui::r#async::Timer; @@ -34,6 +30,10 @@ use galaxyui::{ AppContext, }; use galaxyui::{Entity, ModelContext, SingletonEntity, ViewContext}; +use rand::Rng as _; +use std::collections::VecDeque; +use std::sync::Arc; +use std::time::Duration; pub use self::changelog::get_current_changelog; use self::channel_versions::fetch_channel_versions; diff --git a/app/src/autoupdate/windows.rs b/app/src/autoupdate/windows.rs index 6ab7815c..abb8342c 100644 --- a/app/src/autoupdate/windows.rs +++ b/app/src/autoupdate/windows.rs @@ -3,6 +3,8 @@ use anyhow::anyhow; use anyhow::{bail, Result}; use channel_versions::VersionInfo; use command::blocking::Command; +use galaxy_core::channel::{Channel, ChannelState}; +use galaxyui::AppContext; use lazy_static::lazy_static; use parking_lot::Mutex; use std::fs::File; @@ -11,8 +13,6 @@ use std::sync::Arc; use std::{fs, io}; use std::{io::Write as _, time::Duration}; use tempfile::TempPath; -use galaxy_core::channel::{Channel, ChannelState}; -use galaxyui::AppContext; use super::{release_assets_directory_url, DownloadReady}; use crate::util::windows::install_dir; diff --git a/app/src/banner/state.rs b/app/src/banner/state.rs index 669aeddc..2616f628 100644 --- a/app/src/banner/state.rs +++ b/app/src/banner/state.rs @@ -1,5 +1,5 @@ -use serde::{Deserialize, Serialize}; use galaxyui::Entity; +use serde::{Deserialize, Serialize}; #[derive( Debug, diff --git a/app/src/banner/view.rs b/app/src/banner/view.rs index 216f752f..2840a208 100644 --- a/app/src/banner/view.rs +++ b/app/src/banner/view.rs @@ -1,8 +1,5 @@ use std::{marker::PhantomData, rc::Rc}; -use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextInline, FormattedTextLine, -}; use galaxyui::elements::HyperlinkLens; use galaxyui::{ elements::{ @@ -18,6 +15,9 @@ use galaxyui::{ Action, AppContext, Element, Entity, EventContext, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextInline, FormattedTextLine, +}; use crate::{appearance::Appearance, ui_components::icons::Icon}; use pathfinder_geometry::vector::Vector2F; diff --git a/app/src/bedrock_smoke_test.rs b/app/src/bedrock_smoke_test.rs index 90d06a86..c4a8fe73 100644 --- a/app/src/bedrock_smoke_test.rs +++ b/app/src/bedrock_smoke_test.rs @@ -40,7 +40,10 @@ const POLL_INTERVAL: Duration = Duration::from_millis(2000); const MAX_WAIT: Duration = Duration::from_secs(300); pub fn schedule(ctx: &mut galaxyui::ViewContext) { - log::info!("[smoke-test] Bedrock smoke test scheduled — starting in {:?}", INITIAL_DELAY); + log::info!( + "[smoke-test] Bedrock smoke test scheduled — starting in {:?}", + INITIAL_DELAY + ); ctx.spawn( async move { Timer::after(INITIAL_DELAY).await }, @@ -296,20 +299,35 @@ fn get_finished_text( if all_text.is_empty() { log::warn!("[smoke-test] Conversation finished but no text output found"); log::warn!("[smoke-test] Conversation status: {:?}", conv.status()); - log::warn!("[smoke-test] Number of exchanges: {}", conv.exchanges_reversed().count()); + log::warn!( + "[smoke-test] Number of exchanges: {}", + conv.exchanges_reversed().count() + ); for (i, exchange) in conv.exchanges_reversed().enumerate() { match &exchange.output_status { AIAgentOutputStatus::Finished { finished_output: FinishedAIAgentOutput::Success { output }, } => { let o = output.get(); - log::warn!("[smoke-test] Exchange {}: Finished/Success, messages={}", i, o.messages.len()); + log::warn!( + "[smoke-test] Exchange {}: Finished/Success, messages={}", + i, + o.messages.len() + ); for (j, msg) in o.messages.iter().enumerate() { - log::warn!("[smoke-test] msg[{}]: type={:?}", j, std::mem::discriminant(&msg.message)); + log::warn!( + "[smoke-test] msg[{}]: type={:?}", + j, + std::mem::discriminant(&msg.message) + ); } } other => { - log::warn!("[smoke-test] Exchange {}: {:?}", i, std::mem::discriminant(other)); + log::warn!( + "[smoke-test] Exchange {}: {:?}", + i, + std::mem::discriminant(other) + ); } } } diff --git a/app/src/billing/shared_objects_creation_denied_modal.rs b/app/src/billing/shared_objects_creation_denied_modal.rs index c9d0a548..fc620e2b 100644 --- a/app/src/billing/shared_objects_creation_denied_modal.rs +++ b/app/src/billing/shared_objects_creation_denied_modal.rs @@ -6,7 +6,6 @@ use crate::themes::theme::Fill; use crate::ui_components::icons::Icon; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::workspaces::workspace::CustomerType; -use std::default::Default; use galaxy_core::ui::appearance::Appearance; use galaxyui::fonts::Weight; use galaxyui::keymap::FixedBinding; @@ -16,6 +15,7 @@ use galaxyui::AppContext; use galaxyui::SingletonEntity; use galaxyui::ViewHandle; use galaxyui::{Element, Entity, TypedActionView, View, ViewContext}; +use std::default::Default; use super::shared_objects_creation_denied_body::{ SharedObjectsCreationDeniedBody, SharedObjectsCreationDeniedBodyEvent, diff --git a/app/src/bin/generate_settings_schema.rs b/app/src/bin/generate_settings_schema.rs index bbdcefb2..0045648c 100644 --- a/app/src/bin/generate_settings_schema.rs +++ b/app/src/bin/generate_settings_schema.rs @@ -11,8 +11,10 @@ use std::io::Write; use schemars::SchemaGenerator; use serde_json::{Map, Value}; +use galaxy_core::features::{ + FeatureFlag, DEBUG_FLAGS, DOGFOOD_FLAGS, PREVIEW_FLAGS, RELEASE_FLAGS, +}; use settings::schema::SettingSchemaEntry; -use galaxy_core::features::{FeatureFlag, DEBUG_FLAGS, DOGFOOD_FLAGS, PREVIEW_FLAGS, RELEASE_FLAGS}; /// Ensures all `inventory::submit!` registrations from the app crate's /// dependency tree are linked into the binary. diff --git a/app/src/changelog_model.rs b/app/src/changelog_model.rs index 9a749ee8..5b1e7f70 100644 --- a/app/src/changelog_model.rs +++ b/app/src/changelog_model.rs @@ -1,13 +1,13 @@ use std::{collections::HashMap, fmt, sync::Arc}; use channel_versions::{Changelog, MarkdownSection}; -use itertools::Itertools; -use markdown_parser::{parse_markdown, FormattedText}; use galaxyui::{ assets::asset_cache::{AssetCache, AssetSource}, image_cache::ImageType, Entity, ModelContext, SingletonEntity, }; +use itertools::Itertools; +use markdown_parser::{parse_markdown, FormattedText}; use crate::{ autoupdate::{self}, diff --git a/app/src/chip_configurator/mod.rs b/app/src/chip_configurator/mod.rs index a61bd75c..48b58481 100644 --- a/app/src/chip_configurator/mod.rs +++ b/app/src/chip_configurator/mod.rs @@ -10,8 +10,6 @@ pub(crate) use modal_shell::{ ChipEditorMouseHandles, ChipEditorSectionsConfig, }; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ Border, ConstrainedBox, Container, CrossAxisAlignment, Dash, DispatchEventResult, Draggable, @@ -22,6 +20,8 @@ use galaxyui::fonts::Properties; use galaxyui::platform::Cursor; use galaxyui::ui_components::components::UiComponent; use galaxyui::{Action, View, ViewContext}; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::vec2f; use crate::ai::blocklist::agent_view::toolbar_item::AgentToolbarItemKind; use crate::appearance::Appearance; diff --git a/app/src/chip_configurator/modal_shell.rs b/app/src/chip_configurator/modal_shell.rs index 2d2e0ace..ccdd3705 100644 --- a/app/src/chip_configurator/modal_shell.rs +++ b/app/src/chip_configurator/modal_shell.rs @@ -5,7 +5,6 @@ //! Modal consumers wrap those sections in a title, cancel/save buttons, and blur //! overlay, while settings consumers can render the sections inline. -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ Align, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, @@ -16,6 +15,7 @@ use galaxyui::platform::Cursor; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::{Action, Element}; +use pathfinder_geometry::vector::vec2f; use super::{ChipConfigurator, ChipConfiguratorAction}; use crate::Appearance; diff --git a/app/src/cloud_object/mod.rs b/app/src/cloud_object/mod.rs index fa348abb..6282f6ab 100644 --- a/app/src/cloud_object/mod.rs +++ b/app/src/cloud_object/mod.rs @@ -53,6 +53,11 @@ use anyhow::Result; use async_trait::async_trait; use chrono::{Duration, Utc}; use derivative::Derivative; +use galaxy_core::{channel::Channel, features::FeatureFlag}; +use galaxy_graphql::{ + queries::get_updated_cloud_objects::UpdatedObjectInput, scalars::time::ServerTimestamp, +}; +use galaxyui::{AppContext, SingletonEntity}; use lazy_static::lazy_static; use regex::Regex; use std::{ @@ -62,11 +67,6 @@ use std::{ sync::Arc, }; use url::Url; -use galaxy_core::{channel::Channel, features::FeatureFlag}; -use galaxy_graphql::{ - queries::get_updated_cloud_objects::UpdatedObjectInput, scalars::time::ServerTimestamp, -}; -use galaxyui::{AppContext, SingletonEntity}; pub mod breadcrumbs; pub mod grab_edit_access_modal; diff --git a/app/src/cloud_object/model/model_test.rs b/app/src/cloud_object/model/model_test.rs index 31c46050..0fd508ba 100644 --- a/app/src/cloud_object/model/model_test.rs +++ b/app/src/cloud_object/model/model_test.rs @@ -1,7 +1,7 @@ use chrono::Utc; +use galaxyui::{App, ModelHandle}; use lazy_static::lazy_static; use settings::{RespectUserSyncSetting, SyncToCloud}; -use galaxyui::{App, ModelHandle}; use crate::auth::auth_manager::AuthManager; use crate::auth::user::TEST_USER_UID; diff --git a/app/src/cloud_object/model/persistence.rs b/app/src/cloud_object/model/persistence.rs index aafdc9af..e67954b8 100644 --- a/app/src/cloud_object/model/persistence.rs +++ b/app/src/cloud_object/model/persistence.rs @@ -21,17 +21,17 @@ use crate::workflows::workflow_enum::{CloudWorkflowEnum, CloudWorkflowEnumModel, use crate::workflows::{CloudWorkflow, CloudWorkflowModel}; use crate::workspaces::user_workspaces::UserWorkspaces; +use galaxy_graphql::scalars::time::ServerTimestamp; use itertools::Itertools; use std::collections::{HashMap, HashSet}; use std::sync::mpsc::SyncSender; -use galaxy_graphql::scalars::time::ServerTimestamp; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use crate::cloud_object::CloudObject; use chrono::{DateTime, Duration, Utc}; -use rand::Rng; use galaxy_core::features::FeatureFlag; +use rand::Rng; use super::generic_string_model::GenericStringObjectId; diff --git a/app/src/code/editor/comment_editor.rs b/app/src/code/editor/comment_editor.rs index 8a3eccff..d6d47cfd 100644 --- a/app/src/code/editor/comment_editor.rs +++ b/app/src/code/editor/comment_editor.rs @@ -14,9 +14,6 @@ use crate::ui_components::icons::Icon; use crate::view_components::action_button::{ ActionButton, ButtonSize, DangerNakedTheme, KeystrokeSource, NakedTheme, PrimaryTheme, }; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; -use std::cell::RefCell; use galaxy_core::ui::{appearance::Appearance, theme::Fill}; use galaxy_editor::render::element::VerticalExpansionBehavior; use galaxyui::{ @@ -30,6 +27,9 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; +use std::cell::RefCell; /// Default width of the comment editor, in pixels. pub(crate) const DEFAULT_COMMENT_MAX_WIDTH: f32 = 750.0; diff --git a/app/src/code/editor/diff.rs b/app/src/code/editor/diff.rs index 34832a11..e8a78f98 100644 --- a/app/src/code/editor/diff.rs +++ b/app/src/code/editor/diff.rs @@ -4,11 +4,6 @@ use std::{collections::HashMap, ops::Range, rc::Rc, sync::Arc}; use futures::stream::AbortHandle; -use itertools::Itertools; -use pathfinder_color::ColorU; -use rangemap::RangeMap; -use similar::{ChangeTag, DiffOp, TextDiff}; -use string_offset::CharOffset; use galaxy_core::ui::theme::Fill; use galaxy_editor::{ content::{edit::TemporaryBlock, version::BufferVersion}, @@ -16,6 +11,11 @@ use galaxy_editor::{ render::model::{Decoration, LineCount, LineDecoration}, }; use galaxyui::{Entity, ModelContext}; +use itertools::Itertools; +use pathfinder_color::ColorU; +use rangemap::RangeMap; +use similar::{ChangeTag, DiffOp, TextDiff}; +use string_offset::CharOffset; use super::super::DiffResult; diff --git a/app/src/code/editor/diff_tests.rs b/app/src/code/editor/diff_tests.rs index 64c5d035..831be8ad 100644 --- a/app/src/code/editor/diff_tests.rs +++ b/app/src/code/editor/diff_tests.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; +use galaxy_editor::multiline::{MultilineStr, MultilineString}; use rangemap::RangeMap; use unindent::Unindent as _; -use galaxy_editor::multiline::{MultilineStr, MultilineString}; use crate::code::editor::diff::ChangeType; diff --git a/app/src/code/editor/element.rs b/app/src/code/editor/element.rs index 6cb4df74..09c8c1e3 100644 --- a/app/src/code/editor/element.rs +++ b/app/src/code/editor/element.rs @@ -9,12 +9,6 @@ use std::{ }, }; -use parking_lot::Mutex; -use pathfinder_color::ColorU; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; use galaxy_core::ui::{ appearance::Appearance, theme::{color::internal_colors, Fill}, @@ -45,6 +39,12 @@ use galaxyui::{ AfterLayoutContext, AppContext, ClipBounds, Element, Event, EventContext, LayoutContext, ModelHandle, PaintContext, SingletonEntity, SizeConstraint, }; +use parking_lot::Mutex; +use pathfinder_color::ColorU; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; use super::diff::{DiffHunkDisplay, DiffStatus}; use super::model::DiffNavigationState; diff --git a/app/src/code/editor/embedded_comment.rs b/app/src/code/editor/embedded_comment.rs index a2a8d50a..11819e03 100644 --- a/app/src/code/editor/embedded_comment.rs +++ b/app/src/code/editor/embedded_comment.rs @@ -3,13 +3,13 @@ use std::collections::HashMap; use std::str::FromStr; use std::sync::Arc; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use serde_yaml::Mapping; -use uuid::Uuid; use galaxy_editor::content::markdown::MarkdownStyle; use galaxy_editor::editor::EmbeddedItemModel; use galaxy_editor::render::element::{RenderContext, RenderableBlock}; use galaxy_editor::render::layout::TextLayout; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use serde_yaml::Mapping; +use uuid::Uuid; use galaxy_editor::render::model::{ viewport::ViewportItem, BlockSpacing, EmbeddedItem, EmbeddedItemHTMLRepresentation, diff --git a/app/src/code/editor/embedded_comment_tests.rs b/app/src/code/editor/embedded_comment_tests.rs index 43ab5f6a..8b3c454b 100644 --- a/app/src/code/editor/embedded_comment_tests.rs +++ b/app/src/code/editor/embedded_comment_tests.rs @@ -3,9 +3,9 @@ use super::{ COMMENT_ID_MAPPING_KEY, ENTITY_ID_MAPPING_KEY, WINDOW_ID_MAPPING_KEY, }; use crate::code_review::comments::CommentId; -use serde_yaml::{Mapping, Value}; use galaxy_editor::content::markdown::MarkdownStyle; use galaxyui::{EntityId, WindowId}; +use serde_yaml::{Mapping, Value}; #[test] fn test_comment_embedded_item_conversion_valid_input() { diff --git a/app/src/code/editor/find/view.rs b/app/src/code/editor/find/view.rs index ab6e8c17..60bf670e 100644 --- a/app/src/code/editor/find/view.rs +++ b/app/src/code/editor/find/view.rs @@ -13,7 +13,6 @@ use crate::ui_components::{blended_colors, icons::Icon}; use crate::view_components::action_button::{ActionButton, DisabledSecondaryTheme, SecondaryTheme}; use crate::view_components::find::FindDirection; use crate::{features::FeatureFlag, settings::AppEditorSettings}; -use pathfinder_color::ColorU; use galaxy_editor::editor::NavigationKey; use galaxy_editor::search::{SearchEvent, Searcher}; use galaxyui::elements::MainAxisAlignment; @@ -36,6 +35,7 @@ use galaxyui::{ }; use galaxyui::{presenter::ChildView, ViewContext, ViewHandle}; use galaxyui::{FocusContext, ModelHandle}; +use pathfinder_color::ColorU; pub const FIND_BAR_WIDTH: f32 = 500.; const ICON_PADDING: f32 = 4.; diff --git a/app/src/code/editor/line.rs b/app/src/code/editor/line.rs index a5596995..d7dedd83 100644 --- a/app/src/code/editor/line.rs +++ b/app/src/code/editor/line.rs @@ -1,5 +1,5 @@ -use std::ops::Range; use galaxy_editor::render::model::{LineCount, RenderLineLocation}; +use std::ops::Range; #[derive(Debug, Clone, PartialEq, Eq)] pub enum EditorLineLocation { diff --git a/app/src/code/editor/model.rs b/app/src/code/editor/model.rs index 8d292f21..a9cdd225 100644 --- a/app/src/code/editor/model.rs +++ b/app/src/code/editor/model.rs @@ -3,14 +3,6 @@ use crate::code::editor::line_iterator::LineIterator; use crate::code_review::CodeReviewTelemetryEvent; -use num_traits::SaturatingSub; -use rangemap::{RangeMap, RangeSet}; -use std::future::Future; -use std::ops::Range; -use std::path::Path; -use std::rc::Rc; -use std::sync::Arc; -use std::{cmp, mem}; use galaxy_core::platform::SessionPlatform; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::theme::Fill; @@ -23,6 +15,14 @@ use galaxy_editor::multiline::{AnyMultilineString, MultilineString, LF}; use galaxy_editor::render::model::{AutoScrollMode, LineCount, StyleUpdateAction}; use galaxy_editor::selection::TextDirection; use galaxyui::units::{IntoPixels, Pixels}; +use num_traits::SaturatingSub; +use rangemap::{RangeMap, RangeSet}; +use std::future::Future; +use std::ops::Range; +use std::path::Path; +use std::rc::Rc; +use std::sync::Arc; +use std::{cmp, mem}; use crate::util::link_detection::get_word_range_at_offset; use crate::{ @@ -31,22 +31,6 @@ use crate::{ }; use ai::diff_validation::DiffDelta; -use itertools::Itertools; -use languages::{language_by_filename, language_by_name, Language}; -use line_ending::LineEnding; -use string_offset::CharOffset; -use syntax_tree::{ColorMap, DecorationStateEvent, SyntaxTreeState}; -use vec1::{vec1, Vec1}; -use vim::vim::{ - BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion, - InsertPosition, LineMotion, MotionType, TextObjectInclusion, TextObjectType, VimOperator, - VimTextObject, WordBound, WordMotion, WordType, -}; -use vim::{ - find_next_paragraph_end, find_previous_paragraph_start, vim_a_block, vim_a_paragraph, - vim_a_quote, vim_a_word, vim_find_char_on_line, vim_find_matching_bracket, vim_inner_block, - vim_inner_paragraph, vim_inner_quote, vim_inner_word, vim_word_iterator_from_offset, -}; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_editor::content::buffer::{ShouldAutoscroll, VimInsertPoint}; use galaxy_editor::{ @@ -73,6 +57,22 @@ use galaxyui::elements::{ }; use galaxyui::text::{point::Point, TextBuffer}; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; +use languages::{language_by_filename, language_by_name, Language}; +use line_ending::LineEnding; +use string_offset::CharOffset; +use syntax_tree::{ColorMap, DecorationStateEvent, SyntaxTreeState}; +use vec1::{vec1, Vec1}; +use vim::vim::{ + BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion, + InsertPosition, LineMotion, MotionType, TextObjectInclusion, TextObjectType, VimOperator, + VimTextObject, WordBound, WordMotion, WordType, +}; +use vim::{ + find_next_paragraph_end, find_previous_paragraph_start, vim_a_block, vim_a_paragraph, + vim_a_quote, vim_a_word, vim_find_char_on_line, vim_find_matching_bracket, vim_inner_block, + vim_inner_paragraph, vim_inner_quote, vim_inner_word, vim_word_iterator_from_offset, +}; use super::super::DiffResult; use super::comments::{EditorCommentsModel, PendingComment, PendingCommentEvent}; diff --git a/app/src/code/editor/model_tests.rs b/app/src/code/editor/model_tests.rs index ac88eade..6c8daba3 100644 --- a/app/src/code/editor/model_tests.rs +++ b/app/src/code/editor/model_tests.rs @@ -1,10 +1,10 @@ use futures::channel::oneshot; -use std::path::Path; -use vec1::vec1; use galaxy_editor::content::buffer::{InitialBufferState, SelectionOffsets}; use galaxy_editor::multiline::MultilineString; use galaxy_util::content_version::ContentVersion; use galaxyui::App; +use std::path::Path; +use vec1::vec1; use crate::{ code::editor::line::EditorLineLocation, code::editor::view::code_text_styles, diff --git a/app/src/code/editor/view.rs b/app/src/code/editor/view.rs index b0989e3e..948cefd1 100644 --- a/app/src/code/editor/view.rs +++ b/app/src/code/editor/view.rs @@ -30,16 +30,6 @@ use crate::{ view_components::find::FindDirection, }; use ai::diff_validation::DiffDelta; -use lazy_static::lazy_static; -use num_traits::SaturatingSub; -use pathfinder_geometry::vector::vec2f; -use std::fmt::Debug; -use std::rc::Rc; -use std::{collections::HashMap, ops::Range}; -use std::{collections::HashSet, path::Path}; -use string_offset::CharOffset; -use vec1::{vec1, Vec1}; -use vim::vim::{Direction, InsertPosition, VimMode, VimModel, VimState, VimSubscriber}; use galaxy_core::platform::SessionPlatform; use galaxy_editor::{ content::{ @@ -83,6 +73,16 @@ use galaxyui::{ AppContext, BlurContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, View, ViewContext, ViewHandle, WeakViewHandle, WindowId, }; +use lazy_static::lazy_static; +use num_traits::SaturatingSub; +use pathfinder_geometry::vector::vec2f; +use std::fmt::Debug; +use std::rc::Rc; +use std::{collections::HashMap, ops::Range}; +use std::{collections::HashSet, path::Path}; +use string_offset::CharOffset; +use vec1::{vec1, Vec1}; +use vim::vim::{Direction, InsertPosition, VimMode, VimModel, VimState, VimSubscriber}; mod actions; pub use actions::init; @@ -997,17 +997,18 @@ impl CodeEditorView { if let Some(results) = self.searcher.as_ref(ctx).results() { if !results.matches.is_empty() { // Convert all match ranges to selection offsets - let selection_offsets: Vec = - results - .matches - .iter() - .map(|match_result| { - galaxy_editor::content::buffer::SelectionOffsets { - head: match_result.end, - tail: match_result.start, - } - }) - .collect(); + let selection_offsets: Vec< + galaxy_editor::content::buffer::SelectionOffsets, + > = results + .matches + .iter() + .map( + |match_result| galaxy_editor::content::buffer::SelectionOffsets { + head: match_result.end, + tail: match_result.start, + }, + ) + .collect(); // Set multiple selections on the editor to highlight all matches if let Ok(selections) = vec1::Vec1::try_from_vec(selection_offsets) { diff --git a/app/src/code/editor/view/actions.rs b/app/src/code/editor/view/actions.rs index f5b73eb3..1b0a0780 100644 --- a/app/src/code/editor/view/actions.rs +++ b/app/src/code/editor/view/actions.rs @@ -12,12 +12,6 @@ use crate::{ features::FeatureFlag, notebooks::editor::model::word_unit, send_telemetry_from_ctx, util::bindings::CustomAction, }; -use lazy_static::lazy_static; -use rangemap::RangeSet; -use std::collections::{HashMap, HashSet}; -use std::fmt::Debug; -use std::ops::Range; -use string_offset::CharOffset; use galaxy_editor::{ content::version::BufferVersion, editor::{EmbeddedItemModel, RunnableCommandModel, TextDecoration}, @@ -37,6 +31,12 @@ use galaxyui::{ units::Pixels, AppContext, TypedActionView, ViewContext, WeakViewHandle, }; +use lazy_static::lazy_static; +use rangemap::RangeSet; +use std::collections::{HashMap, HashSet}; +use std::fmt::Debug; +use std::ops::Range; +use string_offset::CharOffset; /// Limit the keybindings that conflict with the Agent Mode embedded editor. const NON_EDITABLE_KEYMAP_CONTEXT: &str = "NonEditableKeymapContext"; diff --git a/app/src/code/editor/view/view_tests.rs b/app/src/code/editor/view/view_tests.rs index 6fde9194..918c764a 100644 --- a/app/src/code/editor/view/view_tests.rs +++ b/app/src/code/editor/view/view_tests.rs @@ -1,4 +1,3 @@ -use std::sync::Arc; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::render::element::VerticalExpansionBehavior; use galaxyui::{ @@ -6,6 +5,7 @@ use galaxyui::{ platform::WindowStyle, App, TypedActionView, ViewHandle, WindowId, }; +use std::sync::Arc; use crate::{ cloud_object::model::persistence::CloudModel, diff --git a/app/src/code/editor/view/vim_handler.rs b/app/src/code/editor/view/vim_handler.rs index 19cfaea0..4a1aba56 100644 --- a/app/src/code/editor/view/vim_handler.rs +++ b/app/src/code/editor/view/vim_handler.rs @@ -7,11 +7,6 @@ use crate::{ view_components::find::FindDirection, vim_registers::{RegisterContent, VimRegisters}, }; -use vim::vim::{ - BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion, - InsertPosition, LineMotion, ModeTransition, MotionType, TextObjectType, VimHandler, VimMode, - VimMotion, VimOperand, VimOperator, VimTextObject, WordMotion, -}; use galaxy_editor::{ content::buffer::{ AutoScrollBehavior, BufferEditAction, EditOrigin, SelectionOffsets, @@ -21,6 +16,11 @@ use galaxy_editor::{ selection::{TextDirection, TextUnit}, }; use galaxyui::{text::point::Point, SingletonEntity, ViewContext}; +use vim::vim::{ + BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion, + InsertPosition, LineMotion, ModeTransition, MotionType, TextObjectType, VimHandler, VimMode, + VimMotion, VimOperand, VimOperator, VimTextObject, WordMotion, +}; impl VimHandler for CodeEditorView { fn insert_char(&mut self, c: char, ctx: &mut ViewContext) { diff --git a/app/src/code/editor/view/vim_handler_tests.rs b/app/src/code/editor/view/vim_handler_tests.rs index 1af6c4c5..86bf055f 100644 --- a/app/src/code/editor/view/vim_handler_tests.rs +++ b/app/src/code/editor/view/vim_handler_tests.rs @@ -13,9 +13,6 @@ use crate::{ workspace::sync_inputs::SyncedInputState, workspaces::user_workspaces::UserWorkspaces, }; -use std::sync::Arc; -use unindent::Unindent; -use vim::vim::{MotionType, VimMode}; use galaxy_core::{features::FeatureFlag, settings::Setting, ui::appearance::Appearance}; use galaxy_editor::model::CoreEditorModel; use galaxy_editor::{ @@ -28,6 +25,9 @@ use galaxyui::{ keymap::Keystroke, platform::WindowStyle, App, SingletonEntity, TypedActionView, UpdateModel, ViewHandle, }; +use std::sync::Arc; +use unindent::Unindent; +use vim::vim::{MotionType, VimMode}; // Await render/layout completion for a CodeEditorView in tests. async fn layout_editor_view(app: &mut App, editor: &ViewHandle) { diff --git a/app/src/code/editor_management.rs b/app/src/code/editor_management.rs index b5645f0a..c178b3ce 100644 --- a/app/src/code/editor_management.rs +++ b/app/src/code/editor_management.rs @@ -5,9 +5,9 @@ use std::{ use crate::ai::skills::SkillOpenOrigin; use ai::skills::SkillReference; -use serde::{Deserialize, Serialize}; use galaxy_util::path::LineAndColumnArg; use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId}; +use serde::{Deserialize, Serialize}; use crate::{ ai::agent::AIAgentActionId, diff --git a/app/src/code/file_tree/view.rs b/app/src/code/file_tree/view.rs index 5d0963cf..25dfaa03 100644 --- a/app/src/code/file_tree/view.rs +++ b/app/src/code/file_tree/view.rs @@ -1,4 +1,6 @@ use editing::sort_entries_for_file_tree; +use galaxy_util::path::LineAndColumnArg; +use galaxy_util::standardized_path::StandardizedPath; use itertools::Itertools; use pathfinder_geometry::rect::RectF; use pathfinder_geometry::vector::Vector2F; @@ -13,10 +15,7 @@ use std::collections::{HashMap, HashSet}; use std::ops::Range; use std::path::{Path, PathBuf}; use std::sync::Arc; -use galaxy_util::path::LineAndColumnArg; -use galaxy_util::standardized_path::StandardizedPath; -use repo_metadata::repositories::DetectedRepositories; use galaxy_core::send_telemetry_from_ctx; use galaxyui::elements::{ AcceptedByDropTarget, Align, Clipped, ConstrainedBox, Container, Dismiss, Draggable, @@ -40,6 +39,7 @@ use galaxyui::{ ViewHandle, }; use galaxyui::{BlurContext, ModelHandle}; +use repo_metadata::repositories::DetectedRepositories; use crate::code::active_file::{ActiveFileEvent, ActiveFileModel}; use crate::coding_panel_enablement_state::CodingPanelEnablementState; diff --git a/app/src/code/file_tree/view/editing.rs b/app/src/code/file_tree/view/editing.rs index 3c0a06b4..5444798a 100644 --- a/app/src/code/file_tree/view/editing.rs +++ b/app/src/code/file_tree/view/editing.rs @@ -4,12 +4,12 @@ #[path = "editing_tests.rs"] mod tests; +use galaxy_util::standardized_path::StandardizedPath; +use galaxyui::{elements::MouseStateHandle, ViewContext}; use repo_metadata::file_tree_store::FileTreeEntryState; use repo_metadata::{FileMetadata, FileTreeEntry}; use std::cmp::Ordering; use std::sync::Arc; -use galaxy_util::standardized_path::StandardizedPath; -use galaxyui::{elements::MouseStateHandle, ViewContext}; use super::{FileTreeIdentifier, FileTreeItem, FileTreeView}; use crate::{ diff --git a/app/src/code/file_tree/view/editing_tests.rs b/app/src/code/file_tree/view/editing_tests.rs index 8db97ca5..bd1f1a29 100644 --- a/app/src/code/file_tree/view/editing_tests.rs +++ b/app/src/code/file_tree/view/editing_tests.rs @@ -1,8 +1,8 @@ use std::sync::Arc; +use galaxy_util::standardized_path::StandardizedPath; use repo_metadata::file_tree_store::{FileTreeDirectoryEntryState, FileTreeEntryState}; use repo_metadata::{FileMetadata, FileTreeEntry}; -use galaxy_util::standardized_path::StandardizedPath; use super::sort_entries_for_file_tree; diff --git a/app/src/code/file_tree/view/view_tests.rs b/app/src/code/file_tree/view/view_tests.rs index 5494eade..649d0734 100644 --- a/app/src/code/file_tree/view/view_tests.rs +++ b/app/src/code/file_tree/view/view_tests.rs @@ -1,5 +1,7 @@ use std::sync::Arc; +use galaxy_core::ui::appearance::Appearance; +use galaxyui::{platform::WindowStyle, App, ModelHandle}; use repo_metadata::entry::{DirectoryEntry, Entry, FileMetadata}; use repo_metadata::file_tree_store::FileTreeState; use repo_metadata::local_model::IndexedRepoState; @@ -7,8 +9,6 @@ use repo_metadata::repositories::DetectedRepositories; use repo_metadata::watcher::DirectoryWatcher; use repo_metadata::RepoMetadataModel; use virtual_fs::{Stub, VirtualFS}; -use galaxy_core::ui::appearance::Appearance; -use galaxyui::{platform::WindowStyle, App, ModelHandle}; use crate::auth::AuthStateProvider; use crate::server::server_api::{team::MockTeamClient, workspace::MockWorkspaceClient}; @@ -151,8 +151,10 @@ fn repo_transition_unregisters_lazy_loaded_path() { .unwrap() )); let displayed_std = - galaxy_util::standardized_path::StandardizedPath::try_from_local(&displayed_root) - .unwrap(); + galaxy_util::standardized_path::StandardizedPath::try_from_local( + &displayed_root, + ) + .unwrap(); assert_eq!( view.root_directories .get(&displayed_std) @@ -180,8 +182,10 @@ fn repo_transition_unregisters_lazy_loaded_path() { file_tree_view.read(&app, |view, _ctx| { let displayed_std = - galaxy_util::standardized_path::StandardizedPath::try_from_local(&displayed_root) - .unwrap(); + galaxy_util::standardized_path::StandardizedPath::try_from_local( + &displayed_root, + ) + .unwrap(); let repo_std = galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root) .unwrap(); @@ -259,8 +263,10 @@ fn repo_backed_unloaded_directory_loads_through_model() { assert!(!view .root_directories .get( - &galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root) - .unwrap() + &galaxy_util::standardized_path::StandardizedPath::try_from_local( + &repo_root + ) + .unwrap() ) .is_some_and(|root_dir| root_dir.entry.contains( &galaxy_util::standardized_path::StandardizedPath::try_from_local( @@ -284,8 +290,10 @@ fn repo_backed_unloaded_directory_loads_through_model() { assert!(view .root_directories .get( - &galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root) - .unwrap() + &galaxy_util::standardized_path::StandardizedPath::try_from_local( + &repo_root + ) + .unwrap() ) .is_some_and(|root_dir| root_dir.entry.contains( &galaxy_util::standardized_path::StandardizedPath::try_from_local( @@ -309,8 +317,10 @@ fn repo_backed_unloaded_directory_loads_through_model() { assert!(view .root_directories .get( - &galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root) - .unwrap() + &galaxy_util::standardized_path::StandardizedPath::try_from_local( + &repo_root + ) + .unwrap() ) .is_some_and(|root_dir| root_dir.entry.contains( &galaxy_util::standardized_path::StandardizedPath::try_from_local( diff --git a/app/src/code/find_references_view.rs b/app/src/code/find_references_view.rs index 0a07d909..9295ba25 100644 --- a/app/src/code/find_references_view.rs +++ b/app/src/code/find_references_view.rs @@ -5,9 +5,6 @@ use std::{collections::HashMap, path::PathBuf}; -use lsp::ReferenceLocation; -use pathfinder_geometry::vector::Vector2F; -use string_offset::CharOffset; use galaxy_core::ui::{ appearance::Appearance, icons::Icon as WarpIcon, theme::color::internal_colors, }; @@ -24,6 +21,9 @@ use galaxyui::{ prelude::Align, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use lsp::ReferenceLocation; +use pathfinder_geometry::vector::Vector2F; +use string_offset::CharOffset; use crate::search::result_renderer::ItemHighlightState; use galaxyui::ui_components::components::UiComponent; diff --git a/app/src/code/footer.rs b/app/src/code/footer.rs index 5be1dc2b..37fe249a 100644 --- a/app/src/code/footer.rs +++ b/app/src/code/footer.rs @@ -1,16 +1,14 @@ use std::collections::HashMap; use std::path::{Path, PathBuf}; +use galaxy_core::send_telemetry_from_ctx; use lsp::supported_servers::LSPServerType; use lsp::{ LanguageId, LanguageServerId, LspManagerModel, LspManagerModelEvent, LspServerModel, LspState as LspModelState, }; -use galaxy_core::send_telemetry_from_ctx; use crate::code::lsp_telemetry::{LspControlActionType, LspEnablementSource, LspTelemetryEvent}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::{Fill as ThemeFill, WarpTheme}; use galaxy_core::ui::{appearance::Appearance, Icon}; @@ -28,6 +26,8 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, View, WeakModelHandle, }; use galaxyui::{TypedActionView, ViewContext, ViewHandle}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::AnsiColorIdentifier; diff --git a/app/src/code/global_buffer_model.rs b/app/src/code/global_buffer_model.rs index a438117d..6f9b007e 100644 --- a/app/src/code/global_buffer_model.rs +++ b/app/src/code/global_buffer_model.rs @@ -6,9 +6,6 @@ use std::rc::Rc; use bimap::BiMap; use futures_util::stream::AbortHandle; -use lsp::types::TextDocumentContentChangeEvent; -use lsp::{LspManagerModel, LspServerLogLevel, LspServerModel}; -use vec1::vec1; use galaxy_core::features::FeatureFlag; use galaxy_editor::content::buffer::Buffer; use galaxy_editor::content::diff::{text_diff, TextDiff}; @@ -17,6 +14,9 @@ use galaxy_editor::content::version::BufferVersion; use galaxy_util::content_version::ContentVersion; use galaxy_util::file::{FileId, FileLoadError, FileSaveError}; use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity, WeakModelHandle}; +use lsp::types::TextDocumentContentChangeEvent; +use lsp::{LspManagerModel, LspServerLogLevel, LspServerModel}; +use vec1::vec1; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/app/src/code/language_server_extension.rs b/app/src/code/language_server_extension.rs index e5c00942..5fd98ee6 100644 --- a/app/src/code/language_server_extension.rs +++ b/app/src/code/language_server_extension.rs @@ -1,7 +1,3 @@ -use lsp::{HoverContents, LspServerLogLevel, MarkupKind}; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use num_traits::SaturatingSub; -use string_offset::CharOffset; use galaxy_core::ui::{ appearance::Appearance, theme::{color::internal_colors, WarpTheme}, @@ -18,6 +14,10 @@ use galaxyui::{ }, AppContext, Element, SingletonEntity, ViewContext, }; +use lsp::{HoverContents, LspServerLogLevel, MarkupKind}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use num_traits::SaturatingSub; +use string_offset::CharOffset; use crate::code::local_code_editor::{ HoverContentSegment, LocalCodeEditorView, LspHoverState, HOVER_TOOLTIP_MAX_HEIGHT, diff --git a/app/src/code/language_server_shutdown_manager.rs b/app/src/code/language_server_shutdown_manager.rs index 4d43e01c..81a6e45d 100644 --- a/app/src/code/language_server_shutdown_manager.rs +++ b/app/src/code/language_server_shutdown_manager.rs @@ -11,9 +11,9 @@ use std::path::{Path, PathBuf}; use std::time::Duration; use futures::stream::AbortHandle; -use lsp::LspManagerModel; use galaxyui::r#async::Timer; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; +use lsp::LspManagerModel; use crate::code::local_code_editor::LocalCodeEditorView; use crate::terminal::TerminalView; diff --git a/app/src/code/local_code_editor.rs b/app/src/code/local_code_editor.rs index 5adf1a79..25d1201f 100644 --- a/app/src/code/local_code_editor.rs +++ b/app/src/code/local_code_editor.rs @@ -10,16 +10,6 @@ use std::{ }; use futures::stream::AbortHandle; -use lsp::{ - types::FileLocation, LanguageId, LanguageServerId, LspEvent, LspManagerModel, - LspManagerModelEvent, LspServerModel, ReferenceLocation, -}; -use lsp_types::FormattingOptions; -use markdown_parser::FormattedText; -use num_traits::SaturatingSub; -use pathfinder_geometry::{rect::RectF, vector::Vector2F}; -use string_offset::CharOffset; -use vec1::Vec1; use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance}; use galaxy_editor::{ content::{buffer::InitialBufferState, text::IndentUnit}, @@ -47,6 +37,16 @@ use galaxyui::{ WindowId, }; use galaxyui::{platform::SaveFilePickerConfiguration, ModelHandle}; +use lsp::{ + types::FileLocation, LanguageId, LanguageServerId, LspEvent, LspManagerModel, + LspManagerModelEvent, LspServerModel, ReferenceLocation, +}; +use lsp_types::FormattingOptions; +use markdown_parser::FormattedText; +use num_traits::SaturatingSub; +use pathfinder_geometry::{rect::RectF, vector::Vector2F}; +use string_offset::CharOffset; +use vec1::Vec1; use crate::menu::{Event, Menu, MenuItem, MenuItemFields}; @@ -67,11 +67,11 @@ use crate::{ code_review::comments::CommentId, }; use ai::diff_validation::DiffType; +use galaxy_core::ui::icons::Icon; use pathfinder_color::ColorU; #[cfg(feature = "local_fs")] use repo_metadata::repositories::DetectedRepositories; use vim::vim::{MotionType, VimMode}; -use galaxy_core::ui::icons::Icon; use crate::ai::persisted_workspace::{PersistedWorkspace, PersistedWorkspaceEvent}; use crate::workspace::WorkspaceAction; diff --git a/app/src/code/lsp_telemetry.rs b/app/src/code/lsp_telemetry.rs index f6237599..4a88b606 100644 --- a/app/src/code/lsp_telemetry.rs +++ b/app/src/code/lsp_telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; /// The source from which the user enabled an LSP server. #[derive(Clone, Debug, Serialize, Deserialize)] diff --git a/app/src/code/mod.rs b/app/src/code/mod.rs index 6b8878a1..e9347a2c 100644 --- a/app/src/code/mod.rs +++ b/app/src/code/mod.rs @@ -1,10 +1,10 @@ +use galaxy_util::file::FileSaveError; +use galaxyui::elements::DropTargetData; +use galaxyui::AppContext; use pathfinder_geometry::rect::RectF; use std::any::Any; use std::fmt::Debug; use std::ops::AddAssign; -use galaxy_util::file::FileSaveError; -use galaxyui::elements::DropTargetData; -use galaxyui::AppContext; #[cfg(not(target_family = "wasm"))] pub mod find_references_view; diff --git a/app/src/code/opened_files.rs b/app/src/code/opened_files.rs index 998d61ba..a6d787b9 100644 --- a/app/src/code/opened_files.rs +++ b/app/src/code/opened_files.rs @@ -3,8 +3,8 @@ use std::{collections::HashMap, path::PathBuf}; -use instant::Instant; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use instant::Instant; #[derive(Default, Clone)] pub struct OpenedFilesInRepo(HashMap); diff --git a/app/src/code/view.rs b/app/src/code/view.rs index be330e0f..b4148666 100644 --- a/app/src/code/view.rs +++ b/app/src/code/view.rs @@ -22,12 +22,6 @@ use crate::terminal::view::CliAgentRouting; use crate::workspace::util::get_context_target_terminal_view; use crate::workspace::TabBarDropTargetData; use crate::{code::EditorTabBarDropTargetData, pane_group::pane::ActionOrigin}; -use lsp::LspManagerModel; -use pathfinder_color::ColorU; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::vec2f; -use std::collections::HashMap; -use std::path::{Path, PathBuf}; use galaxy_core::channel::{Channel, ChannelState}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::Appearance; @@ -38,6 +32,12 @@ use galaxyui::elements::Rect; use galaxyui::fonts::Style; use galaxyui::text::point::Point; use galaxyui::text_layout::ClipConfig; +use lsp::LspManagerModel; +use pathfinder_color::ColorU; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::vec2f; +use std::collections::HashMap; +use std::path::{Path, PathBuf}; #[cfg(feature = "local_fs")] use galaxyui::clipboard::ClipboardContent; diff --git a/app/src/code_review/code_review_header/header_revamp.rs b/app/src/code_review/code_review_header/header_revamp.rs index f62e442d..7709f3c2 100644 --- a/app/src/code_review/code_review_header/header_revamp.rs +++ b/app/src/code_review/code_review_header/header_revamp.rs @@ -11,7 +11,6 @@ use crate::code_review::code_review_view::{ use crate::code_review::diff_selector::DiffSelector; use crate::menu::Menu; use crate::view_components::action_button::ActionButton; -use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; use galaxyui::elements::{ ChildAnchor, ChildView, Clipped, ConstrainedBox, Container, CrossAxisAlignment, Flex, @@ -19,6 +18,7 @@ use galaxyui::elements::{ ParentOffsetBounds, Shrinkable, Stack, }; use galaxyui::{Element, ViewHandle}; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; diff --git a/app/src/code_review/code_review_header/mod.rs b/app/src/code_review/code_review_header/mod.rs index 5fe584ec..d1b946af 100644 --- a/app/src/code_review/code_review_header/mod.rs +++ b/app/src/code_review/code_review_header/mod.rs @@ -13,7 +13,6 @@ use crate::{ ui_components::icons::Icon, view_components::action_button::ActionButton, }; -use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; use galaxyui::elements::{Hoverable, ParentElement}; use galaxyui::platform::Cursor; @@ -31,6 +30,7 @@ use galaxyui::{ }, AppContext, Element, ModelHandle, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; // This is a best effort guess of the size of all of the elements in the header to know when we should start to wrap to the second row const HEADER_WRAP_BREAKPOINT: f32 = 450.; @@ -445,7 +445,9 @@ impl CodeReviewHeader { .build() .finish() }) - .with_tooltip_position(galaxyui::ui_components::button::ButtonTooltipPosition::AboveLeft) + .with_tooltip_position( + galaxyui::ui_components::button::ButtonTooltipPosition::AboveLeft, + ) .build() .on_click(|ctx, _, _| { ctx.dispatch_typed_action(CodeReviewAction::AddDiffSetAsContext( diff --git a/app/src/code_review/code_review_view.rs b/app/src/code_review/code_review_view.rs index 6e1fddae..04f65387 100644 --- a/app/src/code_review/code_review_view.rs +++ b/app/src/code_review/code_review_view.rs @@ -105,11 +105,6 @@ use ai::project_context::model::ProjectContextModel; use num_traits::SaturatingSub; use string_offset::CharOffset; -use indexmap::IndexMap; -use itertools::Itertools; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use rand::{distributions::Alphanumeric, Rng}; use galaxy_core::{ channel::{Channel, ChannelState}, features::FeatureFlag, @@ -153,6 +148,11 @@ use galaxyui::{ r#async::SpawnedFutureHandle, ModelHandle, WeakViewHandle, }; +use indexmap::IndexMap; +use itertools::Itertools; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use rand::{distributions::Alphanumeric, Rng}; use crate::code::footer::{CodeFooterView, CodeFooterViewEvent}; use crate::settings::AISettings; diff --git a/app/src/code_review/code_review_view_tests.rs b/app/src/code_review/code_review_view_tests.rs index 4207f5b4..8783b430 100644 --- a/app/src/code_review/code_review_view_tests.rs +++ b/app/src/code_review/code_review_view_tests.rs @@ -29,10 +29,6 @@ use crate::workspaces::user_workspaces::UserWorkspaces; use crate::NotebookKeybindings; use ai::agent::action::InsertReviewComment; use chrono::Local; -use lsp::LspManagerModel; -use repo_metadata::repositories::DetectedRepositories; -use std::path::PathBuf; -use std::sync::Arc; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::content::buffer::InitialBufferState; @@ -41,6 +37,10 @@ use galaxy_editor::render::model::LineCount; use galaxyui::elements::{Empty, MouseStateHandle}; use galaxyui::platform::WindowStyle; use galaxyui::{App, ViewHandle}; +use lsp::LspManagerModel; +use repo_metadata::repositories::DetectedRepositories; +use std::path::PathBuf; +use std::sync::Arc; #[derive(Default)] struct TestView; diff --git a/app/src/code_review/comment_list_view.rs b/app/src/code_review/comment_list_view.rs index 188a7bd7..cee3f640 100644 --- a/app/src/code_review/comment_list_view.rs +++ b/app/src/code_review/comment_list_view.rs @@ -20,15 +20,15 @@ use crate::{ appearance::Appearance, code_review::code_review_view::CodeReviewView, ui_components::icons::Icon, workspace::view::right_panel::ReviewDestination, }; +use galaxy_core::features::FeatureFlag; +use galaxy_core::ui::color::blend::Blend; +use galaxy_editor::model::CoreEditorModel; use indexmap::IndexMap; use pathfinder_color::ColorU; use pathfinder_geometry::vector::vec2f; use std::path::PathBuf; use string_offset::CharOffset; use vec1::vec1; -use galaxy_core::features::FeatureFlag; -use galaxy_core::ui::color::blend::Blend; -use galaxy_editor::model::CoreEditorModel; use galaxy_core::ui::theme::color::internal_colors::{ accent_overlay_2, accent_overlay_3, neutral_1, neutral_3, neutral_4, neutral_6, text_main, diff --git a/app/src/code_review/comment_rendering.rs b/app/src/code_review/comment_rendering.rs index 8fb072a8..0393f443 100644 --- a/app/src/code_review/comment_rendering.rs +++ b/app/src/code_review/comment_rendering.rs @@ -17,7 +17,6 @@ use crate::code_review::comments::{ use crate::editor::InteractionState; use crate::notebooks::editor::view::RichTextEditorView; use crate::util::time_format::human_readable_approx_duration; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::color::internal_colors::{neutral_1, neutral_2, text_sub}; use galaxy_core::ui::theme::Fill; use galaxy_editor::content::buffer::InitialBufferState; @@ -32,6 +31,7 @@ use galaxyui::platform::Cursor; use galaxyui::text_layout::ClipConfig; use galaxyui::units::Pixels; use galaxyui::{AppContext, Element, EventContext, SingletonEntity, View, ViewContext, ViewHandle}; +use pathfinder_color::ColorU; /// Configuration for making the comment header clickable. pub(crate) struct HeaderClickHandler { diff --git a/app/src/code_review/comments/batch.rs b/app/src/code_review/comments/batch.rs index 01997da7..f361490f 100644 --- a/app/src/code_review/comments/batch.rs +++ b/app/src/code_review/comments/batch.rs @@ -2,10 +2,10 @@ use super::{ AttachedReviewComment, AttachedReviewCommentTarget, CommentId, PendingImportedReviewComment, }; use crate::{code::editor::EditorReviewComment, code_review::diff_state::DiffMode}; -use std::{collections::HashMap, path::Path}; use galaxy_core::features::FeatureFlag; use galaxy_editor::render::model::LineCount; use galaxyui::{Entity, ModelContext}; +use std::{collections::HashMap, path::Path}; #[derive(Clone, Debug, PartialEq, Eq)] pub enum ReviewCommentBatchEvent { diff --git a/app/src/code_review/comments/comment.rs b/app/src/code_review/comments/comment.rs index d2bf55ad..8a2900fd 100644 --- a/app/src/code_review/comments/comment.rs +++ b/app/src/code_review/comments/comment.rs @@ -3,9 +3,9 @@ use crate::{ code::editor::{line::EditorLineLocation, EditorReviewComment}, }; use chrono::{DateTime, Local}; +use galaxy_editor::render::model::LineCount; use std::fmt::{Display, Formatter}; use std::path::PathBuf; -use galaxy_editor::render::model::LineCount; use warp_multi_agent_api::{self as api}; #[derive(Clone, Debug, Default, PartialEq, Eq)] diff --git a/app/src/code_review/comments/diff_hunk_parser.rs b/app/src/code_review/comments/diff_hunk_parser.rs index f81f6d67..babc0550 100644 --- a/app/src/code_review/comments/diff_hunk_parser.rs +++ b/app/src/code_review/comments/diff_hunk_parser.rs @@ -1,8 +1,8 @@ //! Utilities for parsing unified diff hunks and extracting specific line content. use ai::agent::action::CommentSide; -use num_traits::SaturatingSub; use galaxy_editor::render::model::LineCount; +use num_traits::SaturatingSub; use crate::{ code::editor::line::EditorLineLocation, diff --git a/app/src/code_review/context.rs b/app/src/code_review/context.rs index 2ae9a336..073a90cf 100644 --- a/app/src/code_review/context.rs +++ b/app/src/code_review/context.rs @@ -1,7 +1,7 @@ use crate::ai::agent::DiffSetHunk; use crate::code_review::diff_state::{DiffLineType, FileDiff}; -use std::collections::HashMap; use galaxy_editor::render::model::LineCount; +use std::collections::HashMap; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/app/src/code_review/diff_menu.rs b/app/src/code_review/diff_menu.rs index 18443105..6e31ae9e 100644 --- a/app/src/code_review/diff_menu.rs +++ b/app/src/code_review/diff_menu.rs @@ -334,7 +334,9 @@ impl CodeReviewDiffMenu { let check_slot: Box = if target.is_selected { ConstrainedBox::new( - Icon::Check.to_galaxyui_icon(Fill::Solid(text_color)).finish(), + Icon::Check + .to_galaxyui_icon(Fill::Solid(text_color)) + .finish(), ) .with_width(CHECK_SLOT_SIZE) .with_height(CHECK_SLOT_SIZE) diff --git a/app/src/code_review/diff_selector.rs b/app/src/code_review/diff_selector.rs index 5143df83..7a37af1f 100644 --- a/app/src/code_review/diff_selector.rs +++ b/app/src/code_review/diff_selector.rs @@ -1,6 +1,5 @@ //! Trigger button + [`CodeReviewDiffMenu`] overlay for picking the diff //! target in the code review header. -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -20,6 +19,7 @@ use galaxyui::{ AppContext, Entity, FocusContext, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ appearance::Appearance, diff --git a/app/src/code_review/find_model.rs b/app/src/code_review/find_model.rs index ef114a06..a1dc0fdc 100644 --- a/app/src/code_review/find_model.rs +++ b/app/src/code_review/find_model.rs @@ -2,9 +2,6 @@ use crate::code::local_code_editor::LocalCodeEditorView; use crate::code_review::code_review_view::CodeReviewView; use crate::code_review::telemetry_event::CodeReviewTelemetryEvent; use crate::view_components::find::{FindDirection, FindEvent, FindModel}; -use std::collections::HashMap; -use std::ops::Range; -use string_offset::CharOffset; #[cfg(not(target_family = "wasm"))] use galaxy_core::channel::ChannelState; use galaxy_core::send_telemetry_from_ctx; @@ -17,6 +14,9 @@ use galaxyui::WeakViewHandle; use galaxyui::{ r#async::SpawnedFutureHandle, AppContext, Entity, EntityId, ModelContext, ViewHandle, }; +use std::collections::HashMap; +use std::ops::Range; +use string_offset::CharOffset; #[derive(Debug, Clone, PartialEq, Eq)] pub struct SearchMatch { diff --git a/app/src/code_review/find_model_tests.rs b/app/src/code_review/find_model_tests.rs index 76160abb..5c57be10 100644 --- a/app/src/code_review/find_model_tests.rs +++ b/app/src/code_review/find_model_tests.rs @@ -16,16 +16,16 @@ use crate::workspace::sync_inputs::SyncedInputState; use crate::workspace::ActiveSession; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::NotebookKeybindings; -use repo_metadata::repositories::DetectedRepositories; -use std::path::PathBuf; -use std::sync::Arc; -use string_offset::CharOffset; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::content::buffer::InitialBufferState; use galaxy_editor::render::element::VerticalExpansionBehavior; use galaxyui::elements::Empty; use galaxyui::platform::WindowStyle; use galaxyui::{App, Element as _, ModelHandle, ViewHandle}; +use repo_metadata::repositories::DetectedRepositories; +use std::path::PathBuf; +use std::sync::Arc; +use string_offset::CharOffset; #[derive(Default)] struct TestView; diff --git a/app/src/code_review/git_dialog/mod.rs b/app/src/code_review/git_dialog/mod.rs index 785be0b6..8ba46b6f 100644 --- a/app/src/code_review/git_dialog/mod.rs +++ b/app/src/code_review/git_dialog/mod.rs @@ -11,7 +11,6 @@ use std::path::PathBuf; -use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ @@ -27,6 +26,7 @@ use galaxyui::{ AppContext, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; #[cfg(feature = "local_tty")] use crate::terminal::local_shell::LocalShellState; diff --git a/app/src/code_review/git_status_update.rs b/app/src/code_review/git_status_update.rs index 1a8e4369..655852c9 100644 --- a/app/src/code_review/git_status_update.rs +++ b/app/src/code_review/git_status_update.rs @@ -1,22 +1,22 @@ use galaxyui::{Entity, SingletonEntity}; -#[cfg(feature = "local_fs")] -use std::path::{Path, PathBuf}; #[cfg(feature = "local_fs")] use galaxyui::ModelContext; +#[cfg(feature = "local_fs")] +use std::path::{Path, PathBuf}; #[cfg(feature = "local_fs")] use { crate::throttle::throttle, crate::util::git::{detect_current_branch_display, detect_main_branch}, async_channel::Sender, + galaxyui::{r#async::SpawnedFutureHandle, ModelHandle, WeakModelHandle}, repo_metadata::{ repositories::DetectedRepositories, repository::{RepositorySubscriber, SubscriberId}, Repository, RepositoryUpdate, }, std::{collections::HashMap, time::Duration}, - galaxyui::{r#async::SpawnedFutureHandle, ModelHandle, WeakModelHandle}, }; #[cfg(feature = "local_fs")] diff --git a/app/src/code_review/hidden_lines.rs b/app/src/code_review/hidden_lines.rs index ab375c38..6e70dc98 100644 --- a/app/src/code_review/hidden_lines.rs +++ b/app/src/code_review/hidden_lines.rs @@ -1,9 +1,9 @@ use std::ops::Range; use ai::diff_validation::DiffDelta; -use rangemap::RangeSet; use galaxy_editor::content::text::LineCount; use galaxy_editor::render::model::LineCount as RenderLineCount; +use rangemap::RangeSet; /// The number of context lines to show before and after each change const CONTEXT_LINES: usize = 4; diff --git a/app/src/code_review/mod.rs b/app/src/code_review/mod.rs index ac8a7e0d..84ab7539 100644 --- a/app/src/code_review/mod.rs +++ b/app/src/code_review/mod.rs @@ -21,12 +21,12 @@ pub(crate) mod diff_selector; pub(crate) mod file_invalidation_queue; use code_review_view::CodeReviewAction; -use std::path::{Path, PathBuf}; use galaxyui::{ id, keymap::{EditableBinding, FixedBinding}, AppContext, Entity, EntityId, ModelContext, SingletonEntity, WeakViewHandle, WindowId, }; +use std::path::{Path, PathBuf}; use crate::code_review::telemetry_event::CodeReviewPaneEntrypoint; use crate::terminal::{view::TerminalView, CLIAgent}; diff --git a/app/src/code_review/telemetry_event.rs b/app/src/code_review/telemetry_event.rs index 5daafb0d..9de84f8e 100644 --- a/app/src/code_review/telemetry_event.rs +++ b/app/src/code_review/telemetry_event.rs @@ -1,12 +1,12 @@ use crate::server::telemetry::CLIAgentType; use crate::view_components::find::FindDirection; use crate::{code_review::diff_state::DiffMode, features::FeatureFlag}; +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::json; use serde_with::SerializeDisplay; use std::fmt::Display; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; /// Entry points for opening the code review pane. #[derive(Clone, Copy, Debug, SerializeDisplay, Default)] diff --git a/app/src/coding_entrypoints/glowing_editor.rs b/app/src/coding_entrypoints/glowing_editor.rs index 365a1a6e..7999cc62 100644 --- a/app/src/coding_entrypoints/glowing_editor.rs +++ b/app/src/coding_entrypoints/glowing_editor.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::ui::{appearance::Appearance, Icon}; use galaxyui::{ elements::{ @@ -11,6 +9,8 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; use crate::editor::{EditorOptions, EditorView, Event as EditorEvent, TextOptions}; diff --git a/app/src/coding_entrypoints/project_buttons.rs b/app/src/coding_entrypoints/project_buttons.rs index c76cf71d..e41f7172 100644 --- a/app/src/coding_entrypoints/project_buttons.rs +++ b/app/src/coding_entrypoints/project_buttons.rs @@ -1,7 +1,5 @@ use std::borrow::Cow; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::{ features::FeatureFlag, ui::{appearance::Appearance, color::blend::Blend as _, theme::color::internal_colors, Icon}, @@ -18,6 +16,8 @@ use galaxyui::{ ui_components::components::{UiComponent as _, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; use crate::util::bindings::{keybinding_name_to_display_string, BindingGroup, CustomAction}; diff --git a/app/src/completer/js.rs b/app/src/completer/js.rs index eacdee3a..a0f1e3de 100644 --- a/app/src/completer/js.rs +++ b/app/src/completer/js.rs @@ -3,10 +3,10 @@ //! This calls out to the `CallJsFunctionService` IPC service, which is served by the plugin host //! process where JS plugins are loaded and executed. use async_trait::async_trait; -use ipc::ServiceCaller; -use std::sync::Arc; use galaxy_completer::completer::{JsExecutionContext, JsExecutionError}; use galaxy_js::{JsFunctionId, SerializedJsValue}; +use ipc::ServiceCaller; +use std::sync::Arc; use crate::plugin::service::{ CallJsFunctionRequest, CallJsFunctionResponse, CallJsFunctionService, diff --git a/app/src/completer/mod.rs b/app/src/completer/mod.rs index 3094a971..51371473 100644 --- a/app/src/completer/mod.rs +++ b/app/src/completer/mod.rs @@ -8,9 +8,6 @@ use std::sync::Arc; use anyhow::Result; use async_trait::async_trait; -use lazy_static::lazy_static; -use smol_str::SmolStr; -use typed_path::{TypedPath, TypedPathBuf}; use galaxy_completer::completer::{ CommandExitStatus, CommandOutput, CompletionContext, EngineDirEntry, EngineFileType, GeneratorContext, PathCompletionContext, PathSeparators, TopLevelCommandCaseSensitivity, @@ -19,6 +16,9 @@ use galaxy_completer::signatures::CommandRegistry; use galaxy_core::features::FeatureFlag; use galaxy_util::path::{EscapeChar, ShellFamily}; use galaxyui::{AppContext, SingletonEntity}; +use lazy_static::lazy_static; +use smol_str::SmolStr; +use typed_path::{TypedPath, TypedPathBuf}; use crate::safe_warn; use crate::terminal::model::session::{ExecuteCommandOptions, Session, SessionType}; diff --git a/app/src/completer/test.rs b/app/src/completer/test.rs index c59a78b9..8489f279 100644 --- a/app/src/completer/test.rs +++ b/app/src/completer/test.rs @@ -2,14 +2,14 @@ use std::collections::{HashMap, HashSet}; use std::iter::FromIterator; use std::sync::Arc; -use itertools::Itertools; -use typed_path::TypedPathBuf; -#[cfg(windows)] -use typed_path::{UnixComponent, WindowsComponent, WindowsPrefix}; use galaxy_completer::completer::PathCompletionContext; use galaxy_completer::completer::{CompletionContext, EngineDirEntry}; use galaxy_completer::signatures::CommandRegistry; use galaxyui::App; +use itertools::Itertools; +use typed_path::TypedPathBuf; +#[cfg(windows)] +use typed_path::{UnixComponent, WindowsComponent, WindowsPrefix}; use crate::completer::SessionContext; use crate::terminal::model::session::Session; diff --git a/app/src/context_chips/current_prompt.rs b/app/src/context_chips/current_prompt.rs index 751cc3c4..d089780b 100644 --- a/app/src/context_chips/current_prompt.rs +++ b/app/src/context_chips/current_prompt.rs @@ -21,10 +21,10 @@ use crate::{ }, }; use futures::{pin_mut, FutureExt as _}; -use itertools::Itertools; -use settings::Setting as _; use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; use galaxy_core::user_preferences::GetUserPreferences; +use itertools::Itertools; +use settings::Setting as _; use super::ChipResult; use super::{ @@ -42,10 +42,6 @@ use super::{ use crate::code_review::git_status_update::{GitRepoStatusEvent, GitRepoStatusModel}; #[cfg(feature = "local_fs")] use crate::context_chips::display_chip::GitLineChanges; -use std::collections::{HashMap, HashSet}; -use std::hash::{Hash as _, Hasher as _}; -use std::sync::Arc; -use std::time::Duration; #[cfg(feature = "local_fs")] use galaxyui::WeakModelHandle; use galaxyui::{ @@ -53,6 +49,10 @@ use galaxyui::{ AppContext, ViewHandle, }; use galaxyui::{Entity, ModelAsRef, ModelContext, ModelHandle, SingletonEntity}; +use std::collections::{HashMap, HashSet}; +use std::hash::{Hash as _, Hasher as _}; +use std::sync::Arc; +use std::time::Duration; #[cfg(test)] #[path = "current_prompt_test.rs"] diff --git a/app/src/context_chips/current_prompt_test.rs b/app/src/context_chips/current_prompt_test.rs index 173bf150..9091c49a 100644 --- a/app/src/context_chips/current_prompt_test.rs +++ b/app/src/context_chips/current_prompt_test.rs @@ -6,12 +6,12 @@ use std::{ }; use async_trait::async_trait; -use itertools::Itertools; -use parking_lot::Mutex; -use settings::Setting as _; use galaxy_core::command::ExitCode; use galaxyui::{App, SingletonEntity}; use galaxyui_extras::user_preferences; +use itertools::Itertools; +use parking_lot::Mutex; +use settings::Setting as _; #[cfg(feature = "local_fs")] use crate::code_review::diff_state::DiffStats; @@ -43,9 +43,9 @@ use crate::{ History, }, }; +use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; #[cfg(feature = "local_fs")] use repo_metadata::DirectoryWatcher; -use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; use super::{ChipUpdateStatus, CurrentPrompt, PromptContext}; diff --git a/app/src/context_chips/directory_fetcher.rs b/app/src/context_chips/directory_fetcher.rs index d9b0cf72..89411e99 100644 --- a/app/src/context_chips/directory_fetcher.rs +++ b/app/src/context_chips/directory_fetcher.rs @@ -2,10 +2,10 @@ use std::cmp::Ordering; use crate::completer::SessionContext; use crate::ui_components::icons::Icon; -use typed_path::TypedPathBuf; use galaxy_completer::completer::{EngineDirEntry, EngineFileType, PathCompletionContext}; use galaxy_util::file_type::is_binary_file; use galaxyui::{r#async::SpawnedFutureHandle, AppContext, Entity, ModelContext}; +use typed_path::TypedPathBuf; use super::display_menu::GenericMenuItem; diff --git a/app/src/context_chips/display.rs b/app/src/context_chips/display.rs index 34acc2fa..9812f33d 100644 --- a/app/src/context_chips/display.rs +++ b/app/src/context_chips/display.rs @@ -12,7 +12,6 @@ use crate::{ context_chips::display_chip::DisplayChipAction, terminal::input::MenuPositioningProvider, }; -use std::path::PathBuf; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::{ @@ -22,6 +21,7 @@ use galaxyui::{ AppContext, Entity, EntityId, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use std::path::PathBuf; use super::{ display_chip::{DisplayChip, DisplayChipConfig, PromptDisplayChipEvent}, diff --git a/app/src/context_chips/display_chip.rs b/app/src/context_chips/display_chip.rs index 5050d24b..1c130ef4 100644 --- a/app/src/context_chips/display_chip.rs +++ b/app/src/context_chips/display_chip.rs @@ -24,9 +24,6 @@ use crate::util::bindings::keybinding_name_to_display_string; use crate::util::truncation::truncate_from_beginning; use crate::view_components::action_button::{ActionButtonTheme, NakedTheme}; use crate::view_components::{FeaturePopup, NewFeaturePopupEvent, NewFeaturePopupLabel}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use std::path::PathBuf; use galaxy_core::ui::theme::Fill; use galaxy_core::{features::FeatureFlag, ui::theme::color::internal_colors}; use galaxyui::elements::Empty; @@ -44,6 +41,9 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, Gradient, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use std::path::PathBuf; use crate::appearance::Appearance; use crate::completer::SessionContext; diff --git a/app/src/context_chips/display_menu.rs b/app/src/context_chips/display_menu.rs index 34bd654c..a0c509d8 100644 --- a/app/src/context_chips/display_menu.rs +++ b/app/src/context_chips/display_menu.rs @@ -702,10 +702,13 @@ impl DisplayChipMenu { let image_key = format!("env-sidecar:{}:image", data.id); let icon = |icon: Icon| { - ConstrainedBox::new(icon.to_galaxyui_icon(Fill::Solid(label_text_color)).finish()) - .with_width(ENV_SIDE_CAR_ICON_SIZE) - .with_height(ENV_SIDE_CAR_ICON_SIZE) - .finish() + ConstrainedBox::new( + icon.to_galaxyui_icon(Fill::Solid(label_text_color)) + .finish(), + ) + .with_width(ENV_SIDE_CAR_ICON_SIZE) + .with_height(ENV_SIDE_CAR_ICON_SIZE) + .finish() }; let label_text = |text: &str| { diff --git a/app/src/context_chips/logging.rs b/app/src/context_chips/logging.rs index 8f5ad68a..a3d6cc12 100644 --- a/app/src/context_chips/logging.rs +++ b/app/src/context_chips/logging.rs @@ -9,9 +9,9 @@ use std::{ }; use chrono::{Local, SecondsFormat}; +use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; #[cfg(test)] use parking_lot::Mutex; -use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; #[cfg(test)] use std::sync::Arc; diff --git a/app/src/context_chips/mod.rs b/app/src/context_chips/mod.rs index 0d3d219f..dad236f3 100644 --- a/app/src/context_chips/mod.rs +++ b/app/src/context_chips/mod.rs @@ -18,13 +18,13 @@ use std::collections::HashMap; use std::time::Duration; use context_chip::PromptGenerator; -use serde::{Deserialize, Serialize}; -use smol_str::SmolStr; use galaxyui::{ color::ColorU, elements::Text, fonts::{Properties, Weight}, }; +use serde::{Deserialize, Serialize}; +use smol_str::SmolStr; use crate::ui_components::{blended_colors, icons::Icon}; use crate::{appearance::Appearance, features::FeatureFlag, themes::theme::PromptColors}; diff --git a/app/src/context_chips/node_version_popup.rs b/app/src/context_chips/node_version_popup.rs index 454a1a9d..57b8c066 100644 --- a/app/src/context_chips/node_version_popup.rs +++ b/app/src/context_chips/node_version_popup.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::menu::{self, Event as MenuEvent, Menu, MenuItemFields}; use crate::terminal::model_events::{ModelEvent, ModelEventDispatcher}; diff --git a/app/src/context_chips/prompt.rs b/app/src/context_chips/prompt.rs index a34c1800..9c087c09 100644 --- a/app/src/context_chips/prompt.rs +++ b/app/src/context_chips/prompt.rs @@ -7,10 +7,10 @@ use crate::{ }; pub use super::ContextChipKind; +use galaxyui::{Entity, GetSingletonModelHandle, ModelContext, SingletonEntity, UpdateModel}; use itertools::Itertools; use serde::{Deserialize, Serialize}; use settings::Setting as _; -use galaxyui::{Entity, GetSingletonModelHandle, ModelContext, SingletonEntity, UpdateModel}; #[cfg(test)] #[path = "prompt_tests.rs"] diff --git a/app/src/context_chips/prompt_snapshot.rs b/app/src/context_chips/prompt_snapshot.rs index d7c1f974..ae064117 100644 --- a/app/src/context_chips/prompt_snapshot.rs +++ b/app/src/context_chips/prompt_snapshot.rs @@ -1,6 +1,6 @@ +use galaxyui::{AppContext, SingletonEntity}; use itertools::Itertools; use serde::{Deserialize, Serialize}; -use galaxyui::{AppContext, SingletonEntity}; use crate::context_chips::ContextChipKind; diff --git a/app/src/context_chips/prompt_tests.rs b/app/src/context_chips/prompt_tests.rs index 2d60fdcb..434b1d94 100644 --- a/app/src/context_chips/prompt_tests.rs +++ b/app/src/context_chips/prompt_tests.rs @@ -1,5 +1,5 @@ -use serde_json::Value; use galaxyui::{App, SingletonEntity}; +use serde_json::Value; use super::Prompt; use crate::auth::AuthStateProvider; diff --git a/app/src/context_chips/renderer.rs b/app/src/context_chips/renderer.rs index 0acf4416..43e8a0c9 100644 --- a/app/src/context_chips/renderer.rs +++ b/app/src/context_chips/renderer.rs @@ -1,6 +1,5 @@ //! The renderer for a single context chip. -use pathfinder_color::ColorU; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ ConstrainedBox, DraggableState, Hoverable, MouseStateHandle, OffsetPositioning, ParentElement, @@ -14,6 +13,7 @@ use galaxyui::{ elements::{Container, CrossAxisAlignment, Flex, Text}, Element, }; +use pathfinder_color::ColorU; use crate::appearance::Appearance; use crate::ui_components::icons; diff --git a/app/src/context_chips/renderer_test.rs b/app/src/context_chips/renderer_test.rs index dc7004ba..1b92296d 100644 --- a/app/src/context_chips/renderer_test.rs +++ b/app/src/context_chips/renderer_test.rs @@ -1,5 +1,5 @@ -use pathfinder_color::ColorU; use galaxyui::fonts::Properties; +use pathfinder_color::ColorU; use crate::context_chips::{ChipAvailability, ChipDisabledReason, ContextChipKind}; diff --git a/app/src/crash_recovery.rs b/app/src/crash_recovery.rs index 6040ba14..123f8859 100644 --- a/app/src/crash_recovery.rs +++ b/app/src/crash_recovery.rs @@ -3,12 +3,12 @@ use std::collections::HashMap; use ::settings::Setting as _; use cfg_if::cfg_if; -use lazy_static::lazy_static; -use parking_lot::RwLock; use galaxy_cli::RecoveryMechanism; use galaxy_core::channel::{Channel, ChannelState}; use galaxyui::{Entity, ModelContext, SingletonEntity, WindowId}; use galaxyui_extras::user_preferences::UserPreferences; +use lazy_static::lazy_static; +use parking_lot::RwLock; use crate::{report_if_error, settings}; diff --git a/app/src/crash_reporting/mod.rs b/app/src/crash_reporting/mod.rs index 4ff9b643..a51731ab 100644 --- a/app/src/crash_reporting/mod.rs +++ b/app/src/crash_reporting/mod.rs @@ -9,10 +9,10 @@ mod linux; use std::borrow::Cow; use std::ops::DerefMut; -use lazy_static::lazy_static; -use sentry::{ClientInitGuard, IntoDsn, SessionMode}; use galaxy_core::channel::Channel; use galaxyui::{r#async::block_on, AppContext, SingletonEntity}; +use lazy_static::lazy_static; +use sentry::{ClientInitGuard, IntoDsn, SessionMode}; use crate::antivirus::{AntivirusInfo, AntivirusInfoEvent}; use crate::auth::anonymous_id::get_or_create_anonymous_id; @@ -20,13 +20,13 @@ use crate::auth::{AuthStateProvider, UserUid}; use crate::channel::ChannelState; use crate::features::FeatureFlag; use crate::settings::{PrivacySettings, PrivacySettingsChangedEvent}; +use galaxyui::rendering::GPUDeviceInfo; +use galaxyui::windowing::state::ApplicationStage; +use galaxyui::windowing::{self, StateEvent, WindowManager}; use parking_lot::{Mutex, RwLock}; use regex::Regex; use std::collections::{BTreeMap, HashMap}; use std::sync::Arc; -use galaxyui::rendering::GPUDeviceInfo; -use galaxyui::windowing::state::ApplicationStage; -use galaxyui::windowing::{self, StateEvent, WindowManager}; #[cfg(linux_or_windows)] pub use sentry_minidump::run_server as run_minidump_server; diff --git a/app/src/crash_reporting/sentry_minidump.rs b/app/src/crash_reporting/sentry_minidump.rs index 1ac6de5c..d9e8d10e 100644 --- a/app/src/crash_reporting/sentry_minidump.rs +++ b/app/src/crash_reporting/sentry_minidump.rs @@ -24,6 +24,7 @@ use std::{ use anyhow::Context as _; use command::blocking::Command; use crash_handler::{CrashContext, CrashHandler}; +use galaxy_core::report_error; use lazy_static::lazy_static; use parking_lot::Mutex; use sentry::{ @@ -32,7 +33,6 @@ use sentry::{ }; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use galaxy_core::report_error; use super::ToSentryTags; diff --git a/app/src/debounce.rs b/app/src/debounce.rs index 457dd393..5f27e49d 100644 --- a/app/src/debounce.rs +++ b/app/src/debounce.rs @@ -1,10 +1,10 @@ use std::{pin, task, time::Duration}; use futures_lite::{ready, Stream}; +use galaxyui::r#async::Timer; use pin::Pin; use pin_project::pin_project; use task::{Context, Poll}; -use galaxyui::r#async::Timer; /// Debounce takes in a stream and limits the rate of firing events from the stream /// by bundling all events occurred within the set interval into one. diff --git a/app/src/debug_dump.rs b/app/src/debug_dump.rs index 4578b590..912722dd 100644 --- a/app/src/debug_dump.rs +++ b/app/src/debug_dump.rs @@ -61,8 +61,8 @@ pub(crate) fn run() -> anyhow::Result<()> { use crate::settings::{ init_private_user_preferences, PreferLowPowerGPU, PreferredGraphicsBackend, }; - use settings::Setting as _; use galaxyui::rendering::GPUPowerPreference; + use settings::Setting as _; let user_preferences = init_private_user_preferences(); diff --git a/app/src/default_terminal/mac.rs b/app/src/default_terminal/mac.rs index 9c0e59e2..97669c62 100644 --- a/app/src/default_terminal/mac.rs +++ b/app/src/default_terminal/mac.rs @@ -7,8 +7,8 @@ use core_foundation::{ base::TCFType, string::{CFString, CFStringRef}, }; -use objc::{class, msg_send, sel, sel_impl}; use galaxy_core::channel::{Channel, ChannelState}; +use objc::{class, msg_send, sel, sel_impl}; // Launch Services constants type LSRolesMask = u32; diff --git a/app/src/download_method.rs b/app/src/download_method.rs index 38e06569..f841fcc7 100644 --- a/app/src/download_method.rs +++ b/app/src/download_method.rs @@ -3,8 +3,8 @@ use crate::{ send_telemetry_on_executor, server::telemetry::{DownloadSource, TelemetryEvent}, }; -use std::sync::Arc; use galaxyui::r#async::executor::Background; +use std::sync::Arc; /// Determine the Warp download method (if possible) and send a telemetry event reporting that /// method diff --git a/app/src/drive/cloud_object_styling.rs b/app/src/drive/cloud_object_styling.rs index 0f037b62..b8ae1d71 100644 --- a/app/src/drive/cloud_object_styling.rs +++ b/app/src/drive/cloud_object_styling.rs @@ -1,9 +1,9 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::{ appearance::Appearance, color::{contrast::MinimumAllowedContrast, ContrastingColor}, theme::Fill, }; +use pathfinder_color::ColorU; use super::DriveObjectType; use crate::ui_components::blended_colors; diff --git a/app/src/drive/export_tests.rs b/app/src/drive/export_tests.rs index de8c40d6..9a4b68c2 100644 --- a/app/src/drive/export_tests.rs +++ b/app/src/drive/export_tests.rs @@ -6,10 +6,10 @@ use std::{ }; use futures::channel::oneshot; -use parking_lot::Mutex; -use tempfile::TempDir; use galaxy_util::path::ShellFamily; use galaxyui::{AddSingletonModel, App, SingletonEntity, WindowId}; +use parking_lot::Mutex; +use tempfile::TempDir; use crate::{ cloud_object::{ diff --git a/app/src/drive/import/modal.rs b/app/src/drive/import/modal.rs index 38aae7f5..da947eb8 100644 --- a/app/src/drive/import/modal.rs +++ b/app/src/drive/import/modal.rs @@ -5,7 +5,6 @@ use crate::{ themes::theme::WarpTheme, workspaces::user_workspaces::UserWorkspaces, }; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -22,6 +21,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use super::modal_body::{ImportModalBody, ImportModalBodyAction, ImportModalBodyEvent}; diff --git a/app/src/drive/import/modal_body.rs b/app/src/drive/import/modal_body.rs index 8abc5ba2..9dfc9560 100644 --- a/app/src/drive/import/modal_body.rs +++ b/app/src/drive/import/modal_body.rs @@ -1,6 +1,4 @@ use futures_util::stream::AbortHandle; -use pathfinder_geometry::vector::vec2f; -use std::path::PathBuf; use galaxyui::{ elements::{ Align, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, @@ -13,6 +11,8 @@ use galaxyui::{ }, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; +use std::path::PathBuf; use crate::{ appearance::Appearance, diff --git a/app/src/drive/import/nodes.rs b/app/src/drive/import/nodes.rs index 83a4cb5c..29971f0c 100644 --- a/app/src/drive/import/nodes.rs +++ b/app/src/drive/import/nodes.rs @@ -8,13 +8,6 @@ use crate::{ use anyhow::Result; use async_recursion::async_recursion; use futures_lite::StreamExt; -use pathfinder_color::ColorU; -use std::{ - collections::HashMap, - ffi::OsStr, - ops::{Add, AddAssign, SubAssign}, - path::{Path, PathBuf}, -}; use galaxyui::{ elements::{ Align, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable, @@ -24,6 +17,13 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, Element, }; +use pathfinder_color::ColorU; +use std::{ + collections::HashMap, + ffi::OsStr, + ops::{Add, AddAssign, SubAssign}, + path::{Path, PathBuf}, +}; use crate::{ appearance::Appearance, notebooks::file::is_markdown_file, server::ids::ClientId, @@ -553,9 +553,10 @@ impl FileNode { let icon_element = match &self.file_type { FileType::Workflow => Icon::Workflow - .to_galaxyui_icon(Fill::Solid(override_color.unwrap_or( - warp_drive_icon_color(appearance, DriveObjectType::Workflow), - ))) + .to_galaxyui_icon(Fill::Solid( + override_color + .unwrap_or(warp_drive_icon_color(appearance, DriveObjectType::Workflow)), + )) .finish(), FileType::Notebook => Icon::Notebook .to_galaxyui_icon(Fill::Solid(override_color.unwrap_or( diff --git a/app/src/drive/index.rs b/app/src/drive/index.rs index bf89ff96..17102f72 100644 --- a/app/src/drive/index.rs +++ b/app/src/drive/index.rs @@ -76,12 +76,9 @@ use super::{ use crate::drive::panel::DrivePanelAction; use crate::server::cloud_objects::update_manager::InitiatedBy; use futures::Future; -use itertools::Itertools; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use std::{any::Any, collections::HashMap, sync::Arc}; -use url::Url; -use galaxy_core::{context_flag::ContextFlag, settings::Setting, ui::theme::color::internal_colors}; +use galaxy_core::{ + context_flag::ContextFlag, settings::Setting, ui::theme::color::internal_colors, +}; use galaxyui::{ clipboard::ClipboardContent, elements::{ @@ -104,6 +101,11 @@ use galaxyui::{ AppContext, BlurContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, UpdateView, View, ViewContext, ViewHandle, WindowId, }; +use itertools::Itertools; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use std::{any::Any, collections::HashMap, sync::Arc}; +use url::Url; const WARP_DRIVE_TITLE: &str = "Warp Drive"; @@ -1839,7 +1841,9 @@ impl DriveIndex { if let Some(focused_index) = self.focused_index { if Some(&WarpDriveItemId::Trash) == self.ordered_items.get(focused_index) { container = container.with_background( - galaxy_core::ui::theme::color::internal_colors::fg_overlay_4(appearance.theme()), + galaxy_core::ui::theme::color::internal_colors::fg_overlay_4( + appearance.theme(), + ), ); is_focused = true; } @@ -2935,7 +2939,10 @@ impl DriveIndex { .finish() } - fn render_warp_drive_loading_icon(&self, appearance: &Appearance) -> Box { + fn render_warp_drive_loading_icon( + &self, + appearance: &Appearance, + ) -> Box { // Use same padding as icon_button (4px) to center the icon within ICON_DIMENSIONS let icon_button_padding = (ICON_DIMENSIONS - LOADING_ICON_WIDTH) / 2.; let loading_icon = Container::new( diff --git a/app/src/drive/items/env_var_collection.rs b/app/src/drive/items/env_var_collection.rs index 724c0ba0..5184b932 100644 --- a/app/src/drive/items/env_var_collection.rs +++ b/app/src/drive/items/env_var_collection.rs @@ -1,4 +1,3 @@ -use itertools::Itertools; use galaxy_core::context_flag::ContextFlag; use galaxyui::{ elements::{Clipped, Container, Flex, MouseStateHandle, ParentElement}, @@ -6,6 +5,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use itertools::Itertools; use crate::{ appearance::Appearance, diff --git a/app/src/drive/items/item.rs b/app/src/drive/items/item.rs index e53a5cff..1e089d4f 100644 --- a/app/src/drive/items/item.rs +++ b/app/src/drive/items/item.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use galaxyui::{ elements::{ AcceptedByDropTarget, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, @@ -16,6 +15,7 @@ use galaxyui::{ }, AppContext, Element, SingletonEntity, ViewHandle, }; +use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use crate::{ cloud_object::{ diff --git a/app/src/drive/items/workflow.rs b/app/src/drive/items/workflow.rs index b156b84a..6776f190 100644 --- a/app/src/drive/items/workflow.rs +++ b/app/src/drive/items/workflow.rs @@ -70,8 +70,8 @@ impl WarpDriveItem for WarpDriveWorkflow { } fn preview(&self, appearance: &Appearance) -> Option> { - let mut modal = - Flex::column().with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Stretch); + let mut modal = Flex::column() + .with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Stretch); let mut text = Flex::column() .with_child(Container::new(self.render_workflow_name(appearance)).finish()); diff --git a/app/src/drive/mod.rs b/app/src/drive/mod.rs index c4899f02..abf88532 100644 --- a/app/src/drive/mod.rs +++ b/app/src/drive/mod.rs @@ -15,11 +15,11 @@ pub mod workflows; use std::{cmp::Ordering, fmt}; +use galaxy_core::user_preferences::GetUserPreferences as _; +use galaxyui::AppContext; pub use index::DriveIndexVariant; pub use panel::{DrivePanel, DrivePanelEvent}; use serde::{Deserialize, Serialize}; -use galaxy_core::user_preferences::GetUserPreferences as _; -use galaxyui::AppContext; use crate::{ cloud_object::{ diff --git a/app/src/drive/settings.rs b/app/src/drive/settings.rs index 615c54d7..f921716f 100644 --- a/app/src/drive/settings.rs +++ b/app/src/drive/settings.rs @@ -1,7 +1,7 @@ +use galaxy_core::features::FeatureFlag; use settings::{ macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud, }; -use galaxy_core::features::FeatureFlag; use super::DriveSortOrder; diff --git a/app/src/drive/sharing/dialog/mod.rs b/app/src/drive/sharing/dialog/mod.rs index 30b18b3c..bf49bc19 100644 --- a/app/src/drive/sharing/dialog/mod.rs +++ b/app/src/drive/sharing/dialog/mod.rs @@ -32,10 +32,6 @@ use crate::workspace::ToastStack; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::TelemetryEvent; use email_address::EmailAddress; -use inheritance::{InheritanceDetails, InheritanceState}; -use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; -use session_sharing_protocol::common::{Guest, PendingGuest, SessionId, TeamAclData}; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::{ @@ -60,6 +56,10 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use inheritance::{InheritanceDetails, InheritanceState}; +use itertools::Itertools; +use pathfinder_geometry::vector::vec2f; +use session_sharing_protocol::common::{Guest, PendingGuest, SessionId, TeamAclData}; use super::{ style, ContentEditability, LinkSharingSubjectType, ShareableObject, SharingAccessLevel, diff --git a/app/src/drive/sharing/mod.rs b/app/src/drive/sharing/mod.rs index 0f4fd30e..7bf25c68 100644 --- a/app/src/drive/sharing/mod.rs +++ b/app/src/drive/sharing/mod.rs @@ -1,13 +1,13 @@ use std::borrow::Cow; use chrono::{DateTime, Local}; -use session_sharing_protocol::common::SessionId; use galaxy_core::{channel::ChannelState, ui::appearance::Appearance}; use galaxyui::{ color::ColorU, ui_components::components::{UiComponent, UiComponentStyles}, AppContext, SingletonEntity, WeakViewHandle, }; +use session_sharing_protocol::common::SessionId; use crate::{ ai::{agent::conversation::AIConversationId, blocklist::BlocklistAIHistoryModel}, diff --git a/app/src/drive/workflows/ai_assist.rs b/app/src/drive/workflows/ai_assist.rs index c01a0b06..34181a31 100644 --- a/app/src/drive/workflows/ai_assist.rs +++ b/app/src/drive/workflows/ai_assist.rs @@ -1,9 +1,9 @@ -use itertools::Itertools; -use serde::{Deserialize, Serialize}; use galaxy_graphql::mutations::generate_metadata_for_command::{ GenerateMetadataForCommandFailureType, GenerateMetadataForCommandSuccess, }; use galaxyui::{SingletonEntity, ViewContext}; +use itertools::Itertools; +use serde::{Deserialize, Serialize}; use crate::{ ai::AIRequestUsageModel, diff --git a/app/src/drive/workflows/enum_creation_dialog.rs b/app/src/drive/workflows/enum_creation_dialog.rs index 3809193d..1f46239e 100644 --- a/app/src/drive/workflows/enum_creation_dialog.rs +++ b/app/src/drive/workflows/enum_creation_dialog.rs @@ -1,7 +1,5 @@ use std::rc::Rc; -use strum::IntoEnumIterator; -use strum_macros::{EnumIter, IntoStaticStr}; use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance}; use galaxy_editor::editor::NavigationKey; use galaxyui::{ @@ -18,6 +16,8 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use strum::IntoEnumIterator; +use strum_macros::{EnumIter, IntoStaticStr}; use crate::{ cloud_object::{model::persistence::CloudModel, Revision}, diff --git a/app/src/drive/workflows/modal.rs b/app/src/drive/workflows/modal.rs index 1b636cf4..9a3d8546 100644 --- a/app/src/drive/workflows/modal.rs +++ b/app/src/drive/workflows/modal.rs @@ -2,9 +2,6 @@ use std::collections::HashMap; use std::collections::HashSet; use std::{cmp::Ordering, sync::Arc}; -use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; -use string_offset::CharOffset; use galaxy_core::ui::theme::Fill; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::Clipped; @@ -27,6 +24,9 @@ use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, UpdateView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use pathfinder_geometry::vector::vec2f; +use string_offset::CharOffset; use crate::auth::UserUid; use crate::{ diff --git a/app/src/drive/workflows/workflow_arg_selector.rs b/app/src/drive/workflows/workflow_arg_selector.rs index acafdab8..88afea7b 100644 --- a/app/src/drive/workflows/workflow_arg_selector.rs +++ b/app/src/drive/workflows/workflow_arg_selector.rs @@ -1,6 +1,3 @@ -use itertools::Itertools; -use std::{collections::HashMap, rc::Rc}; -use strum::IntoEnumIterator; use galaxy_core::ui::{appearance::Appearance, theme::Fill}; use galaxy_editor::editor::NavigationKey; use galaxyui::{ @@ -19,6 +16,9 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use std::{collections::HashMap, rc::Rc}; +use strum::IntoEnumIterator; use crate::{ editor::{ diff --git a/app/src/editor/accept_autosuggestion_keybinding_view.rs b/app/src/editor/accept_autosuggestion_keybinding_view.rs index 1e1e988f..50b60ff2 100644 --- a/app/src/editor/accept_autosuggestion_keybinding_view.rs +++ b/app/src/editor/accept_autosuggestion_keybinding_view.rs @@ -11,8 +11,6 @@ use crate::util::bindings::{ keybinding_name_to_keystroke, reset_keybinding_to_default, set_custom_keybinding, }; use crate::workspace::WorkspaceAction; -use lazy_static::lazy_static; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{Border, ChildView, Flex, ParentElement}; use galaxyui::elements::{ @@ -31,6 +29,8 @@ use galaxyui::{ AppContext, SingletonEntity, }; use galaxyui::{Entity, TypedActionView, View, ViewHandle}; +use lazy_static::lazy_static; +use pathfinder_geometry::vector::vec2f; use super::EditorElement; diff --git a/app/src/editor/autosuggestion_ignore_view.rs b/app/src/editor/autosuggestion_ignore_view.rs index 34945213..1670a094 100644 --- a/app/src/editor/autosuggestion_ignore_view.rs +++ b/app/src/editor/autosuggestion_ignore_view.rs @@ -3,7 +3,6 @@ use crate::appearance::Appearance; use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ ChildAnchor, ConstrainedBox, Container, CornerRadius, Element, Hoverable, MouseStateHandle, @@ -13,6 +12,7 @@ use galaxyui::platform::Cursor; use galaxyui::ui_components::components::UiComponent; use galaxyui::{Entity, TypedActionView, View}; use galaxyui::{SingletonEntity, ViewContext}; +use pathfinder_geometry::vector::vec2f; use super::EditorElement; diff --git a/app/src/editor/mod.rs b/app/src/editor/mod.rs index 93c1dde9..be7767a4 100644 --- a/app/src/editor/mod.rs +++ b/app/src/editor/mod.rs @@ -3,14 +3,14 @@ pub mod autosuggestion_ignore_view; mod soft_wrap; mod view; +pub use galaxyui::text::point::Point; /// Consumers of the editor should only interface with the view. /// They should _not_ be able to interface with the internal /// details of the editor (e.g. the [`Buffer`]). pub use view::*; -pub use galaxyui::text::point::Point; -use std::{cmp, ops::Range}; use galaxyui::AppContext; +use std::{cmp, ops::Range}; pub fn init(app: &mut AppContext) { view::init(app); diff --git a/app/src/editor/view/element.rs b/app/src/editor/view/element.rs index 23162d92..2c7fa037 100644 --- a/app/src/editor/view/element.rs +++ b/app/src/editor/view/element.rs @@ -17,12 +17,6 @@ use crate::editor::position_id_for_first_cursor; use crate::settings::CursorDisplayType; use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon; -use itertools::Itertools; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; -use vim::vim::{MotionType, VimMode}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::DEFAULT_UI_FONT_SIZE; use galaxy_util::user_input::UserInput; @@ -33,17 +27,15 @@ use galaxyui::text_selection_utils::{ }; use galaxyui::ViewHandle; use galaxyui::{event::ModifiersState, text_layout::ComputeBaselinePositionArgs}; +use itertools::Itertools; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; +use vim::vim::{MotionType, VimMode}; use crate::editor::view::AutosuggestionLocation; use crate::themes::theme::Fill; -use smallvec::SmallVec; -use std::collections::HashMap; -use std::{ - cmp, mem, - ops::Range, - sync::{Arc, Mutex}, - time::Duration, -}; use galaxyui::{ elements::{ AfterLayoutContext, CornerRadius, Element, Event, EventContext, LayoutContext, @@ -55,14 +47,22 @@ use galaxyui::{ ui_components::components::UiComponent, AppContext, SingletonEntity, TaskId, }; +use smallvec::SmallVec; +use std::collections::HashMap; +use std::{ + cmp, mem, + ops::Range, + sync::{Arc, Mutex}, + time::Duration, +}; use galaxyui::elements::{ ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, ParentElement, Text, }; use galaxyui::platform::keyboard::KeyCode; -use instant::Instant; use galaxyui::elements::{Radius, DEFAULT_UI_LINE_HEIGHT_RATIO}; +use instant::Instant; // Similar to the terminal::model::ansi::CursorShape, this Editor Element has different cursor // shapes. However, this element doesn't implement all the same variants, so we don't share that diff --git a/app/src/editor/view/marked_text_tests.rs b/app/src/editor/view/marked_text_tests.rs index 0b2b6be5..6d176523 100644 --- a/app/src/editor/view/marked_text_tests.rs +++ b/app/src/editor/view/marked_text_tests.rs @@ -1,6 +1,6 @@ -use vim::vim::VimMode; use galaxy_core::features::FeatureFlag; use galaxyui::{keymap::Keystroke, platform::WindowStyle, App}; +use vim::vim::VimMode; use crate::editor::{DisplayPoint, EditorOptions, EditorView}; diff --git a/app/src/editor/view/mod.rs b/app/src/editor/view/mod.rs index 33a1992b..b5bcfe95 100644 --- a/app/src/editor/view/mod.rs +++ b/app/src/editor/view/mod.rs @@ -26,6 +26,12 @@ use crate::view_components::FeaturePopup; use base64::{engine::general_purpose, Engine as _}; use element::CommandXRayMouseStateHandle; use figma_utils::is_figma_png; +use galaxy_core::{safe_error, send_telemetry_from_ctx}; +use galaxy_util::{path::ShellFamily, user_input::UserInput}; +use galaxyui::platform::keyboard::KeyCode; +use galaxyui::ui_components::button::ButtonTooltipPosition; +use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; +use galaxyui::{elements, ViewHandle}; use itertools::{Either, Itertools}; use mime_guess::from_path; use model::{ @@ -38,12 +44,6 @@ use pathfinder_color::ColorU; use settings::Setting as _; use snapshot::{EditorHeightShrinkDelay, ViewSnapshot}; use vec1::{vec1, Vec1}; -use galaxy_core::{safe_error, send_telemetry_from_ctx}; -use galaxy_util::{path::ShellFamily, user_input::UserInput}; -use galaxyui::platform::keyboard::KeyCode; -use galaxyui::ui_components::button::ButtonTooltipPosition; -use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; -use galaxyui::{elements, ViewHandle}; use crate::ai::agent::ImageContext; use crate::ai::blocklist::{BlocklistAIContextModel, PendingAttachment, PendingFile}; @@ -86,6 +86,7 @@ use crate::util::merge_ranges; use crate::{workspace::Workspace, BlocklistAIHistoryModel}; use anyhow::Result; use core::f32; +use galaxy_core::semantic_selection::SemanticSelection; use std::path::Path; use vim::vim::{ BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion, @@ -97,23 +98,12 @@ use vim::{ vim_a_block, vim_a_paragraph, vim_a_quote, vim_a_word, vim_inner_block, vim_inner_paragraph, vim_inner_quote, vim_inner_word, vim_word_iterator_from_offset, }; -use galaxy_core::semantic_selection::SemanticSelection; use num_traits::SaturatingSub; use parking_lot::Mutex; use pathfinder_geometry::vector::Vector2F; use async_fs; -use std::collections::HashMap; -use std::{borrow::Cow, rc::Rc}; -use std::{ - cmp::{self, Ordering}, - fmt, - ops::Range, - sync::Arc, - time::Duration, -}; -use string_offset::{ByteOffset, CharOffset}; use galaxy_completer::completer::Description; use galaxy_editor::editor::NavigationKey; use galaxyui::actions::StandardAction; @@ -139,6 +129,16 @@ use galaxyui::{ }; use galaxyui::{windowing, BlurContext, EntityId, FocusContext}; use galaxyui::{CursorInfo, ModelContext, SingletonEntity, TypedActionView}; +use std::collections::HashMap; +use std::{borrow::Cow, rc::Rc}; +use std::{ + cmp::{self, Ordering}, + fmt, + ops::Range, + sync::Arc, + time::Duration, +}; +use string_offset::{ByteOffset, CharOffset}; const CURSOR_BLINK_INTERVAL: Duration = Duration::from_millis(500); const DEFAULT_TAB_SIZE: usize = 4; diff --git a/app/src/editor/view/mod_test.rs b/app/src/editor/view/mod_test.rs index 1ef39b15..34c80951 100644 --- a/app/src/editor/view/mod_test.rs +++ b/app/src/editor/view/mod_test.rs @@ -12,15 +12,15 @@ use crate::workspace::sync_inputs::SyncedInputState; use crate::workspace::ToastStack; use crate::workspaces::user_workspaces::UserWorkspaces; use anyhow::Error; -use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; -use settings::ToggleableSetting; -use unindent::Unindent; use galaxyui::color::ColorU; use galaxyui::platform::WindowStyle; use galaxyui::text_layout::TextFrame; use galaxyui::windowing::WindowManager; use galaxyui::{AddSingletonModel, App, UpdateModel, UpdateView}; +use itertools::Itertools; +use pathfinder_geometry::vector::vec2f; +use settings::ToggleableSetting; +use unindent::Unindent; impl EditorView { fn selected_ranges(&self, app: &AppContext) -> Vec> { diff --git a/app/src/editor/view/model/buffer/mod.rs b/app/src/editor/view/model/buffer/mod.rs index 955b6ec4..9cb0ef53 100644 --- a/app/src/editor/view/model/buffer/mod.rs +++ b/app/src/editor/view/model/buffer/mod.rs @@ -25,6 +25,10 @@ use super::EditorSnapshot; use super::{selections::LocalSelections, LocalSelection}; use crate::editor::{CursorColors, PlainTextEditorViewAction}; use anyhow::{anyhow, Result}; +use galaxyui::color::ColorU; +use galaxyui::text::{point::Point, words::is_default_word_boundary, BufferIndex, TextBuffer}; +use galaxyui::text_layout::TextStyle; +use galaxyui::{Entity, ModelContext}; use itertools::Itertools; use lazy_static::lazy_static; use serde::{Deserialize, Serialize}; @@ -42,10 +46,6 @@ use sum_tree::{self, Cursor, FilterCursor, SeekBias, SumTree}; use time::{Global, Lamport}; use undo::{LocalUndoStack, UndoHistory}; use vec1::{vec1, Vec1}; -use galaxyui::color::ColorU; -use galaxyui::text::{point::Point, words::is_default_word_boundary, BufferIndex, TextBuffer}; -use galaxyui::text_layout::TextStyle; -use galaxyui::{Entity, ModelContext}; #[cfg(test)] use rand::prelude::*; diff --git a/app/src/editor/view/model/buffer/mod_test.rs b/app/src/editor/view/model/buffer/mod_test.rs index f2bb1ed2..c9da82dc 100644 --- a/app/src/editor/view/model/buffer/mod_test.rs +++ b/app/src/editor/view/model/buffer/mod_test.rs @@ -9,13 +9,13 @@ use test::Network; use super::*; use enclose::enclose; use futures::StreamExt; +use galaxyui::{color::ColorU, App, ModelHandle}; use rand::prelude::StdRng; use std::{ cmp::Ordering, collections::HashSet, pin::{pin, Pin}, }; -use galaxyui::{color::ColorU, App, ModelHandle}; fn visible_text_styles(buffer: &Buffer) -> Vec> { buffer diff --git a/app/src/editor/view/model/buffer/subword_boundaries.rs b/app/src/editor/view/model/buffer/subword_boundaries.rs index d28b4004..5c66dd23 100644 --- a/app/src/editor/view/model/buffer/subword_boundaries.rs +++ b/app/src/editor/view/model/buffer/subword_boundaries.rs @@ -1,9 +1,9 @@ use super::{CharOffset, Point}; -use itertools::Either; -use std::iter::Peekable; use galaxyui::text::{ word_boundaries::WordBoundariesApproach, words::is_subword_boundary_char, TextBuffer, }; +use itertools::Either; +use std::iter::Peekable; pub struct SubwordBoundaries<'a, T: TextBuffer + ?Sized> { offset: CharOffset, diff --git a/app/src/editor/view/model/buffer/text.rs b/app/src/editor/view/model/buffer/text.rs index 174b4801..310e02c1 100644 --- a/app/src/editor/view/model/buffer/text.rs +++ b/app/src/editor/view/model/buffer/text.rs @@ -1,4 +1,6 @@ use arrayvec::ArrayVec; +use galaxyui::text::point::Point; +use galaxyui::text_layout::TextStyle; use num_traits::SaturatingSub; use std::{ cmp, @@ -8,8 +10,6 @@ use std::{ }; use string_offset::{ByteOffset, CharOffset}; use sum_tree::{self, SeekBias, SumTree}; -use galaxyui::text::point::Point; -use galaxyui::text_layout::TextStyle; #[derive(Copy, Clone, Debug, Eq, PartialEq)] enum Run { diff --git a/app/src/editor/view/model/display_map/fold_map.rs b/app/src/editor/view/model/display_map/fold_map.rs index 95d17381..44308d19 100644 --- a/app/src/editor/view/model/display_map/fold_map.rs +++ b/app/src/editor/view/model/display_map/fold_map.rs @@ -3,6 +3,8 @@ use super::buffer::StylizedChar; use super::{buffer, Anchor, Buffer, DisplayPoint, Edit, Point, ToCharOffset}; use crate::util::extensions::SliceExt as _; use anyhow::{anyhow, Result}; +use galaxyui::text_layout::TextStyle; +use galaxyui::{AppContext, ModelHandle}; use std::{ cmp::{self, Ordering}, iter::Take, @@ -10,8 +12,6 @@ use std::{ }; use string_offset::CharOffset; use sum_tree::{self, Cursor, Dimension, SeekBias, SumTree}; -use galaxyui::text_layout::TextStyle; -use galaxyui::{AppContext, ModelHandle}; pub struct FoldMap { buffer: ModelHandle, diff --git a/app/src/editor/view/model/display_map/fold_map_test.rs b/app/src/editor/view/model/display_map/fold_map_test.rs index 999405e9..e0a28085 100644 --- a/app/src/editor/view/model/display_map/fold_map_test.rs +++ b/app/src/editor/view/model/display_map/fold_map_test.rs @@ -1,8 +1,8 @@ use super::*; use crate::editor::tests::{sample_text, RandomCharIter}; use crate::editor::EditOrigin; -use tests::buffer::RangesWhenEditing; use galaxyui::App; +use tests::buffer::RangesWhenEditing; #[test] fn test_basic_folds() -> Result<()> { diff --git a/app/src/editor/view/model/display_map/mod.rs b/app/src/editor/view/model/display_map/mod.rs index b78892dd..9170d85e 100644 --- a/app/src/editor/view/model/display_map/mod.rs +++ b/app/src/editor/view/model/display_map/mod.rs @@ -5,11 +5,11 @@ use crate::editor::soft_wrap::{self, DisplayPointAndClampDirection, SoftWrapPoin use anyhow::{Context, Result}; pub use fold_map::BufferRows; use fold_map::FoldMap; +use galaxyui::text::point::Point; +use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; use std::cmp; use std::ops::Range; use string_offset::CharOffset; -use galaxyui::text::point::Point; -use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; #[derive(Copy, Clone)] pub enum Bias { diff --git a/app/src/editor/view/model/mod.rs b/app/src/editor/view/model/mod.rs index 44f1e809..07cd82e0 100644 --- a/app/src/editor/view/model/mod.rs +++ b/app/src/editor/view/model/mod.rs @@ -26,9 +26,6 @@ use std::{ rc::Rc, }; -use num_traits::SaturatingSub; -use string_offset::{ByteOffset, CharOffset}; -use vec1::{vec1, Vec1}; use galaxyui::{ accessibility::{AccessibilityContent, WarpA11yRole}, text_layout::TextStyle, @@ -38,6 +35,9 @@ use galaxyui::{ text::{point::Point, word_boundaries::WordBoundariesPolicy, TextBuffer}, SingletonEntity, }; +use num_traits::SaturatingSub; +use string_offset::{ByteOffset, CharOffset}; +use vec1::{vec1, Vec1}; use crate::{editor::RangeExt, vim_registers::VimRegisters}; diff --git a/app/src/editor/view/model/mod_test.rs b/app/src/editor/view/model/mod_test.rs index 134692b6..c5683fbf 100644 --- a/app/src/editor/view/model/mod_test.rs +++ b/app/src/editor/view/model/mod_test.rs @@ -1,5 +1,5 @@ -use string_offset::{ByteOffset, CharOffset}; use galaxyui::{text_layout::TextStyle, App}; +use string_offset::{ByteOffset, CharOffset}; use crate::editor::{EditorSnapshot, PlainTextEditorViewAction, TextRun, ValidInputType}; diff --git a/app/src/editor/view/model/selections.rs b/app/src/editor/view/model/selections.rs index 37e76d7b..834020b2 100644 --- a/app/src/editor/view/model/selections.rs +++ b/app/src/editor/view/model/selections.rs @@ -1,11 +1,11 @@ use std::{cmp::Ordering, mem, ops::Range}; +use galaxyui::text::point::Point; +use galaxyui::AppContext; use pathfinder_geometry::vector::Vector2F; use serde::{Deserialize, Serialize}; use string_offset::{ByteOffset, CharOffset}; use vec1::Vec1; -use galaxyui::text::point::Point; -use galaxyui::AppContext; use super::{ buffer::{Anchor, Buffer, LamportValue, ToBufferOffset, ToCharOffset, ToPoint}, diff --git a/app/src/editor/view/snapshot.rs b/app/src/editor/view/snapshot.rs index 006a5f51..6d90f628 100644 --- a/app/src/editor/view/snapshot.rs +++ b/app/src/editor/view/snapshot.rs @@ -16,6 +16,8 @@ use pathfinder_geometry::vector::{vec2f, Vector2F}; use anyhow::Result; use core::f32; +use galaxy_completer::completer::Description; +use galaxyui::text::point::Point; use instant::Instant; use rayon::prelude::*; use std::borrow::Cow; @@ -26,8 +28,6 @@ use std::{ ops::Range, sync::Arc, }; -use galaxy_completer::completer::Description; -use galaxyui::text::point::Point; use string_offset::ByteOffset; diff --git a/app/src/editor/view/vim_handler_test.rs b/app/src/editor/view/vim_handler_test.rs index 49379c9f..650205db 100644 --- a/app/src/editor/view/vim_handler_test.rs +++ b/app/src/editor/view/vim_handler_test.rs @@ -1,10 +1,10 @@ use super::*; use crate::editor::EditorView; +use galaxyui::platform::WindowStyle; +use galaxyui::{App, ViewHandle}; use itertools::Itertools; use std::collections::HashSet; use unindent::Unindent; -use galaxyui::platform::WindowStyle; -use galaxyui::{App, ViewHandle}; /// Helper function for testing vim mode commands. /// This creates an editor with the given content and enters Vim Normal mode, diff --git a/app/src/editor/view/voice.rs b/app/src/editor/view/voice.rs index 97aea52f..d93aaf52 100644 --- a/app/src/editor/view/voice.rs +++ b/app/src/editor/view/voice.rs @@ -11,8 +11,6 @@ use crate::ui_components::icons; use crate::view_components::{FeaturePopup, NewFeaturePopupLabel}; use crate::workspace::ToastStack; use crate::workspaces::user_workspaces::UserWorkspaces; -use settings::Setting as _; -use voice_input::{StartListeningError, VoiceInput, VoiceSessionResult}; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::AnsiColorIdentifier; @@ -24,6 +22,8 @@ use galaxyui::ui_components::button::ButtonTooltipPosition; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::ViewHandle; use galaxyui::{AppContext, Element, SingletonEntity, ViewContext}; +use settings::Setting as _; +use voice_input::{StartListeningError, VoiceInput, VoiceSessionResult}; use super::VoiceTranscriber; diff --git a/app/src/env_vars/env_var_collection_block.rs b/app/src/env_vars/env_var_collection_block.rs index b7721b0e..ae183367 100644 --- a/app/src/env_vars/env_var_collection_block.rs +++ b/app/src/env_vars/env_var_collection_block.rs @@ -4,12 +4,6 @@ use crate::{ CompactibleActionButton, RenderCompactibleActionButton, SMALL_SIZE_SWITCH_THRESHOLD, }, }; -use lazy_static::lazy_static; -use parking_lot::RwLock; -use settings::Setting as _; -use std::borrow::Cow; -use std::rc::Rc; -use std::sync::Arc; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_core::{features::FeatureFlag, ui::Icon}; use galaxyui::{ @@ -22,6 +16,12 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, }; +use lazy_static::lazy_static; +use parking_lot::RwLock; +use settings::Setting as _; +use std::borrow::Cow; +use std::rc::Rc; +use std::sync::Arc; use crate::{ ai::blocklist::block::view_impl::{CONTENT_HORIZONTAL_PADDING, CONTENT_ITEM_VERTICAL_MARGIN}, diff --git a/app/src/env_vars/manager.rs b/app/src/env_vars/manager.rs index 105e17f2..3b959e38 100644 --- a/app/src/env_vars/manager.rs +++ b/app/src/env_vars/manager.rs @@ -11,8 +11,8 @@ use crate::{ }, PaneViewLocator, WindowId, }; -use std::collections::{hash_map::Entry, HashMap}; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity, WeakViewHandle}; +use std::collections::{hash_map::Entry, HashMap}; pub struct EnvVarCollectionManager { panes_by_hashed_id: HashMap, diff --git a/app/src/env_vars/mod.rs b/app/src/env_vars/mod.rs index a8b2c9bd..c0b57cbf 100644 --- a/app/src/env_vars/mod.rs +++ b/app/src/env_vars/mod.rs @@ -1,7 +1,7 @@ +use galaxy_util::path::ShellFamily; use itertools::Itertools; use serde::{Deserialize, Serialize}; use view::command_dialog::EnvVarSecretCommand; -use galaxy_util::path::ShellFamily; pub mod active_env_var_collection_data; pub mod env_var_collection_block; diff --git a/app/src/env_vars/view/fixed_view_components.rs b/app/src/env_vars/view/fixed_view_components.rs index 22458f54..4a375c72 100644 --- a/app/src/env_vars/view/fixed_view_components.rs +++ b/app/src/env_vars/view/fixed_view_components.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::{ @@ -13,6 +11,8 @@ use galaxyui::{ }, Element, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; use crate::{ drive::sharing::{ContentEditability, SharingAccessLevel}, diff --git a/app/src/env_vars/view/menus.rs b/app/src/env_vars/view/menus.rs index 26e10a6e..6ada8e33 100644 --- a/app/src/env_vars/view/menus.rs +++ b/app/src/env_vars/view/menus.rs @@ -1,6 +1,6 @@ -use pathfinder_geometry::vector::Vector2F; use galaxy_core::context_flag::ContextFlag; use galaxyui::{keymap::Trigger, SingletonEntity, ViewContext, ViewHandle}; +use pathfinder_geometry::vector::Vector2F; use crate::{ cloud_object::{CloudObject, GenericStringObjectFormat, Space}, diff --git a/app/src/env_vars/view/secrets.rs b/app/src/env_vars/view/secrets.rs index 91f926d2..f1fc8ff1 100644 --- a/app/src/env_vars/view/secrets.rs +++ b/app/src/env_vars/view/secrets.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance}; #[cfg(not(target_family = "wasm"))] use galaxyui::SingletonEntity; @@ -15,6 +14,7 @@ use galaxyui::{ }, Element, ViewContext, }; +use pathfinder_geometry::vector::vec2f; use super::env_var_collection::{ EnvVarCollectionAction, EnvVarCollectionView, VariableRowIndex, CORE_MAX_WIDTH, ROW_SPACING, diff --git a/app/src/experiments/free_tier_default_model_layer.rs b/app/src/experiments/free_tier_default_model_layer.rs index 9dc0d311..1d6dc72d 100644 --- a/app/src/experiments/free_tier_default_model_layer.rs +++ b/app/src/experiments/free_tier_default_model_layer.rs @@ -1,8 +1,8 @@ use super::{BucketRange, Experiment, Layer}; +use galaxyui::AppContext; use lazy_static::lazy_static; use std::collections::HashMap; use std::str::FromStr; -use galaxyui::AppContext; lazy_static! { pub static ref FREE_TIER_DEFAULT_MODEL_LAYER: Layer = Layer { diff --git a/app/src/experiments/improved_palette_search_layer.rs b/app/src/experiments/improved_palette_search_layer.rs index 11b21d82..3e0840fc 100644 --- a/app/src/experiments/improved_palette_search_layer.rs +++ b/app/src/experiments/improved_palette_search_layer.rs @@ -1,8 +1,8 @@ use crate::experiments::{BucketRange, Experiment, Layer}; +use galaxyui::AppContext; use lazy_static::lazy_static; use std::collections::HashMap; use std::str::FromStr; -use galaxyui::AppContext; lazy_static! { pub static ref IMPROVED_PALETTE_SEARCH_LAYER: Layer = Layer { diff --git a/app/src/experiments/mod.rs b/app/src/experiments/mod.rs index 56295335..f6f3d0f0 100644 --- a/app/src/experiments/mod.rs +++ b/app/src/experiments/mod.rs @@ -10,10 +10,10 @@ mod login_layer; mod rendering; pub use block_onboarding_layer::{BlockOnboarding, BLOCK_ONBOARDING_LAYER}; pub use free_tier_default_model_layer::{FreeTierDefaultModel, FREE_TIER_DEFAULT_MODEL_LAYER}; +use galaxy_core::user_preferences::GetUserPreferences as _; pub use improved_palette_search_layer::{ImprovedPaletteSearch, IMPROVED_PALETTE_SEARCH_LAYER}; #[allow(unused_imports)] pub use login_layer::{AuthFlowInstructions, LOGIN_LAYER}; -use galaxy_core::user_preferences::GetUserPreferences as _; use crate::auth::auth_state::AuthStateProvider; use crate::channel::{Channel, ChannelState}; diff --git a/app/src/external_secrets/mod.rs b/app/src/external_secrets/mod.rs index 1da7f438..36d0f58e 100644 --- a/app/src/external_secrets/mod.rs +++ b/app/src/external_secrets/mod.rs @@ -4,12 +4,12 @@ use anyhow::anyhow; use core::fmt; +use galaxy_util::path::ShellFamily; use itertools::Itertools; use lazy_static::lazy_static; use serde::{Deserialize, Serialize}; use serde_json::Value; use std::path::PathBuf; -use galaxy_util::path::ShellFamily; #[cfg(all(not(target_family = "wasm"), feature = "local_tty"))] use crate::terminal::local_shell::execute_command; diff --git a/app/src/global_resource_handles.rs b/app/src/global_resource_handles.rs index a7788097..e7d1833a 100644 --- a/app/src/global_resource_handles.rs +++ b/app/src/global_resource_handles.rs @@ -2,8 +2,8 @@ use crate::{ banner::BannerState, persistence::ModelEvent, referral_theme_status::ReferralThemeStatus, resource_center::TipsCompleted, settings::SettingsFileError, }; -use std::sync::mpsc::SyncSender; use galaxyui::{Entity, ModelHandle, SingletonEntity}; +use std::sync::mpsc::SyncSender; /// Interfaces that allow us to interact with global resources owned by the main /// thread that exist throughout the app including Model handles, channel senders, diff --git a/app/src/input_classifier.rs b/app/src/input_classifier.rs index f81a1419..3a5d0250 100644 --- a/app/src/input_classifier.rs +++ b/app/src/input_classifier.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use input_classifier::{HeuristicClassifier, InputClassifier}; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use input_classifier::{HeuristicClassifier, InputClassifier}; pub struct InputClassifierModel { pub classifier: Arc, diff --git a/app/src/input_suggestions.rs b/app/src/input_suggestions.rs index a2071acc..c2d10a9e 100644 --- a/app/src/input_suggestions.rs +++ b/app/src/input_suggestions.rs @@ -4,12 +4,6 @@ use crate::ui_components::icons::Icon as UIComponentsIcon; use async_channel::Sender; use chrono::{DateTime, Local}; use fuzzy_match::match_indices; -use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; -use std::cmp::Ordering; -use std::collections::HashSet; -use std::{cmp, ops::Range, vec}; -use warp_command_signatures::IconType; use galaxy_completer::completer::{ MatchType, PathSeparators, Suggestion, SuggestionResults, SuggestionType, }; @@ -33,6 +27,12 @@ use galaxyui::{ fonts::{Cache, Properties, Weight}, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, WeakViewHandle, }; +use itertools::Itertools; +use pathfinder_geometry::vector::vec2f; +use std::cmp::Ordering; +use std::collections::HashSet; +use std::{cmp, ops::Range, vec}; +use warp_command_signatures::IconType; use crate::appearance::Appearance; use crate::terminal::history::LinkedWorkflowData; diff --git a/app/src/input_suggestions_test.rs b/app/src/input_suggestions_test.rs index 2f59a4d5..c99023d1 100644 --- a/app/src/input_suggestions_test.rs +++ b/app/src/input_suggestions_test.rs @@ -1,7 +1,7 @@ use chrono::Local; -use std::collections::HashSet; use galaxy_core::ui::appearance::Appearance; use galaxyui::{platform::WindowStyle, App}; +use std::collections::HashSet; use crate::ai::blocklist::AIQueryHistory; use crate::input_suggestions::{filter_tab_suggestions, HistoryOrder}; diff --git a/app/src/integration_testing/agent_mode/assertions.rs b/app/src/integration_testing/agent_mode/assertions.rs index 23af5223..9ca4652a 100644 --- a/app/src/integration_testing/agent_mode/assertions.rs +++ b/app/src/integration_testing/agent_mode/assertions.rs @@ -15,9 +15,9 @@ use crate::{ integration_testing::view_getters::terminal_view, BlocklistAIHistoryModel, }; -use warp_multi_agent_api as api; use galaxyui::{integration::AssertionCallback, integration_assert, EntityId}; use galaxyui::{integration::AssertionOutcome, SingletonEntity}; +use warp_multi_agent_api as api; type TextAssertion = Box bool + 'static>; type ActionAssertion = Box bool + 'static>; diff --git a/app/src/integration_testing/agent_mode/mod.rs b/app/src/integration_testing/agent_mode/mod.rs index 5b81e282..edfb2c8e 100644 --- a/app/src/integration_testing/agent_mode/mod.rs +++ b/app/src/integration_testing/agent_mode/mod.rs @@ -12,12 +12,12 @@ pub use crate::ai::blocklist::agent_view::AgentViewState; use crate::BlocklistAIHistoryModel; use crate::{ai::agent::AIAgentActionType, integration_testing::view_getters::terminal_view}; pub use assertions::*; -pub use step::*; -pub use user_defaults::*; -pub use util::*; use galaxyui::integration::PersistedDataMap; pub use galaxyui::integration::RUNTIME_TAG_FAILURE_REASON; use galaxyui::{App, SingletonEntity as _, WindowId}; +pub use step::*; +pub use user_defaults::*; +pub use util::*; pub const TOTAL_REQUEST_COST_PREFIX: &str = "Total request cost: "; pub const TOTAL_EXCHANGES_PREFIX: &str = "Total number of exchanges: "; diff --git a/app/src/integration_testing/agent_mode/step.rs b/app/src/integration_testing/agent_mode/step.rs index 050bd4ff..3373144e 100644 --- a/app/src/integration_testing/agent_mode/step.rs +++ b/app/src/integration_testing/agent_mode/step.rs @@ -1,7 +1,7 @@ use std::{fs::read, io::Cursor, path::Path, time::Duration}; -use prost::Message; use galaxyui::{async_assert, integration::TestStep, SingletonEntity}; +use prost::Message; use crate::ai::execution_profiles::profiles::AIExecutionProfilesModel; use crate::ai::execution_profiles::ActionPermission; diff --git a/app/src/integration_testing/block/assertions.rs b/app/src/integration_testing/block/assertions.rs index 5d6b2114..ee1d78ea 100644 --- a/app/src/integration_testing/block/assertions.rs +++ b/app/src/integration_testing/block/assertions.rs @@ -1,10 +1,10 @@ -use settings::Setting as _; use galaxyui::{ async_assert, async_assert_eq, integration::{AssertionCallback, AssertionOutcome}, units::{IntoPixels, Lines}, AppContext, SingletonEntity, WindowId, }; +use settings::Setting as _; use crate::{ integration_testing::view_getters::single_terminal_view, diff --git a/app/src/integration_testing/block_filtering/step.rs b/app/src/integration_testing/block_filtering/step.rs index 4f03084b..fc9a555a 100644 --- a/app/src/integration_testing/block_filtering/step.rs +++ b/app/src/integration_testing/block_filtering/step.rs @@ -5,10 +5,10 @@ use crate::integration_testing::terminal::execute_long_running_command; use crate::integration_testing::terminal::util::ExpectedExitStatus; use crate::integration_testing::view_getters::single_terminal_view_for_tab; use crate::terminal::model::terminal_model::BlockIndex; -use std::time::Duration; use galaxyui::integration::AssertionCallback; use galaxyui::integration::TestStep; use galaxyui::{async_assert, async_assert_eq}; +use std::time::Duration; /// This test case covers the creates the following output grid: /// ----------- diff --git a/app/src/integration_testing/cloud_object/mod.rs b/app/src/integration_testing/cloud_object/mod.rs index 7116f209..97cdd1a6 100644 --- a/app/src/integration_testing/cloud_object/mod.rs +++ b/app/src/integration_testing/cloud_object/mod.rs @@ -2,10 +2,10 @@ mod assertion; pub use assertion::*; use futures::{future::join_all, FutureExt}; +use galaxyui::{App, SingletonEntity}; use itertools::Itertools; use std::future::Future; use std::pin::Pin; -use galaxyui::{App, SingletonEntity}; use crate::{ cloud_object::{model::persistence::CloudModel, Space}, diff --git a/app/src/integration_testing/codebase_context/step.rs b/app/src/integration_testing/codebase_context/step.rs index 87a4e1c9..620d7d25 100644 --- a/app/src/integration_testing/codebase_context/step.rs +++ b/app/src/integration_testing/codebase_context/step.rs @@ -1,12 +1,12 @@ use std::{path::PathBuf, time::Duration}; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; -use settings::Setting; use galaxyui::{ async_assert, integration::{AssertionOutcome, StepData, TestStep}, App, ReadModel, SingletonEntity, UpdateModel, WindowId, }; +use settings::Setting; use crate::{ integration_testing::step::new_step_with_default_assertions, settings::CodeSettings, diff --git a/app/src/integration_testing/input/step.rs b/app/src/integration_testing/input/step.rs index a607a2ad..a746a67a 100644 --- a/app/src/integration_testing/input/step.rs +++ b/app/src/integration_testing/input/step.rs @@ -1,6 +1,6 @@ -use pathfinder_geometry::vector::Vector2F; use galaxyui::integration::TestStep; use galaxyui::{windowing::WindowManager, SingletonEntity}; +use pathfinder_geometry::vector::Vector2F; use crate::{ integration_testing::{ diff --git a/app/src/integration_testing/notebook/assertion.rs b/app/src/integration_testing/notebook/assertion.rs index fe9ac398..74dd9778 100644 --- a/app/src/integration_testing/notebook/assertion.rs +++ b/app/src/integration_testing/notebook/assertion.rs @@ -1,11 +1,11 @@ -use itertools::Itertools; -use string_offset::CharOffset; use galaxy_editor::render::model::BlockItem; use galaxyui::{ async_assert, async_assert_eq, integration::{AssertionCallback, AssertionOutcome, AssertionWithDataCallback}, App, ViewHandle, }; +use itertools::Itertools; +use string_offset::CharOffset; use crate::{ cloud_object::model::{generic_string_model::GenericStringObjectId, persistence::CloudModel}, diff --git a/app/src/integration_testing/notebook/step.rs b/app/src/integration_testing/notebook/step.rs index 3c46edb1..12ac9e35 100644 --- a/app/src/integration_testing/notebook/step.rs +++ b/app/src/integration_testing/notebook/step.rs @@ -1,11 +1,11 @@ use std::sync::Arc; -use string_offset::CharOffset; use galaxy_editor::model::CoreEditorModel; use galaxyui::{ async_assert, integration::TestStep, windowing::WindowManager, App, SingletonEntity, ViewHandle, WindowId, }; +use string_offset::CharOffset; use crate::{ cloud_object::{model::persistence::CloudModel, CloudObjectEventEntrypoint, Space}, diff --git a/app/src/integration_testing/settings/step.rs b/app/src/integration_testing/settings/step.rs index 5c493708..4ac0d21c 100644 --- a/app/src/integration_testing/settings/step.rs +++ b/app/src/integration_testing/settings/step.rs @@ -1,5 +1,5 @@ -use settings::Setting; use galaxyui::{async_assert, integration::TestStep, windowing::WindowManager, SingletonEntity}; +use settings::Setting; use crate::{ integration_testing::{ diff --git a/app/src/integration_testing/subshell/step.rs b/app/src/integration_testing/subshell/step.rs index 4c3317c6..c8c57df9 100644 --- a/app/src/integration_testing/subshell/step.rs +++ b/app/src/integration_testing/subshell/step.rs @@ -1,9 +1,9 @@ -use regex::Regex; -use std::time::Duration; use galaxyui::{ async_assert, async_assert_eq, integration::{AssertionOutcome, TestStep}, }; +use regex::Regex; +use std::time::Duration; use crate::{ integration_testing::{ diff --git a/app/src/integration_testing/terminal/assertion.rs b/app/src/integration_testing/terminal/assertion.rs index 0f2f72c9..e26223a4 100644 --- a/app/src/integration_testing/terminal/assertion.rs +++ b/app/src/integration_testing/terminal/assertion.rs @@ -1,6 +1,3 @@ -use pathfinder_geometry::rect::RectF; -use regex::Regex; -use settings::Setting as _; use galaxy_util::path::user_friendly_path; use galaxyui::{ async_assert, async_assert_eq, @@ -9,6 +6,9 @@ use galaxyui::{ windowing::WindowManager, App, SingletonEntity, ViewHandle, WindowId, }; +use pathfinder_geometry::rect::RectF; +use regex::Regex; +use settings::Setting as _; use crate::{ ai::blocklist::agent_view::AgentViewState, diff --git a/app/src/integration_testing/terminal/util.rs b/app/src/integration_testing/terminal/util.rs index 9480accd..3ceef96b 100644 --- a/app/src/integration_testing/terminal/util.rs +++ b/app/src/integration_testing/terminal/util.rs @@ -1,11 +1,11 @@ use async_io::block_on; use command::blocking::Command; -use std::borrow::Cow; -use std::iter; -use std::path::{Path, PathBuf}; use galaxy_core::command::ExitCode; #[cfg(windows)] use galaxy_core::paths::base_config_dir; +use std::borrow::Cow; +use std::iter; +use std::path::{Path, PathBuf}; use rand::Rng; use rand::{distributions::Alphanumeric, thread_rng}; diff --git a/app/src/integration_testing/window/step.rs b/app/src/integration_testing/window/step.rs index 3d8f4aa8..c30ded7b 100644 --- a/app/src/integration_testing/window/step.rs +++ b/app/src/integration_testing/window/step.rs @@ -1,8 +1,8 @@ -use pathfinder_geometry::rect::RectF; use galaxyui::{ async_assert_eq, integration::TestStep, platform::TerminationMode, windowing::WindowManager, SingletonEntity, }; +use pathfinder_geometry::rect::RectF; use crate::integration_testing::step::new_step_with_default_assertions; diff --git a/app/src/keyboard.rs b/app/src/keyboard.rs index 231d7ac1..cd371c55 100644 --- a/app/src/keyboard.rs +++ b/app/src/keyboard.rs @@ -1,12 +1,12 @@ +use galaxyui::keymap::Keystroke; +#[cfg(not(test))] +use galaxyui::keymap::Trigger; +use galaxyui::AppContext; use itertools::Itertools; use serde::{Deserialize, Serialize}; #[cfg(not(test))] use std::env::var_os; use vec1::{vec1, Vec1}; -use galaxyui::keymap::Keystroke; -#[cfg(not(test))] -use galaxyui::keymap::Trigger; -use galaxyui::AppContext; use anyhow::Context; diff --git a/app/src/launch_configs/save_modal.rs b/app/src/launch_configs/save_modal.rs index 0b2be88d..4167070a 100644 --- a/app/src/launch_configs/save_modal.rs +++ b/app/src/launch_configs/save_modal.rs @@ -12,11 +12,6 @@ use crate::user_config::{util::file_name_to_human_readable_name, WarpConfig}; use crate::util::bindings::keybinding_name_to_display_string; #[cfg(feature = "local_fs")] use crate::util::openable_file_type::FileTarget; -use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextInline, FormattedTextLine, -}; -use pathfinder_geometry::vector::vec2f; -use serde::{Deserialize, Serialize}; use galaxy_core::paths::home_relative_path; use galaxy_core::ui::theme::Fill; use galaxyui::accessibility::{AccessibilityContent, WarpA11yRole}; @@ -32,6 +27,11 @@ use galaxyui::{ AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextInline, FormattedTextLine, +}; +use pathfinder_geometry::vector::vec2f; +use serde::{Deserialize, Serialize}; const MODAL_WIDTH: f32 = 660.; const SIDE_PADDING: f32 = 16.; diff --git a/app/src/lib.rs b/app/src/lib.rs index 7db88c22..42ac81b5 100644 --- a/app/src/lib.rs +++ b/app/src/lib.rs @@ -4,8 +4,6 @@ mod ai; mod alloc; mod antivirus; -#[cfg(feature = "bedrock_smoke_test")] -mod bedrock_smoke_test; #[cfg(target_os = "macos")] mod app_menus; mod app_services; @@ -13,6 +11,8 @@ mod app_state; mod auth; mod autoupdate; mod banner; +#[cfg(feature = "bedrock_smoke_test")] +mod bedrock_smoke_test; mod billing; mod changelog_model; mod chip_configurator; @@ -154,6 +154,8 @@ use auth::{auth_manager::AuthManager, auth_state::AuthState}; use code::editor_management::CodeManager; use code::opened_files::OpenedFilesModel; use code_review::GlobalCodeReviewModel; +use galaxy_cli::GlobalOptions; +use galaxy_cli::{agent::AgentCommand, CliCommand}; use quit_warning::UnsavedStateSummary; use server::network_log_pane_manager::NetworkLogPaneManager; use server::network_logging::NetworkLogModel; @@ -162,8 +164,6 @@ use server::voice_transcriber::ServerVoiceTranscriber; #[cfg(feature = "local_fs")] use settings::import::model::ImportedConfigModel; use voice::transcriber::VoiceTranscriber; -use galaxy_cli::GlobalOptions; -use galaxy_cli::{agent::AgentCommand, CliCommand}; #[cfg(feature = "local_fs")] use repo_metadata::{ @@ -187,11 +187,11 @@ pub use persistence::testing as sqlite_testing; use ::settings::{Setting, ToggleableSetting}; pub use galaxy_core::errors::{report_error, report_if_error}; -#[cfg(feature = "plugin_host")] -pub use plugin::{run_plugin_host, PLUGIN_HOST_FLAG}; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxyui::modals::{AlertDialogWithCallbacks, AppModalCallback}; use galaxyui::platform::app::ApproveTerminateResult; +#[cfg(feature = "plugin_host")] +pub use plugin::{run_plugin_host, PLUGIN_HOST_FLAG}; use window_settings::WindowSettings; use workflows::manager::WorkflowManager; @@ -254,6 +254,8 @@ use anyhow::Context; use anyhow::{anyhow, Result}; use appearance::{Appearance, AppearanceManager}; use channel::ChannelState; +use galaxy_core::execution_mode::{AppExecutionMode, ExecutionMode}; +use galaxy_managed_secrets::ManagedSecretManager; use interval_timer::IntervalTimer; use itertools::Itertools; use referral_theme_status::ReferralThemeStatus; @@ -267,8 +269,6 @@ use std::sync::Arc; use terminal::input; use terminal::session_settings::SessionSettings; use url::Url; -use galaxy_core::execution_mode::{AppExecutionMode, ExecutionMode}; -use galaxy_managed_secrets::ManagedSecretManager; use workspace::sync_inputs::SyncedInputState; use galaxyui::{integration::TestDriver, App, AssetProvider, Event}; @@ -556,7 +556,9 @@ pub fn run() -> Result<()> { return crate::run_plugin_host(); } #[cfg(feature = "local_tty")] - galaxy_cli::Command::Worker(galaxy_cli::WorkerCommand::MinidumpServer { socket_name }) => { + galaxy_cli::Command::Worker(galaxy_cli::WorkerCommand::MinidumpServer { + socket_name, + }) => { cfg_if::cfg_if! { if #[cfg(all(linux_or_windows, feature = "crash_reporting"))] { return crate::crash_reporting::run_minidump_server(socket_name); @@ -610,7 +612,9 @@ pub fn run() -> Result<()> { } galaxy_cli::Command::CommandLine(cmd) => { let (is_sandboxed, computer_use_override) = match cmd.as_ref() { - galaxy_cli::CliCommand::Agent(galaxy_cli::agent::AgentCommand::Run(run_args)) => ( + galaxy_cli::CliCommand::Agent(galaxy_cli::agent::AgentCommand::Run( + run_args, + )) => ( run_args.sandboxed, run_args.computer_use.computer_use_override(), ), @@ -1321,8 +1325,10 @@ fn initialize_app( }); GPUState::handle(ctx).update(ctx, |gpu_state, ctx| { - gpu_state - .set_has_lower_power_gpu(galaxyui::rendering::is_low_power_gpu_available(), ctx); + gpu_state.set_has_lower_power_gpu( + galaxyui::rendering::is_low_power_gpu_available(), + ctx, + ); }); for window_id in ctx.window_ids().collect_vec() { diff --git a/app/src/login_item/windows.rs b/app/src/login_item/windows.rs index df79c16d..d59dcdaf 100644 --- a/app/src/login_item/windows.rs +++ b/app/src/login_item/windows.rs @@ -9,9 +9,9 @@ use crate::report_if_error; use crate::terminal::general_settings::GeneralSettings; use ::settings::Setting; -use std::path::{Path, PathBuf}; use galaxy_core::channel::ChannelState; use galaxyui::{AppContext, SingletonEntity}; +use std::path::{Path, PathBuf}; use winreg::enums::{HKEY_CURRENT_USER, KEY_SET_VALUE}; use winreg::RegKey; diff --git a/app/src/menu.rs b/app/src/menu.rs index 32c57233..790643d7 100644 --- a/app/src/menu.rs +++ b/app/src/menu.rs @@ -7,9 +7,6 @@ use crate::themes::theme::Fill; use crate::util::time_format::format_approx_duration_from_now_sentence_case; use crate::{appearance::Appearance, ui_components::icons}; use chrono::{DateTime, Local}; -use pathfinder_color::ColorU; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxy_core::ui::color::blend::Blend; use galaxyui::elements::{ ChildAnchor, ClippedScrollStateHandle, ClippedScrollable, DropShadow, OffsetPositioning, @@ -31,6 +28,9 @@ use galaxyui::{ ui_components::components::UiComponent, Action, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; pub const CHEVRON_RIGHT_ALIGN_SVG_PATH: &str = "bundled/svg/chevron-right-align.svg"; diff --git a/app/src/modal.rs b/app/src/modal.rs index 975fb732..2075c464 100644 --- a/app/src/modal.rs +++ b/app/src/modal.rs @@ -1,6 +1,5 @@ use crate::ui_components::blended_colors; use crate::{appearance::Appearance, themes::theme::Fill, ui_components::icons}; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ color::ColorU, elements::{ @@ -14,6 +13,7 @@ use galaxyui::{ AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; pub const MODAL_CORNER_RADIUS: Radius = Radius::Pixels(8.); pub const MODAL_WIDTH: f32 = 440.; diff --git a/app/src/notebooks/context_menu.rs b/app/src/notebooks/context_menu.rs index dfb2e747..869f3b4e 100644 --- a/app/src/notebooks/context_menu.rs +++ b/app/src/notebooks/context_menu.rs @@ -1,6 +1,5 @@ //! Shared context menu implementation for notebooks. -use pathfinder_geometry::vector::Vector2F; use galaxy_core::context_flag::ContextFlag; use galaxyui::{ elements::{ChildAnchor, OffsetPositioning, ParentAnchor, ParentOffsetBounds, Stack}, @@ -8,6 +7,7 @@ use galaxyui::{ presenter::ChildView, Action, Element, EventContext, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::Vector2F; use crate::{ editor::EditorView, diff --git a/app/src/notebooks/context_menu_tests.rs b/app/src/notebooks/context_menu_tests.rs index 47b18990..71c9a06c 100644 --- a/app/src/notebooks/context_menu_tests.rs +++ b/app/src/notebooks/context_menu_tests.rs @@ -1,8 +1,8 @@ -use pathfinder_geometry::vector::vec2f; -use string_offset::ByteOffset; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::model::CoreEditorModel; use galaxyui::{platform::WindowStyle, App}; +use pathfinder_geometry::vector::vec2f; +use string_offset::ByteOffset; use crate::search::files::model::FileSearchModel; diff --git a/app/src/notebooks/editor/block_insertion_menu.rs b/app/src/notebooks/editor/block_insertion_menu.rs index 124e408a..a96c5984 100644 --- a/app/src/notebooks/editor/block_insertion_menu.rs +++ b/app/src/notebooks/editor/block_insertion_menu.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use serde::{Deserialize, Serialize}; use galaxy_editor::content::text::BufferBlockItem; use galaxyui::{ elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ }, AppContext, Element, SingletonEntity, ViewContext, ViewHandle, }; +use serde::{Deserialize, Serialize}; use crate::{ appearance::Appearance, diff --git a/app/src/notebooks/editor/embedded_item.rs b/app/src/notebooks/editor/embedded_item.rs index 9ec17654..6f759d88 100644 --- a/app/src/notebooks/editor/embedded_item.rs +++ b/app/src/notebooks/editor/embedded_item.rs @@ -1,11 +1,5 @@ use std::{collections::HashMap, ops::Range, sync::Arc}; -use itertools::Itertools; -use markdown_parser::html_parser::WARP_EMBED_ATTRIBUTE_NAME; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use serde_yaml::Mapping; -use string_offset::ByteOffset; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::{ content::{markdown::MarkdownStyle, text::TextStylesWithMetadata}, @@ -32,6 +26,12 @@ use galaxyui::{ units::{IntoPixels, Pixels}, AppContext, Element, LayoutContext, SizeConstraint, }; +use itertools::Itertools; +use markdown_parser::html_parser::WARP_EMBED_ATTRIBUTE_NAME; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use serde_yaml::Mapping; +use string_offset::ByteOffset; use crate::{ cloud_object::{model::persistence::CloudModel, CloudObject}, @@ -616,7 +616,9 @@ impl RenderableBlock for RenderableEmbeddedWorkflow { ); } - ctx.paint.scene.start_layer(galaxyui::ClipBounds::ActiveLayer); + ctx.paint + .scene + .start_layer(galaxyui::ClipBounds::ActiveLayer); // Position the block footer right below the content area, flush with its right-hand edge. // This gives the footer some padding relative to the visible area with a background. diff --git a/app/src/notebooks/editor/embedding_model.rs b/app/src/notebooks/editor/embedding_model.rs index c19c9dfb..322d5bc3 100644 --- a/app/src/notebooks/editor/embedding_model.rs +++ b/app/src/notebooks/editor/embedding_model.rs @@ -1,6 +1,5 @@ use std::{borrow::Cow, mem, ops::Range, sync::Arc}; -use string_offset::{ByteOffset, CharOffset}; use galaxy_completer::signatures::CommandRegistry; use galaxy_editor::{ content::{anchor::Anchor, buffer::Buffer, selection_model::BufferSelectionModel}, @@ -16,6 +15,7 @@ use galaxyui::{ ui_components::{button::ButtonVariant, components::UiComponent}, AppContext, Element, Entity, ModelAsRef, ModelContext, ModelHandle, SingletonEntity, }; +use string_offset::{ByteOffset, CharOffset}; use crate::{ appearance::Appearance, diff --git a/app/src/notebooks/editor/find_bar.rs b/app/src/notebooks/editor/find_bar.rs index 2f490231..79fceb67 100644 --- a/app/src/notebooks/editor/find_bar.rs +++ b/app/src/notebooks/editor/find_bar.rs @@ -1,7 +1,6 @@ use std::{fmt::Write, time::Duration}; use async_channel::Sender; -use pathfinder_geometry::vector::vec2f; use galaxy_editor::{ render::model::{AutoScrollMode, Decoration}, search::{SearchEvent, Searcher}, @@ -23,6 +22,7 @@ use galaxyui::{ AppContext, BlurContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ appearance::Appearance, @@ -364,10 +364,14 @@ impl View for FindBar { let has_matches = searcher.match_count() > 0; let find_icon = Container::new( - ConstrainedBox::new(Icon::Find.to_galaxyui_icon(theme.active_ui_detail()).finish()) - .with_height(editor_height) - .with_width(editor_height) - .finish(), + ConstrainedBox::new( + Icon::Find + .to_galaxyui_icon(theme.active_ui_detail()) + .finish(), + ) + .with_height(editor_height) + .with_width(editor_height) + .finish(), ) .with_padding_left(12.) .with_padding_top(16.) diff --git a/app/src/notebooks/editor/link_editor.rs b/app/src/notebooks/editor/link_editor.rs index 20b44676..6dde0f52 100644 --- a/app/src/notebooks/editor/link_editor.rs +++ b/app/src/notebooks/editor/link_editor.rs @@ -1,4 +1,6 @@ -use galaxy_editor::{editor::NavigationKey, model::RichTextEditorModel, render::model::RenderState}; +use galaxy_editor::{ + editor::NavigationKey, model::RichTextEditorModel, render::model::RenderState, +}; use galaxyui::{ elements::{ AnchorPair, Container, Flex, MouseStateHandle, OffsetPositioning, OffsetType, diff --git a/app/src/notebooks/editor/mod.rs b/app/src/notebooks/editor/mod.rs index ebff5a04..6137533a 100644 --- a/app/src/notebooks/editor/mod.rs +++ b/app/src/notebooks/editor/mod.rs @@ -2,8 +2,6 @@ use std::sync::Arc; -use markdown_parser::markdown_parser::CODE_BLOCK_DEFAULT_MARKDOWN_LANG; -use pathfinder_color::ColorU; use galaxy_core::ui::{builder::CHECK_SVG_PATH, theme::color::internal_colors}; use galaxy_editor::{ content::text::{ @@ -15,7 +13,11 @@ use galaxy_editor::{ }, }; use galaxy_util::user_input::UserInput; -use galaxyui::{elements::Border, fonts::FamilyId, ui_components::checkbox::HOVER_BACKGROUND_COLOR}; +use galaxyui::{ + elements::Border, fonts::FamilyId, ui_components::checkbox::HOVER_BACKGROUND_COLOR, +}; +use markdown_parser::markdown_parser::CODE_BLOCK_DEFAULT_MARKDOWN_LANG; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/notebooks/editor/model.rs b/app/src/notebooks/editor/model.rs index ae8afb17..10cdffd6 100644 --- a/app/src/notebooks/editor/model.rs +++ b/app/src/notebooks/editor/model.rs @@ -1,6 +1,11 @@ use base64::{prelude::BASE64_STANDARD, Engine as _}; use std::{any::Any, borrow::Cow, collections::HashMap, ops::Range, time::Duration}; +use galaxyui::{ + accessibility::{AccessibilityContent, ActionAccessibilityContent, WarpA11yRole}, + clipboard::ClipboardContent, + AppContext, Entity, ModelAsRef, ModelContext, ModelHandle, SingletonEntity, WindowId, +}; use itertools::Itertools; use lazy_static::lazy_static; use markdown_parser::FormattedText; @@ -9,11 +14,6 @@ use num_traits::SaturatingSub; use regex::Regex; use url::Url; use vec1::{vec1, Vec1}; -use galaxyui::{ - accessibility::{AccessibilityContent, ActionAccessibilityContent, WarpA11yRole}, - clipboard::ClipboardContent, - AppContext, Entity, ModelAsRef, ModelContext, ModelHandle, SingletonEntity, WindowId, -}; use crate::{ cloud_object::model::persistence::{CloudModel, CloudModelEvent}, @@ -25,7 +25,6 @@ use crate::{ notebooks::editor::interaction_state_model::InteractionStateModelEvent, terminal::ShellLaunchData, }; -use string_offset::CharOffset; use galaxy_core::features::FeatureFlag; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_editor::{ @@ -50,6 +49,7 @@ use galaxy_editor::{ selection::{SelectionMode, SelectionModel, TextDirection, TextUnit}, }; use galaxyui::elements::ListIndentLevel; +use string_offset::CharOffset; use super::{ super::telemetry::SelectionMode as TelemetrySelectionMode, embedding_model::NotebookEmbed, diff --git a/app/src/notebooks/editor/model_tests.rs b/app/src/notebooks/editor/model_tests.rs index 4194fca1..bcf2c3d2 100644 --- a/app/src/notebooks/editor/model_tests.rs +++ b/app/src/notebooks/editor/model_tests.rs @@ -29,14 +29,6 @@ use crate::UserWorkspaces; use crate::{GlobalResourceHandles, GlobalResourceHandlesProvider}; use chrono::Utc; use futures::prelude::*; -use itertools::Itertools; -use markdown_parser::markdown_parser::RUNNABLE_BLOCK_MARKDOWN_LANG; -use markdown_parser::{ - parse_markdown, CodeBlockText, FormattedText, FormattedTextFragment, FormattedTextLine, -}; -use pathfinder_geometry::vector::Vector2F; -use string_offset::CharOffset; -use vec1::vec1; use galaxy_core::features::FeatureFlag; use galaxy_editor::content::buffer::{AutoScrollBehavior, BufferSelectAction, SelectionOffsets}; use galaxy_editor::content::text::{BlockType, BufferBlockStyle, CodeBlockType, TextStyles}; @@ -52,6 +44,14 @@ use galaxyui::r#async::{block_on, FutureId}; use galaxyui::text::word_boundaries::WordBoundariesPolicy; use galaxyui::{r#async::Timer, App, Entity, ModelHandle, SingletonEntity, TypedActionView}; use galaxyui::{AddSingletonModel, AppContext, Element, View, ViewHandle}; +use itertools::Itertools; +use markdown_parser::markdown_parser::RUNNABLE_BLOCK_MARKDOWN_LANG; +use markdown_parser::{ + parse_markdown, CodeBlockText, FormattedText, FormattedTextFragment, FormattedTextLine, +}; +use pathfinder_geometry::vector::Vector2F; +use string_offset::CharOffset; +use vec1::vec1; /// Container for a [`RichTextEditorView`] in unit tests. struct TestView { diff --git a/app/src/notebooks/editor/notebook_command.rs b/app/src/notebooks/editor/notebook_command.rs index 3b5db17c..2631f190 100644 --- a/app/src/notebooks/editor/notebook_command.rs +++ b/app/src/notebooks/editor/notebook_command.rs @@ -1,16 +1,6 @@ use std::{borrow::Cow, mem, ops::Range, sync::Arc}; use async_channel::Sender; -use itertools::Itertools; -use lazy_static::lazy_static; -use pathfinder_color::ColorU; -use string_offset::{ByteOffset, CharOffset}; -use syntect::{ - easy::HighlightLines, - highlighting::{self, Theme, ThemeSet}, - parsing::SyntaxSet, - util::LinesWithEndings, -}; use galaxy_completer::signatures::CommandRegistry; use galaxy_editor::{ content::{ @@ -24,8 +14,17 @@ use galaxy_editor::{ }, editor::RunnableCommandModel, }; +use itertools::Itertools; +use lazy_static::lazy_static; +use pathfinder_color::ColorU; +use string_offset::{ByteOffset, CharOffset}; +use syntect::{ + easy::HighlightLines, + highlighting::{self, Theme, ThemeSet}, + parsing::SyntaxSet, + util::LinesWithEndings, +}; -use markdown_parser::markdown_parser::CODE_BLOCK_DEFAULT_MARKDOWN_LANG; use galaxy_util::user_input::UserInput; use galaxyui::{elements::Align, r#async::SpawnedFutureHandle, AppContext}; use galaxyui::{ @@ -38,6 +37,7 @@ use galaxyui::{ Element, Entity, ModelAsRef, ModelContext, ModelHandle, SingletonEntity, ViewHandle, WeakModelHandle, WindowId, }; +use markdown_parser::markdown_parser::CODE_BLOCK_DEFAULT_MARKDOWN_LANG; use crate::{ appearance::Appearance, diff --git a/app/src/notebooks/editor/omnibar.rs b/app/src/notebooks/editor/omnibar.rs index cd54eea2..b09fa2d2 100644 --- a/app/src/notebooks/editor/omnibar.rs +++ b/app/src/notebooks/editor/omnibar.rs @@ -1,8 +1,6 @@ //! Implementation for the omnibar - a floating menu for editor interactions //! like formatting and changing block types. -use itertools::Itertools; -use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use galaxy_editor::{ content::text::{ BlockType as ContentBlockType, BufferBlockStyle, BufferTextStyle, TextStyles, @@ -23,6 +21,8 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, SizeConstraint, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use crate::{ appearance::Appearance, diff --git a/app/src/notebooks/editor/view.rs b/app/src/notebooks/editor/view.rs index d4e623f6..c3f0da9d 100644 --- a/app/src/notebooks/editor/view.rs +++ b/app/src/notebooks/editor/view.rs @@ -5,9 +5,6 @@ use std::{ sync::atomic::{AtomicBool, Ordering}, }; -use markdown_parser::{parse_html, parse_markdown, FormattedText}; -use pathfinder_geometry::vector::vec2f; -use string_offset::CharOffset; use galaxy_editor::{ content::{ anchor::Anchor, @@ -25,6 +22,9 @@ use galaxy_editor::{ }, selection::{TextDirection, TextUnit}, }; +use markdown_parser::{parse_html, parse_markdown, FormattedText}; +use pathfinder_geometry::vector::vec2f; +use string_offset::CharOffset; use galaxy_util::{path::LineAndColumnArg, user_input::UserInput}; use galaxyui::{ diff --git a/app/src/notebooks/editor/view_tests.rs b/app/src/notebooks/editor/view_tests.rs index 570fc010..b89a4943 100644 --- a/app/src/notebooks/editor/view_tests.rs +++ b/app/src/notebooks/editor/view_tests.rs @@ -1,17 +1,19 @@ use crate::features::FeatureFlag; use async_channel::TryRecvError; -use std::sync::Arc; -use string_offset::CharOffset; use galaxy_editor::render::{ element::RichTextAction, model::{HitTestBlockType, Location, RenderEvent}, }; use galaxy_util::user_input::UserInput; +use std::sync::Arc; +use string_offset::CharOffset; use galaxyui::event::ModifiersState; use galaxyui::r#async::block_on; use galaxyui::windowing::WindowManager; -use galaxyui::{platform::WindowStyle, presenter::ChildView, App, Element, Entity, View, ViewHandle}; +use galaxyui::{ + platform::WindowStyle, presenter::ChildView, App, Element, Entity, View, ViewHandle, +}; use galaxyui::{SingletonEntity, TypedActionView, WindowId}; use super::{EditorViewAction, RichTextEditorConfig, RichTextEditorView}; diff --git a/app/src/notebooks/file/mod.rs b/app/src/notebooks/file/mod.rs index 8773838a..6b09d1b0 100644 --- a/app/src/notebooks/file/mod.rs +++ b/app/src/notebooks/file/mod.rs @@ -4,7 +4,6 @@ use std::{ sync::Arc, }; -use pathfinder_geometry::vector::vec2f; use galaxy_util::path::user_friendly_path; #[cfg(feature = "local_fs")] use galaxyui::clipboard::ClipboardContent; @@ -24,6 +23,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; #[cfg(feature = "local_fs")] use crate::notebooks::post_process_notebook; diff --git a/app/src/notebooks/file/mod_tests.rs b/app/src/notebooks/file/mod_tests.rs index ec4fee56..59eecdb7 100644 --- a/app/src/notebooks/file/mod_tests.rs +++ b/app/src/notebooks/file/mod_tests.rs @@ -2,13 +2,13 @@ use std::{path::Path, sync::Arc}; use pathfinder_geometry::vector::vec2f; -#[cfg(feature = "local_fs")] -use repo_metadata::RepoMetadataModel; -use repo_metadata::{repositories::DetectedRepositories, watcher::DirectoryWatcher}; use galaxy_core::ui::appearance::Appearance; #[cfg(feature = "local_fs")] use galaxy_files::FileModel; use galaxyui::{platform::WindowStyle, App, SingletonEntity, View}; +#[cfg(feature = "local_fs")] +use repo_metadata::RepoMetadataModel; +use repo_metadata::{repositories::DetectedRepositories, watcher::DirectoryWatcher}; use crate::server::server_api::team::MockTeamClient; use crate::server::server_api::workspace::MockWorkspaceClient; diff --git a/app/src/notebooks/link.rs b/app/src/notebooks/link.rs index 7704737d..2a7b72d1 100644 --- a/app/src/notebooks/link.rs +++ b/app/src/notebooks/link.rs @@ -9,12 +9,12 @@ use std::{ }; use futures_util::future::Either; -use url::Url; use galaxy_util::path::{CleanPathResult, LineAndColumnArg}; use galaxyui::{ r#async::SpawnedFutureHandle, AppContext, Entity, ModelContext, ModelHandle, SingletonEntity, WindowId, }; +use url::Url; #[cfg(feature = "local_fs")] use crate::util::file::external_editor::EditorSettings; diff --git a/app/src/notebooks/link_tests.rs b/app/src/notebooks/link_tests.rs index edc3cf4f..1ebcb70a 100644 --- a/app/src/notebooks/link_tests.rs +++ b/app/src/notebooks/link_tests.rs @@ -4,12 +4,12 @@ use std::{ sync::Arc, }; +use galaxy_util::path::LineAndColumnArg; +use galaxyui::{App, ModelHandle, WindowId}; use lazy_static::lazy_static; use parking_lot::Mutex; use tempfile::tempdir; use url::Url; -use galaxy_util::path::LineAndColumnArg; -use galaxyui::{App, ModelHandle, WindowId}; use crate::{ notebooks::{file::is_markdown_file, link::LinkEvent}, diff --git a/app/src/notebooks/manager.rs b/app/src/notebooks/manager.rs index 2c35ff7a..aca3c310 100644 --- a/app/src/notebooks/manager.rs +++ b/app/src/notebooks/manager.rs @@ -2,11 +2,11 @@ use std::collections::{hash_map::Entry, HashMap}; use std::sync::Arc; use futures_util::stream::AbortHandle; -use markdown_parser::markdown_parser::parse_markdown_to_raw_text; use galaxyui::{ r#async::SpawnedFutureHandle, Entity, EntityId, ModelContext, SingletonEntity, WeakViewHandle, WindowId, }; +use markdown_parser::markdown_parser::parse_markdown_to_raw_text; use crate::{ cloud_object::{ diff --git a/app/src/notebooks/mod.rs b/app/src/notebooks/mod.rs index a123dddc..0a08ed70 100644 --- a/app/src/notebooks/mod.rs +++ b/app/src/notebooks/mod.rs @@ -13,9 +13,9 @@ use std::sync::Arc; use async_trait::async_trait; use anyhow::Result; +use galaxyui::AppContext; use itertools::Itertools; use serde::{Deserialize, Serialize}; -use galaxyui::AppContext; use crate::server::cloud_objects::update_manager::InitiatedBy; use crate::{ diff --git a/app/src/notebooks/notebook.rs b/app/src/notebooks/notebook.rs index 252874b3..e6d5379c 100644 --- a/app/src/notebooks/notebook.rs +++ b/app/src/notebooks/notebook.rs @@ -1,12 +1,12 @@ use anyhow::Context; use async_channel::Sender; use futures_util::stream::AbortHandle; +use galaxy_core::context_flag::ContextFlag; use lazy_static::lazy_static; use regex::Regex; use settings::Setting as _; use std::{sync::Arc, time::Duration}; use url::Url; -use galaxy_core::context_flag::ContextFlag; #[cfg(target_family = "wasm")] use crate::uri::web_intent_parser::open_url_on_desktop; diff --git a/app/src/notebooks/notebook_tests.rs b/app/src/notebooks/notebook_tests.rs index 5658501d..e4c173ef 100644 --- a/app/src/notebooks/notebook_tests.rs +++ b/app/src/notebooks/notebook_tests.rs @@ -2,7 +2,6 @@ use std::sync::Arc; use chrono::{Duration, Utc}; use futures_util::future::BoxFuture; -use itertools::Itertools; use galaxy_core::ui::appearance::Appearance; use galaxy_editor::editor::EditorView; use galaxyui::{ @@ -10,6 +9,7 @@ use galaxyui::{ AddSingletonModel, App, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewHandle, WindowId, }; +use itertools::Itertools; use crate::{ auth::{ diff --git a/app/src/notification.rs b/app/src/notification.rs index dd306942..05ecefc0 100644 --- a/app/src/notification.rs +++ b/app/src/notification.rs @@ -1,8 +1,8 @@ +use galaxyui::{EntityId, WindowId}; /// At the app level, we have structs for representing the UI framework level /// notification structs, but with the data parsed to our liking. /// The similar structs at the UI framework layer are lower-level (mostly strings). use serde::{Deserialize, Serialize}; -use galaxyui::{EntityId, WindowId}; use crate::pane_group::PaneId; diff --git a/app/src/pane_group/mod.rs b/app/src/pane_group/mod.rs index 4ecb149a..10d30f84 100644 --- a/app/src/pane_group/mod.rs +++ b/app/src/pane_group/mod.rs @@ -66,18 +66,6 @@ use std::sync::{mpsc::SyncSender, Arc}; use itertools::Itertools; use lazy_static::lazy_static; -use markdown_parser::FormattedTextFragment; -use parking_lot::FairMutex; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use serde::{Deserialize, Serialize}; -use session_sharing_protocol::common::{ - ParticipantId, Role, RoleRequestId, RoleRequestRejectedReason, RoleRequestResponse, SessionId, -}; -use tree::DEFAULT_FLEX_VALUE; -use typed_path::TypedPath; -use url::Url; -use uuid::Uuid; use galaxy_cli::agent::Harness; use galaxy_core::command::ExitCode; use galaxy_core::context_flag::ContextFlag; @@ -91,6 +79,18 @@ use galaxyui::elements::{ }; use galaxyui::keymap::{Context, EditableBinding, FixedBinding}; use galaxyui::notification::NotificationSendError; +use markdown_parser::FormattedTextFragment; +use parking_lot::FairMutex; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use serde::{Deserialize, Serialize}; +use session_sharing_protocol::common::{ + ParticipantId, Role, RoleRequestId, RoleRequestRejectedReason, RoleRequestResponse, SessionId, +}; +use tree::DEFAULT_FLEX_VALUE; +use typed_path::TypedPath; +use url::Url; +use uuid::Uuid; use galaxyui::windowing::WindowManager; use galaxyui::{ diff --git a/app/src/pane_group/mod_tests.rs b/app/src/pane_group/mod_tests.rs index e0f035d4..c193ece9 100644 --- a/app/src/pane_group/mod_tests.rs +++ b/app/src/pane_group/mod_tests.rs @@ -72,13 +72,13 @@ use ai::{ index::full_source_code_embedding::manager::CodebaseIndexManager, project_context::model::ProjectContextModel, }; -use pathfinder_geometry::rect::RectF; -use shared_session::permissions_manager::SessionPermissionsManager; use galaxyui::windowing::{state::ApplicationStage, WindowManager}; use galaxyui::{ platform::{WindowBounds, WindowStyle}, App, ModelHandle, }; +use pathfinder_geometry::rect::RectF; +use shared_session::permissions_manager::SessionPermissionsManager; fn initialize_app(app: &mut App) { initialize_settings_for_tests(app); diff --git a/app/src/pane_group/pane/get_started_view.rs b/app/src/pane_group/pane/get_started_view.rs index a99819d9..c518e298 100644 --- a/app/src/pane_group/pane/get_started_view.rs +++ b/app/src/pane_group/pane/get_started_view.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::{self, appearance::Appearance, color::blend::Blend as _}; use galaxyui::{ elements::{ @@ -14,6 +13,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ coding_entrypoints::{ diff --git a/app/src/pane_group/pane/local_harness_launch.rs b/app/src/pane_group/pane/local_harness_launch.rs index adbaa556..6e825bbd 100644 --- a/app/src/pane_group/pane/local_harness_launch.rs +++ b/app/src/pane_group/pane/local_harness_launch.rs @@ -1,9 +1,9 @@ use std::{collections::HashMap, ffi::OsString, path::PathBuf, sync::Arc}; -use shell_words::quote as shell_quote; -use uuid::Uuid; use galaxy_cli::agent::Harness; use galaxy_managed_secrets::ManagedSecretValue; +use shell_words::quote as shell_quote; +use uuid::Uuid; use crate::ai::{ agent_sdk::{ diff --git a/app/src/pane_group/pane/mod.rs b/app/src/pane_group/pane/mod.rs index 62a3e23a..0e122744 100644 --- a/app/src/pane_group/pane/mod.rs +++ b/app/src/pane_group/pane/mod.rs @@ -53,8 +53,6 @@ use crate::{ terminal::{available_shells::AvailableShell, TerminalView}, workflows::workflow_view::WorkflowView, }; -use serde::{Deserialize, Serialize}; -use url::Url; use galaxy_core::HostId; use galaxyui::{ elements::{DispatchEventResult, EventHandler, MouseInBehavior}, @@ -62,6 +60,8 @@ use galaxyui::{ Action, AppContext, Element, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, View, ViewContext, ViewHandle, WeakModelHandle, }; +use serde::{Deserialize, Serialize}; +use url::Url; pub use self::view::PaneHeaderAction; pub use self::view::PaneHeaderCustomAction; diff --git a/app/src/pane_group/pane/terminal_pane.rs b/app/src/pane_group/pane/terminal_pane.rs index 59bd8e61..8368f138 100644 --- a/app/src/pane_group/pane/terminal_pane.rs +++ b/app/src/pane_group/pane/terminal_pane.rs @@ -4,8 +4,8 @@ use crate::pane_group::CodeSource; use std::{collections::HashMap, sync::mpsc::SyncSender}; use base64::{engine::general_purpose::STANDARD as BASE64_STANDARD, Engine as _}; -use url::Url; use galaxy_cli::agent::Harness; +use url::Url; use warp_multi_agent_api as multi_agent_api; use galaxyui::{ diff --git a/app/src/pane_group/pane/view/header/mod.rs b/app/src/pane_group/pane/view/header/mod.rs index 668aabaf..5e6e8a37 100644 --- a/app/src/pane_group/pane/view/header/mod.rs +++ b/app/src/pane_group/pane/view/header/mod.rs @@ -25,10 +25,6 @@ use crate::workspace::TabBarDropTargetData; use super::header_content::{HeaderContent, HeaderRenderContext, StandardHeaderOptions}; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; use galaxy_core::{features::FeatureFlag, settings::Setting}; use galaxyui::{ elements::{ @@ -42,6 +38,10 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; use super::PaneDropTargetData; diff --git a/app/src/pane_group/pane/view/header/mod_test.rs b/app/src/pane_group/pane/view/header/mod_test.rs index fc082185..36260b28 100644 --- a/app/src/pane_group/pane/view/header/mod_test.rs +++ b/app/src/pane_group/pane/view/header/mod_test.rs @@ -1,9 +1,9 @@ -use std::sync::Arc; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::Empty, platform::WindowStyle, App, AppContext, Element, Entity, TypedActionView, View, ViewContext, }; +use std::sync::Arc; use crate::{ ai::blocklist::BlocklistAIHistoryModel, diff --git a/app/src/pane_group/pane/welcome_view.rs b/app/src/pane_group/pane/welcome_view.rs index fbaaa188..bac0b1c1 100644 --- a/app/src/pane_group/pane/welcome_view.rs +++ b/app/src/pane_group/pane/welcome_view.rs @@ -2,7 +2,6 @@ use std::collections::HashMap; use std::path::PathBuf; use std::sync::Arc; -use itertools::Itertools as _; use galaxy_core::context_flag::ContextFlag; use galaxy_core::ui::appearance::Appearance; use galaxyui::elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, WindowId, }; +use itertools::Itertools as _; use crate::code_review::diff_state::GitDeltaPreference; use crate::code_review::telemetry_event::CodeReviewPaneEntrypoint; diff --git a/app/src/pane_group/pane/workflow_pane.rs b/app/src/pane_group/pane/workflow_pane.rs index 7f10268d..c332ade0 100644 --- a/app/src/pane_group/pane/workflow_pane.rs +++ b/app/src/pane_group/pane/workflow_pane.rs @@ -14,9 +14,9 @@ use crate::{ workspaces::user_workspaces::UserWorkspaces, }; use anyhow::Context; +use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle}; use std::{collections::HashMap, sync::Arc}; use url::Url; -use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle}; pub struct WorkflowPane { view: ViewHandle>, diff --git a/app/src/pane_group/tree.rs b/app/src/pane_group/tree.rs index ad35ee70..8f998e54 100644 --- a/app/src/pane_group/tree.rs +++ b/app/src/pane_group/tree.rs @@ -1,8 +1,4 @@ use crate::app_state; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::Vector2F; -use std::collections::HashSet; -use std::{fmt, iter, mem}; use galaxyui::elements::{ ChildAnchor, Container, DispatchEventResult, Empty, OffsetPositioning, ParentAnchor, ParentOffsetBounds, PositionedElementAnchor, PositionedElementOffsetBounds, SavePosition, @@ -17,6 +13,10 @@ use galaxyui::{ platform::Cursor, EntityId, ViewContext, }; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::Vector2F; +use std::collections::HashSet; +use std::{fmt, iter, mem}; use super::{ActivationReason, PaneGroup, PaneId}; use crate::pane_group::{get_minimum_pane_size, DraggedBorder, PaneGroupAction}; diff --git a/app/src/pane_group/working_directories.rs b/app/src/pane_group/working_directories.rs index fd4e8ff2..13e70318 100644 --- a/app/src/pane_group/working_directories.rs +++ b/app/src/pane_group/working_directories.rs @@ -1,4 +1,8 @@ #[cfg(feature = "local_fs")] +use galaxyui::{AppContext, SingletonEntity as _}; +use galaxyui::{Entity, EntityId, ModelContext}; +use galaxyui::{ModelHandle, ViewHandle}; +#[cfg(feature = "local_fs")] use indexmap::IndexSet; #[cfg(feature = "local_fs")] use repo_metadata::repositories::DetectedRepositories; @@ -6,10 +10,6 @@ use std::collections::HashMap; #[cfg(feature = "local_fs")] use std::collections::HashSet; use std::path::{Path, PathBuf}; -#[cfg(feature = "local_fs")] -use galaxyui::{AppContext, SingletonEntity as _}; -use galaxyui::{Entity, EntityId, ModelContext}; -use galaxyui::{ModelHandle, ViewHandle}; #[cfg(feature = "local_fs")] use crate::code::file_tree::FileTreeView; diff --git a/app/src/pane_group/working_directories_tests.rs b/app/src/pane_group/working_directories_tests.rs index 0e46de3c..032fb0c2 100644 --- a/app/src/pane_group/working_directories_tests.rs +++ b/app/src/pane_group/working_directories_tests.rs @@ -4,8 +4,8 @@ use std::collections::HashSet; use std::fs; use std::path::PathBuf; -use repo_metadata::repositories::DetectedRepositories; use galaxyui::{App, EntityId}; +use repo_metadata::repositories::DetectedRepositories; use crate::pane_group::WorkingDirectoriesModel; diff --git a/app/src/persistence/mod.rs b/app/src/persistence/mod.rs index 227d6429..be57b96c 100644 --- a/app/src/persistence/mod.rs +++ b/app/src/persistence/mod.rs @@ -27,12 +27,12 @@ use std::thread::JoinHandle; use crate::ai::persisted_workspace::EnablementState; use ai::project_context::model::ProjectRulePath; use chrono::{DateTime, Local, Utc}; -use lsp::supported_servers::LSPServerType; -use uuid::Uuid; use galaxy_core::command::ExitCode; use galaxy_graphql::scalars::time::ServerTimestamp; -use warp_multi_agent_api as api; use galaxyui::{AppContext, Entity, SingletonEntity}; +use lsp::supported_servers::LSPServerType; +use uuid::Uuid; +use warp_multi_agent_api as api; use crate::ai::blocklist::PersistedAIInput; use crate::ai::mcp::TemplatableMCPServerInstallation; diff --git a/app/src/persistence/sqlite.rs b/app/src/persistence/sqlite.rs index 195e354c..9c5ab275 100644 --- a/app/src/persistence/sqlite.rs +++ b/app/src/persistence/sqlite.rs @@ -24,15 +24,15 @@ use diesel::{ OptionalExtension, QueryDsl, RunQueryDsl, SelectableHelper, }; use diesel_migrations::MigrationHarness; +use galaxy_graphql::scalars::time::ServerTimestamp; +use galaxyui::platform::FullscreenState; +use galaxyui::{AppContext, SingletonEntity}; use itertools::Itertools; use libsqlite3_sys as sqlite3; use num_traits::FromPrimitive; use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use persistence::model::AMBIENT_AGENT_PANE_KIND; use uuid::Uuid; -use galaxy_graphql::scalars::time::ServerTimestamp; -use galaxyui::platform::FullscreenState; -use galaxyui::{AppContext, SingletonEntity}; use super::agent::{delete_agent_conversations, upsert_agent_conversation}; use super::block_list::{ diff --git a/app/src/plugin/host/native/plugin.rs b/app/src/plugin/host/native/plugin.rs index cbdc2901..48236acb 100644 --- a/app/src/plugin/host/native/plugin.rs +++ b/app/src/plugin/host/native/plugin.rs @@ -5,8 +5,8 @@ use std::{ }; use anyhow::anyhow; -use rquickjs::Context; use galaxy_js::{JsFunctionId, JsFunctionRegistry, SerializedJsValue}; +use rquickjs::Context; cfg_if::cfg_if! { if #[cfg(feature = "completions_v2")] { diff --git a/app/src/plugin/host/native/runner.rs b/app/src/plugin/host/native/runner.rs index ce4c3ac9..945db526 100644 --- a/app/src/plugin/host/native/runner.rs +++ b/app/src/plugin/host/native/runner.rs @@ -1,7 +1,7 @@ use anyhow::{Context as AnyhowContext, Result}; use async_channel::Receiver; -use rquickjs::{Context, Function, Runtime}; use galaxy_js::JsFunctionId; +use rquickjs::{Context, Function, Runtime}; use super::{ js_api, diff --git a/app/src/plugin/host/native/runners.rs b/app/src/plugin/host/native/runners.rs index aba935bd..733af58a 100644 --- a/app/src/plugin/host/native/runners.rs +++ b/app/src/plugin/host/native/runners.rs @@ -5,9 +5,9 @@ use std::{ use async_channel::Receiver; use futures::channel::oneshot; -use parking_lot::Mutex; use galaxy_js::JsFunctionId; use galaxyui::r#async::executor::Background; +use parking_lot::Mutex; use super::{ plugin::{AppServiceCallers, PluginRequest, PluginResponse}, diff --git a/app/src/plugin/service/call_js_function.rs b/app/src/plugin/service/call_js_function.rs index ee41eb61..107fe555 100644 --- a/app/src/plugin/service/call_js_function.rs +++ b/app/src/plugin/service/call_js_function.rs @@ -15,8 +15,8 @@ //! //! To serialize input/deserialize output, callers are expected to use `bincode`. use async_trait::async_trait; -use serde::{Deserialize, Serialize}; use galaxy_js::{JsFunctionId, SerializedJsValue}; +use serde::{Deserialize, Serialize}; #[derive(Clone, Serialize, Deserialize, Debug)] pub struct CallJsFunctionRequest { diff --git a/app/src/plugin/service/completions.rs b/app/src/plugin/service/completions.rs index d65bef58..787b95c0 100644 --- a/app/src/plugin/service/completions.rs +++ b/app/src/plugin/service/completions.rs @@ -3,8 +3,8 @@ //! //! This IPC is hosted by the rust app process and called by the plugin process when plugins //! register command signatures. -use serde::{Deserialize, Serialize}; use galaxy_completer::signatures::CommandSignature; +use serde::{Deserialize, Serialize}; #[derive(Clone, Serialize, Deserialize, Debug)] pub struct RegisterCommandSignatureRequest { diff --git a/app/src/prompt/editor_modal.rs b/app/src/prompt/editor_modal.rs index 8b6c895b..03aa3bc5 100644 --- a/app/src/prompt/editor_modal.rs +++ b/app/src/prompt/editor_modal.rs @@ -1,12 +1,12 @@ -use itertools::Itertools; use galaxy_core::ui::theme::Fill; +use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; -use serde::Serialize; use galaxyui::keymap::FixedBinding; use galaxyui::platform::Cursor; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; +use pathfinder_geometry::vector::vec2f; +use serde::Serialize; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, diff --git a/app/src/quit_warning/mod.rs b/app/src/quit_warning/mod.rs index 38741443..896a2344 100644 --- a/app/src/quit_warning/mod.rs +++ b/app/src/quit_warning/mod.rs @@ -1,10 +1,10 @@ -use itertools::Itertools; -use settings::ToggleableSetting as _; -use std::fmt::Write; use galaxyui::{ modals::{AlertDialogWithCallbacks, AppModalCallback, ModalButton}, AppContext, EntityId, SingletonEntity, ViewContext, WeakViewHandle, WindowId, }; +use itertools::Itertools; +use settings::ToggleableSetting as _; +use std::fmt::Write; use crate::{ code::editor_management::{CodeEditorStatus, CodeEditorSummary}, diff --git a/app/src/referral_theme_status.rs b/app/src/referral_theme_status.rs index c7c863b3..e2206f64 100644 --- a/app/src/referral_theme_status.rs +++ b/app/src/referral_theme_status.rs @@ -5,9 +5,9 @@ use crate::{ safe_info, server::server_api::referral::{ReferralInfo, ReferralsClient}, }; -use serde::{Deserialize, Serialize}; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; // Note: The name of this key is from before this model was created. For consistency, it should // remain the same value diff --git a/app/src/remote_server/auth_context.rs b/app/src/remote_server/auth_context.rs index 9d1dcb30..e5101ed7 100644 --- a/app/src/remote_server/auth_context.rs +++ b/app/src/remote_server/auth_context.rs @@ -1,7 +1,7 @@ use std::sync::Arc; -use remote_server::auth::RemoteServerAuthContext; use galaxyui::r#async::BoxFuture; +use remote_server::auth::RemoteServerAuthContext; use crate::auth::auth_state::AuthState; use crate::server::server_api::auth::AuthClient; diff --git a/app/src/remote_server/mod.rs b/app/src/remote_server/mod.rs index e1cf14ee..7582c736 100644 --- a/app/src/remote_server/mod.rs +++ b/app/src/remote_server/mod.rs @@ -1,9 +1,9 @@ #[cfg(not(target_family = "wasm"))] use crate::server::server_api::{ServerApiEvent, ServerApiProvider}; #[cfg(not(target_family = "wasm"))] -use remote_server::manager::RemoteServerManager; -#[cfg(not(target_family = "wasm"))] use galaxyui::SingletonEntity; +#[cfg(not(target_family = "wasm"))] +use remote_server::manager::RemoteServerManager; // Re-export everything from the `remote_server` crate so existing // `crate::remote_server::*` imports in `app` continue to work. pub use remote_server::*; diff --git a/app/src/remote_server/server_model.rs b/app/src/remote_server/server_model.rs index 29bdfda2..61f719c6 100644 --- a/app/src/remote_server/server_model.rs +++ b/app/src/remote_server/server_model.rs @@ -1,16 +1,16 @@ use crate::terminal::shell::ShellType; -use repo_metadata::repositories::{DetectedRepositories, RepoDetectionSource}; -use repo_metadata::{RepoMetadataEvent, RepoMetadataModel, RepositoryIdentifier}; -use std::collections::{HashMap, HashSet}; -use std::future::Future; -use std::path::{Path, PathBuf}; -use std::sync::Arc; use galaxy_core::channel::ChannelState; use galaxy_core::SessionId; use galaxy_util::standardized_path::StandardizedPath; use galaxyui::platform::TerminationMode; use galaxyui::r#async::{Spawnable, SpawnableOutput, SpawnedFutureHandle}; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use repo_metadata::repositories::{DetectedRepositories, RepoDetectionSource}; +use repo_metadata::{RepoMetadataEvent, RepoMetadataModel, RepositoryIdentifier}; +use std::collections::{HashMap, HashSet}; +use std::future::Future; +use std::path::{Path, PathBuf}; +use std::sync::Arc; use galaxy_files::{FileModel, FileModelEvent}; use galaxy_util::content_version::ContentVersion; diff --git a/app/src/remote_server/unix/mod.rs b/app/src/remote_server/unix/mod.rs index dda42c58..df5a08e2 100644 --- a/app/src/remote_server/unix/mod.rs +++ b/app/src/remote_server/unix/mod.rs @@ -14,9 +14,9 @@ mod proxy; use super::server_model::{ConnectionId, ServerModel}; +use galaxyui::r#async::executor; use std::fs::Permissions; use std::os::unix::fs::PermissionsExt; -use galaxyui::r#async::executor; /// Run the `remote-server-proxy` subcommand. /// diff --git a/app/src/resource_center/keybindings_page.rs b/app/src/resource_center/keybindings_page.rs index e52fb862..8aff6374 100644 --- a/app/src/resource_center/keybindings_page.rs +++ b/app/src/resource_center/keybindings_page.rs @@ -1,5 +1,4 @@ use enum_iterator::{all, Sequence}; -use itertools::{Either, Itertools}; use galaxyui::elements::CornerRadius; use galaxyui::presenter::ChildView; use galaxyui::units::Pixels; @@ -14,6 +13,7 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::{Either, Itertools}; use crate::settings_view; use crate::workspace::tab_settings::TabSettings; diff --git a/app/src/resource_center/main_page.rs b/app/src/resource_center/main_page.rs index 2e394486..b824f80c 100644 --- a/app/src/resource_center/main_page.rs +++ b/app/src/resource_center/main_page.rs @@ -9,7 +9,6 @@ use crate::{ settings::Settings, themes::theme::{Blend, Fill as FillTheme}, }; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ Align, ClippedScrollStateHandle, ClippedScrollable, Container, CornerRadius, Element, @@ -25,6 +24,7 @@ use galaxyui::{ AppContext, Entity, EntityId, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WindowId, }; +use pathfinder_geometry::vector::vec2f; use crate::{appearance::Appearance, workspace::WorkspaceAction}; diff --git a/app/src/resource_center/mod.rs b/app/src/resource_center/mod.rs index 1a0311bf..cecfdfb1 100644 --- a/app/src/resource_center/mod.rs +++ b/app/src/resource_center/mod.rs @@ -18,9 +18,9 @@ mod section_views; pub use section_views::{ChangelogSectionView, ContentSectionView, FeatureSectionView}; pub mod sections; mod view; +use galaxyui::{keymap::Keystroke, AppContext, Entity, SingletonEntity}; use serde::{Deserialize, Serialize}; pub use view::{ResourceCenterAction, ResourceCenterEvent, ResourceCenterPage, ResourceCenterView}; -use galaxyui::{keymap::Keystroke, AppContext, Entity, SingletonEntity}; use self::section_views::feature_section::FeatureSection; diff --git a/app/src/resource_center/section_views/changelog_section.rs b/app/src/resource_center/section_views/changelog_section.rs index 2b5d02ac..b0cab776 100644 --- a/app/src/resource_center/section_views/changelog_section.rs +++ b/app/src/resource_center/section_views/changelog_section.rs @@ -1,5 +1,3 @@ -use instant::Instant; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::{ @@ -12,6 +10,8 @@ use galaxyui::{ AppContext, Entity, ModelAsRef, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use instant::Instant; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::{ appearance::Appearance, diff --git a/app/src/resource_center/section_views/content_section.rs b/app/src/resource_center/section_views/content_section.rs index 9007499c..a7215679 100644 --- a/app/src/resource_center/section_views/content_section.rs +++ b/app/src/resource_center/section_views/content_section.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::{ elements::{ ConstrainedBox, Container, Element, Empty, Flex, MouseStateHandle, ParentElement, @@ -7,6 +6,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; use crate::util::color::{ContrastingColor, MinimumAllowedContrast}; use crate::{ diff --git a/app/src/resource_center/view.rs b/app/src/resource_center/view.rs index 30d5edc0..e2ec0c2b 100644 --- a/app/src/resource_center/view.rs +++ b/app/src/resource_center/view.rs @@ -1,4 +1,3 @@ -use vec1::{vec1, Vec1}; use galaxy_core::{features::FeatureFlag, ui::builder::AnimatedButtonOptions}; use galaxyui::{ elements::{ @@ -16,6 +15,7 @@ use galaxyui::{ AppContext, Entity, EntityId, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WindowId, }; +use vec1::{vec1, Vec1}; use super::{ keybindings_page::KeybindingsEvent, diff --git a/app/src/root_view.rs b/app/src/root_view.rs index 3f399734..3e1545c3 100644 --- a/app/src/root_view.rs +++ b/app/src/root_view.rs @@ -79,6 +79,11 @@ use crate::{features::FeatureFlag, ChannelState}; use crate::{send_telemetry_from_app_ctx, GlobalResourceHandles, GlobalResourceHandlesProvider}; use anyhow::Result; use cfg_if::cfg_if; +use galaxy_core::context_flag::ContextFlag; +use galaxy_core::user_preferences::GetUserPreferences as _; +use galaxyui::clipboard::ClipboardContent; +use galaxyui::keymap::{EditableBinding, FixedBinding}; +use galaxyui::windowing::WindowManager; use itertools::Itertools; use lazy_static::lazy_static; use parking_lot::Mutex; @@ -92,11 +97,6 @@ use std::sync::mpsc::SyncSender; use std::sync::Arc; use std::{collections::HashMap, path::PathBuf}; use url::Url; -use galaxy_core::context_flag::ContextFlag; -use galaxy_core::user_preferences::GetUserPreferences as _; -use galaxyui::clipboard::ClipboardContent; -use galaxyui::keymap::{EditableBinding, FixedBinding}; -use galaxyui::windowing::WindowManager; use crate::ai::llms::{LLMPreferences, LLMPreferencesEvent}; use crate::ai::onboarding::{ @@ -3213,8 +3213,8 @@ impl RootView { ctx: &mut ViewContext, ) -> bool { use crate::settings::AISettings; - use voice_input::{VoiceInput, VoiceInputState, VoiceInputToggledFrom}; use galaxyui::event::KeyState; + use voice_input::{VoiceInput, VoiceInputState, VoiceInputToggledFrom}; // Check that the released key matches the configured voice input toggle key. let ai_settings = AISettings::as_ref(ctx); diff --git a/app/src/search/action/data_source.rs b/app/src/search/action/data_source.rs index 0644a732..261119f6 100644 --- a/app/src/search/action/data_source.rs +++ b/app/src/search/action/data_source.rs @@ -1,7 +1,7 @@ use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; +use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; use std::collections::HashMap; use std::sync::Arc; -use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; use crate::search::action::search_item::MatchedBinding; use crate::search::command_palette::mixer::CommandPaletteItemAction; @@ -194,9 +194,9 @@ mod full_text_searcher { }; use crate::util::bindings::CommandBinding; use fuzzy_match::FuzzyMatchResult; + use galaxyui::keymap::{BindingId, DescriptionContext}; use std::collections::HashMap; use std::sync::Arc; - use galaxyui::keymap::{BindingId, DescriptionContext}; define_search_schema!( schema_name: ACTION_SEARCH_SCHEMA, diff --git a/app/src/search/action/search_item.rs b/app/src/search/action/search_item.rs index 824fe97d..ec641b8f 100644 --- a/app/src/search/action/search_item.rs +++ b/app/src/search/action/search_item.rs @@ -11,9 +11,6 @@ use crate::search::result_renderer::ItemHighlightState; use crate::ui_components::icons::Icon; use crate::util::bindings::{BindingGroup, CommandBinding}; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; -use pathfinder_color::ColorU; -use std::sync::Arc; use galaxyui::elements::{ Align, ConstrainedBox, Container, Flex, Highlight, ParentElement, Shrinkable, Text, }; @@ -21,6 +18,9 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::keymap::{DescriptionContext, Keystroke}; use galaxyui::ui_components::components::UiComponent; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; +use pathfinder_color::ColorU; +use std::sync::Arc; /// A matched binding from a search query. #[derive(Debug)] diff --git a/app/src/search/ai_context_menu/blocks/data_source.rs b/app/src/search/ai_context_menu/blocks/data_source.rs index 53a9086c..82a26ec2 100644 --- a/app/src/search/ai_context_menu/blocks/data_source.rs +++ b/app/src/search/ai_context_menu/blocks/data_source.rs @@ -7,8 +7,8 @@ use crate::terminal::model::block::Block; use crate::terminal::TerminalView; use crate::workspace::ActiveSession; use fuzzy_match::FuzzyMatchResult; -use itertools::Itertools; use galaxyui::{AppContext, Entity, SingletonEntity}; +use itertools::Itertools; const MAX_RESULTS: usize = 20; const ZERO_STATE_BASE_SCORE: i64 = 1000; diff --git a/app/src/search/ai_context_menu/blocks/search_item.rs b/app/src/search/ai_context_menu/blocks/search_item.rs index f79eabaa..c36d6d51 100644 --- a/app/src/search/ai_context_menu/blocks/search_item.rs +++ b/app/src/search/ai_context_menu/blocks/search_item.rs @@ -6,13 +6,13 @@ use crate::search::result_renderer::ItemHighlightState; use crate::terminal::model::block::BlockId; use crate::util::truncation::truncate_from_end; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::elements::Highlight; use galaxyui::fonts::{Properties, Weight}; use galaxyui::{ elements::{ConstrainedBox, Container, CrossAxisAlignment, Flex, Icon, ParentElement, Text}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use chrono::{DateTime, Local}; use galaxy_core::command::ExitCode; diff --git a/app/src/search/ai_context_menu/code/data_source.rs b/app/src/search/ai_context_menu/code/data_source.rs index f38531e5..b604c1fa 100644 --- a/app/src/search/ai_context_menu/code/data_source.rs +++ b/app/src/search/ai_context_menu/code/data_source.rs @@ -13,6 +13,9 @@ use crate::search::mixer::{ }; use ai::index::Symbol; use fuzzy_match::FuzzyMatchResult; +use galaxyui::AppContext; +#[cfg(not(target_family = "wasm"))] +use galaxyui::ModelSpawner; #[cfg(not(target_family = "wasm"))] use instant::Instant; #[cfg(not(target_family = "wasm"))] @@ -23,20 +26,17 @@ use std::collections::HashSet; use std::path::PathBuf; #[cfg(not(target_family = "wasm"))] use std::time::Duration; -use galaxyui::AppContext; -#[cfg(not(target_family = "wasm"))] -use galaxyui::ModelSpawner; #[cfg(not(target_family = "wasm"))] use crate::ai::outline::{OutlineStatus, RepoOutlines, RepoOutlinesEvent}; #[cfg(not(target_family = "wasm"))] use crate::workspace::ActiveSession; #[cfg(not(target_family = "wasm"))] +use galaxyui::SingletonEntity; +#[cfg(not(target_family = "wasm"))] use repo_metadata::repositories::DetectedRepositories; #[cfg(not(target_family = "wasm"))] use std::path::Path; -#[cfg(not(target_family = "wasm"))] -use galaxyui::SingletonEntity; const MAX_RESULTS: usize = 200; diff --git a/app/src/search/ai_context_menu/code/mod.rs b/app/src/search/ai_context_menu/code/mod.rs index 6272dcd4..9e355f68 100644 --- a/app/src/search/ai_context_menu/code/mod.rs +++ b/app/src/search/ai_context_menu/code/mod.rs @@ -6,11 +6,11 @@ pub mod search_item; use crate::ai::outline::{OutlineStatus, RepoOutlines}; #[cfg(not(target_family = "wasm"))] use crate::workspace::ActiveSession; -#[cfg(not(target_family = "wasm"))] -use std::path::Path; use galaxyui::AppContext; #[cfg(not(target_family = "wasm"))] use galaxyui::SingletonEntity; +#[cfg(not(target_family = "wasm"))] +use std::path::Path; /// Checks if the code symbols (outline) are currently being indexed for the active directory. /// Returns true if the outline is in a pending state, false otherwise. diff --git a/app/src/search/ai_context_menu/code/search_item.rs b/app/src/search/ai_context_menu/code/search_item.rs index ae227718..b775f716 100644 --- a/app/src/search/ai_context_menu/code/search_item.rs +++ b/app/src/search/ai_context_menu/code/search_item.rs @@ -4,12 +4,12 @@ use crate::search::ai_context_menu::{mixer::AIContextMenuSearchableAction, safe_ use crate::search::item::{IconLocation, SearchItem}; use crate::search::result_renderer::ItemHighlightState; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::elements::{ ConstrainedBox, Container, CrossAxisAlignment, Flex, Highlight, Icon, ParentElement, Text, }; use galaxyui::fonts::{Properties, Weight}; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; // Import CodeSymbol from the data_source module use super::data_source::CodeSymbol; diff --git a/app/src/search/ai_context_menu/commands/data_source.rs b/app/src/search/ai_context_menu/commands/data_source.rs index 22374da3..075dd3f9 100644 --- a/app/src/search/ai_context_menu/commands/data_source.rs +++ b/app/src/search/ai_context_menu/commands/data_source.rs @@ -4,8 +4,8 @@ use crate::search::data_source::{Query, QueryResult}; use crate::search::mixer::{DataSourceRunErrorWrapper, SyncDataSource}; use crate::terminal::History; use fuzzy_match::FuzzyMatchResult; -use std::collections::HashSet; use galaxyui::{AppContext, SingletonEntity}; +use std::collections::HashSet; const MAX_RESULTS: usize = 50; diff --git a/app/src/search/ai_context_menu/commands/search_item.rs b/app/src/search/ai_context_menu/commands/search_item.rs index cb744d85..e0c7d4f2 100644 --- a/app/src/search/ai_context_menu/commands/search_item.rs +++ b/app/src/search/ai_context_menu/commands/search_item.rs @@ -3,11 +3,11 @@ use crate::search::ai_context_menu::mixer::AIContextMenuSearchableAction; use crate::search::item::SearchItem; use crate::search::result_renderer::ItemHighlightState; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ConstrainedBox, Container, Icon, Text}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; #[derive(Clone, Debug)] pub struct CommandSearchItem { diff --git a/app/src/search/ai_context_menu/conversations/data_source.rs b/app/src/search/ai_context_menu/conversations/data_source.rs index 3e02776d..5059ca15 100644 --- a/app/src/search/ai_context_menu/conversations/data_source.rs +++ b/app/src/search/ai_context_menu/conversations/data_source.rs @@ -6,8 +6,8 @@ use crate::search::ai_context_menu::mixer::AIContextMenuSearchableAction; use crate::search::data_source::{Query, QueryResult}; use crate::search::mixer::{DataSourceRunErrorWrapper, SyncDataSource}; use fuzzy_match::FuzzyMatchResult; -use std::collections::HashSet; use galaxyui::{AppContext, Entity, SingletonEntity}; +use std::collections::HashSet; const MAX_RESULTS: usize = 50; /// Minimum fuzzy match score to include a conversation in filtered results. diff --git a/app/src/search/ai_context_menu/diffset/search_item.rs b/app/src/search/ai_context_menu/diffset/search_item.rs index 8adba286..e3ccafb4 100644 --- a/app/src/search/ai_context_menu/diffset/search_item.rs +++ b/app/src/search/ai_context_menu/diffset/search_item.rs @@ -5,11 +5,11 @@ use crate::search::ai_context_menu::styles; use crate::search::item::SearchItem; use crate::search::result_renderer::ItemHighlightState; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::elements::{ ConstrainedBox, Container, CrossAxisAlignment, Flex, Icon, ParentElement, Text, }; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; #[derive(Debug, Clone)] pub struct DiffSetSearchItem { diff --git a/app/src/search/ai_context_menu/files/data_source.rs b/app/src/search/ai_context_menu/files/data_source.rs index c7de5271..115d5525 100644 --- a/app/src/search/ai_context_menu/files/data_source.rs +++ b/app/src/search/ai_context_menu/files/data_source.rs @@ -10,13 +10,13 @@ use crate::search::mixer::{BoxFuture, DataSourceRunErrorWrapper}; use crate::workspace::ActiveSession; use futures_lite::future::yield_now; use fuzzy_match::FuzzyMatchResult; +use galaxyui::{AppContext, SingletonEntity}; use itertools::Itertools; use repo_metadata::repositories::DetectedRepositories; use std::collections::HashMap; use std::collections::HashSet; use std::path::{Path, PathBuf}; use std::sync::Arc; -use galaxyui::{AppContext, SingletonEntity}; const MAX_RESULTS: usize = 200; diff --git a/app/src/search/ai_context_menu/files/data_source_tests.rs b/app/src/search/ai_context_menu/files/data_source_tests.rs index ff79ae54..caafaabb 100644 --- a/app/src/search/ai_context_menu/files/data_source_tests.rs +++ b/app/src/search/ai_context_menu/files/data_source_tests.rs @@ -9,6 +9,11 @@ use crate::search::{ mixer::AsyncDataSource, }; use crate::{terminal::model::session::Session, workspace::ActiveSession}; +use galaxyui::platform::WindowStyle; +use galaxyui::r#async::block_on; +use galaxyui::windowing::WindowManager; +use galaxyui::SingletonEntity; +use galaxyui::{elements::Empty, App, AppContext, Element, Entity, TypedActionView, View}; use repo_metadata::repositories::DetectedRepositories; use repo_metadata::RepoMetadataModel; use std::collections::HashMap; @@ -17,11 +22,6 @@ use std::fs; use std::path::PathBuf; use std::sync::Arc; use tempfile::tempdir; -use galaxyui::platform::WindowStyle; -use galaxyui::r#async::block_on; -use galaxyui::windowing::WindowManager; -use galaxyui::SingletonEntity; -use galaxyui::{elements::Empty, App, AppContext, Element, Entity, TypedActionView, View}; struct TestView; impl Entity for TestView { diff --git a/app/src/search/ai_context_menu/notebooks/data_source_test.rs b/app/src/search/ai_context_menu/notebooks/data_source_test.rs index 3b64db61..63d08ab1 100644 --- a/app/src/search/ai_context_menu/notebooks/data_source_test.rs +++ b/app/src/search/ai_context_menu/notebooks/data_source_test.rs @@ -3,8 +3,8 @@ mod tests { use std::sync::Arc; use chrono::{Duration, Utc}; - use settings::manager::SettingsManager; use galaxyui::{App, SingletonEntity}; + use settings::manager::SettingsManager; use crate::auth::AuthStateProvider; use crate::cloud_object::model::persistence::CloudModel; diff --git a/app/src/search/ai_context_menu/rules/data_source_tests.rs b/app/src/search/ai_context_menu/rules/data_source_tests.rs index 95e57520..2deb602f 100644 --- a/app/src/search/ai_context_menu/rules/data_source_tests.rs +++ b/app/src/search/ai_context_menu/rules/data_source_tests.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use chrono::{Duration, Utc}; -use settings::manager::SettingsManager; use galaxyui::{App, SingletonEntity}; +use settings::manager::SettingsManager; use crate::ai::facts::{AIFact, AIMemory, CloudAIFactModel}; use crate::auth::AuthStateProvider; diff --git a/app/src/search/ai_context_menu/skills/data_source.rs b/app/src/search/ai_context_menu/skills/data_source.rs index cc53bbfb..d347f9e4 100644 --- a/app/src/search/ai_context_menu/skills/data_source.rs +++ b/app/src/search/ai_context_menu/skills/data_source.rs @@ -4,8 +4,8 @@ use crate::search::ai_context_menu::mixer::AIContextMenuSearchableAction; use crate::search::data_source::{Query, QueryResult}; use crate::search::mixer::{DataSourceRunErrorWrapper, SyncDataSource}; use fuzzy_match::FuzzyMatchResult; -use std::path::PathBuf; use galaxyui::{AppContext, Entity, SingletonEntity}; +use std::path::PathBuf; #[cfg(not(target_family = "wasm"))] use crate::workspace::ActiveSession; diff --git a/app/src/search/ai_context_menu/view.rs b/app/src/search/ai_context_menu/view.rs index 8f47d346..05ed7d51 100644 --- a/app/src/search/ai_context_menu/view.rs +++ b/app/src/search/ai_context_menu/view.rs @@ -34,11 +34,6 @@ use crate::search::result_renderer::{QueryResultRenderer, QueryResultRendererSty use crate::search::search_bar::{SearchBar, SearchBarEvent, SearchBarState, SearchResultOrdering}; use crate::settings::InputSettings; use async_channel::Sender; -use itertools::Itertools; -use settings::Setting as _; -use std::collections::HashSet; -use std::ops::Range; -use std::time::Duration; use galaxy_core::features::FeatureFlag; use galaxyui::elements::ConstrainedBox; use galaxyui::elements::CrossAxisAlignment; @@ -57,6 +52,11 @@ use galaxyui::elements::{ OffsetType, ParentElement, PositionedElementOffsetBounds, PositioningAxis, Radius, SavePosition, Shrinkable, Stack, Text, XAxisAnchor, YAxisAnchor, }; +use itertools::Itertools; +use settings::Setting as _; +use std::collections::HashSet; +use std::ops::Range; +use std::time::Duration; use galaxyui::platform::Cursor; use galaxyui::windowing::WindowManager; diff --git a/app/src/search/command_palette/conversations/data_source.rs b/app/src/search/command_palette/conversations/data_source.rs index afe99b44..1975712f 100644 --- a/app/src/search/command_palette/conversations/data_source.rs +++ b/app/src/search/command_palette/conversations/data_source.rs @@ -12,9 +12,9 @@ use crate::search::data_source::{DataSourceSearchError, Query, QueryResult}; use crate::search::mixer::DataSourceRunErrorWrapper; use crate::search::SyncDataSource; use crate::workspace::Workspace; +use galaxyui::{AppContext, Entity}; use itertools::Itertools; use std::collections::HashMap; -use galaxyui::{AppContext, Entity}; /// Sections for grouping conversations in the command palette. #[derive(Debug, PartialEq, Eq, Hash)] diff --git a/app/src/search/command_palette/conversations/search_item.rs b/app/src/search/command_palette/conversations/search_item.rs index 3e8ca1bd..87b17217 100644 --- a/app/src/search/command_palette/conversations/search_item.rs +++ b/app/src/search/command_palette/conversations/search_item.rs @@ -10,9 +10,6 @@ use crate::search::result_renderer::ItemHighlightState; use crate::search::SearchItem; use crate::ui_components::buttons::icon_button; use crate::util::time_format::format_approx_duration_from_now; -use ordered_float::OrderedFloat; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::color::{blend::Blend, coloru_with_opacity}; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::color::internal_colors; @@ -25,6 +22,9 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::ui_components::button::ButtonTooltipPosition; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Element, Gradient, SingletonEntity}; +use ordered_float::OrderedFloat; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; /// Information about which action to take once the conversation item is accepted. #[derive(Debug)] diff --git a/app/src/search/command_palette/data_sources_test.rs b/app/src/search/command_palette/data_sources_test.rs index d23060be..ad84c990 100644 --- a/app/src/search/command_palette/data_sources_test.rs +++ b/app/src/search/command_palette/data_sources_test.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use chrono::Utc; -use settings::manager::SettingsManager; use galaxyui::{App, SingletonEntity}; +use settings::manager::SettingsManager; use super::*; use crate::auth::AuthStateProvider; diff --git a/app/src/search/command_palette/files/data_source.rs b/app/src/search/command_palette/files/data_source.rs index 86e2a128..482c105f 100644 --- a/app/src/search/command_palette/files/data_source.rs +++ b/app/src/search/command_palette/files/data_source.rs @@ -8,6 +8,8 @@ use crate::search::files::search_item::FileSearchResult; use crate::search::mixer::{AsyncDataSource, BoxFuture, DataSourceRunErrorWrapper}; use futures_lite::FutureExt; use fuzzy_match::FuzzyMatchResult; +use galaxy_util::path::CleanPathResult; +use galaxyui::{AppContext, Entity, SingletonEntity}; use instant::Instant; use itertools::Itertools; use std::collections::HashSet; @@ -15,8 +17,6 @@ use std::collections::HashSet; use std::path::Path; use std::path::PathBuf; use std::sync::Arc; -use galaxy_util::path::CleanPathResult; -use galaxyui::{AppContext, Entity, SingletonEntity}; const MAX_RESULTS: usize = 100; diff --git a/app/src/search/command_palette/files/search_item.rs b/app/src/search/command_palette/files/search_item.rs index b47c6df6..675753f4 100644 --- a/app/src/search/command_palette/files/search_item.rs +++ b/app/src/search/command_palette/files/search_item.rs @@ -1,8 +1,8 @@ use fuzzy_match::FuzzyMatchResult; +use galaxy_util::path::LineAndColumnArg; use ordered_float::OrderedFloat; use std::fmt::Debug; use std::path::PathBuf; -use galaxy_util::path::LineAndColumnArg; use crate::appearance::Appearance; use crate::search::command_palette::mixer::CommandPaletteItemAction; diff --git a/app/src/search/command_palette/filter_chip_renderer.rs b/app/src/search/command_palette/filter_chip_renderer.rs index 8b260078..64b636af 100644 --- a/app/src/search/command_palette/filter_chip_renderer.rs +++ b/app/src/search/command_palette/filter_chip_renderer.rs @@ -4,13 +4,13 @@ use crate::drive::DriveObjectType; use crate::search::FilterChipRenderer as CommonFilterChipRenderer; use crate::search::QueryFilter; use crate::util::color::{ContrastingColor, MinimumAllowedContrast}; -use pathfinder_color::ColorU; use galaxyui::elements::{ ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable, Icon, MouseStateHandle, ParentElement, Radius, Text, }; use galaxyui::platform::Cursor; use galaxyui::{Element, EventContext}; +use pathfinder_color::ColorU; /// Trait to render filter chips for the command palette. pub trait FilterChipRenderer: crate::search::FilterChipRenderer { diff --git a/app/src/search/command_palette/launch_config/data_source.rs b/app/src/search/command_palette/launch_config/data_source.rs index 01fa7131..8566c746 100644 --- a/app/src/search/command_palette/launch_config/data_source.rs +++ b/app/src/search/command_palette/launch_config/data_source.rs @@ -5,9 +5,9 @@ use crate::search::data_source::{DataSourceSearchError, Query, QueryResult}; use crate::search::mixer::{DataSourceRunErrorWrapper, SyncDataSource}; use crate::user_config::{WarpConfig, WarpConfigUpdateEvent}; use fuzzy_match::match_indices_case_insensitive; +use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use std::collections::HashMap; use std::sync::Arc; -use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; /// Datasource that searches against `LaunchConfig`s. pub struct DataSource { @@ -124,10 +124,10 @@ mod full_text_searcher { use crate::search::searcher::{AsyncSearcher, DEFAULT_MEMORY_BUDGET, SCORE_CONVERSION_FACTOR}; use crate::user_config::WarpConfig; use fuzzy_match::FuzzyMatchResult; - use std::collections::HashMap; - use std::sync::Arc; use galaxyui::r#async::executor::Background; use galaxyui::{AppContext, SingletonEntity}; + use std::collections::HashMap; + use std::sync::Arc; // The name of the launch configs are duplicated to ensure that the searcher // hashes the name to uniquely identify the launch config. diff --git a/app/src/search/command_palette/launch_config/search_item.rs b/app/src/search/command_palette/launch_config/search_item.rs index a21bd9fd..0bc63a75 100644 --- a/app/src/search/command_palette/launch_config/search_item.rs +++ b/app/src/search/command_palette/launch_config/search_item.rs @@ -6,9 +6,9 @@ use crate::search::command_palette::mixer::CommandPaletteItemAction; use crate::search::command_palette::render_util::render_search_item_icon; use crate::search::result_renderer::ItemHighlightState; +use galaxyui::{AppContext, Element, SingletonEntity}; use ordered_float::OrderedFloat; use std::sync::Arc; -use galaxyui::{AppContext, Element, SingletonEntity}; /// SearchItem for a matching [`LaunchConfig`]. #[derive(Debug)] diff --git a/app/src/search/command_palette/mixer.rs b/app/src/search/command_palette/mixer.rs index f3c862b4..f1fd698a 100644 --- a/app/src/search/command_palette/mixer.rs +++ b/app/src/search/command_palette/mixer.rs @@ -6,11 +6,11 @@ use crate::search::mixer::SearchMixer; use crate::server::ids::SyncId; use crate::util::bindings::CommandBinding; use crate::workspace::PaneViewLocator; -use std::sync::Arc; -use strum_macros::IntoStaticStr; use galaxy_util::path::LineAndColumnArg; use galaxyui::keymap::BindingId; use galaxyui::{EntityId, WindowId}; +use std::sync::Arc; +use strum_macros::IntoStaticStr; pub type CommandPaletteMixer = SearchMixer; diff --git a/app/src/search/command_palette/navigation/render.rs b/app/src/search/command_palette/navigation/render.rs index 9cf8b521..e679b956 100644 --- a/app/src/search/command_palette/navigation/render.rs +++ b/app/src/search/command_palette/navigation/render.rs @@ -16,7 +16,6 @@ use crate::terminal::model::blockgrid::BlockGrid; use crate::terminal::model::grid::Dimensions; use crate::terminal::safe_mode_settings::get_secret_obfuscation_mode; use crate::terminal::SizeInfo; -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ Align, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Highlight, ParentElement, Radius, Shrinkable, Wrap, @@ -25,6 +24,7 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::units::IntoPixels; use galaxyui::{AppContext, Element, SingletonEntity}; +use pathfinder_geometry::vector::vec2f; /// Renders a navigation session. pub fn render_navigation_session( diff --git a/app/src/search/command_palette/navigation/search.rs b/app/src/search/command_palette/navigation/search.rs index af6b3f71..4299cd5a 100644 --- a/app/src/search/command_palette/navigation/search.rs +++ b/app/src/search/command_palette/navigation/search.rs @@ -6,9 +6,9 @@ use crate::search::data_source::QueryResult; use crate::search::SyncDataSource; use crate::session_management::{CommandContext, SessionNavigationData, SessionSource}; use fuzzy_match::match_indices_case_insensitive; +use galaxyui::{AppContext, ModelHandle}; use itertools::Itertools; use std::ops::Range; -use galaxyui::{AppContext, ModelHandle}; /// A session that was fuzzy matched against a search term. pub struct MatchedSession { @@ -252,9 +252,9 @@ mod full_text_searcher { use crate::search::data_source::QueryResult; use crate::search::searcher::{DEFAULT_MEMORY_BUDGET, SCORE_CONVERSION_FACTOR}; use crate::session_management::{SessionNavigationData, SessionSource}; + use galaxyui::{AppContext, ModelHandle}; use itertools::Itertools; use std::collections::HashMap; - use galaxyui::{AppContext, ModelHandle}; define_search_schema!( schema_name: SESSION_SEARCH_SCHEMA, diff --git a/app/src/search/command_palette/navigation/search_item.rs b/app/src/search/command_palette/navigation/search_item.rs index c49842a2..4d68837a 100644 --- a/app/src/search/command_palette/navigation/search_item.rs +++ b/app/src/search/command_palette/navigation/search_item.rs @@ -8,9 +8,9 @@ use crate::search::item::IconLocation; use crate::search::result_renderer::ItemHighlightState; use crate::session_management::SessionNavigationData; use crate::ui_components::icons::Icon; -use ordered_float::OrderedFloat; use galaxyui::elements::Container; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; /// Search item to render a session within the command palette. pub struct SearchItem { diff --git a/app/src/search/command_palette/new_session/data_source.rs b/app/src/search/command_palette/new_session/data_source.rs index 0b66b0ee..8b1e7db9 100644 --- a/app/src/search/command_palette/new_session/data_source.rs +++ b/app/src/search/command_palette/new_session/data_source.rs @@ -10,10 +10,10 @@ use crate::search::{ }; use crate::terminal::available_shells::AvailableShells; use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; -use std::collections::HashMap; -use std::sync::Arc; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; +use std::collections::HashMap; +use std::sync::Arc; /// Controls which kinds of new sessions the data source should surface. #[derive(Copy, Clone, Debug)] @@ -312,9 +312,9 @@ mod full_text_searcher { AsyncSearcher, DEFAULT_MEMORY_BUDGET, MIN_MEMORY_BUDGET, SCORE_CONVERSION_FACTOR, }; use fuzzy_match::FuzzyMatchResult; + use galaxyui::r#async::executor::Background; use std::collections::HashMap; use std::sync::Arc; - use galaxyui::r#async::executor::Background; define_search_schema!( schema_name: NEW_SESSION_SEARCH_SCHEMA, diff --git a/app/src/search/command_palette/new_session/new_session_option.rs b/app/src/search/command_palette/new_session/new_session_option.rs index ad30bf45..7b002b63 100644 --- a/app/src/search/command_palette/new_session/new_session_option.rs +++ b/app/src/search/command_palette/new_session/new_session_option.rs @@ -2,9 +2,9 @@ use crate::server::telemetry::AddTabWithShellSource; use crate::terminal::available_shells::AvailableShell; use crate::terminal::view::TerminalAction; use crate::WorkspaceAction; +use galaxyui::Action; use std::borrow::Cow; use std::fmt; -use galaxyui::Action; #[derive(Clone, Debug, PartialEq, Eq, Hash)] pub struct NewSessionOptionId(pub(crate) String); diff --git a/app/src/search/command_palette/new_session/search_item.rs b/app/src/search/command_palette/new_session/search_item.rs index bd55495c..b31b6dd3 100644 --- a/app/src/search/command_palette/new_session/search_item.rs +++ b/app/src/search/command_palette/new_session/search_item.rs @@ -8,9 +8,9 @@ use fuzzy_match::FuzzyMatchResult; use crate::search::command_palette::mixer::CommandPaletteItemAction; use crate::search::result_renderer::ItemHighlightState; +use galaxyui::{AppContext, Element, SingletonEntity}; use ordered_float::OrderedFloat; use std::sync::Arc; -use galaxyui::{AppContext, Element, SingletonEntity}; #[derive(Debug)] pub struct SearchItem { diff --git a/app/src/search/command_palette/render_util.rs b/app/src/search/command_palette/render_util.rs index c2f32729..ccf941cf 100644 --- a/app/src/search/command_palette/render_util.rs +++ b/app/src/search/command_palette/render_util.rs @@ -3,10 +3,10 @@ use crate::search::result_renderer::ItemHighlightState; use crate::themes::theme::Blend; use crate::ui_components::icons::Icon; use crate::util::color::{ContrastingColor, MinimumAllowedContrast}; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{Align, ConstrainedBox, Container, Empty}; use galaxyui::Element; +use pathfinder_color::ColorU; /// Helper function to render an icon for any search item within the command palette with consistent /// styling. diff --git a/app/src/search/command_palette/repos/repo_data_source.rs b/app/src/search/command_palette/repos/repo_data_source.rs index d3ba3fbb..2e76c6f8 100644 --- a/app/src/search/command_palette/repos/repo_data_source.rs +++ b/app/src/search/command_palette/repos/repo_data_source.rs @@ -1,7 +1,7 @@ use ai::workspace::WorkspaceMetadata; use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; -use itertools::Itertools; use galaxyui::{AppContext, Entity, SingletonEntity}; +use itertools::Itertools; use super::RepoSearchItem; use crate::ai::persisted_workspace::PersistedWorkspace; diff --git a/app/src/search/command_palette/repos/repo_search_item.rs b/app/src/search/command_palette/repos/repo_search_item.rs index afe66369..2003ef13 100644 --- a/app/src/search/command_palette/repos/repo_search_item.rs +++ b/app/src/search/command_palette/repos/repo_search_item.rs @@ -1,13 +1,13 @@ use ai::workspace::WorkspaceMetadata; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; -use std::path::Path; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{Align, ConstrainedBox, Flex, Highlight, ParentElement, Shrinkable, Text}, fonts::{Properties, Weight}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; +use std::path::Path; use crate::appearance::Appearance; use crate::search::action::search_item::styles; diff --git a/app/src/search/command_palette/selected_items_tests.rs b/app/src/search/command_palette/selected_items_tests.rs index 1170db23..e91a2ab5 100644 --- a/app/src/search/command_palette/selected_items_tests.rs +++ b/app/src/search/command_palette/selected_items_tests.rs @@ -1,6 +1,6 @@ use super::*; -use itertools::Itertools; use galaxyui::keymap::BindingId; +use itertools::Itertools; #[test] fn test_enqueue_new_item() { diff --git a/app/src/search/command_palette/separator_search_item.rs b/app/src/search/command_palette/separator_search_item.rs index b8c58b9f..9001e2f6 100644 --- a/app/src/search/command_palette/separator_search_item.rs +++ b/app/src/search/command_palette/separator_search_item.rs @@ -1,11 +1,11 @@ use crate::search::item::SearchItem; use crate::search::result_renderer::ItemHighlightState; use crate::{appearance::Appearance, search::command_palette::mixer::CommandPaletteItemAction}; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{Empty, Text}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; /// A simple separator item that displays a title to visually separate sections in search results. #[derive(Debug)] diff --git a/app/src/search/command_palette/view.rs b/app/src/search/command_palette/view.rs index 083105a5..95eb5adb 100644 --- a/app/src/search/command_palette/view.rs +++ b/app/src/search/command_palette/view.rs @@ -15,17 +15,17 @@ use crate::terminal::keys_settings::KeysSettings; use crate::themes::theme::WarpTheme; use crate::view_components::DismissibleToast; use crate::ToastStack; -use lazy_static::lazy_static; use galaxy_core::send_telemetry_from_app_ctx; use galaxy_util::path::LineAndColumnArg; +use lazy_static::lazy_static; use crate::search::action::search_item::MatchedBinding; -use itertools::Itertools; use galaxyui::elements::DispatchEventResult; use galaxyui::elements::EventHandler; use galaxyui::event::KeyState; use galaxyui::platform::keyboard::KeyCode; use galaxyui::FocusContext; +use itertools::Itertools; use crate::search::command_palette::zero_state::{self, Event as ZeroStateEvent, ZeroState}; use crate::search::data_source::QueryResult; diff --git a/app/src/search/command_palette/warp_drive/data_source.rs b/app/src/search/command_palette/warp_drive/data_source.rs index 25ae2aa8..e98fea54 100644 --- a/app/src/search/command_palette/warp_drive/data_source.rs +++ b/app/src/search/command_palette/warp_drive/data_source.rs @@ -18,8 +18,8 @@ use crate::search::QueryFilter; use crate::server::ids::{ObjectUid, SyncId}; use crate::settings::AISettings; use crate::workflows::CloudWorkflow; -use std::collections::HashMap; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; +use std::collections::HashMap; /// Datasource that searches against all Warp Drive objects pub struct DataSource { @@ -563,9 +563,9 @@ mod full_text_searcher { use crate::server::ids::ObjectUid; use crate::workflows::CloudWorkflow; use fuzzy_match::FuzzyMatchResult; - use itertools::Itertools; use galaxyui::r#async::executor::Background; use galaxyui::{AppContext, SingletonEntity}; + use itertools::Itertools; /// Memory budget for the search index of warp drive. /// Warp could potentially have a lot of objects, so we increase it from the default of 50MB to 100MB diff --git a/app/src/search/command_palette/warp_drive/env_var_collection_search_item.rs b/app/src/search/command_palette/warp_drive/env_var_collection_search_item.rs index 0aa1f306..25257c98 100644 --- a/app/src/search/command_palette/warp_drive/env_var_collection_search_item.rs +++ b/app/src/search/command_palette/warp_drive/env_var_collection_search_item.rs @@ -10,11 +10,11 @@ use crate::search::env_var_collections::fuzzy_match::FuzzyMatchEnvVarCollectionR use crate::search::item::{IconLocation, SearchItem}; use crate::search::result_renderer::ItemHighlightState; use crate::ui_components::icons::Icon; -use itertools::Itertools; -use ordered_float::OrderedFloat; use galaxyui::elements::{Container, Flex, Highlight, ParentElement, Text}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::{AppContext, Element, SingletonEntity}; +use itertools::Itertools; +use ordered_float::OrderedFloat; pub const ENV_VAR_NAME_SEPARATOR: &str = ", "; diff --git a/app/src/search/command_palette/warp_drive/notebook_search_item.rs b/app/src/search/command_palette/warp_drive/notebook_search_item.rs index 81af9d4a..c8c98b50 100644 --- a/app/src/search/command_palette/warp_drive/notebook_search_item.rs +++ b/app/src/search/command_palette/warp_drive/notebook_search_item.rs @@ -12,10 +12,10 @@ use crate::search::notebooks::fuzzy_match::{ }; use crate::search::result_renderer::ItemHighlightState; use crate::ui_components::icons::Icon; -use ordered_float::OrderedFloat; use galaxyui::elements::{Container, Flex, Highlight, ParentElement, Text}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; /// Search item result for a cloud notebook. #[derive(Debug)] diff --git a/app/src/search/command_palette/warp_drive/workflow_search_item.rs b/app/src/search/command_palette/warp_drive/workflow_search_item.rs index 9600ea2e..b9718369 100644 --- a/app/src/search/command_palette/warp_drive/workflow_search_item.rs +++ b/app/src/search/command_palette/warp_drive/workflow_search_item.rs @@ -10,10 +10,10 @@ use crate::search::result_renderer::ItemHighlightState; use crate::search::workflows::fuzzy_match::FuzzyMatchWorkflowResult; use crate::ui_components::icons::Icon; use crate::workflows::CloudWorkflow; -use ordered_float::OrderedFloat; use galaxyui::elements::{Clipped, Container, Flex, Highlight, ParentElement, Shrinkable, Text}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; /// Search item result for a cloud workflow. #[derive(Debug)] diff --git a/app/src/search/command_palette/zero_state.rs b/app/src/search/command_palette/zero_state.rs index c9e987a1..8e2e9b3b 100644 --- a/app/src/search/command_palette/zero_state.rs +++ b/app/src/search/command_palette/zero_state.rs @@ -1,7 +1,7 @@ mod items; -pub use items::Items; use galaxy_core::context_flag::ContextFlag; use galaxy_core::features::FeatureFlag; +pub use items::Items; use crate::appearance::Appearance; use crate::search::command_palette::FilterChipRenderer; @@ -10,12 +10,12 @@ use crate::drive::settings::WarpDriveSettings; use crate::search::QueryFilter; use crate::settings::AISettings; use crate::workspace::Workspace; -use std::collections::HashMap; use galaxyui::elements::{Container, Flex, MouseStateHandle, ParentElement, Shrinkable, Wrap}; use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, WindowId, }; +use std::collections::HashMap; /// A zero-state view for the command palette. pub struct ZeroState { diff --git a/app/src/search/command_search/ai_queries/ai_queries_data_source.rs b/app/src/search/command_search/ai_queries/ai_queries_data_source.rs index b6c3f574..c83a1ff5 100644 --- a/app/src/search/command_search/ai_queries/ai_queries_data_source.rs +++ b/app/src/search/command_search/ai_queries/ai_queries_data_source.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools; use crate::ai::blocklist::BlocklistAIHistoryModel; use crate::search::ai_queries::fuzzy_match::FuzzyMatchAIQueryResults; diff --git a/app/src/search/command_search/ai_queries/ai_queries_search_item.rs b/app/src/search/command_search/ai_queries/ai_queries_search_item.rs index 550cec22..31680a8d 100644 --- a/app/src/search/command_search/ai_queries/ai_queries_search_item.rs +++ b/app/src/search/command_search/ai_queries/ai_queries_search_item.rs @@ -4,7 +4,6 @@ use crate::{ util::time_format::format_approx_duration_from_now, }; use chrono::{DateTime, Local}; -use ordered_float::OrderedFloat; use galaxy_core::ui::builder::MIN_FONT_SIZE; use galaxyui::{ elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::ui_components::icons::Icon as UiIcon; diff --git a/app/src/search/command_search/env_var_collections/env_var_collection_search_item.rs b/app/src/search/command_search/env_var_collections/env_var_collection_search_item.rs index 2250ffeb..b48905ad 100644 --- a/app/src/search/command_search/env_var_collections/env_var_collection_search_item.rs +++ b/app/src/search/command_search/env_var_collections/env_var_collection_search_item.rs @@ -1,5 +1,3 @@ -use itertools::Itertools; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ ConstrainedBox, Container, CrossAxisAlignment, Flex, Highlight, Icon, MainAxisAlignment, @@ -9,6 +7,8 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use itertools::Itertools; +use ordered_float::OrderedFloat; use crate::{ appearance::Appearance, diff --git a/app/src/search/command_search/env_var_collections/env_var_collections_data_source.rs b/app/src/search/command_search/env_var_collections/env_var_collections_data_source.rs index 9ac2a426..c3936136 100644 --- a/app/src/search/command_search/env_var_collections/env_var_collections_data_source.rs +++ b/app/src/search/command_search/env_var_collections/env_var_collections_data_source.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools; use crate::cloud_object::model::persistence::CloudModel; diff --git a/app/src/search/command_search/history/history_data_source.rs b/app/src/search/command_search/history/history_data_source.rs index ae03c3e6..f4406095 100644 --- a/app/src/search/command_search/history/history_data_source.rs +++ b/app/src/search/command_search/history/history_data_source.rs @@ -1,6 +1,6 @@ use futures_lite::future::yield_now; -use std::sync::Arc; use galaxyui::{AppContext, SingletonEntity}; +use std::sync::Arc; use crate::search::async_snapshot_data_source::AsyncSnapshotDataSource; use crate::search::command_search::searcher::CommandSearchItemAction; diff --git a/app/src/search/command_search/history/history_search_item.rs b/app/src/search/command_search/history/history_search_item.rs index 9aed01a1..b9b1f6dc 100644 --- a/app/src/search/command_search/history/history_search_item.rs +++ b/app/src/search/command_search/history/history_search_item.rs @@ -1,6 +1,4 @@ use crate::ui_components::icons::Icon as UiIcon; -use ordered_float::OrderedFloat; -use std::sync::Arc; use galaxy_core::ui::builder; use galaxyui::{ elements::{ @@ -11,6 +9,8 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; +use std::sync::Arc; use crate::search::item::SearchItem; use crate::search::{ diff --git a/app/src/search/command_search/notebooks/notebook_search_item.rs b/app/src/search/command_search/notebooks/notebook_search_item.rs index b74a79f5..4f03fc1a 100644 --- a/app/src/search/command_search/notebooks/notebook_search_item.rs +++ b/app/src/search/command_search/notebooks/notebook_search_item.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ ConstrainedBox, Container, Flex, Highlight, Icon, MainAxisAlignment, MainAxisSize, @@ -9,6 +8,7 @@ use galaxyui::{ fonts::{Properties, Weight}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::appearance::Appearance; use crate::notebooks::CloudNotebookModel; diff --git a/app/src/search/command_search/projects/project_data_source.rs b/app/src/search/command_search/projects/project_data_source.rs index 171dc42d..45b1d99f 100644 --- a/app/src/search/command_search/projects/project_data_source.rs +++ b/app/src/search/command_search/projects/project_data_source.rs @@ -1,6 +1,6 @@ use fuzzy_match::match_indices_case_insensitive; -use itertools::Itertools; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; +use itertools::Itertools; use super::ProjectSearchItem; use crate::projects::ProjectManagementModel; diff --git a/app/src/search/command_search/projects/project_search_item.rs b/app/src/search/command_search/projects/project_search_item.rs index 3105571e..8ca6e905 100644 --- a/app/src/search/command_search/projects/project_search_item.rs +++ b/app/src/search/command_search/projects/project_search_item.rs @@ -1,13 +1,13 @@ use chrono::NaiveDateTime; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; -use std::{cmp::Ordering, path::PathBuf}; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{Align, ConstrainedBox, Flex, Highlight, ParentElement, Shrinkable, Text}, fonts::{Properties, Weight}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; +use std::{cmp::Ordering, path::PathBuf}; use crate::search::action::search_item::styles; use crate::search::command_palette::render_util::render_search_item_icon; diff --git a/app/src/search/command_search/projects/suggested_projects_data_source.rs b/app/src/search/command_search/projects/suggested_projects_data_source.rs index c4494df7..28abc233 100644 --- a/app/src/search/command_search/projects/suggested_projects_data_source.rs +++ b/app/src/search/command_search/projects/suggested_projects_data_source.rs @@ -1,9 +1,9 @@ use chrono::{Duration, NaiveDateTime, Utc}; use fuzzy_match::match_indices_case_insensitive; +use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use itertools::Itertools; use std::collections::{HashMap, HashSet}; use std::path::Path; -use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use crate::search::command_palette::mixer::CommandPaletteItemAction; use crate::search::command_search::projects::{os_probably_case_sensitive, ProjectSearchItem}; diff --git a/app/src/search/command_search/searcher_test.rs b/app/src/search/command_search/searcher_test.rs index 46498818..001a7666 100644 --- a/app/src/search/command_search/searcher_test.rs +++ b/app/src/search/command_search/searcher_test.rs @@ -14,13 +14,13 @@ use crate::server::server_api::ServerApiProvider; use crate::server::telemetry::context_provider::AppTelemetryContextProvider; use crate::terminal::HistoryEntry; use crate::{appearance::Appearance, search::command_search::history::history_data_source}; +use galaxyui::r#async::Timer; +use galaxyui::AppContext; +use galaxyui::{elements::Empty, App, Element}; use itertools::Itertools; use ordered_float::OrderedFloat; use std::collections::HashSet; use std::time::Duration; -use galaxyui::r#async::Timer; -use galaxyui::AppContext; -use galaxyui::{elements::Empty, App, Element}; #[derive(Clone, Debug)] enum TestItemAction { diff --git a/app/src/search/command_search/view.rs b/app/src/search/command_search/view.rs index 8223ec18..efa1d770 100644 --- a/app/src/search/command_search/view.rs +++ b/app/src/search/command_search/view.rs @@ -5,8 +5,6 @@ use pathfinder_color::ColorU; use pathfinder_geometry::vector::Vector2F; use crate::search::mixer::AddAsyncSourceOptions; -use lazy_static::lazy_static; -use std::{collections::HashSet, ops::Range, sync::Arc, time::Duration}; use galaxy_core::features::FeatureFlag; use galaxyui::{ accessibility::{AccessibilityContent, WarpA11yRole}, @@ -23,6 +21,8 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakViewHandle, }; +use lazy_static::lazy_static; +use std::{collections::HashSet, ops::Range, sync::Arc, time::Duration}; use crate::{ ai_assistant::{ @@ -1120,9 +1120,9 @@ impl CommandSearchView { } pub mod styles { + use galaxyui::elements::{Border, DropShadow, ScrollbarWidth}; use lazy_static::lazy_static; use pathfinder_color::ColorU; - use galaxyui::elements::{Border, DropShadow, ScrollbarWidth}; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/search/command_search/warp_ai.rs b/app/src/search/command_search/warp_ai.rs index 5f04c97c..29ae5641 100644 --- a/app/src/search/command_search/warp_ai.rs +++ b/app/src/search/command_search/warp_ai.rs @@ -26,15 +26,15 @@ use crate::{ }; use async_trait::async_trait; -use itertools::Itertools; -use ordered_float::OrderedFloat; -use serde_json::json; -use std::{any::Any, sync::Arc}; use galaxy_core::ui::builder; use galaxyui::{ elements::{ConstrainedBox, Container, Text}, AppContext, Element, SingletonEntity, }; +use itertools::Itertools; +use ordered_float::OrderedFloat; +use serde_json::json; +use std::{any::Any, sync::Arc}; const OPEN_WARP_AI_ITEM_BODY_TEXT: &str = "Ask Warp AI for command suggestions"; const TRANSLATE_WITH_WARP_AI_ITEM_BODY_TEXT: &str = "Translate into shell command using Warp AI"; diff --git a/app/src/search/command_search/workflows/workflow_search_item.rs b/app/src/search/command_search/workflows/workflow_search_item.rs index 1c1573fb..1bf7a789 100644 --- a/app/src/search/command_search/workflows/workflow_search_item.rs +++ b/app/src/search/command_search/workflows/workflow_search_item.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ Border, Clipped, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, @@ -10,6 +9,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::appearance::Appearance; use crate::search::command_search::searcher::{AcceptedWorkflow, CommandSearchItemAction}; diff --git a/app/src/search/command_search/workflows/workflows_data_source.rs b/app/src/search/command_search/workflows/workflows_data_source.rs index 4c7502ce..9e4a7b04 100644 --- a/app/src/search/command_search/workflows/workflows_data_source.rs +++ b/app/src/search/command_search/workflows/workflows_data_source.rs @@ -1,6 +1,6 @@ +use galaxyui::AppContext; use itertools::Itertools; use std::collections::HashMap; -use galaxyui::AppContext; use crate::completer::SessionContext; use crate::search::command_search::settings::CommandSearchSettings; diff --git a/app/src/search/command_search/zero_state.rs b/app/src/search/command_search/zero_state.rs index de6ad7fb..956ac968 100644 --- a/app/src/search/command_search/zero_state.rs +++ b/app/src/search/command_search/zero_state.rs @@ -1,6 +1,5 @@ use std::collections::HashMap; -use lazy_static::lazy_static; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::Wrap; @@ -11,6 +10,7 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use lazy_static::lazy_static; use crate::appearance::Appearance; use crate::drive::settings::{WarpDriveSettings, WarpDriveSettingsChangedEvent}; diff --git a/app/src/search/data_source.rs b/app/src/search/data_source.rs index 05d5cdac..d24c66d6 100644 --- a/app/src/search/data_source.rs +++ b/app/src/search/data_source.rs @@ -3,15 +3,15 @@ use crate::search::mixer::{DataSourceRunError, SyncDataSource}; use crate::search::result_renderer::ItemHighlightState; use crate::{appearance::Appearance, ui_components::icons::Icon}; use enum_iterator::{all, Sequence}; +use galaxy_core::features::FeatureFlag; +use galaxy_core::ui::theme::Fill; +use galaxyui::{Action, AppContext, Element, Entity, ModelHandle}; use lazy_static::lazy_static; use ordered_float::OrderedFloat; use serde::{Deserialize, Serialize}; use serde_json::json; use std::any::Any; use std::{collections::HashSet, sync::Arc}; -use galaxy_core::features::FeatureFlag; -use galaxy_core::ui::theme::Fill; -use galaxyui::{Action, AppContext, Element, Entity, ModelHandle}; use super::mixer::{AsyncDataSource, BoxFuture}; use super::{item::SearchItem, mixer::DataSourceRunErrorWrapper}; diff --git a/app/src/search/external_secrets/external_secret_data_source.rs b/app/src/search/external_secrets/external_secret_data_source.rs index d2ff1804..60735648 100644 --- a/app/src/search/external_secrets/external_secret_data_source.rs +++ b/app/src/search/external_secrets/external_secret_data_source.rs @@ -1,8 +1,8 @@ use crate::external_secrets::ExternalSecret; use crate::search::data_source::{Query, QueryResult}; use crate::search::mixer::{DataSourceRunErrorWrapper, SyncDataSource}; -use itertools::Itertools; use galaxyui::AppContext; +use itertools::Itertools; use super::external_secret_fuzzy_match::FuzzyMatchExternalSecretResult; use super::external_secret_search_item::ExternalSecretSearchItem; diff --git a/app/src/search/external_secrets/external_secret_search_item.rs b/app/src/search/external_secrets/external_secret_search_item.rs index c67a261f..1ea043d4 100644 --- a/app/src/search/external_secrets/external_secret_search_item.rs +++ b/app/src/search/external_secrets/external_secret_search_item.rs @@ -1,9 +1,9 @@ -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ConstrainedBox, Container, Highlight, Text}, fonts::{Properties, Weight}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::search::item::SearchItem; use crate::search::result_renderer::ItemHighlightState; diff --git a/app/src/search/external_secrets/view.rs b/app/src/search/external_secrets/view.rs index 91814940..6be02b14 100644 --- a/app/src/search/external_secrets/view.rs +++ b/app/src/search/external_secrets/view.rs @@ -366,8 +366,8 @@ impl TypedActionView for ExternalSecretsMenu { } pub mod styles { - use pathfinder_color::ColorU; use galaxyui::elements::{Border, DropShadow, ScrollbarWidth}; + use pathfinder_color::ColorU; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/search/files/model.rs b/app/src/search/files/model.rs index 326c801f..cd5f23c3 100644 --- a/app/src/search/files/model.rs +++ b/app/src/search/files/model.rs @@ -3,12 +3,12 @@ use fuzzy_match::{ contains_wildcards, match_indices_case_insensitive, match_wildcard_pattern_case_insensitive, FuzzyMatchResult, }; +use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; use std::sync::Arc; use std::{ collections::HashSet, path::{Path, PathBuf}, }; -use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/app/src/search/files/model_tests.rs b/app/src/search/files/model_tests.rs index f0c04f78..2fac0f09 100644 --- a/app/src/search/files/model_tests.rs +++ b/app/src/search/files/model_tests.rs @@ -1,9 +1,9 @@ use super::super::search_item::{FileSearchItem, FileSearchResult}; use super::FileSearchModel; use fuzzy_match::FuzzyMatchResult; +use galaxyui::{App, SingletonEntity}; use repo_metadata::repositories::DetectedRepositories; use repo_metadata::RepoMetadataModel; -use galaxyui::{App, SingletonEntity}; #[cfg(test)] mod file_search_model_tests { diff --git a/app/src/search/item.rs b/app/src/search/item.rs index ca2b2cbb..8a24011f 100644 --- a/app/src/search/item.rs +++ b/app/src/search/item.rs @@ -1,6 +1,6 @@ -use ordered_float::OrderedFloat; use galaxy_core::ui::theme::Fill; use galaxyui::{Action, AppContext, Element}; +use ordered_float::OrderedFloat; use crate::appearance::Appearance; diff --git a/app/src/search/mixer.rs b/app/src/search/mixer.rs index f38cf4f6..d11a40ce 100644 --- a/app/src/search/mixer.rs +++ b/app/src/search/mixer.rs @@ -6,14 +6,14 @@ use crate::server::telemetry::TelemetryEvent; use async_channel::Sender; use async_trait::async_trait; use futures_util::stream::AbortHandle; +use galaxyui::r#async::Timer; +use galaxyui::{Action, AppContext, Entity, ModelContext}; use itertools::Itertools; use std::any::Any; use std::collections::{HashMap, HashSet}; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::Arc; use std::time::Duration; -use galaxyui::r#async::Timer; -use galaxyui::{Action, AppContext, Entity, ModelContext}; /// Maximum time to wait for matching data sources to return results before showing /// partial results. diff --git a/app/src/search/mixer_test.rs b/app/src/search/mixer_test.rs index 17b02250..0e2f49f8 100644 --- a/app/src/search/mixer_test.rs +++ b/app/src/search/mixer_test.rs @@ -4,11 +4,11 @@ use crate::auth::AuthStateProvider; use crate::search::item::SearchItem; use crate::server::server_api::ServerApiProvider; use crate::server::telemetry::context_provider::AppTelemetryContextProvider; +use galaxyui::r#async::Timer; +use galaxyui::{App, AppContext, Element}; use ordered_float::OrderedFloat; use std::collections::HashSet; use std::time::Duration; -use galaxyui::r#async::Timer; -use galaxyui::{App, AppContext, Element}; #[derive(Clone, Debug, PartialEq)] struct TestAction { diff --git a/app/src/search/notebook_embedding/notebooks/notebook_search_item.rs b/app/src/search/notebook_embedding/notebooks/notebook_search_item.rs index 72f351cf..ed74fc70 100644 --- a/app/src/search/notebook_embedding/notebooks/notebook_search_item.rs +++ b/app/src/search/notebook_embedding/notebooks/notebook_search_item.rs @@ -1,4 +1,3 @@ -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ ConstrainedBox, Container, CrossAxisAlignment, Flex, Highlight, MainAxisAlignment, @@ -8,6 +7,7 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::search::result_renderer::ItemHighlightState; use crate::{ diff --git a/app/src/search/notebook_embedding/notebooks/notebooks_data_source.rs b/app/src/search/notebook_embedding/notebooks/notebooks_data_source.rs index c0c4c97f..a8663167 100644 --- a/app/src/search/notebook_embedding/notebooks/notebooks_data_source.rs +++ b/app/src/search/notebook_embedding/notebooks/notebooks_data_source.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools; use crate::cloud_object::{CloudObject, Space}; use crate::notebooks::CloudNotebook; diff --git a/app/src/search/notebook_embedding/view.rs b/app/src/search/notebook_embedding/view.rs index 7d4f2fdb..1c44e479 100644 --- a/app/src/search/notebook_embedding/view.rs +++ b/app/src/search/notebook_embedding/view.rs @@ -10,8 +10,6 @@ use crate::{ search_bar::{SearchBar, SearchBarEvent, SearchBarState, SearchResultOrdering}, }, }; -use itertools::Itertools; -use lazy_static::lazy_static; use galaxyui::{ elements::{ Align, ConstrainedBox, Container, CornerRadius, Dismiss, Empty, Fill, Flex, ParentElement, @@ -23,6 +21,8 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakViewHandle, }; +use itertools::Itertools; +use lazy_static::lazy_static; use super::searcher::{EmbeddingSearchItemAction, EmbeddingSearchMixer}; @@ -376,8 +376,8 @@ impl View for EmbeddingSearchMenu { } pub mod styles { - use pathfinder_color::ColorU; use galaxyui::elements::{Border, DropShadow, ScrollbarWidth}; + use pathfinder_color::ColorU; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/search/notebook_embedding/workflows/workflow_search_item.rs b/app/src/search/notebook_embedding/workflows/workflow_search_item.rs index f068cd59..d5b93964 100644 --- a/app/src/search/notebook_embedding/workflows/workflow_search_item.rs +++ b/app/src/search/notebook_embedding/workflows/workflow_search_item.rs @@ -1,4 +1,3 @@ -use ordered_float::OrderedFloat; use galaxyui::{ elements::{ Clipped, ConstrainedBox, Container, CrossAxisAlignment, Flex, Highlight, MainAxisAlignment, @@ -8,6 +7,7 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use ordered_float::OrderedFloat; use crate::search::result_renderer::ItemHighlightState; use crate::{ diff --git a/app/src/search/notebook_embedding/workflows/workflows_data_source.rs b/app/src/search/notebook_embedding/workflows/workflows_data_source.rs index 5538411f..a5578f7f 100644 --- a/app/src/search/notebook_embedding/workflows/workflows_data_source.rs +++ b/app/src/search/notebook_embedding/workflows/workflows_data_source.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxyui::{AppContext, SingletonEntity}; +use itertools::Itertools; use crate::cloud_object::{CloudObject, Space}; use crate::search::notebook_embedding::embedded_fuzzy_match::FuzzyMatchEmbeddedObjectResult; diff --git a/app/src/search/notebooks/fuzzy_match.rs b/app/src/search/notebooks/fuzzy_match.rs index 6239fe55..104996f3 100644 --- a/app/src/search/notebooks/fuzzy_match.rs +++ b/app/src/search/notebooks/fuzzy_match.rs @@ -4,11 +4,11 @@ use crate::search::result_renderer::ItemHighlightState; use crate::server::ids::SyncId; use crate::{appearance::Appearance, cloud_object::CloudObject}; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::{ elements::{Highlight, Text}, AppContext, SingletonEntity, }; +use ordered_float::OrderedFloat; #[derive(Clone, Debug)] /// Result of fuzzy matching a [`Notebook`]. diff --git a/app/src/search/result_renderer.rs b/app/src/search/result_renderer.rs index fab8b551..dabb7048 100644 --- a/app/src/search/result_renderer.rs +++ b/app/src/search/result_renderer.rs @@ -1,4 +1,3 @@ -use std::sync::Arc; use galaxyui::elements::{Border, DispatchEventResult, DropShadow, Fill as ElementFill}; use galaxyui::{ elements::{ @@ -9,6 +8,7 @@ use galaxyui::{ platform::Cursor, Action, AppContext, Element, EventContext, SingletonEntity, }; +use std::sync::Arc; use crate::search::item::IconLocation; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/search/search_bar.rs b/app/src/search/search_bar.rs index d55f830d..eb691212 100644 --- a/app/src/search/search_bar.rs +++ b/app/src/search/search_bar.rs @@ -1,7 +1,7 @@ -use itertools::{Either, Itertools}; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::ConstrainedBox; use galaxyui::FocusContext; +use itertools::{Either, Itertools}; use std::collections::HashSet; diff --git a/app/src/search/search_results_menu/view.rs b/app/src/search/search_results_menu/view.rs index 1591ff2d..bdc51fe6 100644 --- a/app/src/search/search_results_menu/view.rs +++ b/app/src/search/search_results_menu/view.rs @@ -4,9 +4,6 @@ use crate::search::search_bar::{ CreateQueryResultRendererFn, SearchBar, SearchBarEvent, SearchBarState, SearchResultOrdering, }; use crate::search::QueryFilter; -use itertools::Itertools; -use std::marker::PhantomData; -use std::ops::Range; use galaxyui::elements::{ ConstrainedBox, Container, Empty, Flex, ParentElement, SavePosition, ScrollStateHandle, Scrollable, ScrollableElement, ScrollbarWidth, Text, UniformList, UniformListState, @@ -16,6 +13,9 @@ use galaxyui::{ Action, AppContext, Element, Entity, ModelHandle, SingletonEntity, View, ViewContext, ViewHandle, WeakViewHandle, }; +use itertools::Itertools; +use std::marker::PhantomData; +use std::ops::Range; use super::styles::{ESTIMATED_RESULT_HEIGHT, MAX_DISPLAYED_RESULT_COUNT}; diff --git a/app/src/search/searcher.rs b/app/src/search/searcher.rs index 1a454c0c..f2f7ad59 100644 --- a/app/src/search/searcher.rs +++ b/app/src/search/searcher.rs @@ -2,6 +2,7 @@ use anyhow::Context; use futures::FutureExt as _; +use galaxyui::r#async::{block_on, executor::Background, Timer}; use instant::Instant; use itertools::Itertools; use parking_lot::{Mutex, RwLock}; @@ -25,7 +26,6 @@ use tantivy::tokenizer::{Token, TokenStream, Tokenizer}; use tantivy::{ snippet::SnippetGenerator, Index, IndexReader, IndexWriter, ReloadPolicy, TantivyDocument, Term, }; -use galaxyui::r#async::{block_on, executor::Background, Timer}; pub type FullTextSearchDocumentEntry = HashMap; diff --git a/app/src/search/searcher_test.rs b/app/src/search/searcher_test.rs index 99c7926d..4de777b7 100644 --- a/app/src/search/searcher_test.rs +++ b/app/src/search/searcher_test.rs @@ -1,9 +1,9 @@ use crate::define_search_schema; use crate::search::searcher::{CustomTokenizer, MIN_MEMORY_BUDGET}; +use galaxyui::r#async::executor::Background; use itertools::Itertools; use std::sync::Arc; use tantivy::tokenizer::{TextAnalyzer, Token}; -use galaxyui::r#async::executor::Background; fn token_stream_helper(text: &str) -> Vec { let mut a = TextAnalyzer::from(CustomTokenizer::default()); diff --git a/app/src/search/slash_command_menu/static_commands/commands.rs b/app/src/search/slash_command_menu/static_commands/commands.rs index e3fe370c..ddf751de 100644 --- a/app/src/search/slash_command_menu/static_commands/commands.rs +++ b/app/src/search/slash_command_menu/static_commands/commands.rs @@ -1,8 +1,8 @@ use std::{collections::HashMap, sync::LazyLock}; +use galaxy_core::features::FeatureFlag; use serde::{Deserialize, Serialize}; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; use crate::search::slash_command_menu::{static_commands::Argument, StaticCommand}; diff --git a/app/src/search/welcome_palette/view.rs b/app/src/search/welcome_palette/view.rs index 02f8342a..d90198c8 100644 --- a/app/src/search/welcome_palette/view.rs +++ b/app/src/search/welcome_palette/view.rs @@ -4,8 +4,6 @@ use std::path::PathBuf; use std::sync::Arc; use chrono::Utc; -use itertools::Itertools as _; -use pathfinder_geometry::vector::vec2f; use galaxy_core::context_flag::ContextFlag; use galaxy_core::features::FeatureFlag; use galaxyui::elements::{ @@ -21,6 +19,8 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, ViewContext, ViewHandle, }; +use itertools::Itertools as _; +use pathfinder_geometry::vector::vec2f; use super::super::palette_styles as styles; use crate::appearance::Appearance; diff --git a/app/src/server/block.rs b/app/src/server/block.rs index 06991ad1..5f285679 100644 --- a/app/src/server/block.rs +++ b/app/src/server/block.rs @@ -4,8 +4,8 @@ use crate::terminal::model::{ ObfuscateSecrets, }; use chrono::{DateTime, FixedOffset, Utc}; -use serde::{Deserialize, Serialize}; use galaxy_graphql::mutations::share_block::DisplaySetting as GqlDisplaySetting; +use serde::{Deserialize, Serialize}; // These are pixel heights of various parts of an embedded block. pub const TITLE_HEIGHT: u32 = 34; diff --git a/app/src/server/cloud_objects/listener.rs b/app/src/server/cloud_objects/listener.rs index 6317bad8..8d083824 100644 --- a/app/src/server/cloud_objects/listener.rs +++ b/app/src/server/cloud_objects/listener.rs @@ -21,13 +21,13 @@ use super::update_manager::UpdateManager; use chrono::{DateTime, Utc}; use futures_util::stream::AbortHandle; -use std::time::Duration; use galaxyui::r#async::Timer; +use std::time::Duration; use async_channel::Sender; -use std::sync::Arc; use galaxyui::{Entity, ModelContext, RequestState, SingletonEntity}; +use std::sync::Arc; use instant::Instant; diff --git a/app/src/server/cloud_objects/test_utils.rs b/app/src/server/cloud_objects/test_utils.rs index 68d44e91..1d42d0c7 100644 --- a/app/src/server/cloud_objects/test_utils.rs +++ b/app/src/server/cloud_objects/test_utils.rs @@ -6,9 +6,9 @@ use std::{ }, }; -use settings::manager::SettingsManager; use galaxy_core::execution_mode::{AppExecutionMode, ExecutionMode}; use galaxyui::{App, ModelHandle, SingletonEntity}; +use settings::manager::SettingsManager; use crate::{ auth::{auth_manager::AuthManager, AuthStateProvider}, diff --git a/app/src/server/cloud_objects/update_manager.rs b/app/src/server/cloud_objects/update_manager.rs index 9dd36490..61cb28aa 100644 --- a/app/src/server/cloud_objects/update_manager.rs +++ b/app/src/server/cloud_objects/update_manager.rs @@ -72,13 +72,6 @@ use crate::{ use chrono::{DateTime, Utc}; use futures::channel::oneshot::{self, Receiver}; use futures::stream::AbortHandle; -use itertools::Itertools; -use lazy_static::lazy_static; -use regex::Regex; -use std::collections::{HashMap, HashSet}; -use std::future::Future; -use std::sync::{mpsc::SyncSender, Arc}; -use std::time::Duration; use galaxy_core::features::FeatureFlag; use galaxy_graphql::mcp_gallery_template::MCPGalleryTemplate; use galaxy_graphql::object_permissions::AccessLevel; @@ -86,6 +79,13 @@ use galaxy_graphql::scalars::time::ServerTimestamp; use galaxyui::r#async::{FutureId, Timer}; use galaxyui::{duration_with_jitter, AppContext}; use galaxyui::{Entity, ModelContext, RequestState, RetryOption, SingletonEntity}; +use itertools::Itertools; +use lazy_static::lazy_static; +use regex::Regex; +use std::collections::{HashMap, HashSet}; +use std::future::Future; +use std::sync::{mpsc::SyncSender, Arc}; +use std::time::Duration; use super::listener::ObjectUpdateMessage; diff --git a/app/src/server/cloud_objects/update_manager_test.rs b/app/src/server/cloud_objects/update_manager_test.rs index 9d02760f..82948927 100644 --- a/app/src/server/cloud_objects/update_manager_test.rs +++ b/app/src/server/cloud_objects/update_manager_test.rs @@ -2,10 +2,10 @@ use std::{collections::HashMap, sync::Arc, time::Duration}; use chrono::{DateTime, Utc}; use futures_lite::future; -use settings::{RespectUserSyncSetting, SyncToCloud}; use galaxy_core::features::FeatureFlag; use galaxy_graphql::{object_permissions::AccessLevel, scalars::time::ServerTimestamp}; use galaxyui::{App, ModelHandle, SingletonEntity}; +use settings::{RespectUserSyncSetting, SyncToCloud}; #[cfg(test)] use crate::server::server_api::object::MockObjectClient; diff --git a/app/src/server/graphql/mod.rs b/app/src/server/graphql/mod.rs index d3fc1a0f..c2dc98f6 100644 --- a/app/src/server/graphql/mod.rs +++ b/app/src/server/graphql/mod.rs @@ -1,7 +1,9 @@ pub mod schema; use galaxy_graphql::client::RequestOptions; -pub use galaxy_graphql::client::{get_request_context, get_user_facing_error_message, GraphQLError}; +pub use galaxy_graphql::client::{ + get_request_context, get_user_facing_error_message, GraphQLError, +}; /// Returns the default [`RequestOptions`] that should be used for a GraphQL request. pub fn default_request_options() -> RequestOptions { diff --git a/app/src/server/retry_strategies.rs b/app/src/server/retry_strategies.rs index a9c9edc0..e22ca943 100644 --- a/app/src/server/retry_strategies.rs +++ b/app/src/server/retry_strategies.rs @@ -1,5 +1,5 @@ -use std::time::Duration; use galaxyui::RetryOption; +use std::time::Duration; use crate::server::server_api::presigned_upload::HttpStatusError; diff --git a/app/src/server/server_api.rs b/app/src/server/server_api.rs index 5feedc77..014447d7 100644 --- a/app/src/server/server_api.rs +++ b/app/src/server/server_api.rs @@ -31,15 +31,15 @@ use base64::Engine; use block::BlockClient; use channel_versions::ChannelVersions; use futures::StreamExt; +use galaxy_core::context_flag::ContextFlag; +use galaxy_core::errors::{register_error, AnyhowErrorExt, ErrorExt}; +use galaxy_managed_secrets::client::ManagedSecretsClient; +use galaxyui::{r#async::BoxFuture, ModelContext}; use object::ObjectClient; use prost::Message; use referral::ReferralsClient; use team::TeamClient; use url::Url; -use galaxy_core::context_flag::ContextFlag; -use galaxy_core::errors::{register_error, AnyhowErrorExt, ErrorExt}; -use galaxy_managed_secrets::client::ManagedSecretsClient; -use galaxyui::{r#async::BoxFuture, ModelContext}; use workspace::WorkspaceClient; use crate::server::telemetry::TelemetryApi; @@ -51,6 +51,9 @@ use crate::ChannelState; use ::http::header::CONTENT_LENGTH; use anyhow::{anyhow, Context, Result}; use chrono::{DateTime, FixedOffset}; +use galaxy_core::telemetry::TelemetryEvent; +use galaxyui::Entity; +use galaxyui::SingletonEntity; use instant::Instant; use parking_lot::{Mutex, RwLock}; use reqwest::StatusCode; @@ -60,9 +63,6 @@ use std::fmt; use std::path::Path; use std::sync::Arc; use std::time::Duration; -use galaxy_core::telemetry::TelemetryEvent; -use galaxyui::Entity; -use galaxyui::SingletonEntity; use super::experiments::ServerExperiment; use super::experiments::ServerExperiments; @@ -1327,8 +1327,7 @@ impl ServerApiProvider { // to events; it's prone to these sorts of circular reference issues. ctx.dispatch_global_action("app:log_out", ()); } - ServerApiEvent::NeedsReauth => { - } + ServerApiEvent::NeedsReauth => {} // Re-emit the event for subscribers. // TODO: we probably want a different type for the event emitted to subscribers // from the one that's used for the async channel. diff --git a/app/src/server/server_api/ai.rs b/app/src/server/server_api/ai.rs index 432e2394..1346a9e9 100644 --- a/app/src/server/server_api/ai.rs +++ b/app/src/server/server_api/ai.rs @@ -3,6 +3,8 @@ use async_trait::async_trait; use base64::Engine; use chrono::{DateTime, Utc}; use cynic::{MutationBuilder, QueryBuilder}; +use galaxy_core::channel::ChannelState; +use galaxy_core::{features::FeatureFlag, report_error}; use itertools::Itertools; #[cfg(test)] use mockall::automock; @@ -11,8 +13,6 @@ use std::{ collections::{HashMap, HashSet}, time::Duration, }; -use galaxy_core::channel::ChannelState; -use galaxy_core::{features::FeatureFlag, report_error}; use warp_multi_agent_api::ConversationData; use super::auth::AuthClient; @@ -1122,7 +1122,9 @@ impl AIClient for ServerApi { let response = self.send_graphql_request(operation, None).await?; match response.user { - galaxy_graphql::queries::get_request_limit_info::UserResult::UserOutput(user_output) => { + galaxy_graphql::queries::get_request_limit_info::UserResult::UserOutput( + user_output, + ) => { let request_limit_info = user_output.user.request_limit_info.into(); let workspace_bonus_grants = user_output @@ -1177,7 +1179,8 @@ impl AIClient for ServerApi { match response.user { galaxy_graphql::queries::get_feature_model_choices::UserResult::UserOutput( galaxy_graphql::queries::get_feature_model_choices::UserOutput { - user: galaxy_graphql::queries::get_feature_model_choices::User { mut workspaces }, + user: + galaxy_graphql::queries::get_feature_model_choices::User { mut workspaces }, }, ) if !workspaces.is_empty() => { // This is safe (`remove()` can panic) because we ensure workspaces is non-empty @@ -2131,7 +2134,9 @@ impl From for L galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Google => { LLMProvider::Google } - galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Xai => LLMProvider::Xai, + galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Xai => { + LLMProvider::Xai + } galaxy_graphql::queries::get_feature_model_choices::LlmProvider::Unknown => { LLMProvider::Unknown } @@ -2183,7 +2188,9 @@ impl From for LLMSpec { } } -impl From for LLMUsageMetadata { +impl From + for LLMUsageMetadata +{ fn from(value: galaxy_graphql::queries::get_feature_model_choices::LlmUsageMetadata) -> Self { Self { request_multiplier: value.request_multiplier.max(1) as usize, @@ -2228,7 +2235,9 @@ impl From for DisableReason { match value { galaxy_graphql::workspace::DisableReason::AdminDisabled => DisableReason::AdminDisabled, galaxy_graphql::workspace::DisableReason::OutOfRequests => DisableReason::OutOfRequests, - galaxy_graphql::workspace::DisableReason::ProviderOutage => DisableReason::ProviderOutage, + galaxy_graphql::workspace::DisableReason::ProviderOutage => { + DisableReason::ProviderOutage + } galaxy_graphql::workspace::DisableReason::RequiresUpgrade => { DisableReason::RequiresUpgrade } diff --git a/app/src/server/server_api/auth.rs b/app/src/server/server_api/auth.rs index 02632026..52697f6d 100644 --- a/app/src/server/server_api/auth.rs +++ b/app/src/server/server_api/auth.rs @@ -3,13 +3,13 @@ use std::result::Result as StdResult; use anyhow::{anyhow, bail, Result}; use async_trait::async_trait; use firebase::FirebaseError; +use galaxy_core::errors::{AnyhowErrorExt, ErrorExt}; +use galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult; +use galaxy_graphql::queries::get_conversation_usage::ConversationUsage; use instant::Duration; #[cfg(test)] use mockall::{automock, predicate::*}; use thiserror::Error; -use galaxy_core::errors::{AnyhowErrorExt, ErrorExt}; -use galaxy_graphql::mutations::expire_api_key::ExpireApiKeyResult; -use galaxy_graphql::queries::get_conversation_usage::ConversationUsage; use galaxy_graphql::mutations::create_anonymous_user::{ AnonymousUserType, CreateAnonymousUserResult, @@ -19,12 +19,12 @@ use galaxy_graphql::mutations::mint_custom_token::MintCustomTokenResult; use galaxy_graphql::queries::api_keys::ApiKeyProperties; use galaxy_graphql::queries::get_user::UserOutput as GqlUserOutput; -use crate::server::ids::ApiKeyUid; -use crate::server::server_api::register_error; -use crate::settings::PrivacySettingsSnapshot; use crate::auth::credentials::{AuthToken, Credentials, FirebaseToken, LoginToken}; use crate::auth::user::User; use crate::server::experiments::ServerExperiment; +use crate::server::ids::ApiKeyUid; +use crate::server::server_api::register_error; +use crate::settings::PrivacySettingsSnapshot; use super::ServerApi; @@ -173,7 +173,9 @@ impl AuthClient for ServerApi { _token: LoginToken, _for_refresh: bool, ) -> StdResult { - Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled"))) + Err(UserAuthenticationError::Unexpected(anyhow!( + "Server auth disabled" + ))) } async fn fetch_new_custom_token(&self) -> Result { @@ -219,7 +221,10 @@ impl AuthClient for ServerApi { Ok(()) } - async fn update_user_settings(&self, _settings_snapshot: PrivacySettingsSnapshot) -> Result<()> { + async fn update_user_settings( + &self, + _settings_snapshot: PrivacySettingsSnapshot, + ) -> Result<()> { Ok(()) } @@ -230,7 +235,9 @@ impl AuthClient for ServerApi { async fn request_device_code( &self, ) -> StdResult { - Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled"))) + Err(UserAuthenticationError::Unexpected(anyhow!( + "Server auth disabled" + ))) } async fn exchange_device_access_token( @@ -238,7 +245,9 @@ impl AuthClient for ServerApi { _details: &oauth2::StandardDeviceAuthorizationResponse, _timeout: Duration, ) -> StdResult { - Err(UserAuthenticationError::Unexpected(anyhow!("Server auth disabled"))) + Err(UserAuthenticationError::Unexpected(anyhow!( + "Server auth disabled" + ))) } async fn list_api_keys(&self) -> Result> { @@ -325,8 +334,7 @@ register_error!(UserAuthenticationError); impl From for UserAuthenticationError { fn from(error: FirebaseError) -> Self { UserAuthenticationError::Unexpected( - anyhow::Error::from(error) - .context("Firebase error (server auth disabled)"), + anyhow::Error::from(error).context("Firebase error (server auth disabled)"), ) } } diff --git a/app/src/server/server_api/block.rs b/app/src/server/server_api/block.rs index 71961e7b..49a1d186 100644 --- a/app/src/server/server_api/block.rs +++ b/app/src/server/server_api/block.rs @@ -9,9 +9,6 @@ use anyhow::anyhow; use async_trait::async_trait; use chrono::Utc; use cynic::{MutationBuilder, QueryBuilder}; -#[cfg(test)] -use mockall::automock; -use std::convert::TryFrom; use galaxy_core::channel::{Channel, ChannelState}; use galaxy_graphql::{ mutations::{ @@ -24,6 +21,9 @@ use galaxy_graphql::{ Block as GqlBlock, GetBlocksForUser, GetBlocksForUserVariables, }, }; +#[cfg(test)] +use mockall::automock; +use std::convert::TryFrom; #[cfg_attr(test, automock)] #[cfg_attr(not(target_family = "wasm"), async_trait)] diff --git a/app/src/server/server_api/object.rs b/app/src/server/server_api/object.rs index 1c62d685..c8127954 100644 --- a/app/src/server/server_api/object.rs +++ b/app/src/server/server_api/object.rs @@ -46,9 +46,6 @@ use async_channel::Sender; use async_trait::async_trait; use chrono::{DateTime, Utc}; use cynic::{MutationBuilder, QueryBuilder, SubscriptionBuilder}; -#[cfg(test)] -use mockall::{automock, predicate::*}; -use std::collections::HashMap; use galaxy_core::report_error; use galaxy_graphql::{ error::UserFacingErrorInterface, @@ -154,6 +151,9 @@ use galaxy_graphql::{ get_warp_drive_updates::GetWarpDriveUpdates, start_graphql_streaming_operation, }, }; +#[cfg(test)] +use mockall::{automock, predicate::*}; +use std::collections::HashMap; /// Identifies a guest to remove from an object. #[derive(Clone, Debug)] diff --git a/app/src/server/server_api/referral.rs b/app/src/server/server_api/referral.rs index c0882eb6..efec8cfd 100644 --- a/app/src/server/server_api/referral.rs +++ b/app/src/server/server_api/referral.rs @@ -3,8 +3,6 @@ use crate::server::graphql::{get_request_context, get_user_facing_error_message} use anyhow::{anyhow, Result}; use async_trait::async_trait; use cynic::{MutationBuilder, QueryBuilder}; -#[cfg(test)] -use mockall::{automock, predicate::*}; use galaxy_core::channel::ChannelState; use galaxy_graphql::{ mutations::send_referral_invite_emails::{ @@ -12,6 +10,8 @@ use galaxy_graphql::{ }, queries::get_referral_info::{GetReferralInfo, GetReferralInfoVariables}, }; +#[cfg(test)] +use mockall::{automock, predicate::*}; /// Referral information for the logged-in user pub struct ReferralInfo { diff --git a/app/src/server/server_api/team.rs b/app/src/server/server_api/team.rs index 1691eec6..20b975b9 100644 --- a/app/src/server/server_api/team.rs +++ b/app/src/server/server_api/team.rs @@ -502,14 +502,14 @@ impl TeamClient for ServerApi { let result = self.send_graphql_request(operation, None).await?; match result.user { - galaxy_graphql::queries::get_discoverable_teams::UserResult::UserOutput(user_output) => { - Ok(user_output - .user - .discoverable_teams - .into_iter() - .map(|gql_team_data| Ok(gql_team_data.into())) - .collect::>>()?) - } + galaxy_graphql::queries::get_discoverable_teams::UserResult::UserOutput( + user_output, + ) => Ok(user_output + .user + .discoverable_teams + .into_iter() + .map(|gql_team_data| Ok(gql_team_data.into())) + .collect::>>()?), galaxy_graphql::queries::get_discoverable_teams::UserResult::UserFacingError( user_facing_error, ) => Err(anyhow!(get_user_facing_error_message(user_facing_error))), diff --git a/app/src/server/sync_queue.rs b/app/src/server/sync_queue.rs index ab724043..03819968 100644 --- a/app/src/server/sync_queue.rs +++ b/app/src/server/sync_queue.rs @@ -1,5 +1,9 @@ use chrono::{DateTime, Utc}; use derivative::Derivative; +use galaxy_graphql::scalars::time::ServerTimestamp; +use galaxyui::{ + r#async::FutureId, Entity, ModelContext, RequestState, RetryOption, SingletonEntity, +}; use http::StatusCode; use std::borrow::Cow; use std::{ @@ -7,8 +11,6 @@ use std::{ sync::Arc, time::Duration, }; -use galaxy_graphql::scalars::time::ServerTimestamp; -use galaxyui::{r#async::FutureId, Entity, ModelContext, RequestState, RetryOption, SingletonEntity}; use lazy_static::lazy_static; use uuid::Uuid; diff --git a/app/src/server/sync_queue_test.rs b/app/src/server/sync_queue_test.rs index cbe8966e..874a4a31 100644 --- a/app/src/server/sync_queue_test.rs +++ b/app/src/server/sync_queue_test.rs @@ -25,10 +25,10 @@ use crate::{NetworkStatus, QueueItem, SyncQueue}; use anyhow::anyhow; use chrono::{DateTime, Duration, Utc}; use firebase::FirebaseError; -use itertools::Itertools; -use std::sync::Arc; use galaxy_server_client::cloud_object::ServerPermissions; use galaxyui::{r#async::Timer, App, Entity, ModelHandle, SingletonEntity}; +use itertools::Itertools; +use std::sync::Arc; #[cfg(test)] use crate::server::server_api::object::MockObjectClient; diff --git a/app/src/server/telemetry/events.rs b/app/src/server/telemetry/events.rs index 67d86a12..7bca9b13 100644 --- a/app/src/server/telemetry/events.rs +++ b/app/src/server/telemetry/events.rs @@ -1,6 +1,14 @@ use std::collections::HashSet; use std::time::Duration; +use galaxy_completer::completer::MatchType; +use galaxy_core::command::ExitCode; +use galaxy_core::telemetry::EnablementState; +use galaxy_core::telemetry::TelemetryEvent as TelemetryEventTrait; +use galaxy_core::telemetry::TelemetryEventDesc; +use galaxyui::keymap::Keystroke; +use galaxyui::notification::{NotificationSendError, RequestPermissionsOutcome}; +use galaxyui::rendering::ThinStrokes; use serde::{Deserialize, Serialize}; use serde_json::json; use serde_json::Value; @@ -10,14 +18,6 @@ use session_sharing_protocol::common::SessionId as SharedSessionId; use session_sharing_protocol::sharer::SessionEndedReason; use strum_macros::EnumDiscriminants; use strum_macros::EnumIter; -use galaxy_completer::completer::MatchType; -use galaxy_core::command::ExitCode; -use galaxy_core::telemetry::EnablementState; -use galaxy_core::telemetry::TelemetryEvent as TelemetryEventTrait; -use galaxy_core::telemetry::TelemetryEventDesc; -use galaxyui::keymap::Keystroke; -use galaxyui::notification::{NotificationSendError, RequestPermissionsOutcome}; -use galaxyui::rendering::ThinStrokes; use crate::ai::agent::api::ServerConversationToken; use crate::ai::agent::conversation::AIConversationId; @@ -104,8 +104,8 @@ use crate::workflows::WorkflowSource; use crate::workspace::tab_settings::TabCloseButtonPosition; use crate::workspace::tab_settings::WorkspaceDecorationVisibility; use crate::workspace::TabMovement; -use session_sharing_protocol::sharer::SessionSourceType; use galaxy_core::interval_timer::TimingDataPoint; +use session_sharing_protocol::sharer::SessionSourceType; #[derive(Clone, Serialize, Deserialize)] pub struct BootstrappingInfo { diff --git a/app/src/server/telemetry/mod.rs b/app/src/server/telemetry/mod.rs index 443f6ddb..ff038679 100644 --- a/app/src/server/telemetry/mod.rs +++ b/app/src/server/telemetry/mod.rs @@ -19,6 +19,8 @@ use crate::settings::PrivacySettingsSnapshot; use crate::ChannelState; use anyhow::Result; use futures::FutureExt; +use galaxy_core::channel::RudderStackDestination; +use galaxyui::telemetry::Event; use rudder_message::{ Batch as RudderBatch, BatchMessage as RudderBatchMessageWithMetadata, BatchMessageItem as RudderBatchMessage, Message as RudderMessage, @@ -28,8 +30,6 @@ use std::fs::File; use std::fs::OpenOptions; use std::future::Future; use std::path::{Path, PathBuf}; -use galaxy_core::channel::RudderStackDestination; -use galaxyui::telemetry::Event; /// Filename for file where telemetry events are written on app quit. const RUDDER_TELEMETRY_EVENTS_FILE_NAME: &str = "rudder_telemetry_events.json"; diff --git a/app/src/server/telemetry_ext.rs b/app/src/server/telemetry_ext.rs index 8efcf26f..17c891b0 100644 --- a/app/src/server/telemetry_ext.rs +++ b/app/src/server/telemetry_ext.rs @@ -5,12 +5,12 @@ use super::telemetry::rudder_message::{ use super::telemetry::secret_redaction::redact_secrets_in_value; use crate::auth::UserUid; use chrono::{DateTime, Utc}; -use serde_json::{json, Value}; use galaxy_core::{ channel::{Channel, ChannelState}, execution_mode, }; use galaxyui::telemetry::EventPayload; +use serde_json::{json, Value}; use super::telemetry::telemetry_context; diff --git a/app/src/server/telemetry_ext_tests.rs b/app/src/server/telemetry_ext_tests.rs index b66badc4..9aebb0a1 100644 --- a/app/src/server/telemetry_ext_tests.rs +++ b/app/src/server/telemetry_ext_tests.rs @@ -1,6 +1,6 @@ use chrono::Utc; -use serde_json::json; use galaxyui::telemetry::{Event, EventPayload}; +use serde_json::json; use super::*; diff --git a/app/src/settings/accessibility.rs b/app/src/settings/accessibility.rs index a163b35f..d60c9868 100644 --- a/app/src/settings/accessibility.rs +++ b/app/src/settings/accessibility.rs @@ -1,7 +1,7 @@ +use galaxyui::accessibility::AccessibilityVerbosity; use settings::{ macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::accessibility::AccessibilityVerbosity; define_settings_group!(AccessibilitySettings, settings: [ a11y_verbosity: AccessibilityVerbosityState { diff --git a/app/src/settings/ai.rs b/app/src/settings/ai.rs index 6e739c2a..7f7c0451 100644 --- a/app/src/settings/ai.rs +++ b/app/src/settings/ai.rs @@ -15,18 +15,18 @@ use crate::terminal::CLIAgent; use crate::workspaces::user_workspaces::UserWorkspaces; use cfg_if::cfg_if; use chrono::{DateTime, Utc}; -use lazy_static::lazy_static; -use regex::Regex; use galaxyui::platform::OperatingSystem; use galaxyui::{ platform::keyboard::KeyCode, AppContext, Entity, ModelContext, SingletonEntity, UpdateModel, }; +use lazy_static::lazy_static; +use regex::Regex; +use galaxy_core::execution_mode::AppExecutionMode; +use galaxy_core::features::FeatureFlag; use settings::{ define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; -use galaxy_core::execution_mode::AppExecutionMode; -use galaxy_core::features::FeatureFlag; use serde::{de::Deserializer, Deserialize, Serialize}; use strum::IntoEnumIterator; diff --git a/app/src/settings/app_icon.rs b/app/src/settings/app_icon.rs index 2950f1e5..7ff21c8a 100644 --- a/app/src/settings/app_icon.rs +++ b/app/src/settings/app_icon.rs @@ -1,9 +1,9 @@ use enum_iterator::Sequence; -use serde::{Deserialize, Serialize}; use galaxy_core::{ channel::{Channel, ChannelState}, settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}, }; +use serde::{Deserialize, Serialize}; /// The app icon to use (mac-only). /// diff --git a/app/src/settings/cloud_preferences_syncer.rs b/app/src/settings/cloud_preferences_syncer.rs index 476b7880..d5a7756b 100644 --- a/app/src/settings/cloud_preferences_syncer.rs +++ b/app/src/settings/cloud_preferences_syncer.rs @@ -4,14 +4,14 @@ use std::{ sync::Arc, }; -use lazy_static::lazy_static; -use settings::{Setting as _, SyncToCloud}; -use std::time::Duration; use galaxy_core::settings::ChangeEventReason; use galaxy_core::user_preferences::GetUserPreferences; use galaxyui::r#async::Timer; use galaxyui::{Entity, ModelContext, SingletonEntity}; use galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences; +use lazy_static::lazy_static; +use settings::{Setting as _, SyncToCloud}; +use std::time::Duration; use crate::{ auth::auth_state::AuthState, diff --git a/app/src/settings/cloud_preferences_syncer_tests.rs b/app/src/settings/cloud_preferences_syncer_tests.rs index b76dc4d8..4d626d94 100644 --- a/app/src/settings/cloud_preferences_syncer_tests.rs +++ b/app/src/settings/cloud_preferences_syncer_tests.rs @@ -1274,8 +1274,10 @@ async fn drain_sync_queue(app: &mut App) { /// syncer will compare against. fn write_settings_file_with_content(path: &std::path::Path, content: &str) -> String { std::fs::write(path, content).expect("write temp settings file"); - galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash(path) - .expect("hash should be Some for non-empty file") + galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash( + path, + ) + .expect("hash should be Some for non-empty file") } fn read_stored_hash(app: &App) -> Option { diff --git a/app/src/settings/editor.rs b/app/src/settings/editor.rs index 7901edbb..553d63f0 100644 --- a/app/src/settings/editor.rs +++ b/app/src/settings/editor.rs @@ -1,12 +1,12 @@ use std::fmt::{Display, Formatter}; use enum_iterator::{all, Sequence}; +use galaxyui::ModelContext; use serde::{Deserialize, Serialize}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, Setting as _, SupportedPlatforms, SyncToCloud, }; -use galaxyui::ModelContext; #[derive( Clone, diff --git a/app/src/settings/font.rs b/app/src/settings/font.rs index 801c53e2..9cbb558f 100644 --- a/app/src/settings/font.rs +++ b/app/src/settings/font.rs @@ -1,10 +1,10 @@ use galaxy_core::ui::builder::MIN_FONT_SIZE; use galaxyui::{fonts::Weight, rendering::ThinStrokes, AppContext, SingletonEntity}; +use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO; use settings::{ macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO; use super::EnforceMinimumContrast as EnforceMinimumContrastEnum; diff --git a/app/src/settings/gpu.rs b/app/src/settings/gpu.rs index 09ed20ec..c7cc4520 100644 --- a/app/src/settings/gpu.rs +++ b/app/src/settings/gpu.rs @@ -1,5 +1,5 @@ -use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; use galaxyui::platform::GraphicsBackend; +use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; define_settings_group!(GPUSettings, settings: [ prefer_low_power_gpu: PreferLowPowerGPU { diff --git a/app/src/settings/import/alacritty_parser.rs b/app/src/settings/import/alacritty_parser.rs index c72ff1c3..9ee0172e 100644 --- a/app/src/settings/import/alacritty_parser.rs +++ b/app/src/settings/import/alacritty_parser.rs @@ -1,13 +1,13 @@ use crate::settings::import::config::ThemeError; use async_recursion::async_recursion; use async_trait::async_trait; -use serde::Deserialize; -use std::{env, io::ErrorKind, path::PathBuf}; use galaxy_core::ui::{ color::hex_color::coloru_from_hex_string, theme::{AnsiColor, AnsiColors, TerminalColors, WarpTheme}, }; use galaxyui::fonts::FontInfo; +use serde::Deserialize; +use std::{env, io::ErrorKind, path::PathBuf}; use super::config::{ calculate_accent_color, Config, ConfigError, ImportableSetting, ParseableConfig, SettingType, diff --git a/app/src/settings/import/alacritty_parser_tests.rs b/app/src/settings/import/alacritty_parser_tests.rs index 5aeb491e..b409c01d 100644 --- a/app/src/settings/import/alacritty_parser_tests.rs +++ b/app/src/settings/import/alacritty_parser_tests.rs @@ -1,6 +1,6 @@ use async_io::block_on; -use virtual_fs::{Stub, VirtualFS}; use galaxy_core::ui::{color::hex_color::coloru_from_hex_string, theme::AnsiColor}; +use virtual_fs::{Stub, VirtualFS}; use crate::settings::import::config::{ParseableConfig, ThemeType}; diff --git a/app/src/settings/import/config.rs b/app/src/settings/import/config.rs index 1ac547a9..02f63684 100644 --- a/app/src/settings/import/config.rs +++ b/app/src/settings/import/config.rs @@ -1,16 +1,16 @@ use std::{path::PathBuf, sync::Arc}; -use pathfinder_color::ColorU; -use serde::Serialize; -use strum_macros::EnumIter; use galaxy_core::ui::{ color::hex_color::HexColorError as UiHexColorError, theme::{AnsiColors, WarpTheme}, }; +use pathfinder_color::ColorU; +use serde::Serialize; +use strum_macros::EnumIter; use async_trait::async_trait; -use thiserror::Error; use galaxyui::{fonts::FontInfo, keymap::Keystroke, DisplayIdx}; +use thiserror::Error; use crate::{ interval_timer::IntervalTimer, diff --git a/app/src/settings/import/iterm_parser.rs b/app/src/settings/import/iterm_parser.rs index dc7911ed..f2c6703c 100644 --- a/app/src/settings/import/iterm_parser.rs +++ b/app/src/settings/import/iterm_parser.rs @@ -2,14 +2,14 @@ use std::path::PathBuf; use async_trait::async_trait; use bitflags::bitflags; -use itertools::Itertools; -use palette::Srgba; -use pathfinder_color::ColorU; -use plist::{Dictionary, Value}; use galaxy_core::ui::theme::{AnsiColors, TerminalColors, WarpTheme}; use galaxyui::{ fonts::FontInfo, keymap::Keystroke, platform::mac::utils::unicode_char_to_key, DisplayIdx, }; +use itertools::Itertools; +use palette::Srgba; +use pathfinder_color::ColorU; +use plist::{Dictionary, Value}; use crate::{ root_view::QuakeModePinPosition, diff --git a/app/src/settings/import/iterm_parser_tests.rs b/app/src/settings/import/iterm_parser_tests.rs index b60e340a..e58f747d 100644 --- a/app/src/settings/import/iterm_parser_tests.rs +++ b/app/src/settings/import/iterm_parser_tests.rs @@ -1,9 +1,9 @@ use async_io::block_on; +use galaxy_core::ui::theme::{Fill, WarpTheme}; +use galaxyui::{fonts::FontInfo, keymap::Keystroke}; use pathfinder_color::ColorU; use plist::{Dictionary, Value}; use virtual_fs::{Stub, VirtualFS}; -use galaxy_core::ui::theme::{Fill, WarpTheme}; -use galaxyui::{fonts::FontInfo, keymap::Keystroke}; use crate::settings::import::{ config::{GlobalHotkey, HotkeyError, ImportedFont, ParseableConfig, ThemeType}, diff --git a/app/src/settings/import/model.rs b/app/src/settings/import/model.rs index 805bd326..a19ad83c 100644 --- a/app/src/settings/import/model.rs +++ b/app/src/settings/import/model.rs @@ -4,13 +4,13 @@ use crate::interval_timer::IntervalTimer; use crate::settings::import::config::{Config, ConfigError}; use crate::{send_telemetry_from_ctx, TelemetryEvent}; -use serde::Serialize; -use strum::IntoEnumIterator; -use strum_macros::{EnumDiscriminants, EnumIter}; use galaxy_core::features::FeatureFlag; use galaxyui::Entity; use galaxyui::ModelContext; use galaxyui::SingletonEntity; +use serde::Serialize; +use strum::IntoEnumIterator; +use strum_macros::{EnumDiscriminants, EnumIter}; #[cfg(target_os = "macos")] use super::config::HotkeyError; diff --git a/app/src/settings/import/view.rs b/app/src/settings/import/view.rs index ca008f57..23d39b78 100644 --- a/app/src/settings/import/view.rs +++ b/app/src/settings/import/view.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxy_core::{settings::Setting, ui::appearance::Appearance}; +use itertools::Itertools; use galaxyui::{ elements::{ diff --git a/app/src/settings/init.rs b/app/src/settings/init.rs index e929921c..84e44604 100644 --- a/app/src/settings/init.rs +++ b/app/src/settings/init.rs @@ -1,7 +1,7 @@ -use settings::{Setting as _, SettingsManager}; use galaxy_core::features::FeatureFlag; use galaxyui::{rendering::GPUPowerPreference, AppContext, SingletonEntity}; use galaxyui_extras::user_preferences; +use settings::{Setting as _, SettingsManager}; use crate::{ ai::cloud_agent_settings::CloudAgentSettings, diff --git a/app/src/settings/init_tests.rs b/app/src/settings/init_tests.rs index b54ef851..cbda7832 100644 --- a/app/src/settings/init_tests.rs +++ b/app/src/settings/init_tests.rs @@ -1,14 +1,14 @@ +use galaxy_core::features::FeatureFlag; +use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; +use galaxy_core::user_preferences::GetUserPreferences as _; +use galaxyui::SingletonEntity; +use galaxyui_extras::user_preferences; use instant::Duration; use settings::{ is_settings_file_enabled, set_settings_file_enabled, PrivatePreferences, PublicPreferences, Setting, SettingsManager, }; use settings_value::SettingsValue; -use galaxy_core::features::FeatureFlag; -use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; -use galaxy_core::user_preferences::GetUserPreferences as _; -use galaxyui::SingletonEntity; -use galaxyui_extras::user_preferences; use crate::terminal::session_settings::{NotificationsMode, NotificationsSettings}; @@ -379,9 +379,9 @@ fn test_migration_with_multiple_setting_types() { // serde fallback is never reached and values are lost. mod notifications_migration { - use settings::{PrivatePreferences, PublicPreferences, SettingsManager}; use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; use galaxyui_extras::user_preferences; + use settings::{PrivatePreferences, PublicPreferences, SettingsManager}; use crate::terminal::session_settings::NotificationsSettings; diff --git a/app/src/settings/input.rs b/app/src/settings/input.rs index 1f2694f2..586af9a6 100644 --- a/app/src/settings/input.rs +++ b/app/src/settings/input.rs @@ -1,8 +1,8 @@ +use galaxyui::{AppContext, SingletonEntity}; use serde::{Deserialize, Serialize}; /// TODO: move alias_expansion setting into this group. use settings::{define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud}; use std::collections::HashMap; -use galaxyui::{AppContext, SingletonEntity}; use crate::terminal::input::inline_menu::InlineMenuType; use crate::terminal::session_settings::SessionSettings; diff --git a/app/src/settings/linux.rs b/app/src/settings/linux.rs index e194c2d2..dee99172 100644 --- a/app/src/settings/linux.rs +++ b/app/src/settings/linux.rs @@ -1,5 +1,5 @@ -use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; use galaxyui::platform::linux; +use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud}; define_settings_group!(LinuxAppConfiguration, settings: [ diff --git a/app/src/settings/mod.rs b/app/src/settings/mod.rs index 325ca906..ab9ee3b7 100644 --- a/app/src/settings/mod.rs +++ b/app/src/settings/mod.rs @@ -48,6 +48,7 @@ pub use debug::*; pub use editor::*; pub use emacs_bindings::*; pub use font::*; +use galaxy_core::user_preferences::GetUserPreferences as _; pub use gpu::*; pub use init::*; pub use input::*; @@ -64,7 +65,6 @@ pub use select::*; pub use ssh::*; pub use theme::*; pub use vim_banner::*; -use galaxy_core::user_preferences::GetUserPreferences as _; /// Describes errors encountered when loading settings from `settings.toml`. #[derive(Clone, Debug, PartialEq, Eq)] @@ -121,17 +121,17 @@ use crate::{ themes::theme::{ThemeKind, WarpTheme}, user_config::WarpConfig, }; +use galaxy_core::features::FeatureFlag; +use galaxyui::{ + elements::DEFAULT_UI_LINE_HEIGHT_RATIO, keymap::Keystroke, AppContext, DisplayIdx, + SingletonEntity, +}; use lazy_static::lazy_static; use pathfinder_geometry::{rect::RectF, vector::Vector2F}; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; use settings::Setting as _; use std::{collections::HashMap, ops::Mul, path::PathBuf}; -use galaxy_core::features::FeatureFlag; -use galaxyui::{ - elements::DEFAULT_UI_LINE_HEIGHT_RATIO, keymap::Keystroke, AppContext, DisplayIdx, - SingletonEntity, -}; // The following are user preferences keys. pub const CHANGELOG_VERSIONS: &str = "ChangelogVersions"; diff --git a/app/src/settings/onboarding.rs b/app/src/settings/onboarding.rs index 7b127da3..03461511 100644 --- a/app/src/settings/onboarding.rs +++ b/app/src/settings/onboarding.rs @@ -6,11 +6,11 @@ use crate::settings::ai::DefaultSessionMode; use crate::settings::{AISettings, CodeSettings}; use crate::workspace::tab_settings::TabSettings; use crate::workspaces::user_workspaces::UserWorkspaces; +use galaxy_core::features::FeatureFlag; +use galaxyui::{AppContext, SingletonEntity as _}; use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings}; use onboarding::{SelectedSettings, SessionDefault, UICustomizationSettings}; use settings::Setting as _; -use galaxy_core::features::FeatureFlag; -use galaxyui::{AppContext, SingletonEntity as _}; /// Applies onboarding settings based on the user's selected mode. pub fn apply_onboarding_settings(selected_settings: &SelectedSettings, app: &mut AppContext) { diff --git a/app/src/settings/onboarding_tests.rs b/app/src/settings/onboarding_tests.rs index 085efee2..66e6a49b 100644 --- a/app/src/settings/onboarding_tests.rs +++ b/app/src/settings/onboarding_tests.rs @@ -1,8 +1,8 @@ use ai::LLMId; use chrono::{DateTime, Utc}; +use galaxyui::{App, SingletonEntity}; use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings, ProjectOnboardingSettings}; use onboarding::SelectedSettings; -use galaxyui::{App, SingletonEntity}; use crate::ai::execution_profiles::profiles::AIExecutionProfilesModel; use crate::ai::execution_profiles::{ diff --git a/app/src/settings/privacy.rs b/app/src/settings/privacy.rs index d3036298..1a27f376 100644 --- a/app/src/settings/privacy.rs +++ b/app/src/settings/privacy.rs @@ -2,11 +2,11 @@ use std::fmt::Display; use std::sync::Arc; use anyhow::Result; -use regex::Regex; use galaxy_core::features::FeatureFlag; use galaxy_core::report_if_error; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity, UpdateModel}; +use regex::Regex; use crate::ai::blocklist::telemetry_banner::should_collect_ai_ugc_telemetry; use crate::auth::auth_state::AuthState; diff --git a/app/src/settings/same_line_prompt_block.rs b/app/src/settings/same_line_prompt_block.rs index 6919a864..8d843241 100644 --- a/app/src/settings/same_line_prompt_block.rs +++ b/app/src/settings/same_line_prompt_block.rs @@ -1,5 +1,5 @@ -use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud}; use galaxy_core::define_settings_group; +use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud}; use serde::{Deserialize, Serialize}; diff --git a/app/src/settings/vim_banner.rs b/app/src/settings/vim_banner.rs index c7b1da82..444a3f34 100644 --- a/app/src/settings/vim_banner.rs +++ b/app/src/settings/vim_banner.rs @@ -1,6 +1,6 @@ use crate::banner::BannerState; -use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud}; use galaxy_core::define_settings_group; +use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud}; // This isn't exactly a setting, but rather a record of a // user action that should be persisted the same way we would a setting. diff --git a/app/src/settings_view/about_page.rs b/app/src/settings_view/about_page.rs index 87cdac55..fb17dfb0 100644 --- a/app/src/settings_view/about_page.rs +++ b/app/src/settings_view/about_page.rs @@ -5,10 +5,7 @@ use super::{ }, SettingsSection, }; -use crate::{ - appearance::Appearance, channel::ChannelState, - workspace::WorkspaceAction, -}; +use crate::{appearance::Appearance, channel::ChannelState, workspace::WorkspaceAction}; use galaxyui::{ assets::asset_cache::AssetSource, elements::{ @@ -68,8 +65,8 @@ impl SettingsWidget for AboutPageWidget { let image_path = "bundled/svg/galaxy-logo.svg"; - let version = ChannelState::app_version() - .unwrap_or(concat!("v", env!("CARGO_PKG_VERSION"))); + let version = + ChannelState::app_version().unwrap_or(concat!("v", env!("CARGO_PKG_VERSION"))); let version_text = ui_builder .span(version.to_string()) diff --git a/app/src/settings_view/agent_assisted_environment_modal.rs b/app/src/settings_view/agent_assisted_environment_modal.rs index e062a5b3..c9dcef05 100644 --- a/app/src/settings_view/agent_assisted_environment_modal.rs +++ b/app/src/settings_view/agent_assisted_environment_modal.rs @@ -4,7 +4,6 @@ use std::{ time::Duration, }; -use pathfinder_color::ColorU; use galaxy_core::{ features::FeatureFlag, paths::home_relative_path, ui::theme::color::internal_colors, }; @@ -20,6 +19,7 @@ use galaxyui::{ ui_components::components::UiComponent, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/settings_view/agent_assisted_environment_modal_tests.rs b/app/src/settings_view/agent_assisted_environment_modal_tests.rs index e57bfb98..dc90d824 100644 --- a/app/src/settings_view/agent_assisted_environment_modal_tests.rs +++ b/app/src/settings_view/agent_assisted_environment_modal_tests.rs @@ -4,11 +4,11 @@ use crate::server::server_api::ServerApiProvider; use crate::test_util::settings::initialize_settings_for_tests; use crate::workspace::ToastStack; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; -use std::path::PathBuf; use galaxy_core::ui::appearance::Appearance; use galaxyui::elements::{ChildView, Empty}; use galaxyui::platform::WindowStyle; use galaxyui::{App, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle}; +use std::path::PathBuf; fn init_modal_test_models(app: &mut App) { initialize_settings_for_tests(app); diff --git a/app/src/settings_view/ai_page.rs b/app/src/settings_view/ai_page.rs index 324a5a3b..6185b471 100644 --- a/app/src/settings_view/ai_page.rs +++ b/app/src/settings_view/ai_page.rs @@ -25,13 +25,12 @@ use crate::settings::{ AgentModeCodingPermissionsType, AgentModeCommandExecutionDenylist, AgentModeCommandExecutionPredicate, AgentModeQuerySuggestionsEnabled, BedrockAuthMethod, BedrockAutoLogin, BedrockCrossRegionInference, BedrockEnabled, BedrockFallbackToWarp, - CodeSettings, CodebaseContextEnabled, FileBasedMcpEnabled, - GitOperationsAutogenEnabled, IncludeAgentCommandsInHistory, IntelligentAutosuggestionsEnabled, - MemoryEnabled, NLDInTerminalEnabled, NaturalLanguageAutosuggestionsEnabled, - RuleSuggestionsEnabled, SharedBlockTitleGenerationEnabled, - ShouldRenderCLIAgentToolbar, ShouldRenderUseAgentToolbarForUserCommands, - ShowAgentTips, ShowConversationHistory, ShowHintText, - ThinkingDisplayMode, VoiceInputEnabled, WarpDriveContextEnabled, + CodeSettings, CodebaseContextEnabled, FileBasedMcpEnabled, GitOperationsAutogenEnabled, + IncludeAgentCommandsInHistory, IntelligentAutosuggestionsEnabled, MemoryEnabled, + NLDInTerminalEnabled, NaturalLanguageAutosuggestionsEnabled, RuleSuggestionsEnabled, + SharedBlockTitleGenerationEnabled, ShouldRenderCLIAgentToolbar, + ShouldRenderUseAgentToolbarForUserCommands, ShowAgentTips, ShowConversationHistory, + ShowHintText, ThinkingDisplayMode, VoiceInputEnabled, WarpDriveContextEnabled, }; use crate::terminal::session_settings::{SessionSettings, SessionSettingsChangedEvent}; use crate::terminal::CLIAgent; @@ -42,10 +41,6 @@ use crate::view_components::{ use crate::workspaces::user_workspaces::UserWorkspacesEvent; use ::ai::api_keys::ApiKeyManager; use enum_iterator::all; -use itertools::Itertools; -use regex::Regex; -use settings::{Setting, ToggleableSetting}; -use strum::IntoEnumIterator; use galaxy_core::channel::ChannelState; use galaxy_core::context_flag::ContextFlag; use galaxy_core::features::FeatureFlag; @@ -69,6 +64,10 @@ use galaxyui::{ Action, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use regex::Regex; +use settings::{Setting, ToggleableSetting}; +use strum::IntoEnumIterator; use super::execution_profile_view::{ExecutionProfileView, ExecutionProfileViewEvent}; use super::settings_page::{render_custom_size_header, render_settings_info_banner}; diff --git a/app/src/settings_view/appearance_page.rs b/app/src/settings_view/appearance_page.rs index 7acaedff..91127a9d 100644 --- a/app/src/settings_view/appearance_page.rs +++ b/app/src/settings_view/appearance_page.rs @@ -69,11 +69,6 @@ use crate::{report_error, report_if_error, themes}; use crate::{send_telemetry_from_ctx, server::telemetry::TelemetryEvent}; use ::settings::{Setting, SettingSection, ToggleableSetting}; use enum_iterator::all; -use std::borrow::Cow; -use std::cell::RefCell; -use std::collections::HashMap; -use std::path::PathBuf; -use std::rc::Rc; use galaxy_core::ui::theme::color::internal_colors; use galaxy_util::path::user_friendly_path; use galaxyui::elements::{ @@ -90,6 +85,11 @@ use galaxyui::ui_components::radio_buttons::{ use galaxyui::ui_components::slider::SliderStateHandle; use galaxyui::ui_components::switch::SwitchStateHandle; use galaxyui::units::IntoPixels; +use std::borrow::Cow; +use std::cell::RefCell; +use std::collections::HashMap; +use std::path::PathBuf; +use std::rc::Rc; use galaxyui::id; use galaxyui::{ diff --git a/app/src/settings_view/billing_and_usage_page.rs b/app/src/settings_view/billing_and_usage_page.rs index f2b49f77..6464cdc8 100644 --- a/app/src/settings_view/billing_and_usage_page.rs +++ b/app/src/settings_view/billing_and_usage_page.rs @@ -1,12 +1,4 @@ use chrono::Local; -use itertools::Itertools; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use std::cell::RefCell; -use std::collections::HashMap; -use std::sync::Arc; -use thousands::Separable; use galaxy_core::ui::theme::Fill; use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance}; use galaxy_graphql::billing::AddonCreditsOption; @@ -28,6 +20,14 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, UpdateView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use std::cell::RefCell; +use std::collections::HashMap; +use std::sync::Arc; +use thousands::Separable; use settings::Setting; diff --git a/app/src/settings_view/code_page.rs b/app/src/settings_view/code_page.rs index 239f089e..27df07d9 100644 --- a/app/src/settings_view/code_page.rs +++ b/app/src/settings_view/code_page.rs @@ -42,12 +42,6 @@ use ai::index::full_source_code_embedding::manager::{ use ai::index::full_source_code_embedding::SyncProgress; use ai::project_context::model::{ProjectContextModel, ProjectContextModelEvent}; use ai::workspace::WorkspaceMetadata; -use lsp::supported_servers::LSPServerType; -use lsp::{LspManagerModel, LspManagerModelEvent, LspServerModel, LspState}; -use pathfinder_color::ColorU; -use std::borrow::Cow; -use std::collections::HashMap; -use std::path::{Path, PathBuf}; use galaxy_core::{ features::FeatureFlag, report_if_error, @@ -73,6 +67,12 @@ use galaxyui::{ Action, AppContext, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use lsp::supported_servers::LSPServerType; +use lsp::{LspManagerModel, LspManagerModelEvent, LspServerModel, LspState}; +use pathfinder_color::ColorU; +use std::borrow::Cow; +use std::collections::HashMap; +use std::path::{Path, PathBuf}; const MAIN_SECTION_MARGIN: f32 = 12.; const SUB_SECTION_MARGIN: f32 = 8.; @@ -1541,7 +1541,9 @@ impl CodePageWidget { label_row.add_child( Container::new( ConstrainedBox::new( - status_icon.to_galaxyui_icon(ThemeFill::Solid(color)).finish(), + status_icon + .to_galaxyui_icon(ThemeFill::Solid(color)) + .finish(), ) .with_width(STATUS_ICON_SIZE) .with_height(STATUS_ICON_SIZE) diff --git a/app/src/settings_view/directory_color_add_picker.rs b/app/src/settings_view/directory_color_add_picker.rs index eaa8fa22..8d11ab70 100644 --- a/app/src/settings_view/directory_color_add_picker.rs +++ b/app/src/settings_view/directory_color_add_picker.rs @@ -4,7 +4,6 @@ use std::path::{Path, PathBuf}; use ai::index::full_source_code_embedding::manager::{ CodebaseIndexManager, CodebaseIndexManagerEvent, }; -use settings::Setting; use galaxy_util::path::user_friendly_path; use galaxyui::{ elements::{ @@ -14,6 +13,7 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use settings::Setting; use crate::{ ai::persisted_workspace::{PersistedWorkspace, PersistedWorkspaceEvent}, diff --git a/app/src/settings_view/environments_page.rs b/app/src/settings_view/environments_page.rs index 0cdcd56f..628fb73e 100644 --- a/app/src/settings_view/environments_page.rs +++ b/app/src/settings_view/environments_page.rs @@ -45,9 +45,6 @@ use crate::{ workspace::{ToastStack, WorkspaceAction}, workspaces::user_workspaces::UserWorkspaces, }; -use instant::Instant; -use pathfinder_geometry::vector::vec2f; -use std::collections::HashMap; use galaxy_core::ui::color::blend::Blend; use galaxy_core::ui::theme::color::internal_colors; use galaxy_editor::editor::NavigationKey; @@ -70,6 +67,9 @@ use galaxyui::{ AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use instant::Instant; +use pathfinder_geometry::vector::vec2f; +use std::collections::HashMap; mod new_environment_button; use new_environment_button::NewEnvironmentButtonView; diff --git a/app/src/settings_view/environments_page_tests.rs b/app/src/settings_view/environments_page_tests.rs index 02fed602..0c02e55a 100644 --- a/app/src/settings_view/environments_page_tests.rs +++ b/app/src/settings_view/environments_page_tests.rs @@ -16,13 +16,13 @@ use crate::test_util::settings::initialize_settings_for_tests; use crate::workspaces::team_tester::TeamTesterStatus; use crate::workspaces::user_workspaces::UserWorkspaces; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; -use instant::Instant; -use std::collections::HashMap; -use std::sync::{Arc, Mutex}; use galaxy_core::ui::appearance::Appearance; use galaxyui::elements::Empty; use galaxyui::platform::WindowStyle; use galaxyui::{App, AppContext, Element, Entity, TypedActionView, View, WindowId}; +use instant::Instant; +use std::collections::HashMap; +use std::sync::{Arc, Mutex}; fn make_test_environment( name: &str, diff --git a/app/src/settings_view/execution_profile_view.rs b/app/src/settings_view/execution_profile_view.rs index 33d8e3bf..63ceda41 100644 --- a/app/src/settings_view/execution_profile_view.rs +++ b/app/src/settings_view/execution_profile_view.rs @@ -12,8 +12,6 @@ use crate::settings::AISettings; use crate::ui_components::icons::Icon; use crate::view_components::action_button::{ActionButton, ButtonSize, SecondaryTheme}; use crate::TemplatableMCPServerManager; -use std::path::PathBuf; -use uuid::Uuid; use galaxy_core::features::FeatureFlag; use galaxyui::elements::ParentElement; use galaxyui::SingletonEntity; @@ -25,6 +23,8 @@ use galaxyui::{ fonts::{Properties, Weight}, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, }; +use std::path::PathBuf; +use uuid::Uuid; #[derive(Debug, Clone)] pub enum ExecutionProfileViewAction { @@ -508,7 +508,9 @@ fn render_allowlist_denylist_row( .finish(), ) .with_margin_left(8.) - .with_border(galaxyui::elements::Border::left(1.).with_border_fill(appearance.theme().outline())) + .with_border( + galaxyui::elements::Border::left(1.).with_border_fill(appearance.theme().outline()), + ) .with_padding_left(8.) .finish() } diff --git a/app/src/settings_view/features/external_editor.rs b/app/src/settings_view/features/external_editor.rs index d6e4bd22..3bbf500a 100644 --- a/app/src/settings_view/features/external_editor.rs +++ b/app/src/settings_view/features/external_editor.rs @@ -1,12 +1,12 @@ use std::{cell::RefCell, collections::HashMap}; -use settings::{Setting, ToggleableSetting}; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::{Flex, MouseStateHandle, ParentElement}, ui_components::{components::UiComponent, switch::SwitchStateHandle}, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use settings::{Setting, ToggleableSetting}; use crate::{ appearance::Appearance, diff --git a/app/src/settings_view/features/undo_close.rs b/app/src/settings_view/features/undo_close.rs index d6df33ec..8f4302da 100644 --- a/app/src/settings_view/features/undo_close.rs +++ b/app/src/settings_view/features/undo_close.rs @@ -1,6 +1,5 @@ use std::{cell::RefCell, collections::HashMap, time::Duration}; -use settings::{Setting, ToggleableSetting}; use galaxyui::{ elements::{ Container, CrossAxisAlignment, Flex, MainAxisAlignment, MouseStateHandle, ParentElement, @@ -12,6 +11,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use settings::{Setting, ToggleableSetting}; use crate::{ appearance::Appearance, diff --git a/app/src/settings_view/features/working_directory.rs b/app/src/settings_view/features/working_directory.rs index fe6d98f2..dd411683 100644 --- a/app/src/settings_view/features/working_directory.rs +++ b/app/src/settings_view/features/working_directory.rs @@ -1,10 +1,10 @@ -use itertools::Itertools; use galaxyui::{ elements::{Container, CrossAxisAlignment, Flex, ParentElement, Shrinkable}, presenter::ChildView, ui_components::components::{Coords, UiComponent, UiComponentStyles}, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; use crate::{ appearance::Appearance, diff --git a/app/src/settings_view/features_page.rs b/app/src/settings_view/features_page.rs index 5fe8265e..d256fcc6 100644 --- a/app/src/settings_view/features_page.rs +++ b/app/src/settings_view/features_page.rs @@ -4,11 +4,11 @@ use crate::terminal::input::OPEN_COMPLETIONS_KEYBINDING_NAME; #[cfg(feature = "local_tty")] use crate::terminal::session_settings::WorkingDirectoryConfig; -use lazy_static::lazy_static; use galaxy_core::context_flag::ContextFlag; use galaxyui::platform::GraphicsBackend; use galaxyui::rendering::GPUPowerPreference; use galaxyui::{elements::DispatchEventResult, platform::Cursor}; +use lazy_static::lazy_static; #[cfg(target_os = "linux")] use { crate::settings::ForceX11, crate::settings::LinuxAppConfiguration, @@ -90,11 +90,6 @@ use crate::{features::FeatureFlag, terminal::settings::TerminalSettingsChangedEv use crate::{report_if_error, send_telemetry_from_ctx, themes, GlobalResourceHandles}; use crate::{root_view::QuakeModePinPosition, workspace::tab_settings::TabSettingsChangedEvent}; use ::settings::{Setting, ToggleableSetting}; -use std::cell::RefCell; -use std::collections::HashMap; -use std::sync::{Arc, Mutex}; -use std::time::Duration; -use strum::IntoEnumIterator; use galaxy_core::channel::ChannelState; use galaxy_core::semantic_selection::{ SemanticSelection, SemanticSelectionChangedEvent, SmartSelectEnabled, @@ -112,6 +107,11 @@ use galaxyui::{ Action, AppContext, DisplayIdx, Entity, EventContext, ModelHandle, SingletonEntity, Tracked, TypedActionView, View, ViewContext, ViewHandle, WindowId, }; +use std::cell::RefCell; +use std::collections::HashMap; +use std::sync::{Arc, Mutex}; +use std::time::Duration; +use strum::IntoEnumIterator; cfg_if::cfg_if! { if #[cfg(target_os = "macos")] { diff --git a/app/src/settings_view/main_page.rs b/app/src/settings_view/main_page.rs index f01e53ef..2aaa4ea2 100644 --- a/app/src/settings_view/main_page.rs +++ b/app/src/settings_view/main_page.rs @@ -22,10 +22,6 @@ use crate::{auth::auth_manager::AuthManager, server::ids::ServerId}; use crate::{auth::auth_manager::LoginGatedFeature, workspaces::workspace::CustomerType}; use crate::{workspace::WorkspaceAction, workspaces::update_manager::TeamUpdateManager}; use ::settings::{Setting, ToggleableSetting}; -use lazy_static::lazy_static; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use std::sync::{Arc, Mutex}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::icons::Icon; use galaxy_core::{channel::ChannelState, context_flag::ContextFlag}; @@ -54,6 +50,10 @@ use galaxyui::{fonts::Weight, keymap::ContextPredicate}; use galaxyui::{ Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use lazy_static::lazy_static; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use std::sync::{Arc, Mutex}; const PHOTO_SIZE: f32 = 40.; const REFERRAL_CTA: &str = "Earn rewards by sharing Warp with friends & colleagues"; diff --git a/app/src/settings_view/mcp_servers/edit_page.rs b/app/src/settings_view/mcp_servers/edit_page.rs index 076ebaa5..1f5d7367 100644 --- a/app/src/settings_view/mcp_servers/edit_page.rs +++ b/app/src/settings_view/mcp_servers/edit_page.rs @@ -4,10 +4,6 @@ use std::{collections::HashMap, path::Path}; #[cfg(not(target_family = "wasm"))] use diesel::SqliteConnection; -#[cfg(not(target_family = "wasm"))] -use parking_lot::Mutex; -use pathfinder_geometry::vector::vec2f; -use uuid::Uuid; use galaxy_core::{ send_telemetry_from_ctx, ui::{appearance::Appearance, theme::color::internal_colors}, @@ -25,6 +21,10 @@ use galaxyui::{ ui_components::components::UiComponent, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +#[cfg(not(target_family = "wasm"))] +use parking_lot::Mutex; +use pathfinder_geometry::vector::vec2f; +use uuid::Uuid; use crate::{ ai::{ diff --git a/app/src/settings_view/mcp_servers/installation_modal.rs b/app/src/settings_view/mcp_servers/installation_modal.rs index 972410e3..6ca4b0d0 100644 --- a/app/src/settings_view/mcp_servers/installation_modal.rs +++ b/app/src/settings_view/mcp_servers/installation_modal.rs @@ -10,7 +10,6 @@ use crate::settings_view::mcp_servers::style::{ INSTALLATION_MODAL_PADDING, INSTALLATION_MODAL_TITLE_VERTICAL_SPACING, }; use crate::view_components::dropdown::{Dropdown, DropdownItem}; -use markdown_parser::parse_markdown; use galaxyui::elements::Shrinkable; use galaxyui::fonts::{Properties, Weight}; use galaxyui::ui_components::button::ButtonVariant; @@ -25,6 +24,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, TypedActionView, View, ViewHandle, }; use galaxyui::{SingletonEntity, ViewContext}; +use markdown_parser::parse_markdown; use crate::ai::mcp::{TemplatableMCPServer, TemplatableMCPServerManager, TemplateVariable}; diff --git a/app/src/settings_view/mcp_servers/list_page.rs b/app/src/settings_view/mcp_servers/list_page.rs index 6f9692f2..fd74a4d3 100644 --- a/app/src/settings_view/mcp_servers/list_page.rs +++ b/app/src/settings_view/mcp_servers/list_page.rs @@ -53,12 +53,6 @@ use crate::{ workspace::Workspace, workspaces::user_workspaces::UserWorkspaces, }; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use settings::ToggleableSetting as _; -use std::cmp::Ordering; -use std::{collections::HashMap, path::PathBuf}; -use strum::IntoEnumIterator; -use uuid::Uuid; use galaxy_core::features::FeatureFlag; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::{appearance::AppearanceEvent, theme::color::internal_colors, Icon}; @@ -74,6 +68,12 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use settings::ToggleableSetting as _; +use std::cmp::Ordering; +use std::{collections::HashMap, path::PathBuf}; +use strum::IntoEnumIterator; +use uuid::Uuid; const DESCRIPTION_TEXT: &str = "Add MCP servers to extend the Warp Agent's capabilities. MCP servers expose data sources or tools to agents through a standardized interface, essentially acting like plugins. Add a custom server, or use the presets to get started with popular servers. You can also find team servers that have been shared with you here. "; diff --git a/app/src/settings_view/mcp_servers/server_card.rs b/app/src/settings_view/mcp_servers/server_card.rs index a9b90af4..a8fd174d 100644 --- a/app/src/settings_view/mcp_servers/server_card.rs +++ b/app/src/settings_view/mcp_servers/server_card.rs @@ -1,5 +1,3 @@ -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; use galaxy_core::{ features::FeatureFlag, ui::{ @@ -25,6 +23,8 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; use crate::{ ai::mcp::{ diff --git a/app/src/settings_view/mcp_servers/update_modal.rs b/app/src/settings_view/mcp_servers/update_modal.rs index 8596e846..3efb25e8 100644 --- a/app/src/settings_view/mcp_servers/update_modal.rs +++ b/app/src/settings_view/mcp_servers/update_modal.rs @@ -7,7 +7,6 @@ use crate::ui_components::avatar::{Avatar, AvatarContent}; use crate::ui_components::blended_colors; use crate::util::time_format::format_approx_duration_from_now; use chrono::{Local, TimeZone}; -use uuid::Uuid; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::external_product_icon::ExternalProductIcon; use galaxy_core::ui::icons::Icon; @@ -25,6 +24,7 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, TypedActionView, View, ViewContext, }; +use uuid::Uuid; pub enum UpdateModalBodyEvent { Cancel, diff --git a/app/src/settings_view/mcp_servers_page.rs b/app/src/settings_view/mcp_servers_page.rs index d14f2307..65f1d7cd 100644 --- a/app/src/settings_view/mcp_servers_page.rs +++ b/app/src/settings_view/mcp_servers_page.rs @@ -1,10 +1,10 @@ -use std::collections::HashMap; -use uuid::Uuid; use galaxyui::{ elements::{ChildView, Container}, ui_components::components::{Coords, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use std::collections::HashMap; +use uuid::Uuid; use crate::{ ai::mcp::{ diff --git a/app/src/settings_view/mod.rs b/app/src/settings_view/mod.rs index 7d80e172..80b637d0 100644 --- a/app/src/settings_view/mod.rs +++ b/app/src/settings_view/mod.rs @@ -29,28 +29,12 @@ use billing_and_usage_page::{BillingAndUsagePageEvent, BillingAndUsagePageView}; use code_page::CodeSubpage; use code_page::{CodeSettingsPageAction, CodeSettingsPageEvent}; use features_page::{FeaturesPageView, FeaturesSettingsPageEvent}; -use itertools::Itertools as _; -use keybindings::KeybindingsView; -use main_page::{MainPageAction, MainSettingsPageEvent, MainSettingsPageView}; -use mcp_servers_page::MCPServersSettingsPageView; -use nav::{SettingsNavItem, SettingsUmbrella}; -use pathfinder_geometry::vector::Vector2F; -use privacy_page::{PrivacyPageView, PrivacyPageViewEvent}; -use settings_file_footer::{render_footer, SettingsFooterKind, SettingsFooterMouseStates}; -use settings_page::{ - MatchData, SettingsPage, SettingsPageEvent, SettingsPageMeta, SettingsPageViewHandle, - HEADER_PADDING, -}; -use std::collections::HashMap; -use std::path::PathBuf; -use std::str::FromStr; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::{ channel::ChannelState, context_flag::ContextFlag, features::FeatureFlag, settings::ToggleableSetting as _, ui::theme::color::internal_colors, }; use galaxy_editor::editor::NavigationKey; -use warpify_page::{WarpifyPageAction, WarpifyPageView}; use galaxyui::Element; use galaxyui::{ elements::{ @@ -66,6 +50,22 @@ use galaxyui::{ Action, AppContext, Entity, ModelHandle, SingletonEntity, TypedActionView, UpdateView as _, View, ViewContext, ViewHandle, }; +use itertools::Itertools as _; +use keybindings::KeybindingsView; +use main_page::{MainPageAction, MainSettingsPageEvent, MainSettingsPageView}; +use mcp_servers_page::MCPServersSettingsPageView; +use nav::{SettingsNavItem, SettingsUmbrella}; +use pathfinder_geometry::vector::Vector2F; +use privacy_page::{PrivacyPageView, PrivacyPageViewEvent}; +use settings_file_footer::{render_footer, SettingsFooterKind, SettingsFooterMouseStates}; +use settings_page::{ + MatchData, SettingsPage, SettingsPageEvent, SettingsPageMeta, SettingsPageViewHandle, + HEADER_PADDING, +}; +use std::collections::HashMap; +use std::path::PathBuf; +use std::str::FromStr; +use warpify_page::{WarpifyPageAction, WarpifyPageView}; mod about_page; mod admin_actions; diff --git a/app/src/settings_view/nav.rs b/app/src/settings_view/nav.rs index 7c6c3afc..8949d8b8 100644 --- a/app/src/settings_view/nav.rs +++ b/app/src/settings_view/nav.rs @@ -1,6 +1,5 @@ use crate::appearance::Appearance; use crate::ui_components::icons::Icon; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle}, ui_components::{ @@ -8,6 +7,7 @@ use galaxyui::{ components::{Coords, UiComponent, UiComponentStyles}, }, }; +use pathfinder_geometry::vector::vec2f; use super::{ settings_page::{MatchData, NAV_ITEM_LEFT_MARGIN}, diff --git a/app/src/settings_view/pane_manager.rs b/app/src/settings_view/pane_manager.rs index 5f06bc2b..44566043 100644 --- a/app/src/settings_view/pane_manager.rs +++ b/app/src/settings_view/pane_manager.rs @@ -3,8 +3,8 @@ use crate::{ pane_group::{PaneContent, PaneId}, PaneViewLocator, }; -use std::collections::HashMap; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId}; +use std::collections::HashMap; use super::SettingsView; struct SettingsPaneData { diff --git a/app/src/settings_view/platform/create_api_key_modal.rs b/app/src/settings_view/platform/create_api_key_modal.rs index bef56382..69473842 100644 --- a/app/src/settings_view/platform/create_api_key_modal.rs +++ b/app/src/settings_view/platform/create_api_key_modal.rs @@ -10,7 +10,6 @@ use crate::{ view_components::{Dropdown as DropdownView, DropdownItem}, }; use chrono::Utc; -use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; use galaxyui::elements::{ Border, ChildView, ConstrainedBox, Container, CornerRadius, Empty, Fill, Flex, @@ -25,6 +24,7 @@ use galaxyui::ui_components::segmented_control::{ use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; const LABEL_FONT_SIZE: f32 = 14.; const INPUT_WIDTH: f32 = 428.; // 460px - (2 * 16px) padding diff --git a/app/src/settings_view/platform_page.rs b/app/src/settings_view/platform_page.rs index d2b910db..f870df4c 100644 --- a/app/src/settings_view/platform_page.rs +++ b/app/src/settings_view/platform_page.rs @@ -20,8 +20,6 @@ use crate::{ util::time_format::format_approx_duration_from_now_utc, }; use chrono::{DateTime, Utc}; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use std::collections::HashMap; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::{ @@ -36,6 +34,8 @@ use galaxyui::{ }, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use std::collections::HashMap; const MODAL_WIDTH: f32 = 460.; const MODAL_HEIGHT: f32 = 320.; diff --git a/app/src/settings_view/privacy/add_regex_modal.rs b/app/src/settings_view/privacy/add_regex_modal.rs index 2ff7625d..3dd1a9ad 100644 --- a/app/src/settings_view/privacy/add_regex_modal.rs +++ b/app/src/settings_view/privacy/add_regex_modal.rs @@ -4,7 +4,6 @@ use crate::{ appearance::Appearance, editor::{EditorView, PropagateAndNoOpNavigationKeys, SingleLineEditorOptions, TextOptions}, }; -use regex::Regex; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::{CrossAxisAlignment, Expanded, MainAxisSize}; use galaxyui::{ @@ -15,6 +14,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use regex::Regex; const LABEL_FONT_SIZE: f32 = 12.; diff --git a/app/src/settings_view/privacy_page.rs b/app/src/settings_view/privacy_page.rs index 854ad563..a20b97ad 100644 --- a/app/src/settings_view/privacy_page.rs +++ b/app/src/settings_view/privacy_page.rs @@ -9,9 +9,9 @@ use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::r#async::{SpawnedFutureHandle, Timer}; +use galaxy_core::context_flag::ContextFlag; use regex::Regex; use settings::Setting as _; -use galaxy_core::context_flag::ContextFlag; use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::{ @@ -95,8 +95,6 @@ const TELEMETRY_FREE_TIER_NOTE: &str = const TELEMETRY_DOCS_URL: &str = "https://docs.warp.dev/support-and-community/privacy-and-security/privacy#what-telemetry-data-does-warp-collect-and-why"; - - pub struct PrivacyPageView { page: PageType, local_only_icon_tooltip_states: RefCell>, diff --git a/app/src/settings_view/settings_file_footer.rs b/app/src/settings_view/settings_file_footer.rs index cdde72d2..edad9a07 100644 --- a/app/src/settings_view/settings_file_footer.rs +++ b/app/src/settings_view/settings_file_footer.rs @@ -11,7 +11,6 @@ use crate::appearance::Appearance; use crate::settings::SettingsFileError; use crate::ui_components::icons::Icon; use crate::WorkspaceAction; -use pathfinder_color::ColorU; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ @@ -22,6 +21,7 @@ use galaxyui::elements::{ }; use galaxyui::fonts::{FamilyId, Properties, Weight}; use galaxyui::platform::Cursor; +use pathfinder_color::ColorU; /// Horizontal + vertical padding applied to the footer inside the sidebar. const FOOTER_PADDING: f32 = 12.; diff --git a/app/src/settings_view/settings_page.rs b/app/src/settings_view/settings_page.rs index 384bd2f0..40ba58cc 100644 --- a/app/src/settings_view/settings_page.rs +++ b/app/src/settings_view/settings_page.rs @@ -29,7 +29,6 @@ use crate::{ ui_components::icons::Icon, view_components::{Dropdown, SubmittableTextInput}, }; -use settings::Setting; use galaxy_core::{ settings::SyncToCloud, ui::{color::blend::Blend, theme::color::internal_colors}, @@ -52,6 +51,7 @@ use galaxyui::{ units::Pixels, Action, AppContext, SingletonEntity, ViewContext, ViewHandle, }; +use settings::Setting; pub const TOGGLE_BUTTON_RIGHT_PADDING: f32 = 5.; pub const HEADER_PADDING: f32 = 15.; diff --git a/app/src/settings_view/show_blocks_view.rs b/app/src/settings_view/show_blocks_view.rs index 4b5dcd8a..8a21a6f0 100644 --- a/app/src/settings_view/show_blocks_view.rs +++ b/app/src/settings_view/show_blocks_view.rs @@ -16,8 +16,6 @@ use crate::{ }; use anyhow::Result; use chrono::{DateTime, FixedOffset, Local}; -use pathfinder_geometry::vector::vec2f; -use std::sync::Arc; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; @@ -36,6 +34,8 @@ use galaxyui::{elements::ScrollbarWidth, fonts::Weight}; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; +use std::sync::Arc; const SCROLLBAR_WIDTH: ScrollbarWidth = ScrollbarWidth::Auto; diff --git a/app/src/settings_view/tab_menu.rs b/app/src/settings_view/tab_menu.rs index 4294975c..555d37e4 100644 --- a/app/src/settings_view/tab_menu.rs +++ b/app/src/settings_view/tab_menu.rs @@ -1,5 +1,5 @@ -use std::fmt::Display; use galaxyui::ui_components::button::ButtonVariant; +use std::fmt::Display; use super::teams_page::TeamsPageAction; use crate::cloud_object::model::persistence::CloudModel; diff --git a/app/src/settings_view/teams_page.rs b/app/src/settings_view/teams_page.rs index 3961af17..871a5c02 100644 --- a/app/src/settings_view/teams_page.rs +++ b/app/src/settings_view/teams_page.rs @@ -51,6 +51,8 @@ use crate::{ use core::default::Default; use email_address::EmailAddress; +use galaxy_core::ui::theme::color::internal_colors; +use galaxyui::FocusContext; use itertools::Itertools; use lazy_static::lazy_static; use pathfinder_color::ColorU; @@ -59,8 +61,6 @@ use regex::Regex; use serde::{Deserialize, Serialize}; use std::sync::Arc; use std::{cmp::Ordering, collections::HashSet}; -use galaxy_core::ui::theme::color::internal_colors; -use galaxyui::FocusContext; use galaxyui::{ clipboard::ClipboardContent, diff --git a/app/src/settings_view/telemetry.rs b/app/src/settings_view/telemetry.rs index 46360aac..9fb1fd3e 100644 --- a/app/src/settings_view/telemetry.rs +++ b/app/src/settings_view/telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde_json::Value; use strum_macros::EnumDiscriminants; use strum_macros::EnumIter; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; #[derive(Debug, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] diff --git a/app/src/settings_view/update_environment_form.rs b/app/src/settings_view/update_environment_form.rs index 49b017a1..0ac7cd10 100644 --- a/app/src/settings_view/update_environment_form.rs +++ b/app/src/settings_view/update_environment_form.rs @@ -25,11 +25,6 @@ use crate::{ workspaces::user_workspaces::UserWorkspaces, ChannelState, }; -use instant::{Duration, Instant}; -use log::debug; -#[cfg(not(target_family = "wasm"))] -use std::collections::HashMap; -use url::Url; use galaxy_core::send_telemetry_from_ctx; use galaxy_editor::editor::NavigationKey; use galaxy_graphql::queries::user_github_info::UserGithubInfoResult; @@ -52,6 +47,11 @@ use galaxyui::{ AppContext, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use instant::{Duration, Instant}; +use log::debug; +#[cfg(not(target_family = "wasm"))] +use std::collections::HashMap; +use url::Url; const SUBMIT_BUTTON_FOCUSED: &str = "SubmitButtonFocused"; @@ -3085,10 +3085,11 @@ impl UpdateEnvironmentForm { }; let icon_size = appearance.ui_font_size(); - let icon = ConstrainedBox::new(Icon::Lightbulb.to_galaxyui_icon(text_fill).finish()) - .with_width(icon_size) - .with_height(icon_size) - .finish(); + let icon = + ConstrainedBox::new(Icon::Lightbulb.to_galaxyui_icon(text_fill).finish()) + .with_width(icon_size) + .with_height(icon_size) + .finish(); let text = Text::new( button_text, diff --git a/app/src/settings_view/update_environment_form_tests.rs b/app/src/settings_view/update_environment_form_tests.rs index f3ce13c2..c2741795 100644 --- a/app/src/settings_view/update_environment_form_tests.rs +++ b/app/src/settings_view/update_environment_form_tests.rs @@ -17,7 +17,6 @@ use crate::workspaces::team::Team; use crate::workspaces::team_tester::TeamTesterStatus; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::workspaces::workspace::Workspace; -use url::Url; use galaxy_core::ui::appearance::Appearance; use galaxyui::elements::{Empty, MouseStateHandle}; use galaxyui::platform::WindowStyle; @@ -25,6 +24,7 @@ use galaxyui::{ AddSingletonModel, App, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, WindowId, }; +use url::Url; #[test] fn test_parse_repo_input_owner_repo() { diff --git a/app/src/settings_view/warpify_page.rs b/app/src/settings_view/warpify_page.rs index 7650a824..1f900133 100644 --- a/app/src/settings_view/warpify_page.rs +++ b/app/src/settings_view/warpify_page.rs @@ -2,10 +2,6 @@ use std::cell::RefCell; use std::collections::HashMap; use std::fmt::Display; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use regex::Regex; -use settings::{Setting, ToggleableSetting}; -use strum::IntoEnumIterator; use galaxy_core::features::FeatureFlag; use galaxyui::elements::{FormattedTextElement, HighlightedHyperlink}; use galaxyui::keymap::ContextPredicate; @@ -19,6 +15,10 @@ use galaxyui::{ Action, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use regex::Regex; +use settings::{Setting, ToggleableSetting}; +use strum::IntoEnumIterator; use crate::terminal::warpify::settings::{ EnableSshWarpification, SshExtensionInstallMode, UseSshTmuxWrapper, WarpifySettingsChangedEvent, diff --git a/app/src/suggestions/ignored_suggestions_model.rs b/app/src/suggestions/ignored_suggestions_model.rs index 23d0c227..07864b70 100644 --- a/app/src/suggestions/ignored_suggestions_model.rs +++ b/app/src/suggestions/ignored_suggestions_model.rs @@ -1,7 +1,7 @@ use std::collections::HashSet; -use serde::{Deserialize, Serialize}; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; use crate::{persistence::ModelEvent, GlobalResourceHandlesProvider}; diff --git a/app/src/system/info.rs b/app/src/system/info.rs index 004b38af..65f8b574 100644 --- a/app/src/system/info.rs +++ b/app/src/system/info.rs @@ -3,13 +3,13 @@ use std::ffi::OsStr; use byte_unit::Byte; use chrono::{DateTime, Local, Utc}; +use galaxy_core::channel::ChannelState; +use galaxyui::{App, AppContext, Entity, ModelContext, SingletonEntity}; use itertools::Itertools as _; use num_traits::Zero; use ordered_float::OrderedFloat; use serde::Serialize; use sysinfo::ProcessesToUpdate; -use galaxy_core::channel::ChannelState; -use galaxyui::{App, AppContext, Entity, ModelContext, SingletonEntity}; use crate::{ send_telemetry_from_app_ctx, send_telemetry_sync_from_ctx, server::telemetry, diff --git a/app/src/tab.rs b/app/src/tab.rs index a715a923..cf3bc786 100644 --- a/app/src/tab.rs +++ b/app/src/tab.rs @@ -30,9 +30,6 @@ use crate::workspace::{ PaneViewLocator, TabBarDropTargetData, TabBarLocation, TabContextMenuAnchor, WorkspaceAction, }; use crate::BlocklistAIHistoryModel; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use serde::{Deserialize, Serialize}; use galaxy_core::context_flag::ContextFlag; use galaxy_core::ui::builder::UiBuilder; use galaxy_core::ui::theme::color::internal_colors; @@ -50,6 +47,9 @@ use galaxyui::text_layout::ClipConfig; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::ui_components::text_input::TextInput; use galaxyui::{AppContext, SingletonEntity, ViewHandle}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use serde::{Deserialize, Serialize}; pub const TAB_BAR_BORDER_HEIGHT: f32 = 1.0; const TAB_INDICATOR_HEIGHT: f32 = 14.0; diff --git a/app/src/tab_configs/remove_confirmation_dialog.rs b/app/src/tab_configs/remove_confirmation_dialog.rs index aca1c446..5cb54ced 100644 --- a/app/src/tab_configs/remove_confirmation_dialog.rs +++ b/app/src/tab_configs/remove_confirmation_dialog.rs @@ -1,6 +1,5 @@ use std::path::PathBuf; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -11,6 +10,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ appearance::Appearance, diff --git a/app/src/tab_configs/session_config_modal.rs b/app/src/tab_configs/session_config_modal.rs index 470d71bb..dc91cc84 100644 --- a/app/src/tab_configs/session_config_modal.rs +++ b/app/src/tab_configs/session_config_modal.rs @@ -1,6 +1,5 @@ use std::path::PathBuf; -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ ChildAnchor, ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, FormattedTextElement, MouseStateHandle, OffsetPositioning, ParentAnchor, ParentElement, @@ -15,6 +14,7 @@ use galaxyui::FocusContext; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; use crate::ui_components::blended_colors; diff --git a/app/src/tab_configs/session_config_rendering.rs b/app/src/tab_configs/session_config_rendering.rs index 033636cc..7269d082 100644 --- a/app/src/tab_configs/session_config_rendering.rs +++ b/app/src/tab_configs/session_config_rendering.rs @@ -1,8 +1,6 @@ use std::path::Path; use std::sync::Arc; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex, Hoverable, MainAxisAlignment, MainAxisSize, MouseStateHandle, OffsetPositioning, @@ -14,6 +12,8 @@ use galaxyui::platform::Cursor; use galaxyui::ui_components::components::UiComponent; use galaxyui::Element; use galaxyui::EventContext; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::theme::WarpTheme; @@ -240,9 +240,11 @@ where let home_dir = dirs::home_dir(); let raw_path = selected_directory.to_string_lossy(); - let dir_display = - galaxy_util::path::user_friendly_path(&raw_path, home_dir.as_ref().and_then(|h| h.to_str())) - .into_owned(); + let dir_display = galaxy_util::path::user_friendly_path( + &raw_path, + home_dir.as_ref().and_then(|h| h.to_str()), + ) + .into_owned(); let dir_text = Text::new_inline(dir_display, appearance.ui_font_family(), 14.) .with_color(if on_accent_bg { diff --git a/app/src/tab_configs/telemetry.rs b/app/src/tab_configs/telemetry.rs index cc959429..acf1598b 100644 --- a/app/src/tab_configs/telemetry.rs +++ b/app/src/tab_configs/telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::Serialize; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use crate::tab_configs::session_config::SessionType; diff --git a/app/src/terminal/alias.rs b/app/src/terminal/alias.rs index 6dd48d8e..e1dd283a 100644 --- a/app/src/terminal/alias.rs +++ b/app/src/terminal/alias.rs @@ -1,7 +1,7 @@ use crate::terminal::model::session::Session; +use galaxy_completer::parsers::simple::all_parsed_commands; use smol_str::SmolStr; use std::sync::Arc; -use galaxy_completer::parsers::simple::all_parsed_commands; /// Contains information about an aliased command. #[derive(Clone, Debug, Eq, PartialEq)] diff --git a/app/src/terminal/alt_screen/alt_screen_element.rs b/app/src/terminal/alt_screen/alt_screen_element.rs index af0c98b7..8546f2f4 100644 --- a/app/src/terminal/alt_screen/alt_screen_element.rs +++ b/app/src/terminal/alt_screen/alt_screen_element.rs @@ -24,20 +24,18 @@ use crate::terminal::view::{ }; use crate::terminal::{grid_renderer, SizeInfo}; use crate::terminal::{heights_approx_eq, TerminalModel}; -use num_traits::Float as _; -use parking_lot::FairMutex; -use pathfinder_geometry::vector::vec2f; -use vec1::Vec1; use galaxy_core::features::FeatureFlag; use galaxy_util::user_input::UserInput; use galaxyui::elements::new_scrollable::{NewScrollableElement, ScrollableAxis}; use galaxyui::event::{KeyState, ModifiersState}; use galaxyui::platform::keyboard::KeyCode; use galaxyui::text::SelectionType; +use num_traits::Float as _; +use parking_lot::FairMutex; +use pathfinder_geometry::vector::vec2f; +use vec1::Vec1; use super::{should_intercept_mouse, should_intercept_scroll}; -use std::ops::{Deref as _, Range}; -use std::sync::Arc; use galaxyui::elements::{Axis, Fill, Point as UiPoint, ScrollData, ScrollableElement}; use galaxyui::fonts::Properties; use galaxyui::geometry::rect::RectF; @@ -50,6 +48,8 @@ use galaxyui::{ LayoutContext, PaintContext, SizeConstraint, }; use galaxyui::{ClipBounds, EntityId, ModelHandle}; +use std::ops::{Deref as _, Range}; +use std::sync::Arc; const CLI_SUBAGENT_HORIZONTAL_MARGIN: f32 = 8.; const CLI_SUBAGENT_VERTICAL_MARGIN: f32 = 8.; diff --git a/app/src/terminal/alt_screen/mod.rs b/app/src/terminal/alt_screen/mod.rs index 4771fc67..b44b473c 100644 --- a/app/src/terminal/alt_screen/mod.rs +++ b/app/src/terminal/alt_screen/mod.rs @@ -1,5 +1,5 @@ -use settings::Setting as _; use galaxyui::{AppContext, SingletonEntity}; +use settings::Setting as _; use super::{ alt_screen_reporting::AltScreenReporting, model::grid::grid_handler::TermMode, TerminalModel, diff --git a/app/src/terminal/available_shells.rs b/app/src/terminal/available_shells.rs index d07322c0..a99709b6 100644 --- a/app/src/terminal/available_shells.rs +++ b/app/src/terminal/available_shells.rs @@ -6,11 +6,11 @@ use std::path::Path; use std::path::PathBuf; use std::sync::Arc; -#[cfg(feature = "local_tty")] -use settings::Setting as _; #[cfg(feature = "local_tty")] use galaxyui::{AppContext, ModelContext}; use galaxyui::{Entity, SingletonEntity}; +#[cfg(feature = "local_tty")] +use settings::Setting as _; #[cfg(feature = "local_tty")] use crate::util::path::file_exists_and_is_executable; diff --git a/app/src/terminal/available_shells_test.rs b/app/src/terminal/available_shells_test.rs index c02a758b..f18fff63 100644 --- a/app/src/terminal/available_shells_test.rs +++ b/app/src/terminal/available_shells_test.rs @@ -1,10 +1,10 @@ use super::*; use crate::terminal::shell::ShellType; use crate::test_util::{Stub, VirtualFS}; +use galaxy_core::features::FeatureFlag; use std::collections::HashMap; use std::path::{Path, PathBuf}; use std::sync::Arc; -use galaxy_core::features::FeatureFlag; fn make_available_shells(shells: Vec) -> AvailableShells { AvailableShells { diff --git a/app/src/terminal/block_filter.rs b/app/src/terminal/block_filter.rs index 2090aa2d..7deeb6a9 100644 --- a/app/src/terminal/block_filter.rs +++ b/app/src/terminal/block_filter.rs @@ -1,6 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use regex_automata::hybrid::BuildError; use galaxy_editor::editor::NavigationKey; use galaxyui::elements::{Align, Dash}; use galaxyui::ui_components::components::UiComponent; @@ -15,6 +12,9 @@ use galaxyui::{ presenter::ChildView, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use regex_automata::hybrid::BuildError; use crate::terminal::model::terminal_model::BlockIndex; use crate::{ diff --git a/app/src/terminal/block_list_viewport.rs b/app/src/terminal/block_list_viewport.rs index c41cd622..459cd6ab 100644 --- a/app/src/terminal/block_list_viewport.rs +++ b/app/src/terminal/block_list_viewport.rs @@ -1,14 +1,14 @@ use std::{ops::Range, rc::Rc, sync::MutexGuard}; -use pathfinder_geometry::vector::Vector2F; -use serde::{Deserialize, Serialize}; -use sum_tree::{Cursor, SeekBias}; use galaxy_core::features::FeatureFlag; use galaxyui::{ elements::ClippedScrollStateHandle, units::{IntoLines, IntoPixels, Lines, Pixels}, AppContext, ModelHandle, }; +use pathfinder_geometry::vector::Vector2F; +use serde::{Deserialize, Serialize}; +use sum_tree::{Cursor, SeekBias}; use crate::{ ai::blocklist::agent_view::AgentViewDisplayMode, diff --git a/app/src/terminal/blockgrid_element.rs b/app/src/terminal/blockgrid_element.rs index 7264d6e3..de61055a 100644 --- a/app/src/terminal/blockgrid_element.rs +++ b/app/src/terminal/blockgrid_element.rs @@ -5,13 +5,13 @@ use crate::terminal::model::blockgrid::BlockGrid; use crate::terminal::model::grid::Dimensions; use crate::terminal::model::ObfuscateSecrets; use crate::terminal::{color, SizeInfo}; -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxyui::elements::{ AfterLayoutContext, AppContext, Element, EventContext, LayoutContext, PaintContext, Point, SizeConstraint, }; use galaxyui::event::DispatchedEvent; use galaxyui::geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; use super::blockgrid_renderer::GridRenderParams; diff --git a/app/src/terminal/blockgrid_renderer.rs b/app/src/terminal/blockgrid_renderer.rs index 33d5e43d..c4d86fd9 100644 --- a/app/src/terminal/blockgrid_renderer.rs +++ b/app/src/terminal/blockgrid_renderer.rs @@ -7,14 +7,14 @@ use crate::terminal::model::index::Point; use crate::terminal::model::ObfuscateSecrets; use crate::terminal::SizeInfo; use crate::themes::theme::WarpTheme; -use pathfinder_color::ColorU; -use std::collections::HashMap; -use std::ops::Neg; -use std::ops::RangeInclusive; use galaxyui::fonts::{FamilyId, Properties, Weight}; use galaxyui::geometry::rect::RectF; use galaxyui::geometry::vector::{vec2f, Vector2F}; use galaxyui::{AppContext, Element, EntityId, PaintContext}; +use pathfinder_color::ColorU; +use std::collections::HashMap; +use std::ops::Neg; +use std::ops::RangeInclusive; use super::model::ansi::{CursorShape, CursorStyle}; use super::model::grid::RespectDisplayedOutput; diff --git a/app/src/terminal/bootstrap.rs b/app/src/terminal/bootstrap.rs index e010ff87..a469b8c3 100644 --- a/app/src/terminal/bootstrap.rs +++ b/app/src/terminal/bootstrap.rs @@ -1,9 +1,9 @@ use std::borrow::Cow; +use galaxyui::{AppContext, AssetProvider, SingletonEntity}; use itertools::Itertools; use lazy_static::lazy_static; use memo_map::MemoMap; -use galaxyui::{AppContext, AssetProvider, SingletonEntity}; use crate::{ env_vars::EnvVar, diff --git a/app/src/terminal/buy_credits_banner.rs b/app/src/terminal/buy_credits_banner.rs index 15bcc5ed..24b72689 100644 --- a/app/src/terminal/buy_credits_banner.rs +++ b/app/src/terminal/buy_credits_banner.rs @@ -1,10 +1,6 @@ use std::sync::Arc; use enclose::enclose; -use itertools::Itertools as _; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::Icon; use galaxy_graphql::billing::AddonCreditsOption; @@ -19,6 +15,10 @@ use galaxyui::fonts::Weight; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent as _, UiComponentStyles}; use galaxyui::{AppContext, Element, Entity, SingletonEntity as _, View, ViewContext, ViewHandle}; +use itertools::Itertools as _; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use crate::ai::request_usage_model::{ AIRequestUsageModel, AIRequestUsageModelEvent, BuyCreditsBannerDisplayState, diff --git a/app/src/terminal/cli_agent.rs b/app/src/terminal/cli_agent.rs index 03bd1caf..042777c4 100644 --- a/app/src/terminal/cli_agent.rs +++ b/app/src/terminal/cli_agent.rs @@ -9,11 +9,11 @@ use std::path::Path; use ai::skills::SkillProvider; use enum_iterator::Sequence; +use galaxy_editor::content::{buffer::Buffer, markdown::MarkdownStyle}; use markdown_parser::parse_markdown; use pathfinder_color::ColorU; use serde::{Deserialize, Serialize}; use smol_str::SmolStr; -use galaxy_editor::content::{buffer::Buffer, markdown::MarkdownStyle}; use galaxyui::{AppContext, SingletonEntity}; diff --git a/app/src/terminal/cli_agent_tests.rs b/app/src/terminal/cli_agent_tests.rs index a7d5de92..25c30fb4 100644 --- a/app/src/terminal/cli_agent_tests.rs +++ b/app/src/terminal/cli_agent_tests.rs @@ -3,10 +3,10 @@ use std::path::{Path, PathBuf}; use std::sync::Arc; use chrono::Local; -use smol_str::SmolStr; use galaxy_editor::render::model::LineCount; use galaxy_util::path::EscapeChar; use galaxyui::App; +use smol_str::SmolStr; use super::{ build_diff_hunk_prompt, build_review_prompt, build_selection_line_range_prompt, diff --git a/app/src/terminal/color.rs b/app/src/terminal/color.rs index 042d52f5..a141bd93 100644 --- a/app/src/terminal/color.rs +++ b/app/src/terminal/color.rs @@ -1,8 +1,8 @@ use crate::terminal::model::ansi::color_index; use crate::themes::theme::{AnsiColors, WarpTheme}; +use galaxyui::color::ColorU; use std::fmt; use std::ops::{Index, IndexMut}; -use galaxyui::color::ColorU; pub const COUNT: usize = 269; diff --git a/app/src/terminal/enable_auto_reload_modal.rs b/app/src/terminal/enable_auto_reload_modal.rs index 5a4f77ba..df82d86d 100644 --- a/app/src/terminal/enable_auto_reload_modal.rs +++ b/app/src/terminal/enable_auto_reload_modal.rs @@ -1,8 +1,6 @@ use std::sync::Arc; use enclose::enclose; -use itertools::Itertools as _; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::appearance::Appearance; use galaxy_graphql::billing::AddonCreditsOption; use galaxyui::elements::{ @@ -13,6 +11,8 @@ use galaxyui::fonts::Weight; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent as _, UiComponentStyles}; use galaxyui::{AppContext, Element, Entity, SingletonEntity as _, View, ViewContext, ViewHandle}; +use itertools::Itertools as _; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::features::FeatureFlag; use crate::menu::MenuItemFields; diff --git a/app/src/terminal/find/model.rs b/app/src/terminal/find/model.rs index ec466f6c..ac0d569d 100644 --- a/app/src/terminal/find/model.rs +++ b/app/src/terminal/find/model.rs @@ -12,9 +12,9 @@ use crate::terminal::block_list_viewport::InputMode; use std::{collections::HashMap, sync::Arc}; use alt_screen::{run_find_on_alt_screen, AltScreenFindRun}; +use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity, ViewHandle}; use parking_lot::FairMutex; use settings::Setting as _; -use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity, ViewHandle}; use crate::{ settings::InputModeSettings, diff --git a/app/src/terminal/find/model/block_list.rs b/app/src/terminal/find/model/block_list.rs index 4e6d67e9..fe2cc6dd 100644 --- a/app/src/terminal/find/model/block_list.rs +++ b/app/src/terminal/find/model/block_list.rs @@ -1,8 +1,8 @@ //! This module implements terminal find functionality for the blocklist. use std::{collections::HashMap, iter, ops::RangeInclusive}; -use itertools::Itertools; use galaxyui::{units::Lines, AppContext, EntityId}; +use itertools::Itertools; use crate::terminal::{ model::{ diff --git a/app/src/terminal/find/model/block_list_test.rs b/app/src/terminal/find/model/block_list_test.rs index ae02f3d6..36a6960f 100644 --- a/app/src/terminal/find/model/block_list_test.rs +++ b/app/src/terminal/find/model/block_list_test.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use itertools::Itertools; use galaxyui::App; +use itertools::Itertools; use crate::terminal::{ block_filter::BlockFilterQuery, diff --git a/app/src/terminal/grid_renderer.rs b/app/src/terminal/grid_renderer.rs index 23291768..56501bdc 100644 --- a/app/src/terminal/grid_renderer.rs +++ b/app/src/terminal/grid_renderer.rs @@ -15,12 +15,6 @@ use crate::themes::theme::WarpTheme; use crate::util::color::{ContrastingColor, MinimumAllowedContrast}; use core::mem; -use lazy_static::lazy_static; -use num_traits::Float as _; -use std::cmp::Ordering; -use std::ops::Range; -use std::{collections::HashMap, ops::RangeInclusive}; -use unicode_width::UnicodeWidthChar; use galaxy_core::features::FeatureFlag; use galaxyui::assets::asset_cache::{AssetCache, AssetSource, AssetState}; use galaxyui::color::ColorU; @@ -33,6 +27,12 @@ use galaxyui::platform::LineStyle; use galaxyui::text_layout::{Line, StyleAndFont, TextStyle, DEFAULT_TOP_BOTTOM_RATIO}; use galaxyui::units::{IntoLines as _, Lines, Pixels}; use galaxyui::{AppContext, Element, EntityId, PaintContext, Scene, SingletonEntity}; +use lazy_static::lazy_static; +use num_traits::Float as _; +use std::cmp::Ordering; +use std::ops::Range; +use std::{collections::HashMap, ops::RangeInclusive}; +use unicode_width::UnicodeWidthChar; pub use self::cell_glyph_cache::CellGlyphCache; use self::cell_type::{CellType, IsFocused, Secret}; diff --git a/app/src/terminal/grid_renderer_test.rs b/app/src/terminal/grid_renderer_test.rs index 8a30ac2c..eafa378b 100644 --- a/app/src/terminal/grid_renderer_test.rs +++ b/app/src/terminal/grid_renderer_test.rs @@ -3,10 +3,10 @@ use crate::terminal::grid_size_util::calculate_grid_baseline_position; use crate::terminal::model::index::Point; use crate::terminal::model::selection::SelectionPoint; use crate::terminal::{grid_renderer, SizeInfo}; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxyui::fonts::Cache as FontCache; use galaxyui::units::{IntoLines, Lines, Pixels}; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; fn rect_from_points(min_x: f32, min_y: f32, max_x: f32, max_y: f32) -> RectF { RectF::from_points(vec2f(min_x, min_y), vec2f(max_x, max_y)) diff --git a/app/src/terminal/grid_size_util.rs b/app/src/terminal/grid_size_util.rs index 95f7011d..23739093 100644 --- a/app/src/terminal/grid_size_util.rs +++ b/app/src/terminal/grid_size_util.rs @@ -1,12 +1,12 @@ //! This module defines helper functions pertaining to the size/position of items in a Grid, //! such as the dimensions of a grid cell and the baseline position of text within a cell. -use num_traits::Zero; -use pathfinder_geometry::vector::vec2f; -use pathfinder_geometry::vector::Vector2F; use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO; use galaxyui::fonts::Cache as FontCache; use galaxyui::fonts::FamilyId; use galaxyui::text_layout::ComputeBaselinePositionFn; +use num_traits::Zero; +use pathfinder_geometry::vector::vec2f; +use pathfinder_geometry::vector::Vector2F; /// Computes the grid cell size given the font and size at which the grid should /// be rendered. We use a similar algorithm to Alacritty to do this, where the diff --git a/app/src/terminal/history_tests.rs b/app/src/terminal/history_tests.rs index e1e4e3b7..9f630172 100644 --- a/app/src/terminal/history_tests.rs +++ b/app/src/terminal/history_tests.rs @@ -17,9 +17,9 @@ use chrono::Local; use futures::future::join_all; use futures::Future; use futures_lite::StreamExt; -use itertools::Itertools; use galaxy_core::command::ExitCode; use galaxyui::{App, ModelHandle}; +use itertools::Itertools; use std::path::PathBuf; use std::pin::pin; diff --git a/app/src/terminal/input.rs b/app/src/terminal/input.rs index f099148e..2e773191 100644 --- a/app/src/terminal/input.rs +++ b/app/src/terminal/input.rs @@ -229,6 +229,7 @@ use base64::Engine as _; #[cfg(feature = "local_fs")] use diesel::SqliteConnection; use futures::FutureExt as _; +use galaxy_completer::util::parse_current_commands_and_tokens; use itertools::Itertools; use lazy_static::lazy_static; use ordered_float::Float; @@ -249,7 +250,6 @@ use std::{ use string_offset::CharOffset; use vec1::Vec1; use vim::vim::{VimHandler, VimMode}; -use galaxy_completer::util::parse_current_commands_and_tokens; use galaxy_completer::{ completer::{ @@ -8980,7 +8980,8 @@ impl Input { // the completions finish quickly, since that causes a jittery UX. let _ = ctx.spawn( async move { - galaxyui::r#async::Timer::after(Duration::from_millis(750)).await; + galaxyui::r#async::Timer::after(Duration::from_millis(750)) + .await; old_buffer_text_original }, move |input, old_buffer_text_original, ctx| { diff --git a/app/src/terminal/input/agent.rs b/app/src/terminal/input/agent.rs index 64373155..43a78080 100644 --- a/app/src/terminal/input/agent.rs +++ b/app/src/terminal/input/agent.rs @@ -599,8 +599,8 @@ impl Input { } pub mod styles { - use pathfinder_color::ColorU; use galaxy_core::ui::theme::WarpTheme; + use pathfinder_color::ColorU; use crate::ui_components::blended_colors; diff --git a/app/src/terminal/input/classic.rs b/app/src/terminal/input/classic.rs index 5679f198..c03d77e4 100644 --- a/app/src/terminal/input/classic.rs +++ b/app/src/terminal/input/classic.rs @@ -21,8 +21,6 @@ use crate::{ warpify::render::{render_subshell_flag, render_subshell_flag_pole}, }, }; -use pathfinder_geometry::vector::vec2f; -use settings::Setting; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, Clipped, Container, DropTarget, Element, Empty, Flex, @@ -31,6 +29,8 @@ use galaxyui::{ }, AppContext, SingletonEntity, }; +use pathfinder_geometry::vector::vec2f; +use settings::Setting; use super::{should_render_prompt_using_editor_decorator_elements, Input, SubshellRenderState}; diff --git a/app/src/terminal/input/cloud_mode_v2_history_menu.rs b/app/src/terminal/input/cloud_mode_v2_history_menu.rs index 008ef1f0..cbb438bf 100644 --- a/app/src/terminal/input/cloud_mode_v2_history_menu.rs +++ b/app/src/terminal/input/cloud_mode_v2_history_menu.rs @@ -1,6 +1,5 @@ use std::collections::HashSet; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::Fill; @@ -11,6 +10,7 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::ai::blocklist::agent_view::AgentViewController; use crate::search::data_source::QueryFilter; diff --git a/app/src/terminal/input/common.rs b/app/src/terminal/input/common.rs index cd65d561..841ea2dc 100644 --- a/app/src/terminal/input/common.rs +++ b/app/src/terminal/input/common.rs @@ -16,8 +16,6 @@ use crate::{ ui_components::icons::Icon, workspaces::user_workspaces::UserWorkspaces, }; -use pathfinder_geometry::vector::vec2f; -use vim::vim::{VimMode, VimState}; use galaxy_completer::completer::Description; use galaxy_core::features::FeatureFlag; use galaxyui::{ @@ -32,6 +30,8 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, EntityId, SingletonEntity, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; +use vim::vim::{VimMode, VimState}; /// Whether the terminal input message bar should be shown. /// diff --git a/app/src/terminal/input/conversations/data_source.rs b/app/src/terminal/input/conversations/data_source.rs index 97dec2fd..ad68089b 100644 --- a/app/src/terminal/input/conversations/data_source.rs +++ b/app/src/terminal/input/conversations/data_source.rs @@ -1,8 +1,8 @@ //! Data source for the inline conversation menu. +use galaxyui::{AppContext, Entity, ModelHandle}; use itertools::Itertools; use ordered_float::OrderedFloat; -use galaxyui::{AppContext, Entity, ModelHandle}; use crate::ai::blocklist::agent_view::AgentViewController; use crate::ai::conversation_navigation::ConversationNavigationData; diff --git a/app/src/terminal/input/conversations/mod.rs b/app/src/terminal/input/conversations/mod.rs index 33065913..b2b2663f 100644 --- a/app/src/terminal/input/conversations/mod.rs +++ b/app/src/terminal/input/conversations/mod.rs @@ -6,9 +6,9 @@ mod view; pub use view::{InlineConversationMenuEvent, InlineConversationMenuView}; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxyui::{keymap::Keystroke, SingletonEntity}; +use pathfinder_color::ColorU; use crate::ai::active_agent_views_model::{ActiveAgentViewsModel, ConversationOrTaskId}; use crate::ai::conversation_navigation::ConversationNavigationData; diff --git a/app/src/terminal/input/conversations/search_item.rs b/app/src/terminal/input/conversations/search_item.rs index afeb5607..9c615e4f 100644 --- a/app/src/terminal/input/conversations/search_item.rs +++ b/app/src/terminal/input/conversations/search_item.rs @@ -1,7 +1,6 @@ //! SearchItem implementation for conversation menu items. use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; @@ -11,6 +10,7 @@ use galaxyui::prelude::{Align, CrossAxisAlignment, Flex, MainAxisAlignment, Main use galaxyui::scene::{CornerRadius, Radius}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::active_agent_views_model::{ActiveAgentViewsModel, ConversationOrTaskId}; use crate::ai::agent::conversation::ConversationStatus; diff --git a/app/src/terminal/input/decorations.rs b/app/src/terminal/input/decorations.rs index c73a871b..b9aec06e 100644 --- a/app/src/terminal/input/decorations.rs +++ b/app/src/terminal/input/decorations.rs @@ -3,10 +3,10 @@ use std::{collections::HashMap, ops::Range}; -use settings::Setting as _; -use string_offset::{ByteOffset, CharOffset}; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, SingletonEntity, ViewContext}; +use settings::Setting as _; +use string_offset::{ByteOffset, CharOffset}; use crate::{ appearance::Appearance, diff --git a/app/src/terminal/input/inline_history/data_source.rs b/app/src/terminal/input/inline_history/data_source.rs index 1bd3996c..7204d1d9 100644 --- a/app/src/terminal/input/inline_history/data_source.rs +++ b/app/src/terminal/input/inline_history/data_source.rs @@ -23,8 +23,8 @@ use crate::terminal::model::session::active_session::ActiveSession; use crate::terminal::model::session::SessionId; use chrono::{DateTime, Local}; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxyui::{AppContext, Entity, EntityId, ModelHandle, SingletonEntity}; +use ordered_float::OrderedFloat; #[derive(Clone, Debug)] pub enum AcceptHistoryItem { diff --git a/app/src/terminal/input/inline_history/search_item.rs b/app/src/terminal/input/inline_history/search_item.rs index 75f264ec..b8971fce 100644 --- a/app/src/terminal/input/inline_history/search_item.rs +++ b/app/src/terminal/input/inline_history/search_item.rs @@ -8,7 +8,6 @@ use crate::terminal::input::inline_menu::styles as inline_styles; use crate::util::time_format::format_approx_duration_from_now_utc; use chrono::{DateTime, Local}; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; @@ -18,6 +17,7 @@ use galaxyui::prelude::{Align, CrossAxisAlignment, Flex, MainAxisAlignment, Main use galaxyui::scene::{CornerRadius, Radius}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; #[derive(Debug, Clone)] pub struct InlineHistoryItem { diff --git a/app/src/terminal/input/inline_history/view.rs b/app/src/terminal/input/inline_history/view.rs index 8835cc91..7ce8a824 100644 --- a/app/src/terminal/input/inline_history/view.rs +++ b/app/src/terminal/input/inline_history/view.rs @@ -1,12 +1,12 @@ //! Inline history menu view for up-arrow history with conversations, commands and prompts. use std::collections::HashSet; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::Fill; use galaxyui::elements::ChildView; use galaxyui::{AppContext, Element, Entity, EntityId, ModelHandle, View, ViewContext, ViewHandle}; +use pathfinder_color::ColorU; use crate::ai::agent::conversation::AIConversationId; use crate::ai::blocklist::agent_view::{AgentViewController, AgentViewControllerEvent}; diff --git a/app/src/terminal/input/inline_menu/model.rs b/app/src/terminal/input/inline_menu/model.rs index 0ac1581a..23cbad6b 100644 --- a/app/src/terminal/input/inline_menu/model.rs +++ b/app/src/terminal/input/inline_menu/model.rs @@ -1,7 +1,7 @@ //! Generic model for tracking the selected item in an inline menu. -use std::collections::HashSet; use galaxyui::elements::MouseStateHandle; use galaxyui::{Entity, ModelContext}; +use std::collections::HashSet; use crate::search::data_source::QueryFilter; use crate::terminal::input::inline_menu::view::InlineMenuAction; diff --git a/app/src/terminal/input/inline_menu/positioning.rs b/app/src/terminal/input/inline_menu/positioning.rs index fb75ee1d..b1218187 100644 --- a/app/src/terminal/input/inline_menu/positioning.rs +++ b/app/src/terminal/input/inline_menu/positioning.rs @@ -1,11 +1,11 @@ use super::styles::{HEADER_BORDER, HEADER_ROW_HEIGHT}; -use settings::Setting as _; -use std::collections::HashMap; use galaxy_core::features::FeatureFlag; use galaxyui::{ units::{IntoPixels, Pixels}, AppContext, Entity, ModelContext, ModelHandle, SingletonEntity, WindowId, }; +use settings::Setting as _; +use std::collections::HashMap; use crate::settings::InputSettings; use crate::terminal::input::{ diff --git a/app/src/terminal/input/inline_menu/view.rs b/app/src/terminal/input/inline_menu/view.rs index 3d5a3c39..52e86708 100644 --- a/app/src/terminal/input/inline_menu/view.rs +++ b/app/src/terminal/input/inline_menu/view.rs @@ -1,8 +1,6 @@ //! Generic inline menu view for rendering search results with selection and navigation. use std::sync::LazyLock; -use itertools::Itertools; -use pathfinder_geometry::vector::vec2f; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::color::blend::Blend; @@ -30,6 +28,8 @@ use galaxyui::{ Action, AppContext, Element, Entity, SingletonEntity, TypedActionView, ViewContext, ViewHandle, WeakViewHandle, }; +use itertools::Itertools; +use pathfinder_geometry::vector::vec2f; use crate::ai::blocklist::agent_view::{ agent_view_bg_color, AgentViewController, AgentViewControllerEvent, diff --git a/app/src/terminal/input/message_bar/common.rs b/app/src/terminal/input/message_bar/common.rs index 175b4e9a..a787a2fd 100644 --- a/app/src/terminal/input/message_bar/common.rs +++ b/app/src/terminal/input/message_bar/common.rs @@ -1,5 +1,4 @@ use crate::ai::blocklist::agent_view::agent_view_bg_color; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; @@ -11,6 +10,7 @@ use galaxyui::platform::Cursor; use galaxyui::prelude::{Align, ConstrainedBox, CrossAxisAlignment, Flex, Text}; use galaxyui::ui_components::keyboard_shortcut::keystroke_to_keys; use galaxyui::{AppContext, SingletonEntity}; +use pathfinder_color::ColorU; use crate::ai::blocklist::agent_view::shortcuts::render_keystroke_with_color_overrides; use crate::terminal; @@ -468,9 +468,9 @@ pub fn disableable_message_item_color_overrides( } pub mod styles { - use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxyui::{AppContext, SingletonEntity}; + use pathfinder_color::ColorU; use crate::ui_components::blended_colors; diff --git a/app/src/terminal/input/message_bar/mod.rs b/app/src/terminal/input/message_bar/mod.rs index ed924514..392fefb6 100644 --- a/app/src/terminal/input/message_bar/mod.rs +++ b/app/src/terminal/input/message_bar/mod.rs @@ -5,12 +5,12 @@ pub mod common; use std::borrow::Cow; use std::sync::Arc; -use pathfinder_color::ColorU; use galaxy_core::ui::Icon; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::elements::MouseStateHandle; use galaxyui::keymap::Keystroke; use galaxyui::EventContext; +use pathfinder_color::ColorU; /// A trait for types that can produce a message based on some contextual arguments. /// /// The generic `Args` parameter allows each call site to define its own diff --git a/app/src/terminal/input/models/data_source.rs b/app/src/terminal/input/models/data_source.rs index aacb2650..86f80b77 100644 --- a/app/src/terminal/input/models/data_source.rs +++ b/app/src/terminal/input/models/data_source.rs @@ -1,7 +1,4 @@ use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; -use itertools::Itertools; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use ordered_float::OrderedFloat; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::color::internal_colors; @@ -16,6 +13,9 @@ use galaxyui::text_layout::ClipConfig; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Element, Entity, EntityId, SingletonEntity as _}; +use itertools::Itertools; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use ordered_float::OrderedFloat; use crate::ai::llms::{ is_using_api_key_for_provider, DisableReason, LLMId, LLMInfo, LLMPreferences, LLMProvider, diff --git a/app/src/terminal/input/models/model_spec_scores.rs b/app/src/terminal/input/models/model_spec_scores.rs index 11e40851..6a6ef815 100644 --- a/app/src/terminal/input/models/model_spec_scores.rs +++ b/app/src/terminal/input/models/model_spec_scores.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::{ Border, ConstrainedBox, Container, CornerRadius, Expanded, Flex, MainAxisAlignment, @@ -7,6 +6,7 @@ use galaxyui::elements::{ use galaxyui::prelude::{Align, CrossAxisAlignment}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity as _}; +use pathfinder_color::ColorU; use crate::ai::llms::LLMSpec; use crate::appearance::Appearance; diff --git a/app/src/terminal/input/models/view.rs b/app/src/terminal/input/models/view.rs index 211b8f71..a0e672ae 100644 --- a/app/src/terminal/input/models/view.rs +++ b/app/src/terminal/input/models/view.rs @@ -1,7 +1,6 @@ use std::collections::HashSet; use std::sync::LazyLock; -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::Fill; @@ -10,6 +9,7 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity as _, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::ai::blocklist::agent_view::AgentViewController; use crate::ai::blocklist::block::cli_controller::{CLISubagentController, CLISubagentEvent}; diff --git a/app/src/terminal/input/plans/data_source.rs b/app/src/terminal/input/plans/data_source.rs index f9e8eb99..9dda7e55 100644 --- a/app/src/terminal/input/plans/data_source.rs +++ b/app/src/terminal/input/plans/data_source.rs @@ -1,9 +1,9 @@ //! Data source for the inline plan menu. use fuzzy_match::match_indices_case_insensitive; +use galaxyui::{AppContext, Entity, SingletonEntity}; use itertools::Itertools; use ordered_float::OrderedFloat; -use galaxyui::{AppContext, Entity, SingletonEntity}; use crate::ai::agent::conversation::AIConversationId; use crate::ai::document::ai_document_model::AIDocumentModel; diff --git a/app/src/terminal/input/plans/search_item.rs b/app/src/terminal/input/plans/search_item.rs index 71e6c5bc..43c17bd3 100644 --- a/app/src/terminal/input/plans/search_item.rs +++ b/app/src/terminal/input/plans/search_item.rs @@ -2,7 +2,6 @@ use ai::document::AIDocumentId; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; use galaxyui::elements::{ConstrainedBox, Container, Highlight, ParentElement, Shrinkable, Text}; @@ -10,6 +9,7 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::prelude::{Align, CrossAxisAlignment, Flex, MainAxisAlignment, MainAxisSize}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::document::ai_document_model::{AIDocument, AIDocumentVersion}; use crate::appearance::Appearance; diff --git a/app/src/terminal/input/profiles/data_source.rs b/app/src/terminal/input/profiles/data_source.rs index 796d8825..d4030163 100644 --- a/app/src/terminal/input/profiles/data_source.rs +++ b/app/src/terminal/input/profiles/data_source.rs @@ -1,6 +1,6 @@ use fuzzy_match::match_indices_case_insensitive; -use ordered_float::OrderedFloat; use galaxyui::{AppContext, Entity, EntityId, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::execution_profiles::profiles::{AIExecutionProfilesModel, ClientProfileId}; use crate::cloud_object::model::generic_string_model::StringModel; diff --git a/app/src/terminal/input/profiles/search_item.rs b/app/src/terminal/input/profiles/search_item.rs index abc4ba47..65516b72 100644 --- a/app/src/terminal/input/profiles/search_item.rs +++ b/app/src/terminal/input/profiles/search_item.rs @@ -1,5 +1,4 @@ use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; use galaxyui::elements::{ConstrainedBox, Container, Flex, Highlight, ParentElement as _, Text}; @@ -7,6 +6,7 @@ use galaxyui::fonts::{Properties, Style, Weight}; use galaxyui::prelude::CrossAxisAlignment; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity as _}; +use ordered_float::OrderedFloat; use crate::ai::execution_profiles::profiles::ClientProfileId; use crate::appearance::Appearance; diff --git a/app/src/terminal/input/prompts/data_source.rs b/app/src/terminal/input/prompts/data_source.rs index 7e0e2397..2636443f 100644 --- a/app/src/terminal/input/prompts/data_source.rs +++ b/app/src/terminal/input/prompts/data_source.rs @@ -1,10 +1,10 @@ use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::icons::Icon; use galaxyui::elements::{ConstrainedBox, Container, Highlight, Text}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, Entity, ModelContext, ModelHandle, SingletonEntity as _}; +use ordered_float::OrderedFloat; use crate::appearance::Appearance; use crate::cloud_object::model::persistence::CloudModel; diff --git a/app/src/terminal/input/repos/search_item.rs b/app/src/terminal/input/repos/search_item.rs index 8a25f4f3..d9841b3d 100644 --- a/app/src/terminal/input/repos/search_item.rs +++ b/app/src/terminal/input/repos/search_item.rs @@ -3,13 +3,13 @@ use std::path::{Path, PathBuf}; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::theme::{AnsiColorIdentifier, Fill}; use galaxy_core::ui::Icon; use galaxyui::elements::{ConstrainedBox, Container, Highlight, Text}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::appearance::Appearance; use crate::search::result_renderer::ItemHighlightState; diff --git a/app/src/terminal/input/rewind/data_source.rs b/app/src/terminal/input/rewind/data_source.rs index 2ed553a2..6406e479 100644 --- a/app/src/terminal/input/rewind/data_source.rs +++ b/app/src/terminal/input/rewind/data_source.rs @@ -3,9 +3,9 @@ use std::collections::HashSet; use ai::agent::action_result::RequestFileEditsResult; +use galaxyui::{AppContext, Entity, SingletonEntity}; use itertools::Itertools; use ordered_float::OrderedFloat; -use galaxyui::{AppContext, Entity, SingletonEntity}; use crate::ai::agent::conversation::AIConversationId; use crate::ai::agent::{AIAgentActionResultType, AIAgentExchangeId, AIAgentInput}; diff --git a/app/src/terminal/input/rewind/search_item.rs b/app/src/terminal/input/rewind/search_item.rs index 80363d5b..31b9a501 100644 --- a/app/src/terminal/input/rewind/search_item.rs +++ b/app/src/terminal/input/rewind/search_item.rs @@ -2,7 +2,6 @@ //! Renders two lines: query text and code changes summary. use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; @@ -13,6 +12,7 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::scene::{CornerRadius, Radius}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::agent::AIAgentExchangeId; use crate::appearance::Appearance; diff --git a/app/src/terminal/input/skills/data_source.rs b/app/src/terminal/input/skills/data_source.rs index db1c8df0..749653ec 100644 --- a/app/src/terminal/input/skills/data_source.rs +++ b/app/src/terminal/input/skills/data_source.rs @@ -2,7 +2,6 @@ use std::path::PathBuf; use ai::skills::{SkillProvider, SkillReference, SkillScope}; use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; -use ordered_float::OrderedFloat; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ @@ -15,6 +14,7 @@ use galaxyui::text_layout::ClipConfig; use galaxyui::{ AppContext, Element, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity as _, }; +use ordered_float::OrderedFloat; use crate::ai::skills::SkillManager; use crate::appearance::Appearance; diff --git a/app/src/terminal/input/slash_command_model.rs b/app/src/terminal/input/slash_command_model.rs index bd958962..03f196e6 100644 --- a/app/src/terminal/input/slash_command_model.rs +++ b/app/src/terminal/input/slash_command_model.rs @@ -1,7 +1,7 @@ use ai::skills::SkillReference; -use input_classifier::InputType; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity}; +use input_classifier::InputType; use crate::ai::blocklist::{BlocklistAIInputEvent, BlocklistAIInputModel}; use crate::ai::skills::SkillManager; diff --git a/app/src/terminal/input/slash_command_model_tests.rs b/app/src/terminal/input/slash_command_model_tests.rs index c26506fb..16779fb6 100644 --- a/app/src/terminal/input/slash_command_model_tests.rs +++ b/app/src/terminal/input/slash_command_model_tests.rs @@ -3,8 +3,8 @@ use crate::report_if_error; use crate::search::slash_command_menu::static_commands::commands; use crate::settings::AISettings; use crate::terminal::input::tests::{add_window_with_bootstrapped_terminal, initialize_app}; -use settings::Setting as _; use galaxyui::{App, SingletonEntity as _}; +use settings::Setting as _; #[test] fn test_parse_slash_command_handles_argument_rules() { diff --git a/app/src/terminal/input/slash_commands/data_source/mod.rs b/app/src/terminal/input/slash_commands/data_source/mod.rs index 75a3f080..72affbfb 100644 --- a/app/src/terminal/input/slash_commands/data_source/mod.rs +++ b/app/src/terminal/input/slash_commands/data_source/mod.rs @@ -2,18 +2,18 @@ mod saved_prompts; mod zero_state; use ai::skills::SkillProvider; -pub(crate) use saved_prompts::*; use galaxy_core::features::FeatureFlag; +pub(crate) use saved_prompts::*; pub use zero_state::*; use std::collections::HashMap; use std::path::PathBuf; use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::appearance::Appearance; use galaxyui::fonts::FamilyId; use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::blocklist::BlocklistAIHistoryModel; use crate::ai::skills::{SkillDescriptor, SkillManager}; @@ -90,10 +90,7 @@ impl SlashCommandDataSource { _ => (), }); ctx.subscribe_to_model(&AISettings::handle(ctx), |me, event, ctx| { - if matches!( - event, - AISettingsChangedEvent::IsAnyAIEnabled { .. } - ) { + if matches!(event, AISettingsChangedEvent::IsAnyAIEnabled { .. }) { me.recompute_active_commands(ctx); } }); diff --git a/app/src/terminal/input/slash_commands/data_source/saved_prompts.rs b/app/src/terminal/input/slash_commands/data_source/saved_prompts.rs index 9cbbfabc..35861e43 100644 --- a/app/src/terminal/input/slash_commands/data_source/saved_prompts.rs +++ b/app/src/terminal/input/slash_commands/data_source/saved_prompts.rs @@ -1,10 +1,10 @@ use std::sync::Arc; use futures_lite::future::yield_now; -use ordered_float::OrderedFloat; use galaxy_core::ui::appearance::Appearance; use galaxyui::fonts::FamilyId; use galaxyui::{AppContext, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::cloud_object::model::persistence::CloudModel; use crate::cloud_object::CloudObject; diff --git a/app/src/terminal/input/slash_commands/data_source/zero_state.rs b/app/src/terminal/input/slash_commands/data_source/zero_state.rs index 9697f7de..d96c58cf 100644 --- a/app/src/terminal/input/slash_commands/data_source/zero_state.rs +++ b/app/src/terminal/input/slash_commands/data_source/zero_state.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxyui::{Entity, ModelHandle}; +use itertools::Itertools; use crate::search::data_source::{Query, QueryResult}; use crate::search::mixer::DataSourceRunErrorWrapper; diff --git a/app/src/terminal/input/slash_commands/mod.rs b/app/src/terminal/input/slash_commands/mod.rs index 514510ef..2ca539c6 100644 --- a/app/src/terminal/input/slash_commands/mod.rs +++ b/app/src/terminal/input/slash_commands/mod.rs @@ -450,8 +450,8 @@ impl Input { #[cfg(feature = "local_fs")] match argument { Some(args) if !args.is_empty() => { - use shellexpand::tilde; use galaxy_util::path::CleanPathResult; + use shellexpand::tilde; let Some(session_id) = self.active_block_session_id() else { return false; diff --git a/app/src/terminal/input/slash_commands/search_item.rs b/app/src/terminal/input/slash_commands/search_item.rs index 104a5b03..e01a192b 100644 --- a/app/src/terminal/input/slash_commands/search_item.rs +++ b/app/src/terminal/input/slash_commands/search_item.rs @@ -1,10 +1,10 @@ -use ordered_float::OrderedFloat; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{Expanded, Highlight, Icon, ParentElement, Shrinkable}; use galaxyui::fonts::{Properties, Weight}; use galaxyui::prelude::{ConstrainedBox, Container, CrossAxisAlignment, Empty, Flex, Text}; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::blocklist::agent_view::shortcuts::render_keystroke_with_color_overrides; use crate::search::slash_command_menu::static_commands::commands::COMMAND_REGISTRY; diff --git a/app/src/terminal/input/slash_commands/view.rs b/app/src/terminal/input/slash_commands/view.rs index 742dd77b..6b805232 100644 --- a/app/src/terminal/input/slash_commands/view.rs +++ b/app/src/terminal/input/slash_commands/view.rs @@ -1,10 +1,10 @@ use std::collections::HashSet; use ai::skills::SkillReference; -use lazy_static::lazy_static; use galaxyui::elements::ChildView; use galaxyui::{AppContext, Element, ViewContext}; use galaxyui::{Entity, ModelHandle, View, ViewHandle}; +use lazy_static::lazy_static; use crate::ai::blocklist::agent_view::AgentViewController; use crate::search::data_source::{Query, QueryFilter}; diff --git a/app/src/terminal/input/terminal.rs b/app/src/terminal/input/terminal.rs index 1aa6281c..dd9f6fa3 100644 --- a/app/src/terminal/input/terminal.rs +++ b/app/src/terminal/input/terminal.rs @@ -298,8 +298,8 @@ impl Input { } pub mod styles { - use pathfinder_color::ColorU; use galaxy_core::ui::theme::WarpTheme; + use pathfinder_color::ColorU; pub fn default_border_color(theme: &WarpTheme) -> ColorU { theme.outline().into() diff --git a/app/src/terminal/input/terminal_message_bar.rs b/app/src/terminal/input/terminal_message_bar.rs index ad63b0f6..1f302f56 100644 --- a/app/src/terminal/input/terminal_message_bar.rs +++ b/app/src/terminal/input/terminal_message_bar.rs @@ -1,11 +1,11 @@ use std::sync::Arc; -use parking_lot::FairMutex; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::{Container, Element}; use galaxyui::keymap::Keystroke; use galaxyui::{AppContext, Entity, ModelHandle, SingletonEntity, View, ViewContext}; +use parking_lot::FairMutex; +use pathfinder_color::ColorU; use super::buffer_model::InputBufferModel; use super::message_bar::{ diff --git a/app/src/terminal/input/universal.rs b/app/src/terminal/input/universal.rs index 2b875e9d..cf9e824d 100644 --- a/app/src/terminal/input/universal.rs +++ b/app/src/terminal/input/universal.rs @@ -12,7 +12,6 @@ use crate::{ }, themes::theme::color::internal_colors, }; -use settings::Setting; use galaxyui::{ elements::{ Border, ChildView, Container, CornerRadius, DropTarget, Element, Flex, Hoverable, @@ -20,6 +19,7 @@ use galaxyui::{ }, AppContext, SingletonEntity, }; +use settings::Setting; use super::{ common::{ diff --git a/app/src/terminal/input/user_query/data_source.rs b/app/src/terminal/input/user_query/data_source.rs index 49b0d0ba..aeef53c8 100644 --- a/app/src/terminal/input/user_query/data_source.rs +++ b/app/src/terminal/input/user_query/data_source.rs @@ -1,8 +1,8 @@ //! Data source for the user query menu. +use galaxyui::{AppContext, Entity, SingletonEntity}; use itertools::Itertools; use ordered_float::OrderedFloat; -use galaxyui::{AppContext, Entity, SingletonEntity}; use crate::ai::agent::conversation::AIConversationId; use crate::ai::agent::AIAgentExchangeId; diff --git a/app/src/terminal/input/user_query/search_item.rs b/app/src/terminal/input/user_query/search_item.rs index ce43d00f..59c474b1 100644 --- a/app/src/terminal/input/user_query/search_item.rs +++ b/app/src/terminal/input/user_query/search_item.rs @@ -1,7 +1,6 @@ //! SearchItem implementation for user query menu items. use fuzzy_match::FuzzyMatchResult; -use ordered_float::OrderedFloat; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::Icon; @@ -10,6 +9,7 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::scene::{CornerRadius, Radius}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element, SingletonEntity}; +use ordered_float::OrderedFloat; use crate::ai::agent::AIAgentExchangeId; use crate::appearance::Appearance; diff --git a/app/src/terminal/input_test.rs b/app/src/terminal/input_test.rs index 22ba461f..0d91eec8 100644 --- a/app/src/terminal/input_test.rs +++ b/app/src/terminal/input_test.rs @@ -72,20 +72,20 @@ use crate::{ }; use crate::{experiments, AgentNotificationsModel}; use fuzzy_match::FuzzyMatchResult; -use session_sharing_protocol::common::Role; -use smol_str::SmolStr; use galaxy_completer::completer::{ EngineFileType, Match, MatchStrategy, MatchedSuggestion, Priority, Suggestion, SuggestionResults, SuggestionType, }; use galaxy_completer::meta::Span; +use session_sharing_protocol::common::Role; +use smol_str::SmolStr; use unindent::Unindent; -#[cfg(feature = "voice_input")] -use voice_input::VoiceInputToggledFrom; use galaxyui::platform::WindowStyle; use galaxyui::{App, ReadModel, UpdateView}; +#[cfg(feature = "voice_input")] +use voice_input::VoiceInputToggledFrom; use crate::terminal::universal_developer_input::UniversalDeveloperInputButtonBarEvent; diff --git a/app/src/terminal/keys_settings.rs b/app/src/terminal/keys_settings.rs index d7e7344b..de647bde 100644 --- a/app/src/terminal/keys_settings.rs +++ b/app/src/terminal/keys_settings.rs @@ -1,7 +1,7 @@ +use galaxyui::{keymap::Keystroke, AppContext, DisplayIdx, ModelContext}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::{keymap::Keystroke, AppContext, DisplayIdx, ModelContext}; use crate::{ report_if_error, diff --git a/app/src/terminal/ligature_settings.rs b/app/src/terminal/ligature_settings.rs index db15a910..42e31e72 100644 --- a/app/src/terminal/ligature_settings.rs +++ b/app/src/terminal/ligature_settings.rs @@ -1,9 +1,9 @@ use crate::features::FeatureFlag; +use galaxyui::{AppContext, SingletonEntity}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::{AppContext, SingletonEntity}; define_settings_group!(LigatureSettings, settings: [ ligature_rendering_enabled: LigatureRenderingEnabled { diff --git a/app/src/terminal/local_tty/docker_sandbox.rs b/app/src/terminal/local_tty/docker_sandbox.rs index 6bfbe960..d2287927 100644 --- a/app/src/terminal/local_tty/docker_sandbox.rs +++ b/app/src/terminal/local_tty/docker_sandbox.rs @@ -12,10 +12,10 @@ use futures::future::BoxFuture; use futures::FutureExt as _; +use galaxyui::{AppContext, SingletonEntity as _}; use serde::{Deserialize, Serialize}; use std::ffi::OsStr; use std::path::{Path, PathBuf}; -use galaxyui::{AppContext, SingletonEntity as _}; use super::shell::DirectShellStarter; use crate::{ diff --git a/app/src/terminal/local_tty/recorder.rs b/app/src/terminal/local_tty/recorder.rs index f3d27508..0cfe227c 100644 --- a/app/src/terminal/local_tty/recorder.rs +++ b/app/src/terminal/local_tty/recorder.rs @@ -4,10 +4,10 @@ use crate::{ }; use async_broadcast::Receiver; use futures_lite::StreamExt; +use galaxyui::r#async::executor::Background; use instant::{Duration, Instant}; use parking_lot::FairMutex; use std::sync::{Arc, Mutex}; -use galaxyui::r#async::executor::Background; /// We want to measure throughput as bytes / sec. const PTY_THROUGHPUT_TIME_INTERVAL: Duration = Duration::from_secs(1); diff --git a/app/src/terminal/local_tty/server/event_loop.rs b/app/src/terminal/local_tty/server/event_loop.rs index c85d36bb..ccd32a2c 100644 --- a/app/src/terminal/local_tty/server/event_loop.rs +++ b/app/src/terminal/local_tty/server/event_loop.rs @@ -1,10 +1,10 @@ use std::{collections::HashMap, os::unix::prelude::*, process::Child, sync::Arc}; +use galaxy_cli::TerminalServerArgs; use itertools::Itertools; use mio::Interest; use parking_lot::Mutex; use signal_hook_mio::v1_0::Signals; -use galaxy_cli::TerminalServerArgs; use crate::terminal::{ local_tty::{self, server::protocol::NonblockingSocketFd}, diff --git a/app/src/terminal/local_tty/shell.rs b/app/src/terminal/local_tty/shell.rs index 17f41199..508abe44 100644 --- a/app/src/terminal/local_tty/shell.rs +++ b/app/src/terminal/local_tty/shell.rs @@ -1,3 +1,5 @@ +use galaxy_core::channel::{Channel, ChannelState}; +use galaxy_util::path::{canonicalize_git_bash_path, is_msys2_path, warp_shell_path}; use itertools::Itertools as _; use serde::{Deserialize, Serialize}; use std::{ @@ -7,8 +9,6 @@ use std::{ process, }; use typed_path::UnixPathBuf; -use galaxy_core::channel::{Channel, ChannelState}; -use galaxy_util::path::{canonicalize_git_bash_path, is_msys2_path, warp_shell_path}; use crate::{ terminal::{ diff --git a/app/src/terminal/local_tty/terminal_attributes.rs b/app/src/terminal/local_tty/terminal_attributes.rs index c8f2f8b8..c5421ca2 100644 --- a/app/src/terminal/local_tty/terminal_attributes.rs +++ b/app/src/terminal/local_tty/terminal_attributes.rs @@ -1,8 +1,8 @@ use std::{os::fd::RawFd, time::Duration}; +use galaxyui::{Entity, ModelContext}; use nix::sys::termios::{self, Termios}; use nix::Result; -use galaxyui::{Entity, ModelContext}; /// The default amount of time we wait before polling the terminal attributes again. const POLL_INTERVAL: Duration = Duration::from_secs(1); diff --git a/app/src/terminal/local_tty/terminal_manager.rs b/app/src/terminal/local_tty/terminal_manager.rs index 040d0508..017e6456 100644 --- a/app/src/terminal/local_tty/terminal_manager.rs +++ b/app/src/terminal/local_tty/terminal_manager.rs @@ -40,6 +40,8 @@ use pathfinder_geometry::vector::Vector2F; use crate::terminal::cli_agent_sessions::{ CLIAgentInputState, CLIAgentSessionsModel, CLIAgentSessionsModelEvent, }; +use galaxyui::r#async::executor::Background; +use galaxyui::{AppContext, ModelContext, ModelHandle, SingletonEntity, ViewHandle, WindowId}; use session_sharing_protocol::common::{ ActivePrompt, AgentPromptFailureReason, CLIAgentSessionState, CommandExecutionFailureReason, ControlAction, ControlActionFailureReason, SelectedAgentModel, @@ -50,8 +52,6 @@ use session_sharing_protocol::common::{ LongRunningCommandAgentInteractionState, SelectedConversation, UniversalDeveloperInputContext, }; use settings::Setting as _; -use galaxyui::r#async::executor::Background; -use galaxyui::{AppContext, ModelContext, ModelHandle, SingletonEntity, ViewHandle, WindowId}; use galaxy_core::execution_mode::AppExecutionMode; diff --git a/app/src/terminal/local_tty/unix.rs b/app/src/terminal/local_tty/unix.rs index 3036e2af..9b2806fb 100644 --- a/app/src/terminal/local_tty/unix.rs +++ b/app/src/terminal/local_tty/unix.rs @@ -31,6 +31,8 @@ use serde::{Deserialize, Serialize}; use signal_hook_mio::v1_0::Signals; use command::blocking::Command; +use galaxy_core::channel::ChannelState; +use galaxyui::{AppContext, SingletonEntity}; use std::{ collections::HashMap, ffi::{CStr, OsString}, @@ -44,8 +46,6 @@ use std::{ path::{Path, PathBuf}, ptr, }; -use galaxy_core::channel::ChannelState; -use galaxyui::{AppContext, SingletonEntity}; /// Get raw fds for leader/follower ends of a new PTY. fn make_pty(size: winsize) -> Result<(RawFd, RawFd)> { diff --git a/app/src/terminal/local_tty/windows/conpty_api.rs b/app/src/terminal/local_tty/windows/conpty_api.rs index 3abe39d3..d31b5bc7 100644 --- a/app/src/terminal/local_tty/windows/conpty_api.rs +++ b/app/src/terminal/local_tty/windows/conpty_api.rs @@ -1,7 +1,7 @@ +use galaxy_util::path::TargetDirError; use std::mem::transmute; use std::path::Path; use thiserror::Error; -use galaxy_util::path::TargetDirError; use windows::core::{s, HRESULT, HSTRING, PCWSTR}; use windows::Win32::Foundation::HANDLE; use windows::Win32::System::Console::{COORD, HPCON}; diff --git a/app/src/terminal/local_tty/windows/environment.rs b/app/src/terminal/local_tty/windows/environment.rs index f9dc2e54..7f33bc52 100644 --- a/app/src/terminal/local_tty/windows/environment.rs +++ b/app/src/terminal/local_tty/windows/environment.rs @@ -3,9 +3,9 @@ use std::{collections::BTreeMap, ffi::OsString}; use crate::terminal::cli_agent_sessions::event::current_protocol_version; use crate::terminal::local_tty::shell::{extra_path_entries, ssh_socket_dir}; -use itertools::Itertools; use galaxy_core::channel::ChannelState; use galaxy_core::features::FeatureFlag; +use itertools::Itertools; use windows::core::{HSTRING, PCWSTR}; use windows::Win32::System::Environment::ExpandEnvironmentStringsW; use winreg::types::FromRegValue; diff --git a/app/src/terminal/local_tty/windows/mod.rs b/app/src/terminal/local_tty/windows/mod.rs index 9afd75f4..d752ef95 100644 --- a/app/src/terminal/local_tty/windows/mod.rs +++ b/app/src/terminal/local_tty/windows/mod.rs @@ -14,12 +14,12 @@ use child::ChildExitWatcher; use conpty_api::ConptyApiError; use environment::get_shell_environment_variables; pub use environment::get_user_and_system_env_variable; +use galaxyui::{AppContext, SingletonEntity}; use std::ffi::{OsStr, OsString}; use std::os::windows::ffi::OsStrExt; use std::os::windows::io::FromRawHandle as _; use std::path::PathBuf; use thiserror::Error; -use galaxyui::{AppContext, SingletonEntity}; use windows::core::{HSTRING, PCWSTR, PWSTR}; use windows::Win32::Foundation::{HANDLE, WAIT_OBJECT_0}; use windows::Win32::System::Console::{COORD, HPCON}; diff --git a/app/src/terminal/mock_terminal_manager.rs b/app/src/terminal/mock_terminal_manager.rs index 02bf8b9a..bff03f9c 100644 --- a/app/src/terminal/mock_terminal_manager.rs +++ b/app/src/terminal/mock_terminal_manager.rs @@ -1,9 +1,9 @@ use std::any::Any; use std::sync::Arc; +use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewHandle, WindowId}; use parking_lot::FairMutex; use pathfinder_geometry::vector::Vector2F; -use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewHandle, WindowId}; use crate::ai::active_agent_views_model::ActiveAgentViewsModel; use crate::{ diff --git a/app/src/terminal/mod.rs b/app/src/terminal/mod.rs index 4d97c4b8..306e8f49 100644 --- a/app/src/terminal/mod.rs +++ b/app/src/terminal/mod.rs @@ -8,14 +8,14 @@ use pathfinder_geometry::vector::vec2f; use serde::{Deserialize, Serialize}; use std::cmp::max; mod package_installers; -pub(crate) use history::UpArrowHistoryConfig; -pub use view::Event; -pub use view::TerminalView; pub use galaxy_terminal::shell::{self, ShellLaunchData}; use galaxyui::geometry::vector::Vector2F; use galaxyui::units::{IntoPixels, Lines, Pixels}; use galaxyui::AppContext; use galaxyui::WindowId; +pub(crate) use history::UpArrowHistoryConfig; +pub use view::Event; +pub use view::TerminalView; pub use {history::History, history::HistoryEntry, history::HistoryEvent, history::ShellHost}; mod block_list_settings; diff --git a/app/src/terminal/model/alt_screen.rs b/app/src/terminal/model/alt_screen.rs index 5e7c6398..32c71667 100644 --- a/app/src/terminal/model/alt_screen.rs +++ b/app/src/terminal/model/alt_screen.rs @@ -26,16 +26,16 @@ use crate::terminal::model::iterm_image::ITermImage; use crate::terminal::model::secrets::ObfuscateSecrets; use crate::terminal::model::selection::{Selection, SelectionRange}; use crate::terminal::{SizeInfo, SizeUpdate}; +use galaxy_core::semantic_selection::SemanticSelection; +use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; +use galaxyui::text::SelectionType; +use galaxyui::units::Lines; use itertools::Itertools; use num_traits::Float as _; use parking_lot::Mutex; use pathfinder_color::ColorU; use std::sync::Arc; use vec1::Vec1; -use galaxy_core::semantic_selection::SemanticSelection; -use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; -use galaxyui::text::SelectionType; -use galaxyui::units::Lines; pub struct AltScreen { grid_handler: GridHandler, diff --git a/app/src/terminal/model/ansi/dcs_hooks.rs b/app/src/terminal/model/ansi/dcs_hooks.rs index ad03b4a6..4ffa34b4 100644 --- a/app/src/terminal/model/ansi/dcs_hooks.rs +++ b/app/src/terminal/model/ansi/dcs_hooks.rs @@ -2,11 +2,11 @@ //! app -- for example, the payloads sent from shell precmd and preexec. use crate::terminal::model::block::BlockId; use crate::terminal::model::session::SessionId; +use galaxy_core::command::ExitCode; use ordered_float::OrderedFloat; use serde::{Deserialize, Deserializer, Serialize}; use std::collections::HashSet; use std::path::PathBuf; -use galaxy_core::command::ExitCode; /// Indicates that the following JSON-encoded message is hex-encoded for Warp's lifecycle hooks. /// In DCS, it is used as the final char in the DCS start sequence. diff --git a/app/src/terminal/model/ansi/mod.rs b/app/src/terminal/model/ansi/mod.rs index 92e7fe1f..be2fcfa6 100644 --- a/app/src/terminal/model/ansi/mod.rs +++ b/app/src/terminal/model/ansi/mod.rs @@ -15,11 +15,11 @@ mod handler; use ansi_c_decoder::*; pub use dcs_hooks::*; +pub use galaxy_terminal::model::ansi::control_sequence_parameters::*; +use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; pub use handler::*; use instant::Instant; use itertools::Itertools; -pub use galaxy_terminal::model::ansi::control_sequence_parameters::*; -use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; use crate::features::FeatureFlag; use crate::terminal::model::completions::{ @@ -45,11 +45,11 @@ use log::debug; use std::collections::HashMap; use std::fmt::Write; +use galaxyui::color::ColorU; use std::str::FromStr as _; use std::time::Duration; use std::{io, str}; use vte::{Params, Parser as VteParser, Perform as VtePerform}; -use galaxyui::color::ColorU; use super::kitty::parse_kitty_chunk; use super::terminal_model::TmuxInstallationState; diff --git a/app/src/terminal/model/ansi/mod_test.rs b/app/src/terminal/model/ansi/mod_test.rs index 387ccc65..b3a910e6 100644 --- a/app/src/terminal/model/ansi/mod_test.rs +++ b/app/src/terminal/model/ansi/mod_test.rs @@ -1,6 +1,6 @@ -use hex; use galaxy_core::command::ExitCode; use galaxyui::color::ColorU; +use hex; use super::*; use crate::terminal::model::index::VisibleRow; diff --git a/app/src/terminal/model/block.rs b/app/src/terminal/model/block.rs index 1347c206..88f63fa9 100644 --- a/app/src/terminal/model/block.rs +++ b/app/src/terminal/model/block.rs @@ -1,9 +1,9 @@ mod interaction_mode; mod serialized_block; +use galaxy_core::features::FeatureFlag; pub use interaction_mode::*; pub use serialized_block::*; -use galaxy_core::features::FeatureFlag; use super::grid::grid_handler::{GridHandler, PerformResetGridChecks}; use super::grid::{Cursor, RespectDisplayedOutput}; @@ -50,15 +50,15 @@ use crate::{ }; use chrono::{DateTime, Duration, FixedOffset, Local}; -use hex; -use instant::Instant; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::command::ExitCode; use galaxy_terminal::model::grid::Dimensions as _; use galaxy_util::path::user_friendly_path; use galaxyui::units::{IntoLines, Lines}; use galaxyui::{r#async::executor::Background, record_trace_event}; +use hex; +use instant::Instant; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::Vector2F; use enum_iterator::all; use lazy_static::lazy_static; diff --git a/app/src/terminal/model/block/serialized_block.rs b/app/src/terminal/model/block/serialized_block.rs index 0fab5c55..4d2a8871 100644 --- a/app/src/terminal/model/block/serialized_block.rs +++ b/app/src/terminal/model/block/serialized_block.rs @@ -13,9 +13,9 @@ use crate::terminal::model::BlockId; use crate::terminal::ShellHost; use crate::util::extensions::TrimStringExt; use chrono::{DateTime, Local, TimeZone as _}; +use galaxy_core::command::ExitCode; use serde::{Deserialize, Serialize}; use serde_bytes_repr::{ByteFmtDeserializer, ByteFmtSerializer}; -use galaxy_core::command::ExitCode; use super::AgentInteractionMetadata; diff --git a/app/src/terminal/model/blocks.rs b/app/src/terminal/model/blocks.rs index 15588888..22e5a2ad 100644 --- a/app/src/terminal/model/blocks.rs +++ b/app/src/terminal/model/blocks.rs @@ -29,22 +29,22 @@ use crate::terminal::{ use crate::terminal::{BlockPadding, ShellHost, SizeInfo, SizeUpdate}; use anyhow::anyhow; use chrono::{DateTime, Local}; +use galaxy_core::features::FeatureFlag; +use galaxyui::color::ColorU; +use galaxyui::r#async::executor::Background; +use galaxyui::record_trace_event; use instant::SystemTime; use std::io; use std::ops::{AddAssign, Range, RangeInclusive}; use std::sync::Arc; use std::time::Duration; use sum_tree::{Dimension, Item, SeekBias, SumTree}; -use galaxy_core::features::FeatureFlag; -use galaxyui::color::ColorU; -use galaxyui::r#async::executor::Background; -use galaxyui::record_trace_event; -use std::collections::{HashMap, HashSet}; use galaxyui::{ units::{IntoLines, IntoPixels, Lines}, AppContext, EntityId, ViewHandle, }; +use std::collections::{HashMap, HashSet}; use super::block::{BlockId, BlockSize, BlockState}; use super::early_output::EarlyOutput; diff --git a/app/src/terminal/model/blocks/selection.rs b/app/src/terminal/model/blocks/selection.rs index 6085802b..68dbde90 100644 --- a/app/src/terminal/model/blocks/selection.rs +++ b/app/src/terminal/model/blocks/selection.rs @@ -1,7 +1,5 @@ use std::{cmp::max, fmt::Debug, mem, ops::RangeInclusive}; -use sum_tree::SeekBias; -use vec1::{vec1, Vec1}; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_terminal::model::grid::CellType; use galaxyui::{ @@ -9,6 +7,8 @@ use galaxyui::{ units::{IntoLines as _, Lines}, AppContext, EntityId, ViewAsRef as _, }; +use sum_tree::SeekBias; +use vec1::{vec1, Vec1}; use crate::{ ai::blocklist::AIBlock, diff --git a/app/src/terminal/model/find.rs b/app/src/terminal/model/find.rs index 36070a1c..f9fc8fc9 100644 --- a/app/src/terminal/model/find.rs +++ b/app/src/terminal/model/find.rs @@ -1,5 +1,6 @@ use std::ops::RangeInclusive; +use galaxy_terminal::model::grid::CellType; use regex::escape; use regex_automata::hybrid::dfa::{Cache, DFA}; use regex_automata::hybrid::BuildError; @@ -7,7 +8,6 @@ use regex_automata::nfa::thompson; use regex_automata::util::pool::Pool; use regex_automata::util::syntax::Config; use regex_automata::{Anchored, Input}; -use galaxy_terminal::model::grid::CellType; use crate::terminal::model::index::Direction; use crate::terminal::model::index::Point; diff --git a/app/src/terminal/model/grid/ansi_handler.rs b/app/src/terminal/model/grid/ansi_handler.rs index 6d19327a..ac9d0096 100644 --- a/app/src/terminal/model/grid/ansi_handler.rs +++ b/app/src/terminal/model/grid/ansi_handler.rs @@ -11,15 +11,15 @@ use std::sync::Arc; use base64::Engine as _; use bounded_vec_deque::BoundedVecDeque; -use pathfinder_geometry::vector::Vector2F; -use rand::Rng; -use unicode_width::{UnicodeWidthChar, UnicodeWidthStr}; use galaxy_core::channel::ChannelState; use galaxy_core::features::FeatureFlag; use galaxy_terminal::model::ansi::CharsetIndex; use galaxy_terminal::model::grid::cell; use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; use galaxyui::image_cache::{resize_dimensions, FitType}; +use pathfinder_geometry::vector::Vector2F; +use rand::Rng; +use unicode_width::{UnicodeWidthChar, UnicodeWidthStr}; use crate::server::telemetry::ImageProtocol; use crate::terminal::event::Event; diff --git a/app/src/terminal/model/grid/grid_handler.rs b/app/src/terminal/model/grid/grid_handler.rs index ea684f36..26bb80f8 100644 --- a/app/src/terminal/model/grid/grid_handler.rs +++ b/app/src/terminal/model/grid/grid_handler.rs @@ -20,10 +20,6 @@ use std::{ }; use bounded_vec_deque::BoundedVecDeque; -use itertools::Itertools; -use lazy_static::lazy_static; -use unicode_width::UnicodeWidthChar; -use urlocator::{UrlLocation, UrlLocator}; use galaxy_core::features::FeatureFlag; use galaxy_core::semantic_selection::{SemanticSelection, SMART_SELECT_MATCH_WINDOW_LIMIT}; use galaxy_core::{safe_assert, safe_assert_eq}; @@ -33,6 +29,10 @@ pub use galaxy_terminal::model::TermMode; use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; use galaxy_util::path::CleanPathResult; use galaxyui::color::ColorU; +use itertools::Itertools; +use lazy_static::lazy_static; +use unicode_width::UnicodeWidthChar; +use urlocator::{UrlLocation, UrlLocator}; use crate::terminal::event_listener::ChannelEventListener; use crate::terminal::model::ansi::{self, Color, CursorStyle, Handler, NamedColor}; diff --git a/app/src/terminal/model/grid/grid_storage.rs b/app/src/terminal/model/grid/grid_storage.rs index 69d5f0ea..0684396d 100644 --- a/app/src/terminal/model/grid/grid_storage.rs +++ b/app/src/terminal/model/grid/grid_storage.rs @@ -5,8 +5,8 @@ mod resize; use std::cmp::min; use std::ops::{Index, IndexMut, Range}; -use serde::{Deserialize, Serialize}; pub use galaxy_terminal::model::grid::Dimensions; +use serde::{Deserialize, Serialize}; use crate::features::FeatureFlag; use crate::terminal::model::ansi::{CharsetIndex, StandardCharset}; diff --git a/app/src/terminal/model/grid/resize.rs b/app/src/terminal/model/grid/resize.rs index 14961f47..71d93551 100644 --- a/app/src/terminal/model/grid/resize.rs +++ b/app/src/terminal/model/grid/resize.rs @@ -1,4 +1,3 @@ -use string_offset::ByteOffset; use galaxy_terminal::model::{ grid::{ cell::{self, LineLength as _}, @@ -6,6 +5,7 @@ use galaxy_terminal::model::{ }, Point, VisiblePoint, VisibleRow, }; +use string_offset::ByteOffset; use crate::terminal::{model::grid::Cursor, SizeInfo}; diff --git a/app/src/terminal/model/grid/tests.rs b/app/src/terminal/model/grid/tests.rs index 6665615b..37849094 100644 --- a/app/src/terminal/model/grid/tests.rs +++ b/app/src/terminal/model/grid/tests.rs @@ -1,7 +1,7 @@ //! Tests for the Grid. -use grid_handler::GridHandler; use galaxy_terminal::model::grid::cell; +use grid_handler::GridHandler; use crate::features::FeatureFlag; use crate::terminal::model::ansi::Handler; diff --git a/app/src/terminal/model/header_grid.rs b/app/src/terminal/model/header_grid.rs index b4e9a488..b45bb782 100644 --- a/app/src/terminal/model/header_grid.rs +++ b/app/src/terminal/model/header_grid.rs @@ -7,9 +7,9 @@ use super::{ grid::{grid_handler::PerformResetGridChecks, Dimensions as _}, selection::ScrollDelta, }; +use galaxyui::units::{IntoLines as _, Lines}; use instant::Instant; use pathfinder_color::ColorU; -use galaxyui::units::{IntoLines as _, Lines}; use crate::terminal::event::Event; diff --git a/app/src/terminal/model/iterm_image.rs b/app/src/terminal/model/iterm_image.rs index 4317842a..671dc7ba 100644 --- a/app/src/terminal/model/iterm_image.rs +++ b/app/src/terminal/model/iterm_image.rs @@ -1,9 +1,9 @@ use std::path::Path; use base64::Engine; +use galaxyui::util::parse_u32; use pathfinder_geometry::vector::Vector2F; use rand::Rng; -use galaxyui::util::parse_u32; #[derive(Debug, Default, Clone)] pub struct ITermImage { diff --git a/app/src/terminal/model/kitty.rs b/app/src/terminal/model/kitty.rs index d4d51a24..059ee53d 100644 --- a/app/src/terminal/model/kitty.rs +++ b/app/src/terminal/model/kitty.rs @@ -1,18 +1,18 @@ use anyhow::Result; use base64::Engine; use flate2::read::ZlibDecoder; -use pathfinder_geometry::vector::Vector2F; -use rand::Rng; -use std::cmp::min; -use std::io::Read; -#[cfg(feature = "local_fs")] -use std::{env, fs, str}; use galaxyui::image_cache::{resize_dimensions, FitType}; use galaxyui::{ assets::asset_cache::Asset, image_cache::{CustomHeaderCreationError, CustomImageFormat, CustomImageHeader, ImageType}, util::{parse_i32, parse_u32}, }; +use pathfinder_geometry::vector::Vector2F; +use rand::Rng; +use std::cmp::min; +use std::io::Read; +#[cfg(feature = "local_fs")] +use std::{env, fs, str}; use super::escape_sequences::C1; diff --git a/app/src/terminal/model/mod.rs b/app/src/terminal/model/mod.rs index 0469138b..b153c4dd 100644 --- a/app/src/terminal/model/mod.rs +++ b/app/src/terminal/model/mod.rs @@ -38,8 +38,8 @@ pub mod terminal_model; #[cfg(test)] pub mod test_utils; +pub use galaxy_terminal::model::{char_or_str, escape_sequences, grid::cell, mouse, BlockId}; pub use secrets::{ set_user_and_enterprise_secret_regexes, ObfuscateSecrets, RespectObfuscatedSecrets, Secret, SecretHandle, }; -pub use galaxy_terminal::model::{char_or_str, escape_sequences, grid::cell, mouse, BlockId}; diff --git a/app/src/terminal/model/secrets.rs b/app/src/terminal/model/secrets.rs index 8a98db54..b9bdc51b 100644 --- a/app/src/terminal/model/secrets.rs +++ b/app/src/terminal/model/secrets.rs @@ -3,6 +3,8 @@ use crate::ai::blocklist::TextLocation; use crate::terminal::model::index::Point; use anyhow::anyhow; +use galaxyui::elements::SecretRange; +use galaxyui::EntityId; use itertools::Itertools; use lazy_static::lazy_static; use parking_lot::RwLock; @@ -10,8 +12,6 @@ use rangemap::{RangeInclusiveMap, StepLite}; use std::collections::HashMap; use std::ops::{Not, RangeInclusive}; use std::sync::atomic::{AtomicUsize, Ordering}; -use galaxyui::elements::SecretRange; -use galaxyui::EntityId; use super::grid::grid_handler::GridHandler; use super::grid::{Dimensions as _, RespectDisplayedOutput}; diff --git a/app/src/terminal/model/selection.rs b/app/src/terminal/model/selection.rs index 1f58ae82..59039682 100644 --- a/app/src/terminal/model/selection.rs +++ b/app/src/terminal/model/selection.rs @@ -4,9 +4,9 @@ //! finalized when the button is released. The selection should be cleared //! when text is added/removed/scrolled on the screen. The selection should //! also be cleared if the user clicks off of the selection. +use galaxy_terminal::model::grid::cell; use std::fmt::Debug; use vec1::Vec1; -use galaxy_terminal::model::grid::cell; use crate::terminal::model::ansi::CursorShape; use crate::terminal::model::cell::Flags; @@ -15,13 +15,13 @@ use crate::terminal::model::grid::Dimensions; use crate::terminal::model::index::{Point, Side}; use crate::terminal::model::GridStorage; use crate::terminal::Vector2F; +use galaxy_core::semantic_selection::SemanticSelection; +use galaxyui::text::SelectionType; +use galaxyui::units::Lines; use std::cmp::{max, min}; use std::mem; use std::ops::RangeInclusive; pub use std::ops::{Range, RangeBounds}; -use galaxy_core::semantic_selection::SemanticSelection; -use galaxyui::text::SelectionType; -use galaxyui::units::Lines; use super::index::{Direction, VisibleRow}; diff --git a/app/src/terminal/model/session.rs b/app/src/terminal/model/session.rs index 6273e7cc..baa37a1d 100644 --- a/app/src/terminal/model/session.rs +++ b/app/src/terminal/model/session.rs @@ -7,6 +7,10 @@ pub use command_executor::*; use anyhow::Result; use futures::future::{BoxFuture, Shared}; use futures::FutureExt; +use galaxy_util::path::{ + convert_msys2_to_windows_native_path, convert_wsl_to_windows_host_path, msys2_exe_to_root, + ShellFamily, +}; use instant::Instant; use once_cell::sync::OnceCell; use smol_str::SmolStr; @@ -17,16 +21,12 @@ use std::ops::Deref; use std::path::{Path, PathBuf}; use std::sync::Arc; use typed_path::{TypedPath, TypedPathBuf, WindowsPath}; -use galaxy_util::path::{ - convert_msys2_to_windows_native_path, convert_wsl_to_windows_host_path, msys2_exe_to_root, - ShellFamily, -}; -use version_compare::Version; use galaxy_completer::completer::{ CommandExitStatus, CommandOutput, PathSeparators, TopLevelCommandCaseSensitivity, }; use galaxyui::{platform::OperatingSystem, Entity, ModelContext, SingletonEntity}; +use version_compare::Version; #[cfg(feature = "local_tty")] use crate::features::FeatureFlag; @@ -842,7 +842,9 @@ pub enum SessionType { /// `RemoteServerManager` has completed the connection handshake. It is /// `None` when the feature flag is off or the connection hasn't been /// established yet. - WarpifiedRemote { host_id: Option }, + WarpifiedRemote { + host_id: Option, + }, } impl From for SessionType { diff --git a/app/src/terminal/model/session/active_session.rs b/app/src/terminal/model/session/active_session.rs index cf487d65..2db17dbd 100644 --- a/app/src/terminal/model/session/active_session.rs +++ b/app/src/terminal/model/session/active_session.rs @@ -1,5 +1,5 @@ -use std::sync::Arc; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; +use std::sync::Arc; use crate::{ ai_assistant::execution_context::WarpAiExecutionContext, diff --git a/app/src/terminal/model/session/command_executor.rs b/app/src/terminal/model/session/command_executor.rs index f2a70233..0ebab9d1 100644 --- a/app/src/terminal/model/session/command_executor.rs +++ b/app/src/terminal/model/session/command_executor.rs @@ -147,11 +147,11 @@ fn new_command_executor_for_local_tty_session( parent_session_info: Option<&SessionInfo>, ctx: &mut ModelContext, ) -> Arc { + use galaxyui::SingletonEntity as _; use msys2_command_executor::MSYS2CommandExecutor; use remote_server_executor::RemoteServerCommandExecutor; use settings::Setting as _; use tmux_executor::TmuxCommandExecutor; - use galaxyui::SingletonEntity as _; use wsl_command_executor::WslCommandExecutor; use crate::{ diff --git a/app/src/terminal/model/session/command_executor/in_band_command_executor.rs b/app/src/terminal/model/session/command_executor/in_band_command_executor.rs index c55396f0..e131f34b 100644 --- a/app/src/terminal/model/session/command_executor/in_band_command_executor.rs +++ b/app/src/terminal/model/session/command_executor/in_band_command_executor.rs @@ -8,10 +8,10 @@ use anyhow::Result; use async_channel::{self, Receiver, Sender}; use async_trait::async_trait; use chrono::DateTime; -use parking_lot::{Mutex, MutexGuard}; use galaxy_core::command::ExitCode; use galaxy_terminal::model::Point; use galaxyui::r#async::block_on; +use parking_lot::{Mutex, MutexGuard}; use crate::safe_info; use crate::server::datetime_ext::DateTimeExt; diff --git a/app/src/terminal/model/session/command_executor/msys2_command_executor.rs b/app/src/terminal/model/session/command_executor/msys2_command_executor.rs index 6988b29a..5a164613 100644 --- a/app/src/terminal/model/session/command_executor/msys2_command_executor.rs +++ b/app/src/terminal/model/session/command_executor/msys2_command_executor.rs @@ -6,11 +6,11 @@ use crate::{ use anyhow::{anyhow, Result}; use async_trait::async_trait; use command::r#async::Command; +use galaxy_completer::completer::CommandOutput; +use galaxy_util::path::{convert_msys2_to_windows_native_path, msys2_exe_to_root}; use itertools::Itertools; use std::{any::Any, collections::HashMap, ffi::OsString, path::PathBuf}; use typed_path::{TypedPath, WindowsPath}; -use galaxy_completer::completer::CommandOutput; -use galaxy_util::path::{convert_msys2_to_windows_native_path, msys2_exe_to_root}; const BASH_CONFIG_FLAG: &str = "--norc"; const POWERSHELL_CONFIG_FLAG: &str = "-NoProfile"; diff --git a/app/src/terminal/model/terminal_model.rs b/app/src/terminal/model/terminal_model.rs index 0cecdc09..86b0c435 100644 --- a/app/src/terminal/model/terminal_model.rs +++ b/app/src/terminal/model/terminal_model.rs @@ -61,13 +61,21 @@ use crate::terminal::model::session::SessionInfo; use crate::terminal::shell::{ShellName, ShellType}; use crate::terminal::model::secrets::ObfuscateSecrets; -use session_sharing_protocol::sharer::SessionSourceType; use galaxy_core::report_error; #[cfg(not(target_family = "wasm"))] use galaxyui::util::save_as_file; +use session_sharing_protocol::sharer::SessionSourceType; use async_channel::Sender; use base64::Engine; +use galaxy_core::features::FeatureFlag; +use galaxy_core::semantic_selection::SemanticSelection; +pub use galaxy_terminal::model::BlockIndex; +use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; +use galaxyui::assets::asset_cache::Asset; +use galaxyui::image_cache::ImageType; +use galaxyui::r#async::executor::Background; +use galaxyui::AppContext; use hex::FromHexError; use instant::Instant; use itertools::{Either, Itertools}; @@ -82,14 +90,6 @@ use std::ops::{Range, RangeInclusive}; use std::path::PathBuf; use std::str::FromStr; use std::sync::Arc; -use galaxy_core::features::FeatureFlag; -use galaxy_core::semantic_selection::SemanticSelection; -pub use galaxy_terminal::model::BlockIndex; -use galaxy_terminal::model::{KeyboardModes, KeyboardModesApplyBehavior}; -use galaxyui::assets::asset_cache::Asset; -use galaxyui::image_cache::ImageType; -use galaxyui::r#async::executor::Background; -use galaxyui::AppContext; /// Max size of the window title stack. const TITLE_STACK_MAX_DEPTH: usize = 4096; diff --git a/app/src/terminal/model/terminal_model_test.rs b/app/src/terminal/model/terminal_model_test.rs index 2860142a..0c44e646 100644 --- a/app/src/terminal/model/terminal_model_test.rs +++ b/app/src/terminal/model/terminal_model_test.rs @@ -6,11 +6,11 @@ use crate::terminal::model::grid::Dimensions as _; use crate::terminal::model::index::Side; use crate::terminal::model::selection::ExpandedSelectionRange; use chrono::{DateTime, Local}; -use vec1::vec1; use galaxy_core::command::ExitCode; use galaxy_terminal::model::ansi::ClearMode; use galaxyui::text::str_to_byte_vec; use galaxyui::text::SelectionType; +use vec1::vec1; /// Helper function to create a SerializedBlock with default values, /// including the new is_local field. diff --git a/app/src/terminal/package_installers.rs b/app/src/terminal/package_installers.rs index 6bd48e27..9e712bf9 100644 --- a/app/src/terminal/package_installers.rs +++ b/app/src/terminal/package_installers.rs @@ -2,9 +2,9 @@ use crate::completer::SessionContext; use crate::terminal::alias::is_expandable_alias; -use string_offset::ByteOffset; use galaxy_completer::parsers::simple::command_at_cursor_position; use galaxy_util::path::ShellFamily; +use string_offset::ByteOffset; /// Returns true if the command at the cursor position is likely a package installer command that would allow `@` at the start of the package name. /// This excludes package managers like Rust or Go that do not allow `@` at the start of the package name. diff --git a/app/src/terminal/package_installers_test.rs b/app/src/terminal/package_installers_test.rs index a7f1e927..eee44604 100644 --- a/app/src/terminal/package_installers_test.rs +++ b/app/src/terminal/package_installers_test.rs @@ -50,10 +50,10 @@ fn test_command_at_cursor_has_common_package_installer_prefix_with_alias_expansi use std::collections::HashMap; use std::sync::Arc; - use typed_path::TypedPathBuf; use galaxy_completer::signatures::CommandRegistry; use galaxy_util::path::ShellFamily; use galaxyui::App; + use typed_path::TypedPathBuf; use crate::completer::SessionContext; use crate::terminal::model::session::{ diff --git a/app/src/terminal/profile_model_selector.rs b/app/src/terminal/profile_model_selector.rs index d750da4f..3eaa0fd4 100644 --- a/app/src/terminal/profile_model_selector.rs +++ b/app/src/terminal/profile_model_selector.rs @@ -1,10 +1,4 @@ use ai::api_keys::{ApiKeyManager, ApiKeyManagerEvent}; -use indexmap::IndexMap; -use instant::{Duration, Instant}; -use parking_lot::FairMutex; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use std::sync::Arc; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, @@ -19,6 +13,12 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use indexmap::IndexMap; +use instant::{Duration, Instant}; +use parking_lot::FairMutex; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use std::sync::Arc; const SIDECAR_HORIZONTAL_GAP: f32 = 8.; const SIDECAR_POSITION_ID: &str = "model_sidecar_panel"; @@ -91,7 +91,9 @@ pub fn calculate_scaled_font_size(appearance: &galaxy_core::ui::appearance::Appe } /// Calculate the maximum width for profile name text (we will clip to this width) -pub fn calculate_max_profile_name_width(appearance: &galaxy_core::ui::appearance::Appearance) -> f32 { +pub fn calculate_max_profile_name_width( + appearance: &galaxy_core::ui::appearance::Appearance, +) -> f32 { let scaled_font_size = calculate_scaled_font_size(appearance); scaled_font_size * MAX_PROFILE_NAME_WIDTH_SCALE_FACTOR } diff --git a/app/src/terminal/prompt_render_helper.rs b/app/src/terminal/prompt_render_helper.rs index c57a3e4d..7f2d9230 100644 --- a/app/src/terminal/prompt_render_helper.rs +++ b/app/src/terminal/prompt_render_helper.rs @@ -10,8 +10,6 @@ use crate::themes::theme::PromptColors; use crate::{appearance::Appearance, terminal::model::blockgrid::BlockGrid}; use settings::Setting as _; -use std::fmt; -use std::num::NonZeroUsize; use galaxy_core::semantic_selection::SemanticSelection; use galaxyui::elements::{DispatchEventResult, SelectionHandle}; use galaxyui::ModelAsRef; @@ -21,6 +19,8 @@ use galaxyui::{ presenter::ChildView, AppContext, EntityId, ModelHandle, SingletonEntity, ViewHandle, }; +use std::fmt; +use std::num::NonZeroUsize; use super::input::InputRenderStateModel; use super::model::block::Block; diff --git a/app/src/terminal/remote_tty/event_loop.rs b/app/src/terminal/remote_tty/event_loop.rs index da8f701e..7f24f20c 100644 --- a/app/src/terminal/remote_tty/event_loop.rs +++ b/app/src/terminal/remote_tty/event_loop.rs @@ -5,11 +5,11 @@ use crate::terminal::{ }; use async_channel::Receiver; use futures_util::SinkExt; +use galaxyui::{Entity, ModelContext, SingletonEntity}; use parking_lot::FairMutex; use serde::Serialize; use std::io; use std::sync::Arc; -use galaxyui::{Entity, ModelContext, SingletonEntity}; use websocket::{Message, Sink, Stream, WebSocket, WebsocketMessage as _}; const CREATE_SESSION_ENDPOINT: &str = "ws://127.0.0.1:3030/create"; diff --git a/app/src/terminal/remote_tty/terminal_manager.rs b/app/src/terminal/remote_tty/terminal_manager.rs index 44ec6b97..987d1abb 100644 --- a/app/src/terminal/remote_tty/terminal_manager.rs +++ b/app/src/terminal/remote_tty/terminal_manager.rs @@ -17,11 +17,11 @@ use crate::terminal::model_events::ModelEventDispatcher; use crate::terminal::writeable_pty::{self, Message}; use crate::terminal::{terminal_manager, SizeInfo, TerminalModel, TerminalView}; use async_channel::{Receiver, Sender, TrySendError}; +use galaxyui::{AppContext, ModelHandle, ViewHandle, WindowId}; use parking_lot::FairMutex; use pathfinder_geometry::vector::Vector2F; use std::sync::mpsc::SyncSender; use std::sync::Arc; -use galaxyui::{AppContext, ModelHandle, ViewHandle, WindowId}; type PtyController = writeable_pty::PtyController>; diff --git a/app/src/terminal/rich_history.rs b/app/src/terminal/rich_history.rs index db63138e..0679bb29 100644 --- a/app/src/terminal/rich_history.rs +++ b/app/src/terminal/rich_history.rs @@ -1,5 +1,4 @@ use crate::input_suggestions::AIQueryHistoryEntryDetails; -use std::{borrow::Cow, ops::Sub}; use galaxyui::{ elements::{ Align, ConstrainedBox, Container, CrossAxisAlignment, Flex, Icon, ParentElement, Shrinkable, @@ -7,6 +6,7 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use std::{borrow::Cow, ops::Sub}; use super::HistoryEntry; use crate::{ diff --git a/app/src/terminal/safe_mode_settings.rs b/app/src/terminal/safe_mode_settings.rs index d93bb2c3..5494fe9e 100644 --- a/app/src/terminal/safe_mode_settings.rs +++ b/app/src/terminal/safe_mode_settings.rs @@ -1,7 +1,7 @@ +use galaxyui::{AppContext, SingletonEntity}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::{AppContext, SingletonEntity}; use crate::{terminal::model::ObfuscateSecrets, workspaces::user_workspaces::UserWorkspaces}; diff --git a/app/src/terminal/session_settings/new_session_shell.rs b/app/src/terminal/session_settings/new_session_shell.rs index e20a402e..092974f5 100644 --- a/app/src/terminal/session_settings/new_session_shell.rs +++ b/app/src/terminal/session_settings/new_session_shell.rs @@ -1,8 +1,8 @@ use std::path::PathBuf; -use serde::{Deserialize, Serialize}; use galaxy_util::path::ShellFamily; use galaxyui::platform::OperatingSystem; +use serde::{Deserialize, Serialize}; #[derive( Debug, diff --git a/app/src/terminal/settings.rs b/app/src/terminal/settings.rs index aca7e365..bf24e391 100644 --- a/app/src/terminal/settings.rs +++ b/app/src/terminal/settings.rs @@ -1,10 +1,10 @@ use serde::{Deserialize, Serialize}; use crate::settings::{AISettings, InputSettings, TerminalSpacing}; +use galaxyui::{units::Pixels, AppContext, SingletonEntity}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::{units::Pixels, AppContext, SingletonEntity}; #[derive( Clone, diff --git a/app/src/terminal/share_block_modal.rs b/app/src/terminal/share_block_modal.rs index e5c08805..de8ccbb7 100644 --- a/app/src/terminal/share_block_modal.rs +++ b/app/src/terminal/share_block_modal.rs @@ -30,13 +30,6 @@ use crate::editor::EditOrigin; use crate::settings::AISettings; use crate::workspaces::user_workspaces::UserWorkspaces; use anyhow::Result; -use parking_lot::FairMutex; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; -use serde::Serialize; -use std::{ops::RangeInclusive, sync::Arc}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::theme::Fill; use galaxyui::r#async::SpawnedFutureHandle; @@ -61,6 +54,13 @@ use galaxyui::{ LayoutContext, PaintContext, SingletonEntity, SizeConstraint, TypedActionView, View, ViewContext, ViewHandle, }; +use parking_lot::FairMutex; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; +use serde::Serialize; +use std::{ops::RangeInclusive, sync::Arc}; const PADDING: f32 = 30.; const INNER_MARGIN: f32 = 20.; diff --git a/app/src/terminal/shared_session/mod.rs b/app/src/terminal/shared_session/mod.rs index bbdd4d36..1e2c6ecb 100644 --- a/app/src/terminal/shared_session/mod.rs +++ b/app/src/terminal/shared_session/mod.rs @@ -1,9 +1,9 @@ use byte_unit::Byte; +use galaxyui::{id, keymap::ContextPredicate, AppContext}; use instant::Duration; use serde::{Deserialize, Serialize}; use session_sharing_protocol::common::{Role, Scrollback, ScrollbackBlock, SessionId}; use session_sharing_protocol::sharer::SessionSourceType; -use galaxyui::{id, keymap::ContextPredicate, AppContext}; use crate::{ channel::{Channel, ChannelState}, diff --git a/app/src/terminal/shared_session/mod_test.rs b/app/src/terminal/shared_session/mod_test.rs index fe478b1d..9724d9ba 100644 --- a/app/src/terminal/shared_session/mod_test.rs +++ b/app/src/terminal/shared_session/mod_test.rs @@ -11,12 +11,12 @@ use crate::terminal::model::ObfuscateSecrets; use crate::terminal::TerminalModel; use crate::terminal::{event_listener::ChannelEventListener, model::block::SerializedBlock}; use crate::themes::default_themes::dark_theme; +use galaxyui::r#async::executor::Background; +use galaxyui::units::Lines; use serde_json::Value; use session_sharing_protocol::common::{Scrollback, ScrollbackBlock}; use std::sync::Arc; use url::Url; -use galaxyui::r#async::executor::Background; -use galaxyui::units::Lines; pub const MAX_BYTES_SHAREABLE: usize = 5000; diff --git a/app/src/terminal/shared_session/network/heartbeat.rs b/app/src/terminal/shared_session/network/heartbeat.rs index c01ebfe4..50c9700f 100644 --- a/app/src/terminal/shared_session/network/heartbeat.rs +++ b/app/src/terminal/shared_session/network/heartbeat.rs @@ -1,7 +1,7 @@ use futures::stream::AbortHandle; -use std::time::Duration; use galaxyui::r#async::Timer; use galaxyui::{Entity, ModelContext}; +use std::time::Duration; const DEFAULT_PING_FREQUENCY: Duration = Duration::from_secs(5); const DEFAULT_IDLE_TIMEOUT: Duration = Duration::from_secs(30); diff --git a/app/src/terminal/shared_session/network/heartbeat_tests.rs b/app/src/terminal/shared_session/network/heartbeat_tests.rs index d50690e0..feea9feb 100644 --- a/app/src/terminal/shared_session/network/heartbeat_tests.rs +++ b/app/src/terminal/shared_session/network/heartbeat_tests.rs @@ -1,7 +1,7 @@ use super::{Event, Heartbeat}; -use std::time::Duration; use galaxyui::r#async::Timer; use galaxyui::App; +use std::time::Duration; #[test] #[ignore = "Flakes in CI"] diff --git a/app/src/terminal/shared_session/participant_avatar_view.rs b/app/src/terminal/shared_session/participant_avatar_view.rs index 312ca86a..6fcf6374 100644 --- a/app/src/terminal/shared_session/participant_avatar_view.rs +++ b/app/src/terminal/shared_session/participant_avatar_view.rs @@ -5,11 +5,6 @@ use crate::{ appearance::Appearance, ui_components::{buttons::icon_button, icons::Icon}, }; -use instant::Duration; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use session_sharing_protocol::common::{ParticipantId, ParticipantInfo, Role}; -use session_sharing_protocol::sharer::RoleUpdateReason; use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use galaxyui::{ accessibility::AccessibilityContent, @@ -23,6 +18,11 @@ use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; use galaxyui::{FocusContext, ViewHandle}; +use instant::Duration; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use session_sharing_protocol::common::{ParticipantId, ParticipantInfo, Role}; +use session_sharing_protocol::sharer::RoleUpdateReason; use super::render_util::non_hoverable_participant_avatar; diff --git a/app/src/terminal/shared_session/permissions_manager.rs b/app/src/terminal/shared_session/permissions_manager.rs index e68eb54b..8b349da9 100644 --- a/app/src/terminal/shared_session/permissions_manager.rs +++ b/app/src/terminal/shared_session/permissions_manager.rs @@ -1,5 +1,5 @@ -use session_sharing_protocol::common::{Guest, PendingGuest, Role, SessionId, TeamAclData}; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use session_sharing_protocol::common::{Guest, PendingGuest, Role, SessionId, TeamAclData}; use crate::drive::sharing::SharingAccessLevel; pub struct SessionPermissionsManager {} diff --git a/app/src/terminal/shared_session/presence_manager_test.rs b/app/src/terminal/shared_session/presence_manager_test.rs index d4cb3602..f3c6c7ea 100644 --- a/app/src/terminal/shared_session/presence_manager_test.rs +++ b/app/src/terminal/shared_session/presence_manager_test.rs @@ -7,12 +7,12 @@ use crate::terminal::shared_session::presence_manager::{PresenceManager, PRESET_ use std::collections::{HashMap, HashSet}; use std::iter; +use galaxy_core::command::ExitCode; +use galaxyui::App; use itertools::Itertools; use session_sharing_protocol::common::{ ParticipantId, ParticipantInfo, ParticipantList, ProfileData, Role, Selection, Sharer, Viewer, }; -use galaxy_core::command::ExitCode; -use galaxyui::App; #[test] fn test_choosing_preset_colors() { diff --git a/app/src/terminal/shared_session/render_util.rs b/app/src/terminal/shared_session/render_util.rs index 077d6a2b..8c6b7465 100644 --- a/app/src/terminal/shared_session/render_util.rs +++ b/app/src/terminal/shared_session/render_util.rs @@ -4,8 +4,6 @@ use crate::{ }; use galaxyui::{elements::CornerRadius, fonts::Weight}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ ChildAnchor, Fill, Hoverable, MouseStateHandle, OffsetPositioning, ParentAnchor, @@ -14,6 +12,8 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, SingletonEntity, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use super::presence_manager::{Participant, MUTED_AVATAR_BORDER_COLOR, MUTED_PARTICIPANT_COLOR}; diff --git a/app/src/terminal/shared_session/role_change_modal/mod.rs b/app/src/terminal/shared_session/role_change_modal/mod.rs index 46935208..9d4a92e8 100644 --- a/app/src/terminal/shared_session/role_change_modal/mod.rs +++ b/app/src/terminal/shared_session/role_change_modal/mod.rs @@ -1,10 +1,10 @@ -use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId}; use galaxyui::elements::Empty; use galaxyui::presenter::ChildView; use galaxyui::{ ui_components::components::{Coords, UiComponentStyles}, AppContext, Element, Entity, View, ViewContext, ViewHandle, }; +use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId}; use crate::modal::Modal; use crate::pane_group::TerminalPaneId; diff --git a/app/src/terminal/shared_session/role_change_modal/sharer_response_body.rs b/app/src/terminal/shared_session/role_change_modal/sharer_response_body.rs index c5068f66..ca5109a1 100644 --- a/app/src/terminal/shared_session/role_change_modal/sharer_response_body.rs +++ b/app/src/terminal/shared_session/role_change_modal/sharer_response_body.rs @@ -4,7 +4,6 @@ use crate::terminal::shared_session::render_util::{ non_hoverable_participant_avatar, ParticipantAvatarParams, }; use crate::{appearance::Appearance, ui_components::blended_colors}; -use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId}; use galaxyui::elements::{ ConstrainedBox, Container, Flex, MainAxisAlignment, MouseStateHandle, ParentElement, Text, }; @@ -19,6 +18,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId}; use galaxy_core::features::FeatureFlag; diff --git a/app/src/terminal/shared_session/role_change_modal/viewer_request_body.rs b/app/src/terminal/shared_session/role_change_modal/viewer_request_body.rs index 19cf69b2..e93cb9f2 100644 --- a/app/src/terminal/shared_session/role_change_modal/viewer_request_body.rs +++ b/app/src/terminal/shared_session/role_change_modal/viewer_request_body.rs @@ -1,6 +1,7 @@ use crate::{appearance::Appearance, ui_components::blended_colors}; -use session_sharing_protocol::common::Role; -use galaxyui::elements::{Container, Flex, MainAxisAlignment, MouseStateHandle, ParentElement, Text}; +use galaxyui::elements::{ + Container, Flex, MainAxisAlignment, MouseStateHandle, ParentElement, Text, +}; use galaxyui::{ elements::CrossAxisAlignment, fonts::Weight, @@ -11,6 +12,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use session_sharing_protocol::common::Role; use super::{BODY_PADDING, HEADER_FONT_SIZE, MODAL_PADDING, TEXT_FONT_SIZE}; diff --git a/app/src/terminal/shared_session/share_modal/mod.rs b/app/src/terminal/shared_session/share_modal/mod.rs index 54764061..15004438 100644 --- a/app/src/terminal/shared_session/share_modal/mod.rs +++ b/app/src/terminal/shared_session/share_modal/mod.rs @@ -8,11 +8,11 @@ use crate::ui_components::icons::Icon; use std::default::Default; use std::sync::Arc; -use parking_lot::FairMutex; -use style::{DENIED_MODAL_WIDTH, MODAL_HEIGHT, MODAL_WIDTH}; use galaxy_core::ui::appearance::Appearance; use galaxyui::keymap::FixedBinding; use galaxyui::EntityId; +use parking_lot::FairMutex; +use style::{DENIED_MODAL_WIDTH, MODAL_HEIGHT, MODAL_WIDTH}; use galaxyui::presenter::ChildView; use galaxyui::ui_components::components::UiComponentStyles; diff --git a/app/src/terminal/shared_session/shared_handlers.rs b/app/src/terminal/shared_session/shared_handlers.rs index 1a9e1186..0a017e5f 100644 --- a/app/src/terminal/shared_session/shared_handlers.rs +++ b/app/src/terminal/shared_session/shared_handlers.rs @@ -1,13 +1,13 @@ use std::cell::Cell; use std::rc::Rc; +use galaxy_core::features::FeatureFlag; +use galaxyui::{AppContext, ModelHandle, SingletonEntity, WeakViewHandle}; use input_classifier::InputType; use session_sharing_protocol::common::{ CLIAgentSessionState, InputMode, InputType as ProtocolInputType, SelectedAgentModel, SelectedConversation, ServerConversationToken, UniversalDeveloperInputContextUpdate, }; -use galaxy_core::features::FeatureFlag; -use galaxyui::{AppContext, ModelHandle, SingletonEntity, WeakViewHandle}; use crate::ai::blocklist::agent_view::{AgentViewController, AgentViewEntryOrigin}; use crate::ai::blocklist::{BlocklistAIContextModel, BlocklistAIHistoryModel, InputConfig}; diff --git a/app/src/terminal/shared_session/sharer/network.rs b/app/src/terminal/shared_session/sharer/network.rs index 6511e235..21930ca6 100644 --- a/app/src/terminal/shared_session/sharer/network.rs +++ b/app/src/terminal/shared_session/sharer/network.rs @@ -11,6 +11,7 @@ use async_channel::Receiver; use byte_unit::{Byte, UnitType}; use futures_util::stream::AbortHandle; use futures_util::{SinkExt, StreamExt}; +use galaxy_core::features::FeatureFlag; use instant::Instant; use parking_lot::FairMutex; use session_sharing_protocol::common::{ @@ -31,7 +32,6 @@ use session_sharing_protocol::sharer::{ }; use session_sharing_protocol::sharer::{FailedToInitializeSessionReason, SessionEndedReason}; use std::collections::HashMap; -use galaxy_core::features::FeatureFlag; use std::pin::pin; use std::sync::Arc; diff --git a/app/src/terminal/shared_session/sharer/network_test.rs b/app/src/terminal/shared_session/sharer/network_test.rs index ba5b7e15..d7fe968f 100644 --- a/app/src/terminal/shared_session/sharer/network_test.rs +++ b/app/src/terminal/shared_session/sharer/network_test.rs @@ -4,6 +4,7 @@ use async_channel::Sender; use futures_util::stream::AbortHandle; use instant::Instant; +use galaxyui::{App, ModelHandle}; use parking_lot::FairMutex; use session_sharing_protocol::{ common::{ @@ -12,7 +13,6 @@ use session_sharing_protocol::{ }, sharer::{DownstreamMessage, ReconnectToken, UpstreamMessage}, }; -use galaxyui::{App, ModelHandle}; use websocket::{Message, WebsocketMessage as _}; use crate::{ diff --git a/app/src/terminal/shared_session/viewer/event_loop.rs b/app/src/terminal/shared_session/viewer/event_loop.rs index 55016066..aa7a6e6f 100644 --- a/app/src/terminal/shared_session/viewer/event_loop.rs +++ b/app/src/terminal/shared_session/viewer/event_loop.rs @@ -3,13 +3,13 @@ use crate::ai::blocklist::block::cli_controller::LongRunningCommandControlState; use crate::ai::blocklist::history_model::BlocklistAIHistoryModel; use crate::features::FeatureFlag; use crate::terminal::model::block::AgentInteractionMetadata; +use galaxyui::{Entity, ModelContext, SingletonEntity, WeakViewHandle}; use parking_lot::FairMutex; use session_sharing_protocol::common::{ OrderedTerminalEvent, OrderedTerminalEventType, Scrollback, WindowSize, }; use std::io::{sink, Sink}; use std::sync::Arc; -use galaxyui::{Entity, ModelContext, SingletonEntity, WeakViewHandle}; use crate::terminal::event_listener::ChannelEventListener; use crate::terminal::model::ansi::{self}; diff --git a/app/src/terminal/shared_session/viewer/event_loop_test.rs b/app/src/terminal/shared_session/viewer/event_loop_test.rs index 343d6ba2..af0b1cc4 100644 --- a/app/src/terminal/shared_session/viewer/event_loop_test.rs +++ b/app/src/terminal/shared_session/viewer/event_loop_test.rs @@ -8,13 +8,13 @@ use crate::terminal::{ use crate::test_util::add_window_with_terminal; use crate::test_util::terminal::initialize_app_for_terminal_view; +use galaxyui::units::Lines; +use galaxyui::{App, ViewHandle}; use parking_lot::FairMutex; use session_sharing_protocol::common::{ OrderedTerminalEvent, OrderedTerminalEventType, Scrollback, ScrollbackBlock, WindowSize, }; use std::sync::Arc; -use galaxyui::units::Lines; -use galaxyui::{App, ViewHandle}; fn ordered_terminal_event_from_bytes( bytes: impl Into>, diff --git a/app/src/terminal/shared_session/viewer/mod_test.rs b/app/src/terminal/shared_session/viewer/mod_test.rs index 861a2dbb..f6e95127 100644 --- a/app/src/terminal/shared_session/viewer/mod_test.rs +++ b/app/src/terminal/shared_session/viewer/mod_test.rs @@ -1,5 +1,5 @@ -use settings::Setting; use galaxyui::{App, SingletonEntity}; +use settings::Setting; use crate::{ terminal::{ diff --git a/app/src/terminal/shared_session/viewer/network.rs b/app/src/terminal/shared_session/viewer/network.rs index 3c9645b5..bb502728 100644 --- a/app/src/terminal/shared_session/viewer/network.rs +++ b/app/src/terminal/shared_session/viewer/network.rs @@ -4,9 +4,9 @@ use anyhow::bail; use async_channel::Receiver; +use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use instant::Instant; use std::{pin::pin, sync::Arc}; -use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use futures_util::{stream::AbortHandle, SinkExt, StreamExt}; @@ -31,11 +31,11 @@ use session_sharing_protocol::{ }, }; -use std::time::Duration; use galaxy_core::features::FeatureFlag; use galaxyui::{ Entity, ModelContext, ModelHandle, RequestState, RetryOption, SingletonEntity, WeakViewHandle, }; +use std::time::Duration; use websocket::{Message, Sink, Stream, WebsocketMessage as _}; use crate::{ diff --git a/app/src/terminal/ssh/error.rs b/app/src/terminal/ssh/error.rs index 39999737..e2d27166 100644 --- a/app/src/terminal/ssh/error.rs +++ b/app/src/terminal/ssh/error.rs @@ -5,9 +5,6 @@ use crate::terminal::warpify::render::apply_spacing_styles; use crate::terminal::warpify::render::build_description_row; use crate::terminal::warpify::settings::WarpifySettings; use crate::ui_components::icons::Icon as UiIcon; -use markdown_parser::FormattedText; -use markdown_parser::FormattedTextFragment; -use markdown_parser::FormattedTextLine; use galaxy_core::channel::ChannelState; use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::HighlightedHyperlink; @@ -28,6 +25,9 @@ use galaxyui::{ elements::{Border, Container, CrossAxisAlignment, Flex, ParentElement}, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::FormattedText; +use markdown_parser::FormattedTextFragment; +use markdown_parser::FormattedTextLine; const TMUX_NOT_INSTALLED_ERROR: &str = "tmux is not installed on the remote machine. Please install tmux and try again."; diff --git a/app/src/terminal/ssh/install_tmux.rs b/app/src/terminal/ssh/install_tmux.rs index fab18980..0b263ed3 100644 --- a/app/src/terminal/ssh/install_tmux.rs +++ b/app/src/terminal/ssh/install_tmux.rs @@ -10,7 +10,6 @@ use crate::terminal::warpify::render; use crate::terminal::warpify::settings::WarpifySettings; use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon as UiIcon; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::{ FormattedTextElement, HighlightedHyperlink, Hoverable, Icon, MainAxisAlignment, MainAxisSize, @@ -23,6 +22,7 @@ use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; use galaxyui::{BlurContext, FocusContext}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; pub const WHY_INSTALL_TMUX_URL: &str = "https://docs.warp.dev/terminal/warpify/ssh#why-do-i-need-tmux-on-the-remote-machine"; diff --git a/app/src/terminal/ssh/ssh_detection.rs b/app/src/terminal/ssh/ssh_detection.rs index 0a71ddbb..3025959a 100644 --- a/app/src/terminal/ssh/ssh_detection.rs +++ b/app/src/terminal/ssh/ssh_detection.rs @@ -1,6 +1,6 @@ -use serde::{Deserialize, Serialize}; use galaxy_core::{features::FeatureFlag, settings::Setting}; use galaxy_util::path::ShellFamily; +use serde::{Deserialize, Serialize}; use crate::terminal::warpify::settings::WarpifySettings; diff --git a/app/src/terminal/ssh/warpify.rs b/app/src/terminal/ssh/warpify.rs index 884590a4..d2a05464 100644 --- a/app/src/terminal/ssh/warpify.rs +++ b/app/src/terminal/ssh/warpify.rs @@ -1,7 +1,7 @@ use asset_macro::bundled_asset; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::theme::WarpTheme; use galaxyui::assets::asset_cache::{AssetCache, AssetState}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::ai::blocklist::inline_action::requested_action::RenderableAction; use crate::appearance::Appearance; diff --git a/app/src/terminal/terminal_manager.rs b/app/src/terminal/terminal_manager.rs index d0f7d17f..eaf94a87 100644 --- a/app/src/terminal/terminal_manager.rs +++ b/app/src/terminal/terminal_manager.rs @@ -1,8 +1,8 @@ +use galaxyui::{AppContext, SingletonEntity, ViewHandle}; use parking_lot::FairMutex; use pathfinder_geometry::vector::Vector2F; use settings::Setting as _; use std::{any::Any, path::PathBuf, sync::Arc}; -use galaxyui::{AppContext, SingletonEntity, ViewHandle}; use crate::PrivacySettings; use crate::{ diff --git a/app/src/terminal/universal_developer_input.rs b/app/src/terminal/universal_developer_input.rs index e7d5e1a0..9938170f 100644 --- a/app/src/terminal/universal_developer_input.rs +++ b/app/src/terminal/universal_developer_input.rs @@ -11,13 +11,6 @@ use crate::{ }, terminal::view::ambient_agent::AmbientAgentViewModel, }; -use pathfinder_color::ColorU; -#[cfg(not(target_family = "wasm"))] -use settings::Setting as _; -use std::borrow::Cow; -use std::cell::RefCell; -use std::rc::Rc; -use std::sync::Arc; use galaxyui::{ elements::{ ChildView, Clipped, Container, CornerRadius, CrossAxisAlignment, Fill, Flex, @@ -28,6 +21,13 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, SingletonEntity as _, TypedActionView, View, ViewAsRef, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +#[cfg(not(target_family = "wasm"))] +use settings::Setting as _; +use std::borrow::Cow; +use std::cell::RefCell; +use std::rc::Rc; +use std::sync::Arc; use galaxy_core::ui::{ color::{ @@ -38,11 +38,11 @@ use galaxy_core::ui::{ theme, }; -use std::boxed::Box; use galaxyui::{ ui_components::segmented_control::{SegmentedControl, SegmentedControlEvent}, ModelHandle, }; +use std::boxed::Box; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; diff --git a/app/src/terminal/view.rs b/app/src/terminal/view.rs index e3c9a1ae..d905f123 100644 --- a/app/src/terminal/view.rs +++ b/app/src/terminal/view.rs @@ -176,6 +176,10 @@ use block_onboarding::onboarding_agentic_suggestions_block::{ OnboardingAgenticSuggestionsBlock, OnboardingAgenticSuggestionsBlockEvent, OnboardingChipType, }; use block_onboarding::onboarding_drive_sharing_block::OnboardingDriveSharingBlock; +use galaxy_core::channel::ChannelState; +use galaxyui::elements::{shimmering_text::ShimmeringTextStateHandle, Border, ChildView}; +use galaxyui::fonts::Properties; +use galaxyui::{ViewHandle, WeakModelHandle}; pub use init::{ init, CANCEL_COMMAND_KEYBINDING, TOGGLE_AUTOEXECUTE_MODE_KEYBINDING, TOGGLE_HIDE_CLI_RESPONSES_KEYBINDING, TOGGLE_QUEUE_NEXT_PROMPT_KEYBINDING, @@ -187,10 +191,6 @@ use session_sharing_protocol::common::LongRunningCommandAgentInteractionState; use session_sharing_protocol::sharer::{RoleUpdateReason, SessionEndedReason, SessionSourceType}; use ssh_file_upload::{FileUpload, FileUploadEvent}; use uuid::Uuid; -use galaxy_core::channel::ChannelState; -use galaxyui::elements::{shimmering_text::ShimmeringTextStateHandle, Border, ChildView}; -use galaxyui::fonts::Properties; -use galaxyui::{ViewHandle, WeakModelHandle}; use crate::ai::agent::conversation::{AIConversation, AIConversationId, ConversationStatus}; @@ -346,6 +346,30 @@ use chrono::{DateTime, Local, NaiveDateTime}; use command_corrections::rules::{Rule, RuleId as CommandCorrectionsRuleId}; use command_corrections::{correct_command, Command, Correction, HistoryItem, SessionMetadata}; use enclose::enclose; +use galaxy_core::context_flag::ContextFlag; +use galaxy_core::user_preferences::GetUserPreferences as _; +#[cfg(feature = "local_fs")] +use galaxy_util::path::LineAndColumnArg; +use galaxy_util::path::ShellFamily; +use galaxyui::clipboard::ClipboardContent; +use galaxyui::elements::new_scrollable::{ + AxisConfiguration, ClippedAxisConfiguration, DualAxisConfig, NewScrollableElement, + ScrollableAppearance, SingleAxisConfig, +}; +use galaxyui::elements::{ + get_rich_content_position_id, ChildAnchor, ClippedScrollStateHandle, Container, + CrossAxisAlignment, DispatchEventResult, DropTarget, DropTargetData, Empty, EventHandler, + Expanded, Flex, NewScrollable, OffsetPositioning, ParentAnchor, ParentElement, + ParentOffsetBounds, PositionedElementAnchor, PositionedElementOffsetBounds, Radius, + ScrollableElement, ScrollbarWidth, Shrinkable, Text, +}; +use galaxyui::event::ModifiersState; +use galaxyui::keymap::Keystroke; +use galaxyui::notification::{NotificationSendError, RequestPermissionsOutcome, UserNotification}; +use galaxyui::platform::{Cursor, OperatingSystem}; +use galaxyui::r#async::executor::Background; +use galaxyui::r#async::{SpawnedFutureHandle, Timer}; +use galaxyui::windowing::WindowManager; use instant::Instant; use itertools::Itertools; use lazy_static::lazy_static; @@ -378,30 +402,6 @@ use std::thread::JoinHandle; use std::time::Duration; use sum_tree::SeekBias; use vec1::vec1; -use galaxy_core::context_flag::ContextFlag; -use galaxy_core::user_preferences::GetUserPreferences as _; -#[cfg(feature = "local_fs")] -use galaxy_util::path::LineAndColumnArg; -use galaxy_util::path::ShellFamily; -use galaxyui::clipboard::ClipboardContent; -use galaxyui::elements::new_scrollable::{ - AxisConfiguration, ClippedAxisConfiguration, DualAxisConfig, NewScrollableElement, - ScrollableAppearance, SingleAxisConfig, -}; -use galaxyui::elements::{ - get_rich_content_position_id, ChildAnchor, ClippedScrollStateHandle, Container, - CrossAxisAlignment, DispatchEventResult, DropTarget, DropTargetData, Empty, EventHandler, - Expanded, Flex, NewScrollable, OffsetPositioning, ParentAnchor, ParentElement, - ParentOffsetBounds, PositionedElementAnchor, PositionedElementOffsetBounds, Radius, - ScrollableElement, ScrollbarWidth, Shrinkable, Text, -}; -use galaxyui::event::ModifiersState; -use galaxyui::keymap::Keystroke; -use galaxyui::notification::{NotificationSendError, RequestPermissionsOutcome, UserNotification}; -use galaxyui::platform::{Cursor, OperatingSystem}; -use galaxyui::r#async::executor::Background; -use galaxyui::r#async::{SpawnedFutureHandle, Timer}; -use galaxyui::windowing::WindowManager; use galaxyui::assets::asset_cache::{AssetCache, AssetCacheEvent}; use galaxyui::image_cache::ImageType; @@ -425,7 +425,9 @@ use galaxyui::{ record_trace_event, WindowId, }; -use galaxyui::{windowing, CursorInfo, EntityId, EventContext, ModelAsRef, SingletonEntity, Tracked}; +use galaxyui::{ + windowing, CursorInfo, EntityId, EventContext, ModelAsRef, SingletonEntity, Tracked, +}; use crate::ai_assistant::{AskAIType, ASK_AI_ASSISTANT_TEXT}; use crate::appearance::{Appearance, AppearanceEvent}; @@ -509,9 +511,9 @@ use crate::terminal::{ TerminalModel, }; use crate::view_components::find::{Event as FindEvent, Find, FindDirection, FindWithinBlockState}; -use settings::{Setting, ToggleableSetting}; use galaxy_core::semantic_selection::SemanticSelection; use galaxyui::text::SelectionType; +use settings::{Setting, ToggleableSetting}; use crate::menu::{Event as MenuEvent, Menu, MenuItem, MenuItemFields}; use crate::server::telemetry::{BlockLatencyInfo, BootstrappingInfo}; @@ -566,6 +568,7 @@ use action::RememberForWarpification; use block_banner::{render_warpification_banner, WarpificationMode, WarpifyBannerState}; use bookmarks::render_floating_block_snapshot; use command_corrections::rules::generic::history::History as CommandCorrectionsHistoryRule; +use galaxy_core::command::ExitCode; use init::{INPUT_BOX_VISIBLE_KEY, TOGGLE_BLOCK_FILTER_KEYBINDING}; use inline_banner::{ render_alias_expansion_banner, render_aws_bedrock_login_banner, @@ -578,7 +581,6 @@ use inline_banner::{ AwsCliNotInstalledBannerAction, AwsCliNotInstalledBannerState, ByoLlmAuthBannerSessionState, OpenInWarpBannerState, SSHBannerAction, SSHBannerState, VimModeBannerAction, }; -use galaxy_core::command::ExitCode; lazy_static! { // A set of commands that perform minimal work that we use as a baseline to measure the latency of blocks. diff --git a/app/src/terminal/view/action.rs b/app/src/terminal/view/action.rs index 9a73f072..518f8886 100644 --- a/app/src/terminal/view/action.rs +++ b/app/src/terminal/view/action.rs @@ -5,14 +5,14 @@ use std::path::PathBuf; use ai::skills::SkillReference; use command_corrections::Correction; -use pathfinder_geometry::vector::Vector2F; -use session_sharing_protocol::common::Role; -use session_sharing_protocol::sharer::RoleUpdateReason; use galaxy_util::user_input::UserInput; use galaxyui::elements::HyperlinkUrl; use galaxyui::event::ModifiersState; use galaxyui::units::Lines; use galaxyui::EntityId; +use pathfinder_geometry::vector::Vector2F; +use session_sharing_protocol::common::Role; +use session_sharing_protocol::sharer::RoleUpdateReason; use crate::ai::agent::conversation::AIConversationId; use crate::ai::agent::AIAgentExchangeId; diff --git a/app/src/terminal/view/ambient_agent/block/entry.rs b/app/src/terminal/view/ambient_agent/block/entry.rs index ee9befb2..66743be3 100644 --- a/app/src/terminal/view/ambient_agent/block/entry.rs +++ b/app/src/terminal/view/ambient_agent/block/entry.rs @@ -1,4 +1,3 @@ -use settings::Setting; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::{appearance::Appearance, Icon}; use galaxyui::prelude::Empty; @@ -15,6 +14,7 @@ use galaxyui::{ Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakModelHandle, }; +use settings::Setting; use crate::ai::blocklist::agent_view::{render_block_container, AgentViewEntryOrigin}; use crate::terminal::view::ambient_agent::AmbientAgentViewModel; diff --git a/app/src/terminal/view/ambient_agent/block/setup_command.rs b/app/src/terminal/view/ambient_agent/block/setup_command.rs index 3c545041..ebfe5907 100644 --- a/app/src/terminal/view/ambient_agent/block/setup_command.rs +++ b/app/src/terminal/view/ambient_agent/block/setup_command.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use parking_lot::FairMutex; use galaxy_core::ui::appearance::Appearance; use galaxy_terminal::model::BlockId; use galaxyui::{ @@ -8,6 +7,7 @@ use galaxyui::{ scene::{CornerRadius, Radius}, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use parking_lot::FairMutex; use crate::{ ai::{ diff --git a/app/src/terminal/view/ambient_agent/first_time_setup.rs b/app/src/terminal/view/ambient_agent/first_time_setup.rs index 6f687b6e..1b06f99e 100644 --- a/app/src/terminal/view/ambient_agent/first_time_setup.rs +++ b/app/src/terminal/view/ambient_agent/first_time_setup.rs @@ -16,7 +16,6 @@ use crate::{ }, ui_components::blended_colors, }; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::theme::{AnsiColorIdentifier, Fill}; use galaxyui::{ elements::{ @@ -27,6 +26,7 @@ use galaxyui::{ fonts::{Properties, Weight}, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; /// Max width for the content area (matches Figma: 592px) const CONTENT_MAX_WIDTH: f32 = 592.; diff --git a/app/src/terminal/view/ambient_agent/footer.rs b/app/src/terminal/view/ambient_agent/footer.rs index 9bc06566..0d7416ca 100644 --- a/app/src/terminal/view/ambient_agent/footer.rs +++ b/app/src/terminal/view/ambient_agent/footer.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -8,6 +7,7 @@ use galaxyui::{ fonts::{Properties, Weight}, Element, }; +use pathfinder_color::ColorU; use crate::ui_components::blended_colors; diff --git a/app/src/terminal/view/ambient_agent/harness_selector.rs b/app/src/terminal/view/ambient_agent/harness_selector.rs index 2cf8a50f..c755eb1f 100644 --- a/app/src/terminal/view/ambient_agent/harness_selector.rs +++ b/app/src/terminal/view/ambient_agent/harness_selector.rs @@ -4,7 +4,6 @@ use std::sync::Arc; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, OffsetPositioning, ParentAnchor, ParentElement as _, @@ -13,6 +12,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use galaxy_cli::agent::Harness; use galaxy_core::ui::appearance::Appearance; diff --git a/app/src/terminal/view/ambient_agent/host_selector.rs b/app/src/terminal/view/ambient_agent/host_selector.rs index 25c85540..b311432c 100644 --- a/app/src/terminal/view/ambient_agent/host_selector.rs +++ b/app/src/terminal/view/ambient_agent/host_selector.rs @@ -1,7 +1,5 @@ use std::sync::Arc; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, OffsetPositioning, ParentAnchor, ParentElement as _, @@ -10,6 +8,8 @@ use galaxyui::{ fonts::{Properties, Weight}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; diff --git a/app/src/terminal/view/ambient_agent/loading_screen.rs b/app/src/terminal/view/ambient_agent/loading_screen.rs index e725bed6..74d515da 100644 --- a/app/src/terminal/view/ambient_agent/loading_screen.rs +++ b/app/src/terminal/view/ambient_agent/loading_screen.rs @@ -1,6 +1,5 @@ //! Loading screen UI for cloud mode initialization. -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::AnsiColorIdentifier; use galaxy_core::ui::Icon; @@ -17,6 +16,7 @@ use galaxyui::text_layout::TextAlignment; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::UiComponent; use galaxyui::{AppContext, ModelHandle, SingletonEntity}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::ai::agent_tips::{AITip, AITipModel}; use crate::ai::loading::shimmering_warp_loading_text; diff --git a/app/src/terminal/view/ambient_agent/mod.rs b/app/src/terminal/view/ambient_agent/mod.rs index f856835b..149b919a 100644 --- a/app/src/terminal/view/ambient_agent/mod.rs +++ b/app/src/terminal/view/ambient_agent/mod.rs @@ -14,6 +14,7 @@ mod view_impl; pub use block::*; pub use first_time_setup::{FirstTimeCloudAgentSetupView, FirstTimeCloudAgentSetupViewEvent}; pub use footer::{render_error_footer, render_loading_footer}; +use galaxy_core::features::FeatureFlag; pub use harness_selector::{HarnessSelector, HarnessSelectorAction, HarnessSelectorEvent}; pub use host_selector::{ Host, HostSelector, HostSelectorAction, HostSelectorEvent, NakedHeaderButtonTheme, @@ -24,7 +25,6 @@ pub use model_selector::{ModelSelector, ModelSelectorAction, ModelSelectorEvent} pub use progress::{render_progress, ProgressProps, ProgressStep, ProgressStepState}; pub use progress_ui_state::AmbientAgentProgressUIState; pub use tips::{get_cloud_mode_tips, CloudModeTip}; -use galaxy_core::features::FeatureFlag; use crate::ai::blocklist::agent_view::{AgentViewController, AgentViewState}; use crate::ai::blocklist::BlocklistAIHistoryModel; diff --git a/app/src/terminal/view/ambient_agent/model.rs b/app/src/terminal/view/ambient_agent/model.rs index b1e1c573..b0f82439 100644 --- a/app/src/terminal/view/ambient_agent/model.rs +++ b/app/src/terminal/view/ambient_agent/model.rs @@ -1,12 +1,12 @@ use std::time::Duration; -use instant::Instant; -use session_sharing_protocol::common::SessionId; use galaxy_cli::agent::Harness; use galaxy_core::features::FeatureFlag; use galaxy_core::send_telemetry_from_ctx; use galaxyui::r#async::{SpawnedFutureHandle, Timer}; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity}; +use instant::Instant; +use session_sharing_protocol::common::SessionId; use crate::ai::active_agent_views_model::ActiveAgentViewsModel; use crate::ai::agent::conversation::AIConversationId; diff --git a/app/src/terminal/view/ambient_agent/model_selector.rs b/app/src/terminal/view/ambient_agent/model_selector.rs index c86f589e..42568545 100644 --- a/app/src/terminal/view/ambient_agent/model_selector.rs +++ b/app/src/terminal/view/ambient_agent/model_selector.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, Container, OffsetPositioning, ParentAnchor, @@ -9,6 +8,7 @@ use galaxyui::{ AppContext, Element, Entity, EntityId, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; diff --git a/app/src/terminal/view/ambient_agent/progress.rs b/app/src/terminal/view/ambient_agent/progress.rs index ab330e01..64473424 100644 --- a/app/src/terminal/view/ambient_agent/progress.rs +++ b/app/src/terminal/view/ambient_agent/progress.rs @@ -3,7 +3,6 @@ use std::borrow::Cow; use std::time::Duration; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::Icon; use galaxyui::elements::{ @@ -12,6 +11,7 @@ use galaxyui::elements::{ PositionedElementOffsetBounds, Radius, Rect, SavePosition, Stack, Text, }; use galaxyui::{AppContext, Element, WindowId}; +use pathfinder_geometry::vector::vec2f; /// The state of a progress step. #[derive(Debug, Clone, Copy, PartialEq, Eq)] diff --git a/app/src/terminal/view/ambient_agent/view_impl.rs b/app/src/terminal/view/ambient_agent/view_impl.rs index 6442c088..343fae76 100644 --- a/app/src/terminal/view/ambient_agent/view_impl.rs +++ b/app/src/terminal/view/ambient_agent/view_impl.rs @@ -1,9 +1,9 @@ //! [`TerminalView`]-specific implementation for ambient agent functionality. -use std::cell::Cell; -use std::rc::Rc; use galaxy_cli::agent::Harness; use galaxy_terminal::model::BlockId; +use std::cell::Cell; +use std::rc::Rc; use crate::ai::agent::conversation::{AIConversationId, ConversationStatus}; use crate::ai::AIRequestUsageModel; diff --git a/app/src/terminal/view/block_banner/mod.rs b/app/src/terminal/view/block_banner/mod.rs index 3f4b005d..6a0daf82 100644 --- a/app/src/terminal/view/block_banner/mod.rs +++ b/app/src/terminal/view/block_banner/mod.rs @@ -8,7 +8,6 @@ mod warpify; -pub use warpify::*; use galaxyui::{ elements::{ ConstrainedBox, Container, CornerRadius, Hoverable, MouseState, MouseStateHandle, @@ -16,6 +15,7 @@ use galaxyui::{ }, Element, }; +pub use warpify::*; use crate::themes::theme::WarpTheme; diff --git a/app/src/terminal/view/block_banner/warpify.rs b/app/src/terminal/view/block_banner/warpify.rs index 256498dd..031e5e3e 100644 --- a/app/src/terminal/view/block_banner/warpify.rs +++ b/app/src/terminal/view/block_banner/warpify.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::{ elements::{ Align, ConstrainedBox, Container, CrossAxisAlignment, Flex, HighlightedHyperlink, @@ -12,6 +11,7 @@ use galaxyui::{ }, AppContext, Element, }; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/terminal/view/block_onboarding/onboarding_agentic_suggestions_block.rs b/app/src/terminal/view/block_onboarding/onboarding_agentic_suggestions_block.rs index 82480bae..613ef826 100644 --- a/app/src/terminal/view/block_onboarding/onboarding_agentic_suggestions_block.rs +++ b/app/src/terminal/view/block_onboarding/onboarding_agentic_suggestions_block.rs @@ -11,13 +11,6 @@ use crate::terminal::History; use crate::terminal::TerminalView; use crate::ui_components::icons as UIIcon; use crate::user_config::themes_dir; -use lazy_static::lazy_static; -use markdown_parser::weight::CustomWeight; -use markdown_parser::FormattedText; -use markdown_parser::FormattedTextFragment; -use markdown_parser::FormattedTextLine; -use regex::Regex; -use serde::{Deserialize, Serialize}; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::CornerRadius; @@ -37,6 +30,13 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, ModelHandle, SingletonEntity, View, ViewContext, }; +use lazy_static::lazy_static; +use markdown_parser::weight::CustomWeight; +use markdown_parser::FormattedText; +use markdown_parser::FormattedTextFragment; +use markdown_parser::FormattedTextLine; +use regex::Regex; +use serde::{Deserialize, Serialize}; const ONBOARDING_BOX_WIDTH: f32 = 210.; const ONBOARDING_BOX_HEIGHT: f32 = 140.; diff --git a/app/src/terminal/view/block_onboarding/onboarding_drive_sharing_block.rs b/app/src/terminal/view/block_onboarding/onboarding_drive_sharing_block.rs index 1d81a4bd..b6c4cdb5 100644 --- a/app/src/terminal/view/block_onboarding/onboarding_drive_sharing_block.rs +++ b/app/src/terminal/view/block_onboarding/onboarding_drive_sharing_block.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::{ @@ -13,6 +12,7 @@ use galaxyui::{ }, AppContext, Element, Entity, SingletonEntity, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; use crate::{ cloud_object::model::persistence::{CloudModel, CloudModelEvent}, diff --git a/app/src/terminal/view/block_onboarding/onboarding_prompt_block.rs b/app/src/terminal/view/block_onboarding/onboarding_prompt_block.rs index addc4e5d..c2753ce3 100644 --- a/app/src/terminal/view/block_onboarding/onboarding_prompt_block.rs +++ b/app/src/terminal/view/block_onboarding/onboarding_prompt_block.rs @@ -10,8 +10,6 @@ use crate::terminal::model::ObfuscateSecrets; use crate::terminal::session_settings::SessionSettings; use crate::terminal::view::block_onboarding::util; use crate::terminal::SizeInfo; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use settings::Setting as _; use galaxyui::{ elements::{ Align, Border, Clipped, ConstrainedBox, Container, CornerRadius, Flex, @@ -23,6 +21,8 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use settings::Setting as _; const CONFIRM_MARGIN_TOP: f32 = 16.; diff --git a/app/src/terminal/view/block_onboarding/util.rs b/app/src/terminal/view/block_onboarding/util.rs index 802b8c39..a5461371 100644 --- a/app/src/terminal/view/block_onboarding/util.rs +++ b/app/src/terminal/view/block_onboarding/util.rs @@ -1,7 +1,6 @@ use crate::appearance::Appearance; use crate::editor::EditorView; use crate::ui_components::icons::Icon; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{Flex, ParentElement}; use galaxyui::ui_components::components::Coords; @@ -20,6 +19,7 @@ use galaxyui::{ Action, AppContext, Element, }; use galaxyui::{SingletonEntity, ViewHandle}; +use pathfinder_color::ColorU; pub const INPUT_BOX_FONT_SIZE: f32 = 14.; pub const TEAM_BLOCK_INITIAL_HEIGHT: f32 = 92.; diff --git a/app/src/terminal/view/init.rs b/app/src/terminal/view/init.rs index 41ee93e3..b144f67e 100644 --- a/app/src/terminal/view/init.rs +++ b/app/src/terminal/view/init.rs @@ -1072,8 +1072,6 @@ pub fn init(app: &mut AppContext) { ) .with_enabled(|| FeatureFlag::Projects.is_enabled()) .with_context_predicate(id!("Workspace") & id!(flags::IS_ANY_AI_ENABLED))]); - - } /// Registers bindings related to input modes. diff --git a/app/src/terminal/view/init_environment/mode_selector.rs b/app/src/terminal/view/init_environment/mode_selector.rs index cee746c2..cf25f58f 100644 --- a/app/src/terminal/view/init_environment/mode_selector.rs +++ b/app/src/terminal/view/init_environment/mode_selector.rs @@ -1,7 +1,5 @@ use crate::appearance::Appearance; use crate::ui_components::icons::Icon; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::color::blend::Blend; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::{ @@ -14,6 +12,8 @@ use galaxyui::keymap::{FixedBinding, Keystroke}; use galaxyui::platform::Cursor; use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; // Figma node 6583:23542 const MODAL_WIDTH: f32 = 441.; diff --git a/app/src/terminal/view/init_project/mod.rs b/app/src/terminal/view/init_project/mod.rs index f76a3bb0..4e96ad38 100644 --- a/app/src/terminal/view/init_project/mod.rs +++ b/app/src/terminal/view/init_project/mod.rs @@ -22,11 +22,6 @@ use crate::view_components::DismissibleToast; use crate::workspace::ToastStack; use crate::TelemetryEvent; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; -use lsp::supported_servers::LSPServerType; -use lsp_server_selector::{create_lsp_server_selector, LSPServerInfo}; -pub use model::{InitProjectModel, InitProjectModelEvent, InitStepKind}; -use model::{InitStepData, InitStepStatus}; -use std::path::{Path, PathBuf}; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -37,6 +32,11 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use lsp::supported_servers::LSPServerType; +use lsp_server_selector::{create_lsp_server_selector, LSPServerInfo}; +pub use model::{InitProjectModel, InitProjectModelEvent, InitStepKind}; +use model::{InitStepData, InitStepStatus}; +use std::path::{Path, PathBuf}; const ONBOARDING_TEXT: &str = "Great - let's begin setting up this project! Would you like to give me permission to index this codebase? It allows me to quickly understand context and provide more targeted solutions when working in this codebase. No code is stored on Warp servers."; const ALREADY_SETUP_TEXT: &str = "It looks like this project has already been initialized. You can re-generate the AGENTS.md for this codebase by clicking the button below."; diff --git a/app/src/terminal/view/init_project/model.rs b/app/src/terminal/view/init_project/model.rs index 3e4d912e..86b6acd4 100644 --- a/app/src/terminal/view/init_project/model.rs +++ b/app/src/terminal/view/init_project/model.rs @@ -3,10 +3,10 @@ use std::path::{Path, PathBuf}; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; use ai::project_context::model::ProjectContextModel; use enum_iterator::Sequence; +use galaxyui::{Entity, ModelContext, SingletonEntity as _}; use lsp::supported_servers::LSPServerType; #[cfg(not(target_family = "wasm"))] use repo_metadata::repositories::DetectedRepositories; -use galaxyui::{Entity, ModelContext, SingletonEntity as _}; use crate::{ ai::persisted_workspace::PersistedWorkspace, diff --git a/app/src/terminal/view/inline_banner/mod.rs b/app/src/terminal/view/inline_banner/mod.rs index 53d8bcd7..69eb67d6 100644 --- a/app/src/terminal/view/inline_banner/mod.rs +++ b/app/src/terminal/view/inline_banner/mod.rs @@ -33,7 +33,6 @@ pub use shell_process_terminated::*; pub use ssh::*; pub use vim_mode::*; -use pathfinder_color::ColorU; use galaxyui::elements::Clipped; use galaxyui::{ elements::{ @@ -48,6 +47,7 @@ use galaxyui::{ }, Element, }; +use pathfinder_color::ColorU; use crate::ui_components::buttons::icon_button; use crate::ui_components::icons::Icon as UiIcon; diff --git a/app/src/terminal/view/inline_banner/notifications_discovery.rs b/app/src/terminal/view/inline_banner/notifications_discovery.rs index ef9ff7ea..8a84ea4a 100644 --- a/app/src/terminal/view/inline_banner/notifications_discovery.rs +++ b/app/src/terminal/view/inline_banner/notifications_discovery.rs @@ -1,5 +1,5 @@ -use serde::Serialize; use galaxyui::{elements::MouseStateHandle, notification::RequestPermissionsOutcome, Element}; +use serde::Serialize; use crate::{ appearance::Appearance, diff --git a/app/src/terminal/view/inline_banner/notifications_error.rs b/app/src/terminal/view/inline_banner/notifications_error.rs index af200492..7bfd880f 100644 --- a/app/src/terminal/view/inline_banner/notifications_error.rs +++ b/app/src/terminal/view/inline_banner/notifications_error.rs @@ -1,5 +1,5 @@ -use serde::Serialize; use galaxyui::{elements::MouseStateHandle, Element}; +use serde::Serialize; use crate::{ appearance::Appearance, diff --git a/app/src/terminal/view/inline_banner/prompt_suggestions.rs b/app/src/terminal/view/inline_banner/prompt_suggestions.rs index e2e215ae..b9a9e5d0 100644 --- a/app/src/terminal/view/inline_banner/prompt_suggestions.rs +++ b/app/src/terminal/view/inline_banner/prompt_suggestions.rs @@ -12,7 +12,6 @@ use crate::server::telemetry::InteractionSource; use crate::settings::InputSettings; use crate::terminal::view::passive_suggestions::PromptSuggestionResolution; use crate::util::bindings::keybinding_name_to_keystroke; -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Fill, Flex, HighlightedHyperlink, Hoverable, Icon, MainAxisAlignment, MainAxisSize, @@ -27,6 +26,7 @@ use galaxyui::{ AppContext, Entity, EventContext, ModelHandle, TypedActionView, ViewContext, ViewHandle, }; use galaxyui::{SingletonEntity, View}; +use pathfinder_geometry::vector::vec2f; use crate::terminal::view::{ContextMenuAction, InputType, PromptSuggestion}; use crate::ui_components::blended_colors; diff --git a/app/src/terminal/view/inline_banner/session_state.rs b/app/src/terminal/view/inline_banner/session_state.rs index 5edc3967..86b9a533 100644 --- a/app/src/terminal/view/inline_banner/session_state.rs +++ b/app/src/terminal/view/inline_banner/session_state.rs @@ -1,6 +1,6 @@ use crate::settings::{AISettings, AISettingsChangedEvent}; -use settings::Setting; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use settings::Setting; /// Tracks whether the BYO LLM auth banner (e.g., AWS Bedrock login) has been dismissed. /// diff --git a/app/src/terminal/view/load_ai_conversation.rs b/app/src/terminal/view/load_ai_conversation.rs index 38381a29..492995ac 100644 --- a/app/src/terminal/view/load_ai_conversation.rs +++ b/app/src/terminal/view/load_ai_conversation.rs @@ -1,9 +1,9 @@ +use galaxy_core::features::FeatureFlag; +use galaxyui::{EntityId, ViewContext}; use std::path::Path; use std::rc::Rc; use std::sync::Arc; use vec1::Vec1; -use galaxy_core::features::FeatureFlag; -use galaxyui::{EntityId, ViewContext}; use super::blocklist_filter::exchanges_for_blocklist; use crate::ai::blocklist::agent_view::{ @@ -63,9 +63,9 @@ use crate::{ }, }; use galaxy_core::channel::ChannelState; -use warp_multi_agent_api as api; use galaxyui::units::IntoPixels; use galaxyui::{ModelHandle, SingletonEntity}; +use warp_multi_agent_api as api; /// Describes restore-context setup state for directory reconciliation and hinting. #[derive(Clone, Debug, PartialEq, Eq)] diff --git a/app/src/terminal/view/open_in_warp.rs b/app/src/terminal/view/open_in_warp.rs index dba86355..c96b3a27 100644 --- a/app/src/terminal/view/open_in_warp.rs +++ b/app/src/terminal/view/open_in_warp.rs @@ -4,13 +4,13 @@ use std::{ sync::Arc, }; -use itertools::Itertools; -use lazy_static::lazy_static; use galaxy_util::path::EscapeChar; use galaxyui::{ accessibility::{AccessibilityContent, ActionAccessibilityContent, WarpA11yRole}, SingletonEntity, ViewContext, }; +use itertools::Itertools; +use lazy_static::lazy_static; #[cfg(feature = "local_fs")] use crate::code::editor_management::CodeSource; @@ -24,7 +24,6 @@ use crate::{ }, util::openable_file_type::{is_file_openable_in_warp, OpenableFileType}, }; -use settings::Setting as _; use galaxy_completer::{ completer::TopLevelCommandCaseSensitivity, parsers::{ @@ -34,6 +33,7 @@ use galaxy_completer::{ }, signatures::CommandRegistry, }; +use settings::Setting as _; use super::{Event, InlineBannerItem, InlineBannerType, TerminalView}; diff --git a/app/src/terminal/view/pane_impl.rs b/app/src/terminal/view/pane_impl.rs index 94f9661e..c93ef768 100644 --- a/app/src/terminal/view/pane_impl.rs +++ b/app/src/terminal/view/pane_impl.rs @@ -32,7 +32,6 @@ use crate::ui_components::blended_colors; use crate::ui_components::buttons::icon_button_with_color; use crate::ui_components::icons; use crate::workspace::tab_settings::TabSettings; -use settings::Setting as _; use galaxy_core::context_flag::ContextFlag; use galaxy_core::ui::Icon as WarpIcon; use galaxyui::elements::{ @@ -46,6 +45,7 @@ use galaxyui::ui_components::components::UiComponent; use galaxyui::ui_components::components::UiComponentStyles; use galaxyui::WeakModelHandle; use galaxyui::{AppContext, Element, ModelHandle, SingletonEntity, TypedActionView, ViewContext}; +use settings::Setting as _; impl TerminalView { /// Returns a reference to the focus handle if one has been set. diff --git a/app/src/terminal/view/plugin_instructions_block.rs b/app/src/terminal/view/plugin_instructions_block.rs index e0107460..2968bc79 100644 --- a/app/src/terminal/view/plugin_instructions_block.rs +++ b/app/src/terminal/view/plugin_instructions_block.rs @@ -1,6 +1,5 @@ use std::iter; -use pathfinder_geometry::vector::vec2f; use galaxyui::clipboard::ClipboardContent; use galaxyui::elements::{ Border, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, @@ -11,9 +10,10 @@ use galaxyui::fonts::{Properties, Weight}; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use galaxyui::elements::FormattedTextElement; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use crate::ai::blocklist::code_block::{ render_code_block_plain, CodeBlockOptions, CodeSnippetButtonHandles, diff --git a/app/src/terminal/view/shared_session/adapter.rs b/app/src/terminal/view/shared_session/adapter.rs index 22638f89..a2f15626 100644 --- a/app/src/terminal/view/shared_session/adapter.rs +++ b/app/src/terminal/view/shared_session/adapter.rs @@ -16,14 +16,14 @@ use crate::terminal::view::{TerminalAction, TerminalView}; use crate::terminal::view::throttle; use crate::ui_components::icons::Icon; use chrono::{DateTime, Local}; +use galaxy_core::features::FeatureFlag; +use galaxyui::{elements::MouseStateHandle, ModelHandle, ViewContext, ViewHandle}; +use galaxyui::{AppContext, Element}; use markdown_parser::FormattedTextFragment; use session_sharing_protocol::common::{ParticipantId, ParticipantList, Role, SessionId}; use session_sharing_protocol::sharer::SessionSourceType; use std::collections::{HashMap, HashSet}; use std::time::Duration; -use galaxy_core::features::FeatureFlag; -use galaxyui::{elements::MouseStateHandle, ModelHandle, ViewContext, ViewHandle}; -use galaxyui::{AppContext, Element}; /// The kind of shared session this is. pub enum Kind { diff --git a/app/src/terminal/view/shared_session/conversation_ended_tombstone_view.rs b/app/src/terminal/view/shared_session/conversation_ended_tombstone_view.rs index 75b1b8e2..b003b904 100644 --- a/app/src/terminal/view/shared_session/conversation_ended_tombstone_view.rs +++ b/app/src/terminal/view/shared_session/conversation_ended_tombstone_view.rs @@ -12,10 +12,10 @@ use crate::ui_components::blended_colors; use crate::util::time_format::human_readable_precise_duration; use crate::view_components::action_button::{ActionButton, PrimaryTheme}; use crate::workspace::WorkspaceAction; -use std::path::Path; #[cfg(not(target_family = "wasm"))] use galaxy_cli::agent::Harness; use galaxy_core::paths::home_relative_path; +use std::path::Path; #[cfg(not(target_family = "wasm"))] use crate::ai::ambient_agents::AmbientAgentTask; diff --git a/app/src/terminal/view/shared_session/test_utils.rs b/app/src/terminal/view/shared_session/test_utils.rs index c187c759..711537fa 100644 --- a/app/src/terminal/view/shared_session/test_utils.rs +++ b/app/src/terminal/view/shared_session/test_utils.rs @@ -1,7 +1,7 @@ -use session_sharing_protocol::common::{ParticipantId, ParticipantList, SessionId}; -use session_sharing_protocol::sharer::SessionSourceType; use galaxyui::platform::WindowStyle; use galaxyui::{App, SingletonEntity, ViewHandle}; +use session_sharing_protocol::common::{ParticipantId, ParticipantList, SessionId}; +use session_sharing_protocol::sharer::SessionSourceType; use crate::auth::UserUid; use crate::editor::ReplicaId; diff --git a/app/src/terminal/view/shared_session/view_impl.rs b/app/src/terminal/view/shared_session/view_impl.rs index 3f024d08..3aa8c7b0 100644 --- a/app/src/terminal/view/shared_session/view_impl.rs +++ b/app/src/terminal/view/shared_session/view_impl.rs @@ -33,6 +33,8 @@ use crate::{ }; use crate::{send_telemetry_from_ctx, TelemetryEvent}; use chrono::{DateTime, Local}; +use galaxy_core::features::FeatureFlag; +use galaxyui::r#async::Timer; use itertools::Itertools; use session_sharing_protocol::common::{ ParticipantId, Role, RoleRequestId, RoleRequestResponse, SessionId, WindowSize, @@ -40,10 +42,7 @@ use session_sharing_protocol::common::{ use session_sharing_protocol::sharer::SessionSourceType; use session_sharing_protocol::sharer::{RoleUpdateReason, SessionEndedReason}; use session_sharing_protocol::viewer::RoleUpdatedReason; -use galaxy_core::features::FeatureFlag; -use galaxyui::r#async::Timer; -use settings::Setting as _; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_core::ui::appearance::Appearance; use galaxyui::clipboard::ClipboardContent; @@ -53,6 +52,7 @@ use galaxyui::ui_components::components::UiComponent; use galaxyui::units::IntoLines; use galaxyui::{Element, SingletonEntity}; use galaxyui::{ModelHandle, ViewContext}; +use settings::Setting as _; use crate::menu::Event as MenuEvent; diff --git a/app/src/terminal/view/shared_session/viewer.rs b/app/src/terminal/view/shared_session/viewer.rs index fbee0919..eec0aace 100644 --- a/app/src/terminal/view/shared_session/viewer.rs +++ b/app/src/terminal/view/shared_session/viewer.rs @@ -5,8 +5,8 @@ use crate::pane_group::PaneHeaderCustomAction; use crate::terminal::view::{TerminalAction, TerminalView}; use crate::ui_components::icons::Icon; -use session_sharing_protocol::common::{Role, WindowSize}; use galaxyui::{elements::MouseStateHandle, ViewContext, ViewHandle}; +use session_sharing_protocol::common::{Role, WindowSize}; use super::adapter::Participant; diff --git a/app/src/terminal/view/ssh_file_upload.rs b/app/src/terminal/view/ssh_file_upload.rs index 7f476227..f1f0e577 100644 --- a/app/src/terminal/view/ssh_file_upload.rs +++ b/app/src/terminal/view/ssh_file_upload.rs @@ -1,9 +1,5 @@ use std::{collections::HashMap, path::Path}; -use itertools::Itertools; -use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextHeader, FormattedTextLine, -}; use galaxy_core::command::ExitCode; use galaxy_core::ui::{appearance::Appearance, color::blend::Blend as _}; use galaxyui::{ @@ -14,6 +10,10 @@ use galaxyui::{ ui_components::{button::ButtonVariant, components::UiComponent as _}, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use itertools::Itertools; +use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextHeader, FormattedTextLine, +}; use crate::{ terminal::ssh::util::InteractiveSshCommand, ui_components::buttons::icon_button, diff --git a/app/src/terminal/view/ssh_remote_server_choice_view.rs b/app/src/terminal/view/ssh_remote_server_choice_view.rs index a7e31647..862ebe12 100644 --- a/app/src/terminal/view/ssh_remote_server_choice_view.rs +++ b/app/src/terminal/view/ssh_remote_server_choice_view.rs @@ -16,7 +16,6 @@ //! //! Dismissing the block (on click of either option, or when the session is //! deregistered) is the parent's responsibility. -use settings::Setting; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::{ elements::{ @@ -28,6 +27,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use settings::Setting; use crate::{ ai::blocklist::{ diff --git a/app/src/terminal/view/testing.rs b/app/src/terminal/view/testing.rs index e82e89fb..8688c8c7 100644 --- a/app/src/terminal/view/testing.rs +++ b/app/src/terminal/view/testing.rs @@ -32,8 +32,8 @@ impl TerminalView { restored_blocks: Option<&[SerializedBlockListItem]>, ctx: &mut ViewContext, ) -> Self { - use pathfinder_geometry::vector::vec2f; use galaxyui::units::{IntoPixels as _, Pixels}; + use pathfinder_geometry::vector::vec2f; use crate::{ server::server_api::ServerApiProvider, diff --git a/app/src/terminal/view/tooltips.rs b/app/src/terminal/view/tooltips.rs index b6b65d02..341bc3fb 100644 --- a/app/src/terminal/view/tooltips.rs +++ b/app/src/terminal/view/tooltips.rs @@ -53,8 +53,8 @@ fn open_in_warp_tooltip( settings::CodeSettings, util::file::external_editor::EditorSettings, util::tooltips::should_show_open_in_warp_link, }; - use settings::Setting as _; use galaxyui::SingletonEntity; + use settings::Setting as _; if !should_show_open_in_warp_link(&path, app) { return None; diff --git a/app/src/terminal/view/use_agent_footer/mod.rs b/app/src/terminal/view/use_agent_footer/mod.rs index 11cb18ef..b052e168 100644 --- a/app/src/terminal/view/use_agent_footer/mod.rs +++ b/app/src/terminal/view/use_agent_footer/mod.rs @@ -24,8 +24,6 @@ use galaxyui::r#async::Timer; use crate::code_review::diff_state::GitDeltaPreference; use crate::code_review::telemetry_event::CodeReviewPaneEntrypoint; use anyhow::anyhow; -use parking_lot::FairMutex; -use pathfinder_color::ColorU; use galaxy_core::{ features::FeatureFlag, report_error, send_telemetry_from_ctx, @@ -38,6 +36,8 @@ use galaxy_core::{ theme::{color::internal_colors, Fill as ThemeFill}, }, }; +use parking_lot::FairMutex; +use pathfinder_color::ColorU; use galaxyui::{ elements::{ diff --git a/app/src/terminal/view/use_agent_footer/mod_test.rs b/app/src/terminal/view/use_agent_footer/mod_test.rs index df4bd3d9..2b18f7cf 100644 --- a/app/src/terminal/view/use_agent_footer/mod_test.rs +++ b/app/src/terminal/view/use_agent_footer/mod_test.rs @@ -1,8 +1,8 @@ use std::rc::Rc; -use session_sharing_protocol::sharer::SessionSourceType; use galaxy_core::settings::Setting as _; use galaxyui::{App, AppContext, SingletonEntity, ViewContext}; +use session_sharing_protocol::sharer::SessionSourceType; use crate::{ ai::{ diff --git a/app/src/terminal/view/use_agent_footer/warpify_footer.rs b/app/src/terminal/view/use_agent_footer/warpify_footer.rs index 5ed921fe..243543a8 100644 --- a/app/src/terminal/view/use_agent_footer/warpify_footer.rs +++ b/app/src/terminal/view/use_agent_footer/warpify_footer.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use parking_lot::FairMutex; use galaxyui::prelude::Empty; use galaxyui::{ elements::{ @@ -8,6 +7,7 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, }; +use parking_lot::FairMutex; use crate::{ terminal::view::{TerminalModel, PADDING_LEFT}, @@ -78,7 +78,9 @@ impl WarpifyFooterView { WarpificationMode::Ssh { .. } => { ("Galaxyize SSH session", "terminal:warpify_ssh_session") } - WarpificationMode::Subshell { .. } => ("Galaxyize subshell", "terminal:warpify_subshell"), + WarpificationMode::Subshell { .. } => { + ("Galaxyize subshell", "terminal:warpify_subshell") + } }; self.warpify_button.update(ctx, |button, ctx| { button.set_label(label, ctx); diff --git a/app/src/terminal/view/zero_state_block.rs b/app/src/terminal/view/zero_state_block.rs index 5a028d61..f95a2990 100644 --- a/app/src/terminal/view/zero_state_block.rs +++ b/app/src/terminal/view/zero_state_block.rs @@ -1,4 +1,3 @@ -use settings::Setting; use galaxy_core::{report_if_error, ui::Icon}; use galaxyui::{ elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ }, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use settings::Setting; use crate::{ ai::blocklist::agent_view::{ diff --git a/app/src/terminal/warpify/render.rs b/app/src/terminal/warpify/render.rs index 87fbc0ab..9a785bae 100644 --- a/app/src/terminal/warpify/render.rs +++ b/app/src/terminal/warpify/render.rs @@ -1,9 +1,5 @@ use crate::ai::blocklist::inline_action::inline_action_icons; use crate::ui_components::blended_colors; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::Vector2F; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::{Fill, WarpTheme}; use galaxyui::elements::{ @@ -15,6 +11,10 @@ use galaxyui::fonts::{FamilyId, Properties, Weight}; use galaxyui::ui_components::components::UiComponent as _; use galaxyui::ui_components::components::UiComponentStyles; use galaxyui::{AppContext, Element, EventContext, PaintContext, SingletonEntity as _}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::Vector2F; use super::settings::WarpifySettings; use super::SubshellSource; diff --git a/app/src/terminal/warpify/settings.rs b/app/src/terminal/warpify/settings.rs index 90646e09..d5f17ca4 100644 --- a/app/src/terminal/warpify/settings.rs +++ b/app/src/terminal/warpify/settings.rs @@ -1,4 +1,7 @@ use anyhow::Result; +use galaxy_util::path::ShellFamily; +use galaxyui::{AppContext, ModelContext}; +use galaxyui::{Entity, SingletonEntity}; use lazy_static::lazy_static; use regex::Regex; use settings::{ @@ -6,9 +9,6 @@ use settings::{ ChangeEventReason, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud, }; use strum_macros::EnumIter; -use galaxy_util::path::ShellFamily; -use galaxyui::{AppContext, ModelContext}; -use galaxyui::{Entity, SingletonEntity}; use crate::terminal::ssh::util::{parse_interactive_ssh_command, SshWarpifyCommand}; diff --git a/app/src/terminal/warpify/success_block.rs b/app/src/terminal/warpify/success_block.rs index fe92dfcb..70a1df45 100644 --- a/app/src/terminal/warpify/success_block.rs +++ b/app/src/terminal/warpify/success_block.rs @@ -10,7 +10,6 @@ use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon as UiIcon; use crate::workspace::WorkspaceAction; use channel_versions::overrides::TargetOS; -use parking_lot::RwLock; use galaxy_core::semantic_selection::SemanticSelection; use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::{ @@ -22,6 +21,7 @@ use galaxyui::{ elements::{Border, Container, Flex, ParentElement}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use parking_lot::RwLock; use super::render::{HORIZONTAL_TEXT_MARGIN, SSH_DOCS_URL, SUBSHELL_DOCS_URL}; use super::settings::WarpifySettings; diff --git a/app/src/terminal/warpify/trigger_state.rs b/app/src/terminal/warpify/trigger_state.rs index 4a2b3c69..aeebe9fb 100644 --- a/app/src/terminal/warpify/trigger_state.rs +++ b/app/src/terminal/warpify/trigger_state.rs @@ -1,9 +1,9 @@ -use parking_lot::FairMutex; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ r#async::SpawnedFutureHandle, AppContext, EntityId, SingletonEntity as _, ViewContext, ViewHandle, }; +use parking_lot::FairMutex; use crate::terminal::{ model::{ diff --git a/app/src/terminal/waterfall_gap_element.rs b/app/src/terminal/waterfall_gap_element.rs index d2665180..49086d39 100644 --- a/app/src/terminal/waterfall_gap_element.rs +++ b/app/src/terminal/waterfall_gap_element.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxyui::elements::ZIndex; use galaxyui::event::ModifiersState; use galaxyui::units::{IntoLines, IntoPixels, Pixels}; @@ -7,6 +6,7 @@ use galaxyui::{ elements::{ScrollData, ScrollableElement}, AppContext, Element, EventContext, SizeConstraint, }; +use pathfinder_geometry::vector::{vec2f, Vector2F}; use crate::terminal::input::inline_menu::InlineMenuPositioner; diff --git a/app/src/terminal/writeable_pty/bootstrap_file/windows.rs b/app/src/terminal/writeable_pty/bootstrap_file/windows.rs index a795b5f7..cc2cc700 100644 --- a/app/src/terminal/writeable_pty/bootstrap_file/windows.rs +++ b/app/src/terminal/writeable_pty/bootstrap_file/windows.rs @@ -2,8 +2,8 @@ use std::io::Write; use std::path::PathBuf; -use typed_path::TypedPath; use galaxy_util::path::{convert_wsl_to_windows_host_path, WSLPathConversionError}; +use typed_path::TypedPath; use crate::terminal::shell::ShellType; diff --git a/app/src/terminal/writeable_pty/command_history.rs b/app/src/terminal/writeable_pty/command_history.rs index 22d5f04e..3b10576a 100644 --- a/app/src/terminal/writeable_pty/command_history.rs +++ b/app/src/terminal/writeable_pty/command_history.rs @@ -1,8 +1,8 @@ use std::sync::mpsc::SyncSender; use std::sync::Arc; -use parking_lot::FairMutex; use galaxyui::{AppContext, ModelHandle, SingletonEntity}; +use parking_lot::FairMutex; use crate::persistence::StartedCommandMetadata; use crate::terminal::{view::ExecuteCommandEvent, TerminalModel}; diff --git a/app/src/terminal/writeable_pty/pty_controller.rs b/app/src/terminal/writeable_pty/pty_controller.rs index 8dcf5c88..876e2171 100644 --- a/app/src/terminal/writeable_pty/pty_controller.rs +++ b/app/src/terminal/writeable_pty/pty_controller.rs @@ -1,10 +1,10 @@ use std::{borrow::Cow, collections::VecDeque, sync::Arc}; use async_channel::{Receiver, Sender}; -use parking_lot::FairMutex; -use thiserror::Error; use galaxyui::r#async::block_on; use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; +use parking_lot::FairMutex; +use thiserror::Error; use crate::ai::agent::AIAgentPtyWriteMode; use crate::terminal::input::CommandExecutionSource; diff --git a/app/src/terminal/writeable_pty/remote_server_controller.rs b/app/src/terminal/writeable_pty/remote_server_controller.rs index d146b8bb..811d8c6b 100644 --- a/app/src/terminal/writeable_pty/remote_server_controller.rs +++ b/app/src/terminal/writeable_pty/remote_server_controller.rs @@ -1,12 +1,12 @@ use crate::auth::auth_state::AuthStateProvider; use crate::remote_server::auth_context::server_api_auth_context; +use galaxy_core::SessionId; +use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity, WeakModelHandle}; use instant::Instant; use remote_server::auth::RemoteServerAuthContext; use settings::Setting; use std::path::PathBuf; use std::sync::Arc; -use galaxy_core::SessionId; -use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity, WeakModelHandle}; use crate::terminal::warpify::settings::SshExtensionInstallMode; diff --git a/app/src/terminal/writeable_pty/terminal_manager_util.rs b/app/src/terminal/writeable_pty/terminal_manager_util.rs index a658ba6c..2ce3a238 100644 --- a/app/src/terminal/writeable_pty/terminal_manager_util.rs +++ b/app/src/terminal/writeable_pty/terminal_manager_util.rs @@ -11,10 +11,10 @@ use crate::terminal::ModelEventDispatcher; use crate::terminal::{TerminalModel, TerminalView}; use async_channel::Receiver; +use galaxyui::{AppContext, ModelHandle, ViewHandle}; use parking_lot::FairMutex; use std::sync::mpsc::SyncSender; use std::sync::Arc; -use galaxyui::{AppContext, ModelHandle, ViewHandle}; /// Wires up bi-directional communication between the PtyController and the TerminalView. /// Note that this interaction can't live in the TerminalView because the view must be manager-agnostic. diff --git a/app/src/terminal/wsl/model.rs b/app/src/terminal/wsl/model.rs index a1e47305..744cff40 100644 --- a/app/src/terminal/wsl/model.rs +++ b/app/src/terminal/wsl/model.rs @@ -1,7 +1,7 @@ use crate::{send_telemetry_from_ctx, server::telemetry::TelemetryEvent}; -use itertools::Itertools as _; use galaxyui::{Entity, ModelContext, SingletonEntity}; use galaxyui_extras::user_preferences::registry_backed::KEY_NOT_FOUND_ERR; +use itertools::Itertools as _; use windows_registry::CURRENT_USER; use windows_result::Error as WindowsError; diff --git a/app/src/test_util/terminal.rs b/app/src/test_util/terminal.rs index 51950801..7c016a8e 100644 --- a/app/src/test_util/terminal.rs +++ b/app/src/test_util/terminal.rs @@ -1,8 +1,8 @@ use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; +use galaxy_core::ui::appearance::Appearance; use repo_metadata::repositories::DetectedRepositories; #[cfg(feature = "local_fs")] use repo_metadata::RepoMetadataModel; -use galaxy_core::ui::appearance::Appearance; use crate::ai::active_agent_views_model::ActiveAgentViewsModel; use crate::ai::agent_conversations_model::AgentConversationsModel; diff --git a/app/src/themes/default_themes.rs b/app/src/themes/default_themes.rs index 5fc0e302..48598362 100644 --- a/app/src/themes/default_themes.rs +++ b/app/src/themes/default_themes.rs @@ -1,5 +1,4 @@ use asset_macro::bundled_or_fetched_asset; -use pathfinder_color::ColorU; use galaxy_core::ui::{ color::{blend::Blend, coloru_with_opacity, OPAQUE}, theme::{ @@ -7,6 +6,7 @@ use galaxy_core::ui::{ TerminalColors, VerticalGradient, WarpTheme, }, }; +use pathfinder_color::ColorU; const DARK_MODE_NORMAL_COLORS: AnsiColors = AnsiColors::new( AnsiColor::from_u32(0x616161FF), diff --git a/app/src/themes/theme.rs b/app/src/themes/theme.rs index ab733505..42af6fd5 100644 --- a/app/src/themes/theme.rs +++ b/app/src/themes/theme.rs @@ -1,9 +1,5 @@ use super::default_themes::*; use anyhow::Result; -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; -use std::iter::FromIterator; -use std::path::PathBuf; use galaxy_core::ui::color::pick_foreground_color; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::{ @@ -14,6 +10,10 @@ use galaxyui::{ }, fonts::FamilyId, }; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; +use std::iter::FromIterator; +use std::path::PathBuf; use super::theme_creator::{pick_accent_color_from_options, top_colors_for_image}; diff --git a/app/src/themes/theme_chooser.rs b/app/src/themes/theme_chooser.rs index c5c29b02..7e52cba8 100644 --- a/app/src/themes/theme_chooser.rs +++ b/app/src/themes/theme_chooser.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use settings::Setting as _; use galaxy_editor::editor::NavigationKey; use galaxyui::{ accessibility::{AccessibilityContent, WarpA11yRole}, @@ -20,6 +18,8 @@ use galaxyui::{ AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, Tracked, TypedActionView, UpdateModel, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use settings::Setting as _; use crate::resource_center::{mark_feature_used_and_write_to_user_defaults, Tip, TipAction}; use crate::themes::theme::{RespectSystemTheme, ThemeKind, WarpTheme}; diff --git a/app/src/themes/theme_creator_body.rs b/app/src/themes/theme_creator_body.rs index 52029128..94f2b3ff 100644 --- a/app/src/themes/theme_creator_body.rs +++ b/app/src/themes/theme_creator_body.rs @@ -6,13 +6,6 @@ use crate::user_config; use crate::{ send_telemetry_from_ctx, server::telemetry::TelemetryEvent, themes::theme::CustomTheme, }; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use std::default::Default; -use std::fmt; -use std::path::PathBuf; -#[cfg(feature = "local_fs")] -use std::{fs::copy, io::Write}; #[cfg(feature = "local_fs")] use galaxy_core::ui::theme::WarpTheme; use galaxyui::elements::{ @@ -29,6 +22,13 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use std::default::Default; +use std::fmt; +use std::path::PathBuf; +#[cfg(feature = "local_fs")] +use std::{fs::copy, io::Write}; const BUTTON_PADDING: f32 = 12.; const BUTTON_FONT_SIZE: f32 = 14.; diff --git a/app/src/themes/theme_creator_modal.rs b/app/src/themes/theme_creator_modal.rs index 281da824..5cf61387 100644 --- a/app/src/themes/theme_creator_modal.rs +++ b/app/src/themes/theme_creator_modal.rs @@ -5,8 +5,6 @@ use crate::themes::theme_creator_body::{ }; use crate::view_components::DismissibleToast; use crate::workspace::ToastStack; -use std::default::Default; -use std::path::PathBuf; use galaxyui::fonts::Weight; use galaxyui::keymap::FixedBinding; use galaxyui::platform::{FilePickerConfiguration, FileType}; @@ -15,6 +13,8 @@ use galaxyui::ui_components::components::{Coords, UiComponentStyles}; use galaxyui::ViewHandle; use galaxyui::{AppContext, SingletonEntity as _}; use galaxyui::{Element, Entity, TypedActionView, View, ViewContext}; +use std::default::Default; +use std::path::PathBuf; const THEME_CREATOR_MODAL_HEADER: &str = "Create new theme from image"; diff --git a/app/src/themes/theme_deletion_body.rs b/app/src/themes/theme_deletion_body.rs index be22d054..9e628274 100644 --- a/app/src/themes/theme_deletion_body.rs +++ b/app/src/themes/theme_deletion_body.rs @@ -5,9 +5,6 @@ use crate::settings::{active_theme_kind, ThemeSettings}; use crate::themes::theme::{ThemeKind, WarpTheme}; use crate::user_config; use crate::user_config::util::from_yaml; -use std::default::Default; -use std::fs; -use std::fs::remove_file; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::elements::{ Container, CornerRadius, CrossAxisAlignment, Flex, MainAxisSize, MouseStateHandle, @@ -20,6 +17,9 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use std::default::Default; +use std::fs; +use std::fs::remove_file; const BUTTON_PADDING: f32 = 12.; const BUTTON_FONT_SIZE: f32 = 14.; diff --git a/app/src/themes/theme_deletion_modal.rs b/app/src/themes/theme_deletion_modal.rs index 5d31455a..4657eddd 100644 --- a/app/src/themes/theme_deletion_modal.rs +++ b/app/src/themes/theme_deletion_modal.rs @@ -1,7 +1,6 @@ use crate::modal::Modal; use crate::themes::theme::ThemeKind; use crate::themes::theme_deletion_body::{ThemeDeletionBody, ThemeDeletionBodyEvent}; -use std::default::Default; use galaxyui::fonts::Weight; use galaxyui::keymap::FixedBinding; use galaxyui::presenter::ChildView; @@ -9,6 +8,7 @@ use galaxyui::ui_components::components::{Coords, UiComponentStyles}; use galaxyui::AppContext; use galaxyui::ViewHandle; use galaxyui::{Element, Entity, TypedActionView, View, ViewContext}; +use std::default::Default; const THEME_DELETION_MODAL_HEADER: &str = "Are you sure you want to delete this theme?"; diff --git a/app/src/throttle.rs b/app/src/throttle.rs index 2694d613..5b3dc98f 100644 --- a/app/src/throttle.rs +++ b/app/src/throttle.rs @@ -1,9 +1,9 @@ use std::{pin, task, time::Duration}; use futures_lite::{ready, Stream}; +use galaxyui::r#async::Timer; use pin::Pin; use task::{Context, Poll}; -use galaxyui::r#async::Timer; pub struct Throttle { period: Duration, diff --git a/app/src/tips/mod.rs b/app/src/tips/mod.rs index b1fe29c8..78e6b23a 100644 --- a/app/src/tips/mod.rs +++ b/app/src/tips/mod.rs @@ -1,5 +1,5 @@ -use serde::{Deserialize, Serialize}; use galaxyui::{keymap::Keystroke, AppContext}; +use serde::{Deserialize, Serialize}; pub mod tip_view; pub use tip_view::{TipsEvent, TipsView}; diff --git a/app/src/tips/tip_view.rs b/app/src/tips/tip_view.rs index 70c7c4b7..bc7c7d56 100644 --- a/app/src/tips/tip_view.rs +++ b/app/src/tips/tip_view.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ Align, ChildAnchor, ClippedScrollStateHandle, ClippedScrollable, DispatchEventResult, EventHandler, Hoverable, Icon, MouseStateHandle, OffsetPositioning, PositionedElementAnchor, @@ -18,6 +17,7 @@ use galaxyui::{ }; use galaxyui::{keymap::FixedBinding, ViewContext}; use galaxyui::{Action, BlurContext, EntityId, ModelHandle, SingletonEntity, WindowId}; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; use crate::resource_center::{Tip, TipAction, TipsCompleted}; diff --git a/app/src/ui_components/avatar.rs b/app/src/ui_components/avatar.rs index 33200a0c..c3a3acd4 100644 --- a/app/src/ui_components/avatar.rs +++ b/app/src/ui_components/avatar.rs @@ -9,8 +9,8 @@ use galaxyui::{ use super::red_notification_dot::RedNotificationDot; use galaxy_core::ui::{external_product_icon::ExternalProductIcon, icons::Icon}; -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ChildAnchor, OffsetPositioning, ParentAnchor, ParentOffsetBounds, Stack}; +use pathfinder_geometry::vector::vec2f; pub enum AvatarContent { /// Rendered as capital initial of the given display name. diff --git a/app/src/ui_components/breadcrumb.rs b/app/src/ui_components/breadcrumb.rs index 1813f85d..4cf5bb65 100644 --- a/app/src/ui_components/breadcrumb.rs +++ b/app/src/ui_components/breadcrumb.rs @@ -1,6 +1,5 @@ use std::fmt::Debug; -use itertools::{Itertools, Position}; use galaxyui::{ elements::{ CrossAxisAlignment, Flex, Hoverable, MainAxisSize, MouseStateHandle, ParentElement, @@ -9,6 +8,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, EventContext, }; +use itertools::{Itertools, Position}; use crate::appearance::Appearance; diff --git a/app/src/ui_components/color_dot.rs b/app/src/ui_components/color_dot.rs index 421a5618..c60a7683 100644 --- a/app/src/ui_components/color_dot.rs +++ b/app/src/ui_components/color_dot.rs @@ -1,7 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use ui_components::tooltip::{Params as TooltipParams, Tooltip as TooltipComponent}; -use ui_components::{Component as _, Options as ComponentOptions}; use galaxy_core::ui::theme::{AnsiColorIdentifier, Fill as ThemeFill}; use galaxyui::elements::{ Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, Element, Hoverable, @@ -9,6 +5,10 @@ use galaxyui::elements::{ Stack, }; use galaxyui::platform::Cursor; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use ui_components::tooltip::{Params as TooltipParams, Tooltip as TooltipComponent}; +use ui_components::{Component as _, Options as ComponentOptions}; use crate::appearance::Appearance; use crate::ui_components::icons::Icon; @@ -40,7 +40,11 @@ pub(crate) fn render_color_dot( ) -> Hoverable { Hoverable::new(mouse_state, move |state| { let overlay: Option> = if is_no_color { - Some(Icon::SlashCircle.to_galaxyui_icon(foreground_color).finish()) + Some( + Icon::SlashCircle + .to_galaxyui_icon(foreground_color) + .finish(), + ) } else { None }; diff --git a/app/src/ui_components/dialog.rs b/app/src/ui_components/dialog.rs index 16f42a96..dc280130 100644 --- a/app/src/ui_components/dialog.rs +++ b/app/src/ui_components/dialog.rs @@ -35,7 +35,9 @@ pub fn dialog_styles(appearance: &Appearance) -> UiComponentStyles { font_weight: Some(galaxyui::fonts::Weight::Bold), background: Some(background.into()), border_color: Some(theme.surface_3().into()), - border_radius: Some(CornerRadius::with_all(galaxyui::elements::Radius::Pixels(8.))), + border_radius: Some(CornerRadius::with_all(galaxyui::elements::Radius::Pixels( + 8., + ))), border_width: Some(1.), ..Default::default() } diff --git a/app/src/ui_components/icon_with_status.rs b/app/src/ui_components/icon_with_status.rs index 9add667f..5ad9d022 100644 --- a/app/src/ui_components/icon_with_status.rs +++ b/app/src/ui_components/icon_with_status.rs @@ -1,5 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::icons::Icon as WarpIcon; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::{Fill as WarpThemeFill, WarpTheme}; @@ -7,6 +5,8 @@ use galaxyui::elements::{ ChildAnchor, ConstrainedBox, Container, CornerRadius, Element, OffsetPositioning, ParentAnchor, ParentElement, ParentOffsetBounds, Radius, Stack, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use crate::ai::agent::conversation::ConversationStatus; use crate::terminal::CLIAgent; @@ -157,10 +157,11 @@ fn render_with_optional_status_badge( return circle; }; let (icon, color) = status.status_icon_and_color(theme); - let badge_icon = ConstrainedBox::new(icon.to_galaxyui_icon(WarpThemeFill::Solid(color)).finish()) - .with_width(sizing.badge_icon_size) - .with_height(sizing.badge_icon_size) - .finish(); + let badge_icon = + ConstrainedBox::new(icon.to_galaxyui_icon(WarpThemeFill::Solid(color)).finish()) + .with_width(sizing.badge_icon_size) + .with_height(sizing.badge_icon_size) + .finish(); let badge = Container::new(badge_icon) .with_uniform_padding(sizing.badge_padding) .with_corner_radius(CornerRadius::with_all(Radius::Percentage(50.))) diff --git a/app/src/ui_components/item_highlight.rs b/app/src/ui_components/item_highlight.rs index 419d187c..0b125eaa 100644 --- a/app/src/ui_components/item_highlight.rs +++ b/app/src/ui_components/item_highlight.rs @@ -1,10 +1,10 @@ use crate::ui_components::blended_colors; use crate::{appearance::Appearance, ui_components::icons::Icon}; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::color::internal_colors; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{CornerRadius, MouseState, Radius}; use galaxyui::Element; +use pathfinder_color::ColorU; /// Shared item highlight state for left-panel style lists (file tree, global search results, /// warp drive rows, etc.). diff --git a/app/src/ui_components/menu_button.rs b/app/src/ui_components/menu_button.rs index 528c39df..b83b1588 100644 --- a/app/src/ui_components/menu_button.rs +++ b/app/src/ui_components/menu_button.rs @@ -1,5 +1,4 @@ use crate::appearance::Appearance; -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxyui::elements::{ ChildAnchor, ChildView, MouseStateHandle, OffsetPositioning, ParentAnchor, ParentElement, ParentOffsetBounds, Stack, @@ -7,6 +6,7 @@ use galaxyui::elements::{ use galaxyui::platform::Cursor; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Element, EventContext, View, ViewHandle}; +use pathfinder_geometry::vector::{vec2f, Vector2F}; use super::buttons::{highlight, icon_button}; use super::icons::Icon; diff --git a/app/src/ui_components/red_notification_dot.rs b/app/src/ui_components/red_notification_dot.rs index c505e07a..9874a7bd 100644 --- a/app/src/ui_components/red_notification_dot.rs +++ b/app/src/ui_components/red_notification_dot.rs @@ -1,5 +1,4 @@ use crate::appearance::Appearance; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::AnsiColorIdentifier; use galaxyui::{ elements::{ @@ -9,6 +8,7 @@ use galaxyui::{ ui_components::components::UiComponentStyles, Element, }; +use pathfinder_geometry::vector::vec2f; pub struct RedNotificationDot {} diff --git a/app/src/ui_components/render_file_search_row.rs b/app/src/ui_components/render_file_search_row.rs index eb97d762..b99a7577 100644 --- a/app/src/ui_components/render_file_search_row.rs +++ b/app/src/ui_components/render_file_search_row.rs @@ -12,7 +12,6 @@ //! - Responsive layout that adapts to different highlight states use fuzzy_match::FuzzyMatchResult; -use std::path::Path; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ Container, CrossAxisAlignment, Flex, Highlight, MainAxisSize, ParentElement, Shrinkable, Text, @@ -20,6 +19,7 @@ use galaxyui::elements::{ use galaxyui::fonts::{Properties, Weight}; use galaxyui::text_layout::ClipConfig; use galaxyui::{AppContext, Element}; +use std::path::Path; use crate::appearance::Appearance; use crate::search::ai_context_menu::safe_truncate; diff --git a/app/src/undo_close/stack.rs b/app/src/undo_close/stack.rs index 01916fd3..3db82a66 100644 --- a/app/src/undo_close/stack.rs +++ b/app/src/undo_close/stack.rs @@ -1,8 +1,8 @@ -use uuid::Uuid; use galaxyui::{ r#async::SpawnedFutureHandle, AppContext, ClosedWindowData, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity, ViewHandle, WeakViewHandle, WindowId, }; +use uuid::Uuid; use crate::{ ai::active_agent_views_model::ActiveAgentViewsModel, diff --git a/app/src/uri/docker.rs b/app/src/uri/docker.rs index 1e6ca232..e306aa91 100644 --- a/app/src/uri/docker.rs +++ b/app/src/uri/docker.rs @@ -3,10 +3,10 @@ use std::{collections::HashMap, fmt::Display}; use crate::{ send_telemetry_from_app_ctx, server::telemetry::TelemetryEvent, terminal::shell::ShellType, }; -use regex::Regex; -use url::Url; use galaxy_util::path::{is_posix_portable_pathname, ShellFamily}; use galaxyui::AppContext; +use regex::Regex; +use url::Url; use crate::root_view::SubshellCommandArg; diff --git a/app/src/uri/mod.rs b/app/src/uri/mod.rs index 60372261..e965efea 100644 --- a/app/src/uri/mod.rs +++ b/app/src/uri/mod.rs @@ -27,14 +27,14 @@ use crate::{ ChannelState, OpenPath, }; use anyhow::{anyhow, ensure, Result}; +use galaxyui::notification::UserNotification; +use galaxyui::{platform::TerminationMode, SingletonEntity as _, TypedActionView}; use itertools::Itertools; use session_sharing_protocol::common::SessionId; use std::collections::HashMap; use std::path::PathBuf; use std::str::FromStr; use url::Url; -use galaxyui::notification::UserNotification; -use galaxyui::{platform::TerminationMode, SingletonEntity as _, TypedActionView}; use galaxyui::{AppContext, EntityId, ViewHandle, WindowId}; diff --git a/app/src/user_config/mod.rs b/app/src/user_config/mod.rs index 79e66f15..61d89340 100644 --- a/app/src/user_config/mod.rs +++ b/app/src/user_config/mod.rs @@ -10,12 +10,12 @@ use crate::{ launch_configs::launch_config::LaunchConfig, themes::theme::ThemeKind, workflows::workflow::Workflow, }; +use galaxy_core::ui::theme::WarpTheme; +use galaxyui::{Entity, ModelContext, SingletonEntity}; use lazy_static::lazy_static; #[cfg(feature = "local_fs")] use std::path::Path; use std::path::PathBuf; -use galaxy_core::ui::theme::WarpTheme; -use galaxyui::{Entity, ModelContext, SingletonEntity}; #[cfg(test)] pub(crate) use imp::load_tab_configs; diff --git a/app/src/user_config/native.rs b/app/src/user_config/native.rs index 0099c892..2991e309 100644 --- a/app/src/user_config/native.rs +++ b/app/src/user_config/native.rs @@ -4,9 +4,9 @@ use std::io::Write; use std::path::Path; use anyhow::{anyhow, Result}; +use galaxyui::{ModelContext, SingletonEntity}; use itertools::Itertools; use repo_metadata::RepositoryUpdate; -use galaxyui::{ModelContext, SingletonEntity}; use crate::features::FeatureFlag; use crate::launch_configs::launch_config::LaunchConfig; diff --git a/app/src/util/bindings.rs b/app/src/util/bindings.rs index 83c64d48..2e5b334c 100644 --- a/app/src/util/bindings.rs +++ b/app/src/util/bindings.rs @@ -5,13 +5,6 @@ use fuzzy_match::match_indices_case_insensitive; use itertools::Itertools; use lazy_static::lazy_static; -use regex::Regex; -use std::borrow::Cow; -use std::{ - cmp::Ordering, - collections::{HashMap, HashSet}, - sync::Arc, -}; use galaxyui::keymap::{BindingId, IsBindingValid}; use galaxyui::platform::OperatingSystem; use galaxyui::{ @@ -23,6 +16,13 @@ use galaxyui::{ Action, }; use galaxyui::{AppContext, SingletonEntity}; +use regex::Regex; +use std::borrow::Cow; +use std::{ + cmp::Ordering, + collections::{HashMap, HashSet}, + sync::Arc, +}; pub const MAC_MENUS_CONTEXT: DescriptionContext = DescriptionContext::Custom("mac_menus"); diff --git a/app/src/util/clipboard.rs b/app/src/util/clipboard.rs index ffe99807..be033570 100644 --- a/app/src/util/clipboard.rs +++ b/app/src/util/clipboard.rs @@ -1,8 +1,8 @@ use std::borrow::Cow; -use itertools::Itertools; use galaxy_util::path::ShellFamily; use galaxyui::clipboard::ClipboardContent; +use itertools::Itertools; /// Returns a string representation of the ClipboardContent with any paths properly escaped if there is a known shell. If not, do not escape the paths. pub fn clipboard_content_with_escaped_paths( diff --git a/app/src/util/file/external_editor/mod.rs b/app/src/util/file/external_editor/mod.rs index f2e04b38..5bd78da3 100644 --- a/app/src/util/file/external_editor/mod.rs +++ b/app/src/util/file/external_editor/mod.rs @@ -8,10 +8,10 @@ mod windows; use std::path::PathBuf; -use serde::{Deserialize, Serialize}; -use settings::EditorChoice; use galaxy_util::path::LineAndColumnArg; use galaxyui::{AppContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; +use settings::EditorChoice; pub use self::settings::{EditorLayout, EditorSettings}; diff --git a/app/src/util/file/external_editor/windows.rs b/app/src/util/file/external_editor/windows.rs index ae77807c..15ea4f19 100644 --- a/app/src/util/file/external_editor/windows.rs +++ b/app/src/util/file/external_editor/windows.rs @@ -3,11 +3,11 @@ use command::r#async::Command; use enum_iterator::{all, cardinality}; +use galaxy_util::path::LineAndColumnArg; +use galaxyui::AppContext; use std::collections::HashMap; use std::path::{Path, PathBuf}; use std::sync::OnceLock; -use galaxy_util::path::LineAndColumnArg; -use galaxyui::AppContext; use winreg::enums::{HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE}; use winreg::RegKey; use winreg::HKEY; diff --git a/app/src/util/link_detection.rs b/app/src/util/link_detection.rs index 3a4337af..57db1ea9 100644 --- a/app/src/util/link_detection.rs +++ b/app/src/util/link_detection.rs @@ -1,7 +1,7 @@ +use galaxyui::elements::PartialClickableElement; use std::collections::HashMap; use std::ops::Range; use urlocator::{UrlLocation, UrlLocator}; -use galaxyui::elements::PartialClickableElement; use galaxyui::platform::Cursor; @@ -373,9 +373,9 @@ pub(crate) fn detect_file_paths( file_paths } -use string_offset::CharOffset; use galaxy_editor::content::buffer::Buffer; use galaxyui::text::word_boundaries::WordBoundariesPolicy; +use string_offset::CharOffset; /// Returns the range of the word surrounding the given offset. pub(crate) fn get_word_range_at_offset( diff --git a/app/src/util/openable_file_type.rs b/app/src/util/openable_file_type.rs index f587afca..6be5f3d3 100644 --- a/app/src/util/openable_file_type.rs +++ b/app/src/util/openable_file_type.rs @@ -2,9 +2,9 @@ #[cfg(feature = "local_fs")] use crate::util::file::external_editor::{settings::EditorChoice, Editor, EditorSettings}; +pub use galaxy_util::file_type::{is_binary_file, is_file_content_binary, is_markdown_file}; use serde::{Deserialize, Serialize}; use std::path::Path; -pub use galaxy_util::file_type::{is_binary_file, is_file_content_binary, is_markdown_file}; #[derive( Debug, diff --git a/app/src/util/traffic_lights.rs b/app/src/util/traffic_lights.rs index 2605dac0..64e3c5c5 100644 --- a/app/src/util/traffic_lights.rs +++ b/app/src/util/traffic_lights.rs @@ -10,13 +10,13 @@ pub mod windows; #[cfg(target_os = "linux")] mod linux_only { pub(super) use crate::workspace::TOTAL_TAB_BAR_HEIGHT; - pub(super) use pathfinder_color::ColorU; - pub(super) use pathfinder_geometry::vector::vec2f; - pub(super) use std::sync::Arc; pub(super) use galaxyui::elements::{ Align, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, Flex, Hoverable, Icon, OffsetPositioning, ParentAnchor, ParentElement, ParentOffsetBounds, Radius, Rect, Stack, }; + pub(super) use pathfinder_color::ColorU; + pub(super) use pathfinder_geometry::vector::vec2f; + pub(super) use std::sync::Arc; } #[cfg(target_os = "linux")] @@ -25,13 +25,13 @@ use linux_only::*; #[cfg(target_os = "windows")] mod windows_only { pub(super) use crate::ui_components::icons::Icon as IconComponent; - pub(super) use pathfinder_color::ColorU; - pub(super) use pathfinder_geometry::vector::vec2f; pub(super) use galaxy_core::ui::theme; pub(super) use galaxyui::elements::{ Align, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, Hoverable, OffsetPositioning, ParentAnchor, ParentOffsetBounds, Radius, Rect, Stack, }; + pub(super) use pathfinder_color::ColorU; + pub(super) use pathfinder_geometry::vector::vec2f; pub(super) const WINDOWS_BRIGHT_RED: ColorU = ColorU { r: 232, g: 17, diff --git a/app/src/util/traffic_lights/windows/renderer.rs b/app/src/util/traffic_lights/windows/renderer.rs index 8bd0d9b6..3487f49d 100644 --- a/app/src/util/traffic_lights/windows/renderer.rs +++ b/app/src/util/traffic_lights/windows/renderer.rs @@ -4,8 +4,6 @@ use crate::util::traffic_lights::windows::RendererState; use crate::util::traffic_lights::windows_only::WINDOWS_BRIGHT_RED; use crate::util::traffic_lights::{TrafficLightData, TrafficLightMouseStates}; use crate::workspace::TOTAL_TAB_BAR_HEIGHT; -use pathfinder_color::ColorU; -use std::sync::Arc; use galaxy_core::ui::theme::{Fill, WarpTheme}; use galaxyui::elements::{ Align, ConstrainedBox, Container, CrossAxisAlignment, Flex, Hoverable, MainAxisAlignment, @@ -14,6 +12,8 @@ use galaxyui::elements::{ use galaxyui::fonts::FamilyId; use galaxyui::platform::FullscreenState; use galaxyui::{AppContext, Element, SingletonEntity}; +use pathfinder_color::ColorU; +use std::sync::Arc; /// Possible window traffic light icons. #[derive(Copy, Clone)] diff --git a/app/src/view_components/action_button.rs b/app/src/view_components/action_button.rs index 23d9378e..2392098f 100644 --- a/app/src/view_components/action_button.rs +++ b/app/src/view_components/action_button.rs @@ -1,6 +1,3 @@ -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use std::{borrow::Cow, sync::Arc}; use galaxy_core::ui::{ appearance::Appearance, color::{coloru_with_opacity, contrast::MinimumAllowedContrast, ContrastingColor}, @@ -21,6 +18,9 @@ use galaxyui::{ AppContext, BlurContext, Element, Entity, EventContext, FocusContext, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use std::{borrow::Cow, sync::Arc}; use crate::{ settings_view::keybindings::{KeybindingChangedEvent, KeybindingChangedNotifier}, @@ -820,7 +820,9 @@ impl View for ActionButton { row.add_child( Container::new( ConstrainedBox::new( - Icon::ChevronDown.to_galaxyui_icon(text_color.into()).finish(), + Icon::ChevronDown + .to_galaxyui_icon(text_color.into()) + .finish(), ) .with_width(icon_size) .with_height(icon_size) diff --git a/app/src/view_components/agent_toast.rs b/app/src/view_components/agent_toast.rs index f8adbb54..93f15bc3 100644 --- a/app/src/view_components/agent_toast.rs +++ b/app/src/view_components/agent_toast.rs @@ -1,8 +1,5 @@ use std::time::Duration; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use uuid::Uuid; use galaxyui::elements::{DropShadow, Expanded}; use galaxyui::r#async::Timer; use galaxyui::WindowId; @@ -18,6 +15,9 @@ use galaxyui::{ ui_components::components::{Coords, UiComponent, UiComponentStyles}, AppContext, Element, Entity, EntityId, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use uuid::Uuid; use crate::appearance::Appearance; use crate::settings_view::keybindings::{KeybindingChangedEvent, KeybindingChangedNotifier}; diff --git a/app/src/view_components/alert.rs b/app/src/view_components/alert.rs index 82422a0f..3f8f3d2e 100644 --- a/app/src/view_components/alert.rs +++ b/app/src/view_components/alert.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::{ elements::{ @@ -8,6 +7,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, Element, }; +use pathfinder_color::ColorU; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/view_components/callout_bubble.rs b/app/src/view_components/callout_bubble.rs index e439702c..698aae7e 100644 --- a/app/src/view_components/callout_bubble.rs +++ b/app/src/view_components/callout_bubble.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::theme::{phenomenon::PhenomenonStyle, Fill}; use galaxyui::elements::{ Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, MainAxisSize, @@ -7,6 +6,7 @@ use galaxyui::elements::{ use galaxyui::ui_components::checkbox::Checkbox; use galaxyui::ui_components::components::UiComponentStyles; use galaxyui::Element; +use pathfinder_color::ColorU; use crate::appearance::Appearance; use crate::ui_components::icons::Icon; diff --git a/app/src/view_components/compact_dropdown.rs b/app/src/view_components/compact_dropdown.rs index c1f34d68..00f5ca0a 100644 --- a/app/src/view_components/compact_dropdown.rs +++ b/app/src/view_components/compact_dropdown.rs @@ -5,7 +5,6 @@ use crate::{ themes::theme::Fill, ui_components::icons::Icon, }; -use pathfinder_geometry::vector::vec2f; use galaxyui::{ elements::{ Border, ChildAnchor, ConstrainedBox, CornerRadius, CrossAxisAlignment, Flex, @@ -20,6 +19,7 @@ use galaxyui::{ Action, AppContext, BlurContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; #[cfg(test)] #[path = "compact_dropdown_tests.rs"] @@ -129,8 +129,9 @@ impl CompactDropdown { let icon_color = fields .override_icon_color() .unwrap_or_else(|| appearance.theme().active_ui_text_color()); - button_label - .add_child(self.render_sized_icon(appearance, icon.to_galaxyui_icon(icon_color))); + button_label.add_child( + self.render_sized_icon(appearance, icon.to_galaxyui_icon(icon_color)), + ); } } diff --git a/app/src/view_components/copyable_text_field.rs b/app/src/view_components/copyable_text_field.rs index d7411042..7d0f5201 100644 --- a/app/src/view_components/copyable_text_field.rs +++ b/app/src/view_components/copyable_text_field.rs @@ -1,8 +1,6 @@ //! A reusable component for displaying text with a copy button that shows //! checkmark feedback when clicked. -use instant::Instant; -use std::time::Duration; use galaxyui::elements::{ ConstrainedBox, Container, CrossAxisAlignment, Element, Expanded, Flex, MouseStateHandle, ParentElement, Shrinkable, Text, @@ -10,6 +8,8 @@ use galaxyui::elements::{ use galaxyui::text_layout::ClipConfig; use galaxyui::ui_components::components::UiComponent; use galaxyui::{AppContext, SingletonEntity}; +use instant::Instant; +use std::time::Duration; use crate::appearance::Appearance; use crate::ui_components::icons::Icon; diff --git a/app/src/view_components/dismissible_toast.rs b/app/src/view_components/dismissible_toast.rs index f17c1215..cd451053 100644 --- a/app/src/view_components/dismissible_toast.rs +++ b/app/src/view_components/dismissible_toast.rs @@ -1,9 +1,6 @@ use std::rc::Rc; use std::time::Duration; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use uuid::Uuid; use galaxy_core::ui::builder::UiBuilder; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::elements::ChildView; @@ -22,6 +19,9 @@ use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; use galaxyui::{Action, ViewHandle}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use uuid::Uuid; use crate::{appearance::Appearance, themes::theme::Fill}; diff --git a/app/src/view_components/dropdown.rs b/app/src/view_components/dropdown.rs index 7a350c7f..effaf9d3 100644 --- a/app/src/view_components/dropdown.rs +++ b/app/src/view_components/dropdown.rs @@ -1,6 +1,5 @@ use std::fmt::Debug; -use pathfinder_color::ColorU; use galaxyui::{ elements::{ Border, ChildAnchor, ChildView, ConstrainedBox, Container, Element, Icon, @@ -17,6 +16,7 @@ use galaxyui::{ Action, AppContext, BlurContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, WeakViewHandle, }; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/view_components/find.rs b/app/src/view_components/find.rs index bc655c7c..23182d20 100644 --- a/app/src/view_components/find.rs +++ b/app/src/view_components/find.rs @@ -10,7 +10,6 @@ use crate::ui_components::{blended_colors, icons::Icon}; use serde::Serialize; use crate::themes::theme::Fill; -use pathfinder_color::ColorU; use galaxyui::elements::{ChildAnchor, OffsetPositioning, Radius, SavePosition, Shrinkable}; use galaxyui::keymap::EditableBinding; use galaxyui::ui_components::components::UiComponent; @@ -30,6 +29,7 @@ use galaxyui::{ }; use galaxyui::{presenter::ChildView, ViewContext, ViewHandle}; use galaxyui::{FocusContext, ModelHandle}; +use pathfinder_color::ColorU; pub const FIND_BAR_WIDTH: f32 = 500.; const ICON_PADDING: f32 = 4.; diff --git a/app/src/view_components/find_tests.rs b/app/src/view_components/find_tests.rs index 10930ddc..09c4cd68 100644 --- a/app/src/view_components/find_tests.rs +++ b/app/src/view_components/find_tests.rs @@ -1,6 +1,6 @@ -use std::sync::Arc; use galaxy_core::ui::appearance::Appearance; use galaxyui::{platform::WindowStyle, App}; +use std::sync::Arc; use crate::auth::AuthStateProvider; use crate::server::server_api::{team::MockTeamClient, workspace::MockWorkspaceClient}; diff --git a/app/src/view_components/submittable_text_input.rs b/app/src/view_components/submittable_text_input.rs index 13724ad6..c82b0476 100644 --- a/app/src/view_components/submittable_text_input.rs +++ b/app/src/view_components/submittable_text_input.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::{ elements::{ Border, Container, CornerRadius, CrossAxisAlignment, Flex, MainAxisAlignment, MainAxisSize, @@ -8,6 +7,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/vim_registers.rs b/app/src/vim_registers.rs index 22736153..e1de009a 100644 --- a/app/src/vim_registers.rs +++ b/app/src/vim_registers.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use vim::vim::MotionType; use galaxyui::{clipboard::ClipboardContent, AppContext, Entity, ModelContext, SingletonEntity}; +use vim::vim::MotionType; use crate::settings::AppEditorSettings; use settings::Setting as _; diff --git a/app/src/voltron.rs b/app/src/voltron.rs index ca18754c..02139fff 100644 --- a/app/src/voltron.rs +++ b/app/src/voltron.rs @@ -26,9 +26,6 @@ use crate::util::bindings::{self, CustomAction}; use crate::workflows::categories::CategoriesView; use enclose::enclose; -use pathfinder_geometry::vector::Vector2F; -use std::path::PathBuf; -use vec1::Vec1; use galaxyui::accessibility::AccessibilityContent; use galaxyui::elements::{ resizable_state_handle, Border, ChildAnchor, ChildView, Clipped, ConstrainedBox, Container, @@ -44,6 +41,9 @@ use galaxyui::{ AppContext, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::Vector2F; +use std::path::PathBuf; +use vec1::Vec1; const DROPDOWN_BUTTON_WIDTH: f32 = 200.; const DROPDOWN_PADDING: f32 = 6.; diff --git a/app/src/warp_managed_paths_watcher.rs b/app/src/warp_managed_paths_watcher.rs index 4211f773..330b7144 100644 --- a/app/src/warp_managed_paths_watcher.rs +++ b/app/src/warp_managed_paths_watcher.rs @@ -3,15 +3,15 @@ use std::path::{Path, PathBuf}; #[cfg(not(target_family = "wasm"))] use std::{fs, sync::Arc, time::Duration}; +#[cfg(not(target_family = "wasm"))] +use galaxyui::ModelHandle; +use galaxyui::{Entity, ModelContext, SingletonEntity}; #[cfg(not(target_family = "wasm"))] use notify_debouncer_full::notify::{RecursiveMode, WatchFilter}; use repo_metadata::RepositoryUpdate; #[cfg(any(not(target_family = "wasm"), test))] use repo_metadata::TargetFile; #[cfg(not(target_family = "wasm"))] -use galaxyui::ModelHandle; -use galaxyui::{Entity, ModelContext, SingletonEntity}; -#[cfg(not(target_family = "wasm"))] use watcher::{BulkFilesystemWatcher, BulkFilesystemWatcherEvent}; /// Duration between filesystem watch events for the Warp managed paths watcher, in milliseconds. diff --git a/app/src/wasm_nux_dialog.rs b/app/src/wasm_nux_dialog.rs index 92360358..51695253 100644 --- a/app/src/wasm_nux_dialog.rs +++ b/app/src/wasm_nux_dialog.rs @@ -6,7 +6,6 @@ use crate::settings::app_installation_detection::{ use crate::settings::{NativePreferenceSettings, UserNativePreference}; use crate::ui_components::dialog::{dialog_styles, Dialog}; use crate::uri::web_intent_parser::{self, WebIntent}; -use settings::Setting as _; use galaxyui::elements::{Align, CrossAxisAlignment, Flex}; use galaxyui::ui_components::{ button::ButtonVariant, @@ -18,6 +17,7 @@ use galaxyui::{ platform::Cursor, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, }; +use settings::Setting as _; const CLOSE_BUTTON_DIAMETER: f32 = 20.; const DIALOG_WIDTH: f32 = 350.; diff --git a/app/src/window_settings.rs b/app/src/window_settings.rs index 3871b4e1..d0cad480 100644 --- a/app/src/window_settings.rs +++ b/app/src/window_settings.rs @@ -1,7 +1,7 @@ +use galaxyui::{AppContext, WindowId}; use settings::{ macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud, }; -use galaxyui::{AppContext, WindowId}; define_settings_group!(WindowSettings, settings: [ background_blur_radius: BackgroundBlurRadius { diff --git a/app/src/word_block_editor.rs b/app/src/word_block_editor.rs index 50b76697..618636d5 100644 --- a/app/src/word_block_editor.rs +++ b/app/src/word_block_editor.rs @@ -1,5 +1,4 @@ #![allow(dead_code, unused_imports, unused_variables)] -use pathfinder_color::ColorU; use galaxy_editor::editor::NavigationKey; use galaxyui::{ elements::{ @@ -11,6 +10,7 @@ use galaxyui::{ AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; use crate::{ appearance::Appearance, diff --git a/app/src/workflows/aliases.rs b/app/src/workflows/aliases.rs index 3db7d78f..383d7752 100644 --- a/app/src/workflows/aliases.rs +++ b/app/src/workflows/aliases.rs @@ -1,13 +1,13 @@ use std::collections::{HashMap, HashSet}; use anyhow::Error; -use serde::{Deserialize, Serialize}; -use settings_value::SettingsValue; use galaxy_core::{ define_settings_group, settings::{RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud}, }; use galaxyui::{AppContext, ModelContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; +use settings_value::SettingsValue; use crate::{ cloud_object::{ diff --git a/app/src/workflows/categories.rs b/app/src/workflows/categories.rs index d6a9a028..659635b4 100644 --- a/app/src/workflows/categories.rs +++ b/app/src/workflows/categories.rs @@ -1,4 +1,3 @@ -use itertools::Itertools; use galaxy_editor::editor::NavigationKey; use galaxyui::{ elements::{ @@ -9,6 +8,7 @@ use galaxyui::{ fonts::{Properties, Weight}, AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext, WeakViewHandle, }; +use itertools::Itertools; use crate::appearance::Appearance; use crate::util::bindings::CustomAction; @@ -24,14 +24,8 @@ use crate::{ user_config::WarpConfigUpdateEvent, }; use fuzzy_match::{match_indices_case_insensitive, FuzzyMatchResult}; -use std::collections::HashMap; -use std::ops::Deref; -#[cfg(feature = "local_fs")] -use std::path::PathBuf; -use std::sync::Arc; use galaxy_core::ui::builder::UiBuilder; use galaxy_core::ui::theme::color::internal_colors; -use warp_workflows::workflows as global_workflows; use galaxyui::accessibility::{AccessibilityContent, WarpA11yRole}; use galaxyui::color::ColorU; use galaxyui::elements::{ @@ -40,6 +34,12 @@ use galaxyui::elements::{ use galaxyui::keymap::FixedBinding; use galaxyui::text_layout::TextStyle; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; +use std::collections::HashMap; +use std::ops::Deref; +#[cfg(feature = "local_fs")] +use std::path::PathBuf; +use std::sync::Arc; +use warp_workflows::workflows as global_workflows; use super::{workflow::Workflow, WorkflowSource}; diff --git a/app/src/workflows/export_workflow.rs b/app/src/workflows/export_workflow.rs index 5f1064be..96051f82 100644 --- a/app/src/workflows/export_workflow.rs +++ b/app/src/workflows/export_workflow.rs @@ -1,3 +1,4 @@ +use galaxyui::{AppContext, SingletonEntity}; use serde::{ de::{self, MapAccess, Visitor}, ser::SerializeStruct, @@ -6,7 +7,6 @@ use serde::{ use serde_yaml::Value; use strum::VariantNames as _; use strum_macros::{Display, EnumString, VariantNames}; -use galaxyui::{AppContext, SingletonEntity}; use std::{collections::HashMap, fmt, result::Result, str::FromStr}; diff --git a/app/src/workflows/local_workflows.rs b/app/src/workflows/local_workflows.rs index acb99d23..e9e67061 100644 --- a/app/src/workflows/local_workflows.rs +++ b/app/src/workflows/local_workflows.rs @@ -5,10 +5,10 @@ use std::{ }; use galaxy_util::path::ShellFamily; -use warp_workflows::workflows as global_workflows; #[cfg(not(target_family = "wasm"))] use galaxyui::platform::OperatingSystem; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity}; +use warp_workflows::workflows as global_workflows; #[cfg(feature = "local_fs")] use crate::user_config::load_workflows; diff --git a/app/src/workflows/local_workflows_test.rs b/app/src/workflows/local_workflows_test.rs index 5f54642a..13060771 100644 --- a/app/src/workflows/local_workflows_test.rs +++ b/app/src/workflows/local_workflows_test.rs @@ -1,5 +1,5 @@ -use std::sync::Arc; use galaxyui::App; +use std::sync::Arc; use super::*; diff --git a/app/src/workflows/manager.rs b/app/src/workflows/manager.rs index 3cc59328..ba726da0 100644 --- a/app/src/workflows/manager.rs +++ b/app/src/workflows/manager.rs @@ -13,8 +13,8 @@ use crate::{ workflows::{workflow_view::WorkflowView, WorkflowViewMode}, PaneViewLocator, WindowId, }; -use std::collections::{hash_map::Entry, HashMap}; use galaxyui::{Entity, EntityId, ModelContext, SingletonEntity}; +use std::collections::{hash_map::Entry, HashMap}; pub struct WorkflowManager { panes_by_hashed_id: HashMap, diff --git a/app/src/workflows/mod.rs b/app/src/workflows/mod.rs index 929a073f..02dbc66b 100644 --- a/app/src/workflows/mod.rs +++ b/app/src/workflows/mod.rs @@ -1,9 +1,9 @@ use std::sync::Arc; -use serde::{Deserialize, Serialize}; use galaxy_core::context_flag::ContextFlag; use galaxy_core::features::FeatureFlag; use galaxyui::{AppContext, SingletonEntity}; +use serde::{Deserialize, Serialize}; pub mod categories; use anyhow::Result; diff --git a/app/src/workflows/workflow_view/alias_bar.rs b/app/src/workflows/workflow_view/alias_bar.rs index cad9356a..a1f6cf07 100644 --- a/app/src/workflows/workflow_view/alias_bar.rs +++ b/app/src/workflows/workflow_view/alias_bar.rs @@ -1,7 +1,6 @@ use std::{cmp::Ordering, collections::HashMap}; use anyhow::Error; -use pathfinder_geometry::vector::vec2f; use galaxy_core::{ features::FeatureFlag, ui::{ @@ -21,6 +20,7 @@ use galaxyui::{ AppContext, Element, Entity, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ cloud_object::{model::persistence::CloudModel, CloudObject}, diff --git a/app/src/workflows/workflow_view/argument_editor.rs b/app/src/workflows/workflow_view/argument_editor.rs index dcf09943..f34ae853 100644 --- a/app/src/workflows/workflow_view/argument_editor.rs +++ b/app/src/workflows/workflow_view/argument_editor.rs @@ -1,7 +1,5 @@ use std::cmp::Ordering; -use itertools::Itertools; -use pathfinder_color::ColorU; use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance}; use galaxy_editor::editor::NavigationKey; use galaxyui::{ @@ -16,6 +14,8 @@ use galaxyui::{ }, AppContext, Element, SingletonEntity as _, ViewContext, ViewHandle, }; +use itertools::Itertools; +use pathfinder_color::ColorU; use crate::{ drive::workflows::{ diff --git a/app/src/workflows/workflow_view/env_var_selector.rs b/app/src/workflows/workflow_view/env_var_selector.rs index cb25499f..6bf4a48b 100644 --- a/app/src/workflows/workflow_view/env_var_selector.rs +++ b/app/src/workflows/workflow_view/env_var_selector.rs @@ -1,8 +1,8 @@ -use itertools::Itertools as _; use galaxyui::{ elements::ChildView, Element as _, Entity, SingletonEntity as _, TypedActionView, View, ViewAsRef, ViewContext, ViewHandle, }; +use itertools::Itertools as _; use crate::{ cloud_object::{ diff --git a/app/src/workflows/workflow_view/syntax_highlightable.rs b/app/src/workflows/workflow_view/syntax_highlightable.rs index bfe5a793..2f638b79 100644 --- a/app/src/workflows/workflow_view/syntax_highlightable.rs +++ b/app/src/workflows/workflow_view/syntax_highlightable.rs @@ -3,13 +3,13 @@ use std::ops::Range; use std::time::Duration; use async_channel::Sender; -use string_offset::ByteOffset; use galaxy_completer::completer::SuggestionTypeName; use galaxy_completer::signatures::CommandRegistry; use galaxy_core::ui::theme::AnsiColorIdentifier; use galaxyui::r#async::SpawnedFutureHandle; use galaxyui::ViewHandle; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use string_offset::ByteOffset; use crate::appearance::Appearance; use crate::completer::SessionAgnosticContext; diff --git a/app/src/workspace/action.rs b/app/src/workspace/action.rs index 3a688b70..7074ff80 100644 --- a/app/src/workspace/action.rs +++ b/app/src/workspace/action.rs @@ -31,12 +31,12 @@ use crate::workflows::{WorkflowSelectionSource, WorkflowSource, WorkflowType}; use crate::workspace::PaneViewLocator; use session_sharing_protocol::common::SessionId; -use ui_components::lightbox; use galaxyui::accessibility::AccessibilityVerbosity; use galaxyui::geometry::rect::RectF; use galaxyui::geometry::vector::Vector2F; use galaxyui::platform::Cursor; use galaxyui::{EntityId, WeakViewHandle, WindowId}; +use ui_components::lightbox; use super::global_actions::{ForkFromExchange, ForkedConversationDestination}; use super::tab_settings::{ diff --git a/app/src/workspace/bonus_grant_notification_model.rs b/app/src/workspace/bonus_grant_notification_model.rs index b8cd3a24..42e1da8e 100644 --- a/app/src/workspace/bonus_grant_notification_model.rs +++ b/app/src/workspace/bonus_grant_notification_model.rs @@ -3,9 +3,9 @@ use crate::ai::request_usage_model::{ }; use crate::terminal::general_settings::GeneralSettings; use chrono::{Duration, Utc}; -use std::collections::HashSet; use galaxy_core::settings::Setting; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use std::collections::HashSet; pub struct BonusGrantNotificationModel { /// In-memory tracking of grants shown during this session. This prevents duplicate diff --git a/app/src/workspace/close_session_confirmation_dialog.rs b/app/src/workspace/close_session_confirmation_dialog.rs index f2179a26..ce78ba09 100644 --- a/app/src/workspace/close_session_confirmation_dialog.rs +++ b/app/src/workspace/close_session_confirmation_dialog.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -14,6 +13,7 @@ use galaxyui::{ }, AppContext, Element, Entity, EntityId, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; use crate::{ appearance::Appearance, diff --git a/app/src/workspace/delete_conversation_confirmation_dialog.rs b/app/src/workspace/delete_conversation_confirmation_dialog.rs index 145a633f..d32a9a9e 100644 --- a/app/src/workspace/delete_conversation_confirmation_dialog.rs +++ b/app/src/workspace/delete_conversation_confirmation_dialog.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::Fill; use galaxyui::{ elements::{ @@ -9,6 +8,7 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; use crate::{ ai::agent::conversation::AIConversationId, diff --git a/app/src/workspace/global_actions.rs b/app/src/workspace/global_actions.rs index 4f26d150..4c4b5805 100644 --- a/app/src/workspace/global_actions.rs +++ b/app/src/workspace/global_actions.rs @@ -14,10 +14,10 @@ use crate::root_view::OpenPath; use crate::undo_close::UndoCloseStack; use crate::workspace::{Workspace, WorkspaceAction}; use crate::GlobalResourceHandlesProvider; -use std::path::PathBuf; use galaxy_graphql::mutations::create_anonymous_user::AnonymousUserType; use galaxyui::windowing::WindowManager; use galaxyui::{AppContext, SingletonEntity, TypedActionView}; +use std::path::PathBuf; /// Specifies where a forked conversation should be opened. #[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] diff --git a/app/src/workspace/header_toolbar_item.rs b/app/src/workspace/header_toolbar_item.rs index 835c30a8..181baf8f 100644 --- a/app/src/workspace/header_toolbar_item.rs +++ b/app/src/workspace/header_toolbar_item.rs @@ -6,8 +6,8 @@ use crate::settings::AISettings; use crate::ui_components::icons::Icon; use crate::workspace::tab_settings::TabSettings; -use settings::Setting as _; use galaxyui::{AppContext, SingletonEntity}; +use settings::Setting as _; /// A configurable item in the vertical tabs header toolbar. /// diff --git a/app/src/workspace/hoa_onboarding/hoa_onboarding_flow.rs b/app/src/workspace/hoa_onboarding/hoa_onboarding_flow.rs index f90aaab5..2dd53816 100644 --- a/app/src/workspace/hoa_onboarding/hoa_onboarding_flow.rs +++ b/app/src/workspace/hoa_onboarding/hoa_onboarding_flow.rs @@ -1,8 +1,5 @@ use std::path::PathBuf; -use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextLine, FormattedTextStyles, Hyperlink, -}; use galaxyui::elements::{ Align, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex, FormattedTextElement, MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius, @@ -18,9 +15,12 @@ use galaxyui::{ AppContext, Element, Entity, EventContext, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextLine, FormattedTextStyles, Hyperlink, +}; -use pathfinder_color::ColorU; use galaxy_core::ui::theme::{phenomenon::PhenomenonStyle, Fill}; +use pathfinder_color::ColorU; use crate::appearance::Appearance; use crate::settings::AISettings; diff --git a/app/src/workspace/hoa_onboarding/welcome_banner.rs b/app/src/workspace/hoa_onboarding/welcome_banner.rs index e2550032..05745b52 100644 --- a/app/src/workspace/hoa_onboarding/welcome_banner.rs +++ b/app/src/workspace/hoa_onboarding/welcome_banner.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::{phenomenon::PhenomenonStyle, Fill}; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::elements::{ @@ -8,6 +7,7 @@ use galaxyui::elements::{ }; use galaxyui::fonts::{Properties, Weight}; use galaxyui::Element; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; use crate::ui_components::icons::Icon; diff --git a/app/src/workspace/lightbox_view.rs b/app/src/workspace/lightbox_view.rs index c3160585..cb7cb2be 100644 --- a/app/src/workspace/lightbox_view.rs +++ b/app/src/workspace/lightbox_view.rs @@ -1,12 +1,12 @@ use std::sync::Arc; -use pathfinder_geometry::vector::Vector2F; -use ui_components::{lightbox, Component as _}; use galaxyui::assets::asset_cache::{AssetCache, AssetSource, AssetState}; use galaxyui::image_cache::ImageType; use galaxyui::keymap::{FixedBinding, Keystroke}; use galaxyui::prelude::*; use galaxyui::{AppContext, BlurContext, Element, Entity, SingletonEntity, View, ViewContext}; +use pathfinder_geometry::vector::Vector2F; +use ui_components::{lightbox, Component as _}; use crate::appearance::Appearance; diff --git a/app/src/workspace/mod.rs b/app/src/workspace/mod.rs index e05a1a2f..e35a8011 100644 --- a/app/src/workspace/mod.rs +++ b/app/src/workspace/mod.rs @@ -43,13 +43,13 @@ use crate::channel::ChannelState; use crate::util::bindings::{self, cmd_or_ctrl_shift, is_binding_pty_compliant, CustomAction}; use crate::palette::PaletteMode; -use serde::{Deserialize, Serialize}; use galaxy_core::context_flag::ContextFlag; use galaxyui::accessibility::AccessibilityVerbosity; use galaxyui::elements::DropTargetData; use galaxyui::keymap::FixedBinding; use galaxyui::keymap::{BindingDescription, EditableBinding}; use galaxyui::AppContext; +use serde::{Deserialize, Serialize}; pub use action::{ CommandSearchOptions, InitContent, RestoreConversationLayout, TabContextMenuAnchor, diff --git a/app/src/workspace/native_modal.rs b/app/src/workspace/native_modal.rs index f29e2644..145450e4 100644 --- a/app/src/workspace/native_modal.rs +++ b/app/src/workspace/native_modal.rs @@ -1,7 +1,6 @@ use crate::appearance::Appearance; use crate::terminal::general_settings::{GeneralSettings, GeneralSettingsChangedEvent}; use crate::ui_components::dialog::{dialog_styles, Dialog}; -use settings::Setting as _; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{Align, Container, Empty, Flex, ParentElement}; use galaxyui::keymap::FixedBinding; @@ -15,6 +14,7 @@ use galaxyui::{ Element, Entity, TypedActionView, View, }; use galaxyui::{AppContext, ModelHandle, SingletonEntity, ViewContext}; +use settings::Setting as _; pub(super) fn init(app: &mut AppContext) { use galaxyui::keymap::macros::*; diff --git a/app/src/workspace/one_time_modal_model.rs b/app/src/workspace/one_time_modal_model.rs index fb32ea57..8673a4df 100644 --- a/app/src/workspace/one_time_modal_model.rs +++ b/app/src/workspace/one_time_modal_model.rs @@ -7,9 +7,9 @@ use crate::settings::cloud_preferences_syncer::{ }; use crate::settings::{AISettings, CodeSettings}; use crate::terminal::general_settings::GeneralSettings; -use settings::Setting as _; use galaxy_core::features::FeatureFlag; use galaxyui::{Entity, ModelContext, SingletonEntity, WindowId}; +use settings::Setting as _; /// A generic model for managing one-time modals that should be shown to users only once. /// diff --git a/app/src/workspace/rewind_confirmation_dialog.rs b/app/src/workspace/rewind_confirmation_dialog.rs index ab2d73b6..cfcc7559 100644 --- a/app/src/workspace/rewind_confirmation_dialog.rs +++ b/app/src/workspace/rewind_confirmation_dialog.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::{color::coloru_with_opacity, theme::Fill}; use galaxyui::{ elements::{ @@ -15,6 +14,7 @@ use galaxyui::{ }, AppContext, Element, Entity, EntityId, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; use crate::{ ai::agent::{conversation::AIConversationId, AIAgentExchangeId}, diff --git a/app/src/workspace/tab_settings.rs b/app/src/workspace/tab_settings.rs index 5f28be19..4a14ebf6 100644 --- a/app/src/workspace/tab_settings.rs +++ b/app/src/workspace/tab_settings.rs @@ -1,10 +1,10 @@ use std::collections::HashMap; use std::path::Path; +use galaxy_core::ui::theme::AnsiColorIdentifier; use settings::{ macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud, }; -use galaxy_core::ui::theme::AnsiColorIdentifier; #[derive( Default, diff --git a/app/src/workspace/tab_settings_tests.rs b/app/src/workspace/tab_settings_tests.rs index 186ed312..fd9a30a9 100644 --- a/app/src/workspace/tab_settings_tests.rs +++ b/app/src/workspace/tab_settings_tests.rs @@ -1,7 +1,7 @@ use super::*; use crate::test_util::settings::initialize_settings_for_tests; -use settings::Setting; use galaxyui::{App, SingletonEntity}; +use settings::Setting; #[test] fn use_latest_user_prompt_as_conversation_title_in_tab_names_defaults_to_false() { diff --git a/app/src/workspace/util.rs b/app/src/workspace/util.rs index 870260df..0a987b53 100644 --- a/app/src/workspace/util.rs +++ b/app/src/workspace/util.rs @@ -1,8 +1,8 @@ -use serde::{Deserialize, Serialize}; use galaxyui::{ elements::MouseStateHandle, AppContext, EntityId, SingletonEntity, ViewContext, ViewHandle, WindowId, }; +use serde::{Deserialize, Serialize}; use super::OneTimeModalModel; use crate::window_settings::WindowSettings; diff --git a/app/src/workspace/view.rs b/app/src/workspace/view.rs index 9d7a2831..729d4278 100644 --- a/app/src/workspace/view.rs +++ b/app/src/workspace/view.rs @@ -135,10 +135,10 @@ use crate::workspace::view::openwarp_launch_modal::{ use crate::workspace::{ForkFromExchange, ForkedConversationDestination}; use crate::BlocklistAIHistoryModel; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; +use galaxyui::notification::NotificationSendError; #[cfg(all(target_os = "macos", feature = "crash_reporting"))] use sentry::protocol::{Attachment, AttachmentType}; use serde_json; -use galaxyui::notification::NotificationSendError; use super::hoa_onboarding::{ mark_hoa_onboarding_completed, HoaOnboardingFlow, HoaOnboardingFlowEvent, HoaOnboardingStep, @@ -375,6 +375,12 @@ use crate::{ use crate::{send_telemetry_from_ctx, GlobalResourceHandles}; use futures::Future; +use galaxy_core::context_flag::ContextFlag; +use galaxy_core::semantic_selection::SemanticSelection; +use galaxy_util::path::{user_friendly_path, LineAndColumnArg}; +use galaxyui::fonts::Weight; +use galaxyui::modals::{AlertDialogWithCallbacks, AppModalCallback}; +use galaxyui::windowing::{StateEvent, WindowManager}; use itertools::Itertools; use parking_lot::FairMutex; use pathfinder_geometry::rect::RectF; @@ -386,12 +392,6 @@ use std::convert::TryFrom; use std::time::Duration; #[cfg(target_os = "macos")] use std::time::{SystemTime, UNIX_EPOCH}; -use galaxy_core::context_flag::ContextFlag; -use galaxy_core::semantic_selection::SemanticSelection; -use galaxy_util::path::{user_friendly_path, LineAndColumnArg}; -use galaxyui::fonts::Weight; -use galaxyui::modals::{AlertDialogWithCallbacks, AppModalCallback}; -use galaxyui::windowing::{StateEvent, WindowManager}; use galaxy_core::user_preferences::GetUserPreferences as _; use galaxyui::clipboard::ClipboardContent; @@ -468,19 +468,6 @@ use crate::TelemetryEvent; use autoupdate::AutoupdateStage; #[cfg(target_os = "macos")] use command::blocking::Command; -use lazy_static::lazy_static; -use pathfinder_color::ColorU; -#[cfg(target_os = "macos")] -use std::env; -use std::fmt::Write; -#[cfg(all(target_os = "macos", feature = "crash_reporting"))] -use std::fs; -use std::path::Path; -use std::path::PathBuf; -#[cfg(target_os = "macos")] -use std::process; -use std::sync::{mpsc, Mutex}; -use std::{cmp::Ordering, sync::Arc}; use galaxy_core::ui::theme::{color::internal_colors, phenomenon::PhenomenonStyle, Fill}; use galaxy_core::ui::{color::coloru_with_opacity, Icon}; use galaxy_editor::editor::NavigationKey; @@ -510,6 +497,19 @@ use galaxyui::{ EntityId, FocusContext, ModelHandle, SingletonEntity, UpdateModel, ViewAsRef, WeakViewHandle, WindowId, }; +use lazy_static::lazy_static; +use pathfinder_color::ColorU; +#[cfg(target_os = "macos")] +use std::env; +use std::fmt::Write; +#[cfg(all(target_os = "macos", feature = "crash_reporting"))] +use std::fs; +use std::path::Path; +use std::path::PathBuf; +#[cfg(target_os = "macos")] +use std::process; +use std::sync::{mpsc, Mutex}; +use std::{cmp::Ordering, sync::Arc}; use crate::terminal::view::LeftPanelTargetView; @@ -18393,11 +18393,14 @@ impl Workspace { let text_color = theme.main_text_color(Fill::Solid(bg_color)).into_solid(); // Left side: alert icon + bold heading + regular description, all inline. - let icon = - ConstrainedBox::new(Icon::AlertCircle.to_galaxyui_icon(text_color.into()).finish()) - .with_width(16.) - .with_height(16.) - .finish(); + let icon = ConstrainedBox::new( + Icon::AlertCircle + .to_galaxyui_icon(text_color.into()) + .finish(), + ) + .with_width(16.) + .with_height(16.) + .finish(); let ui_font_family = appearance.ui_font_family(); const BANNER_FONT_SIZE: f32 = 12.; @@ -19270,8 +19273,6 @@ impl Workspace { .insert(flags::SHARED_BLOCK_TITLE_GENERATION_FLAG); } - - if *ai_settings .should_render_use_agent_footer_for_user_commands .value() diff --git a/app/src/workspace/view/build_plan_migration_modal.rs b/app/src/workspace/view/build_plan_migration_modal.rs index 6f6bfbe7..d1fc1110 100644 --- a/app/src/workspace/view/build_plan_migration_modal.rs +++ b/app/src/workspace/view/build_plan_migration_modal.rs @@ -5,12 +5,6 @@ use crate::view_components::{Dropdown, DropdownEvent, DropdownItem, ToastFlavor} use crate::workspaces::user_workspaces::{UserWorkspaces, UserWorkspacesEvent}; use crate::workspaces::workspace::CustomerType; use asset_macro::bundled_or_fetched_asset; -use itertools::Itertools; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use settings::Setting as _; -use thousands::Separable; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxy_graphql::billing::{AddonCreditsOption, StripeSubscriptionPlan}; @@ -27,6 +21,12 @@ use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use itertools::Itertools; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use settings::Setting as _; +use thousands::Separable; const BUTTON_DIAMETER: f32 = 20.; const DROPDOWN_WIDTH: f32 = 160.; diff --git a/app/src/workspace/view/cloud_agent_capacity_modal/mod.rs b/app/src/workspace/view/cloud_agent_capacity_modal/mod.rs index fe4b9202..3483238e 100644 --- a/app/src/workspace/view/cloud_agent_capacity_modal/mod.rs +++ b/app/src/workspace/view/cloud_agent_capacity_modal/mod.rs @@ -5,10 +5,6 @@ use crate::ui_components::icons::Icon; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::workspaces::workspace::CustomerType; use asset_macro::bundled_or_fetched_asset; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use thousands::Separable; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxy_graphql::billing::StripeSubscriptionPlan; @@ -24,6 +20,10 @@ use galaxyui::platform::Cursor; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use thousands::Separable; use crate::send_telemetry_from_ctx; use crate::TelemetryEvent; diff --git a/app/src/workspace/view/codex_modal.rs b/app/src/workspace/view/codex_modal.rs index b9278ae7..8c7124dc 100644 --- a/app/src/workspace/view/codex_modal.rs +++ b/app/src/workspace/view/codex_modal.rs @@ -2,8 +2,6 @@ use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon; use crate::view_components::action_button::{ActionButton, ActionButtonTheme}; use asset_macro::bundled_or_fetched_asset; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::elements::{ @@ -19,6 +17,8 @@ use galaxyui::ui_components::components::UiComponent; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; /// White button theme for the Codex modal CTA. struct WhiteButtonTheme; diff --git a/app/src/workspace/view/conversation_list/item.rs b/app/src/workspace/view/conversation_list/item.rs index 995661b3..012a5c70 100644 --- a/app/src/workspace/view/conversation_list/item.rs +++ b/app/src/workspace/view/conversation_list/item.rs @@ -10,7 +10,6 @@ use crate::ui_components::menu_button::{icon_button_with_context_menu, MenuDirec use crate::util::time_format::format_approx_duration_from_now_utc; use crate::util::truncation::truncate_from_end; use crate::workspace::view::conversation_list::view::ConversationListViewAction; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::color::coloru_with_opacity; use galaxy_core::ui::theme::color::internal_colors; use galaxy_util::path::user_friendly_path; @@ -26,6 +25,7 @@ use galaxyui::platform::Cursor; use galaxyui::text_layout::TextStyle; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{AppContext, SingletonEntity, ViewHandle}; +use pathfinder_geometry::vector::vec2f; /// Maximum length for tooltip text before truncation const MAX_TOOLTIP_LENGTH: usize = 80; diff --git a/app/src/workspace/view/free_tier_limit_hit_modal.rs b/app/src/workspace/view/free_tier_limit_hit_modal.rs index 88f82e61..ba254aeb 100644 --- a/app/src/workspace/view/free_tier_limit_hit_modal.rs +++ b/app/src/workspace/view/free_tier_limit_hit_modal.rs @@ -6,10 +6,6 @@ use crate::ui_components::icons::Icon; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::TelemetryEvent; use asset_macro::bundled_or_fetched_asset; -use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use thousands::Separable; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::{Fill, WarpTheme}; @@ -26,6 +22,10 @@ use galaxyui::platform::Cursor; use galaxyui::ui_components::button::ButtonVariant; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext}; +use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use thousands::Separable; const BUTTON_DIAMETER: f32 = 20.; const MODAL_HEIGHT: f32 = 440.; diff --git a/app/src/workspace/view/global_search/model.rs b/app/src/workspace/view/global_search/model.rs index c766c57b..88c9eb39 100644 --- a/app/src/workspace/view/global_search/model.rs +++ b/app/src/workspace/view/global_search/model.rs @@ -2,14 +2,14 @@ use crate::workspace::view::global_search::view::GlobalSearchEvent; use crate::workspace::view::global_search::SearchConfig; use anyhow::Result; use futures::StreamExt as _; +use galaxy_ripgrep::search::{Match as RipgrepMatch, Submatch}; +use galaxyui::r#async::SpawnedFutureHandle; +use galaxyui::{Entity, ModelContext, ModelSpawner}; use instant::Instant; use num_traits::SaturatingSub; use regex::escape; use std::path::PathBuf; use string_offset::ByteOffset; -use galaxy_ripgrep::search::{Match as RipgrepMatch, Submatch}; -use galaxyui::r#async::SpawnedFutureHandle; -use galaxyui::{Entity, ModelContext, ModelSpawner}; const START_BATCH_AFTER_COUNT: usize = 50; const MAX_BATCH_SIZE: usize = 512; diff --git a/app/src/workspace/view/global_search/view.rs b/app/src/workspace/view/global_search/view.rs index 582421bb..a9607002 100644 --- a/app/src/workspace/view/global_search/view.rs +++ b/app/src/workspace/view/global_search/view.rs @@ -8,10 +8,10 @@ use std::time::Duration; use crate::coding_panel_enablement_state::CodingPanelEnablementState; use async_channel::Sender; -use pathfinder_geometry::vector::vec2f; -use string_offset::{ByteOffset, CharCounter}; use galaxy_editor::editor::NavigationKey; use galaxy_ripgrep::search::{Match as RipgrepMatch, Submatch}; +use pathfinder_geometry::vector::vec2f; +use string_offset::{ByteOffset, CharCounter}; use crate::code::icon_from_file_path; use crate::debounce::debounce; diff --git a/app/src/workspace/view/launch_modal/cta_button.rs b/app/src/workspace/view/launch_modal/cta_button.rs index 0e8286c3..10330025 100644 --- a/app/src/workspace/view/launch_modal/cta_button.rs +++ b/app/src/workspace/view/launch_modal/cta_button.rs @@ -1,7 +1,7 @@ use super::Slide; use crate::server::telemetry::TelemetryEvent; -use std::rc::Rc; use galaxyui::ViewContext; +use std::rc::Rc; /// A callback function for custom CTA button actions. type CustomCallback = Rc>)>; diff --git a/app/src/workspace/view/launch_modal/mod.rs b/app/src/workspace/view/launch_modal/mod.rs index 7d8406f2..5d7ca8d6 100644 --- a/app/src/workspace/view/launch_modal/mod.rs +++ b/app/src/workspace/view/launch_modal/mod.rs @@ -10,9 +10,6 @@ use crate::ui_components::blended_colors; use crate::ui_components::icons::Icon; use crate::view_components::action_button::{ActionButton, PrimaryTheme, SecondaryTheme}; use crate::workspace::view::launch_modal::cta_button::{CTAButton, CTAButtonAction}; -use markdown_parser::{parse_markdown, FormattedText, FormattedTextLine}; -use pathfinder_color::ColorU; -use std::collections::HashMap; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::Fill; use galaxyui::assets::asset_cache::AssetSource; @@ -31,6 +28,9 @@ use galaxyui::ui_components::components::UiComponent; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{parse_markdown, FormattedText, FormattedTextLine}; +use pathfinder_color::ColorU; +use std::collections::HashMap; pub fn init(app: &mut AppContext) { use galaxyui::keymap::macros::*; diff --git a/app/src/workspace/view/launch_modal/oz_launch.rs b/app/src/workspace/view/launch_modal/oz_launch.rs index 59611135..5d4973d3 100644 --- a/app/src/workspace/view/launch_modal/oz_launch.rs +++ b/app/src/workspace/view/launch_modal/oz_launch.rs @@ -7,10 +7,10 @@ use crate::workspace::view::OnboardingTutorial; use crate::workspaces::user_workspaces::UserWorkspaces; use crate::workspaces::workspace::{AdminEnablementSetting, UgcCollectionEnablementSetting}; use asset_macro::bundled_or_fetched_asset; -use markdown_parser::{FormattedTextFragment, FormattedTextLine}; use galaxy_core::send_telemetry_from_ctx; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::{AppContext, SingletonEntity}; +use markdown_parser::{FormattedTextFragment, FormattedTextLine}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub enum OzLaunchSlide { diff --git a/app/src/workspace/view/onboarding.rs b/app/src/workspace/view/onboarding.rs index 64647b27..153ba2eb 100644 --- a/app/src/workspace/view/onboarding.rs +++ b/app/src/workspace/view/onboarding.rs @@ -6,11 +6,11 @@ use crate::terminal::view::{ }; use crate::workspace::Workspace; use crate::FeatureFlag; +use galaxyui::{SingletonEntity as _, ViewContext}; use onboarding::{ProjectOnboardingSettings, SelectedSettings}; use std::collections::HashMap; use std::path::PathBuf; use std::sync::Arc; -use galaxyui::{SingletonEntity as _, ViewContext}; /// Configuration for starting the agent onboarding tutorial. #[derive(Debug, Clone)] diff --git a/app/src/workspace/view/openwarp_launch_modal/view.rs b/app/src/workspace/view/openwarp_launch_modal/view.rs index 29a95cd3..15015c6c 100644 --- a/app/src/workspace/view/openwarp_launch_modal/view.rs +++ b/app/src/workspace/view/openwarp_launch_modal/view.rs @@ -1,8 +1,3 @@ -use markdown_parser::{ - FormattedText, FormattedTextFragment, FormattedTextLine, FormattedTextStyles, Hyperlink, -}; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::theme::{phenomenon::PhenomenonStyle, Fill}; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::elements::{ @@ -16,6 +11,11 @@ use galaxyui::keymap::FixedBinding; use galaxyui::{ AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{ + FormattedText, FormattedTextFragment, FormattedTextLine, FormattedTextStyles, Hyperlink, +}; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; use crate::appearance::Appearance; use crate::ui_components::icons::Icon; diff --git a/app/src/workspace/view/right_panel.rs b/app/src/workspace/view/right_panel.rs index 01bba543..a989e189 100644 --- a/app/src/workspace/view/right_panel.rs +++ b/app/src/workspace/view/right_panel.rs @@ -31,11 +31,6 @@ use crate::{ }; use crate::{code_review::diff_state::DiffStateModel, terminal::view::TerminalView}; use dunce::canonicalize; -use itertools::Itertools; -use std::{ - path::{Path, PathBuf}, - sync::Arc, -}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::Icon; use galaxy_util::path::LineAndColumnArg; @@ -59,6 +54,11 @@ use galaxyui::{ platform::Cursor, ui_components::components::UiComponent, }; +use itertools::Itertools; +use std::{ + path::{Path, PathBuf}, + sync::Arc, +}; /// Describes which agent destination is available for sending review comments. #[derive(Clone, Debug, PartialEq)] diff --git a/app/src/workspace/view/startup_directory.rs b/app/src/workspace/view/startup_directory.rs index a73260cb..6f06fa0b 100644 --- a/app/src/workspace/view/startup_directory.rs +++ b/app/src/workspace/view/startup_directory.rs @@ -6,9 +6,9 @@ use crate::terminal::available_shells::AvailableShell; use crate::terminal::available_shells::AvailableShells; use crate::terminal::session_settings::{NewSessionSource, SessionSettings}; use crate::terminal::ShellLaunchData; -use std::path::PathBuf; use galaxyui::SingletonEntity; use galaxyui::{AppContext, ViewContext, WindowId}; +use std::path::PathBuf; impl Workspace { /// Helper function to compute the initial directory for a new session diff --git a/app/src/workspace/view/vertical_tabs.rs b/app/src/workspace/view/vertical_tabs.rs index 129d2ba0..1809d305 100644 --- a/app/src/workspace/view/vertical_tabs.rs +++ b/app/src/workspace/view/vertical_tabs.rs @@ -51,11 +51,6 @@ use crate::workspace::{ }; use languages::language_by_filename; -use pathfinder_color::ColorU; -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use settings::Setting as _; -use std::path::{Path, PathBuf}; use galaxy_core::context_flag::ContextFlag; use galaxy_core::telemetry::TelemetryEvent as _; use galaxy_core::ui::color::blend::Blend; @@ -80,6 +75,11 @@ use galaxyui::text_layout::ClipConfig; use galaxyui::ui_components::components::{UiComponent, UiComponentStyles}; use galaxyui::ui_components::text_input::TextInput; use galaxyui::{AppContext, EntityId, SingletonEntity, ViewHandle, WindowId}; +use pathfinder_color::ColorU; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use settings::Setting as _; +use std::path::{Path, PathBuf}; const PANEL_WIDTH: f32 = 248.; const MIN_PANEL_WIDTH: f32 = 200.; diff --git a/app/src/workspace/view/vertical_tabs/telemetry.rs b/app/src/workspace/view/vertical_tabs/telemetry.rs index 394271a2..2e290a67 100644 --- a/app/src/workspace/view/vertical_tabs/telemetry.rs +++ b/app/src/workspace/view/vertical_tabs/telemetry.rs @@ -1,7 +1,7 @@ -use serde_json::{json, Value}; -use strum_macros::{EnumDiscriminants, EnumIter}; use galaxy_core::features::FeatureFlag; use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; +use serde_json::{json, Value}; +use strum_macros::{EnumDiscriminants, EnumIter}; use crate::workspace::tab_settings::{ VerticalTabsCompactSubtitle, VerticalTabsDisplayGranularity, VerticalTabsPrimaryInfo, diff --git a/app/src/workspace/view/vertical_tabs_tests.rs b/app/src/workspace/view/vertical_tabs_tests.rs index cf9dd9f3..fc94d437 100644 --- a/app/src/workspace/view/vertical_tabs_tests.rs +++ b/app/src/workspace/view/vertical_tabs_tests.rs @@ -4,11 +4,11 @@ use crate::pane_group::{PaneId, TerminalPaneId}; use crate::safe_triangle::SafeTriangle; use crate::terminal::CLIAgent; use crate::workspace::tab_settings::VerticalTabsDisplayGranularity; +use galaxyui::elements::PositionedElementOffsetBounds; +use galaxyui::EntityId; use pathfinder_geometry::rect::RectF; use pathfinder_geometry::vector::Vector2F; use std::path::PathBuf; -use galaxyui::elements::PositionedElementOffsetBounds; -use galaxyui::EntityId; use super::{ branch_label_display, coalesce_summary_branch_entries, code_detail_kind_label, diff --git a/app/src/workspace/view_test.rs b/app/src/workspace/view_test.rs index f4c2e524..fdbef1d8 100644 --- a/app/src/workspace/view_test.rs +++ b/app/src/workspace/view_test.rs @@ -76,13 +76,13 @@ use crate::{AgentNotificationsModel, ObjectActions}; use crate::settings::cloud_preferences_syncer::CloudPreferencesSyncer; use ai::index::full_source_code_embedding::manager::CodebaseIndexManager; use ai::project_context::model::ProjectContextModel; +use galaxy_editor::editor::NavigationKey; +use galaxyui::AddSingletonModel; +use galaxyui::{platform::WindowStyle, App, ViewHandle}; use pane_group::{NotebookPane, PaneState, SplitPaneState, TerminalPaneId}; use session_sharing_protocol::common::SessionId; use terminal::shared_session::permissions_manager::SessionPermissionsManager; use terminal::view::ActiveSessionState; -use galaxy_editor::editor::NavigationKey; -use galaxyui::AddSingletonModel; -use galaxyui::{platform::WindowStyle, App, ViewHandle}; fn initialize_app(app: &mut App) { initialize_settings_for_tests(app); diff --git a/app/src/workspaces/gql_convert.rs b/app/src/workspaces/gql_convert.rs index 8a5b033a..deedc58b 100644 --- a/app/src/workspaces/gql_convert.rs +++ b/app/src/workspaces/gql_convert.rs @@ -42,8 +42,6 @@ use crate::{ server::cloud_objects::listener::ObjectUpdateMessage, }; use anyhow::{anyhow, bail}; -use regex::Regex; -use std::path::PathBuf; use galaxy_graphql::workspace::AddonCreditsSettings as GqlAddonCreditsSettings; use galaxy_graphql::{ billing::{ @@ -83,6 +81,8 @@ use galaxy_graphql::{ WriteToPtyAutonomyValue as GqlWriteToPtyAutonomyValue, }, }; +use regex::Regex; +use std::path::PathBuf; pub const PLACEHOLDER_WORKSPACE_UID: &str = "NOT_A_REAL_WORKSPACE_UID"; @@ -1082,7 +1082,9 @@ impl TryFrom for ServerWorkflow { } } -impl TryFrom for ServerEnvVarCollection { +impl TryFrom + for ServerEnvVarCollection +{ type Error = anyhow::Error; fn try_from( @@ -1223,7 +1225,9 @@ impl TryFrom } } -impl TryFrom for ServerCloudAgentConfig { +impl TryFrom + for ServerCloudAgentConfig +{ type Error = anyhow::Error; fn try_from( diff --git a/app/src/workspaces/update_manager.rs b/app/src/workspaces/update_manager.rs index c735bd3e..77c0033d 100644 --- a/app/src/workspaces/update_manager.rs +++ b/app/src/workspaces/update_manager.rs @@ -20,11 +20,11 @@ use crate::{report_error, report_if_error}; use anyhow::{Context, Result}; use futures::channel::oneshot::{self, Receiver}; use futures::stream::AbortHandle; -use std::sync::mpsc::SyncSender; -use std::sync::Arc; use galaxyui::r#async::Timer; use galaxyui::{duration_with_jitter, RequestState}; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use std::sync::mpsc::SyncSender; +use std::sync::Arc; pub enum TeamUpdateManagerEvent { LeaveSuccess, diff --git a/app/src/workspaces/update_manager_tests.rs b/app/src/workspaces/update_manager_tests.rs index c85c699e..039dcdf5 100644 --- a/app/src/workspaces/update_manager_tests.rs +++ b/app/src/workspaces/update_manager_tests.rs @@ -1,6 +1,6 @@ use chrono::Utc; -use itertools::Itertools; use galaxyui::{AddSingletonModel, App}; +use itertools::Itertools; use crate::{ auth::AuthManager, diff --git a/app/src/workspaces/user_profiles.rs b/app/src/workspaces/user_profiles.rs index e7c86b19..9c12fb12 100644 --- a/app/src/workspaces/user_profiles.rs +++ b/app/src/workspaces/user_profiles.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; -use session_sharing_protocol::common::ProfileData; use galaxyui::{Entity, SingletonEntity}; +use session_sharing_protocol::common::ProfileData; use crate::auth::UserUid; diff --git a/app/src/workspaces/user_workspaces.rs b/app/src/workspaces/user_workspaces.rs index fe187ce6..a8483eef 100644 --- a/app/src/workspaces/user_workspaces.rs +++ b/app/src/workspaces/user_workspaces.rs @@ -27,14 +27,14 @@ use crate::{ }, }; use anyhow::Result; -use regex::Regex; -use std::sync::Arc; use galaxy_core::{ features::FeatureFlag, settings::{ChangeEventReason, Setting}, }; use galaxy_graphql::workspace::FeatureModelChoice; use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity, Tracked}; +use regex::Regex; +use std::sync::Arc; #[cfg(test)] use crate::server::server_api::{team::MockTeamClient, workspace::MockWorkspaceClient}; diff --git a/app/src/workspaces/user_workspaces_tests.rs b/app/src/workspaces/user_workspaces_tests.rs index d37054d3..22441c66 100644 --- a/app/src/workspaces/user_workspaces_tests.rs +++ b/app/src/workspaces/user_workspaces_tests.rs @@ -22,11 +22,11 @@ use crate::workspaces::workspace::{ Workspace, }; +use galaxyui::{AddSingletonModel, App}; +use galaxyui_extras::user_preferences; use mockall::Sequence; use settings::{PrivatePreferences, PublicPreferences}; use std::time::Duration; -use galaxyui::{AddSingletonModel, App}; -use galaxyui_extras::user_preferences; use super::*; diff --git a/app/src/workspaces/workspace.rs b/app/src/workspaces/workspace.rs index e427fced..1daae8e2 100644 --- a/app/src/workspaces/workspace.rs +++ b/app/src/workspaces/workspace.rs @@ -4,10 +4,12 @@ use crate::ai::execution_profiles::{ use crate::ai::llms::LLMModelHost; use crate::{auth::UserUid, server::ids::ServerId, settings::AgentModeCommandExecutionPredicate}; use chrono::Utc; +use galaxy_graphql::billing::{ + AddonCreditAutoReloadStatus, ServiceAgreement, ServiceAgreementType, +}; use regex::Regex; use serde::{Deserialize, Serialize}; use std::{cmp::Ordering, path::PathBuf}; -use galaxy_graphql::billing::{AddonCreditAutoReloadStatus, ServiceAgreement, ServiceAgreementType}; use super::team::{MembershipRole, Team}; diff --git a/crates/ai/src/agent/action/convert.rs b/crates/ai/src/agent/action/convert.rs index b1c32763..53d3ea58 100644 --- a/crates/ai/src/agent/action/convert.rs +++ b/crates/ai/src/agent/action/convert.rs @@ -1,8 +1,8 @@ use std::{path::PathBuf, time::Duration}; +use galaxy_core::features::FeatureFlag; use itertools::Itertools as _; use uuid::Uuid; -use galaxy_core::features::FeatureFlag; use warp_multi_agent_api as api; use crate::{ diff --git a/crates/ai/src/agent/action/mod.rs b/crates/ai/src/agent/action/mod.rs index 5a56be11..68483674 100644 --- a/crates/ai/src/agent/action/mod.rs +++ b/crates/ai/src/agent/action/mod.rs @@ -2,11 +2,11 @@ mod convert; use std::{fmt::Display, ops::Range, path::PathBuf, time::Duration}; +use galaxy_terminal::model::BlockId; use itertools::Itertools as _; use serde::{Deserialize, Serialize}; use strum_macros::EnumDiscriminants; use uuid::Uuid; -use galaxy_terminal::model::BlockId; use crate::{ agent::{ diff --git a/crates/ai/src/agent/action_result/mod.rs b/crates/ai/src/agent/action_result/mod.rs index c185e201..38b98855 100644 --- a/crates/ai/src/agent/action_result/mod.rs +++ b/crates/ai/src/agent/action_result/mod.rs @@ -2,11 +2,11 @@ mod convert; use std::{fmt::Display, ops::Range, time::SystemTime}; +use galaxy_core::command::ExitCode; +use galaxy_terminal::model::BlockId; use itertools::Itertools as _; use serde::{Deserialize, Serialize}; -use galaxy_core::command::ExitCode; use warp_multi_agent_api::apply_file_diffs_result::success::UpdatedFileContent; -use galaxy_terminal::model::BlockId; use crate::{ agent::FileLocations, diff --git a/crates/ai/src/agent/file_locations.rs b/crates/ai/src/agent/file_locations.rs index 6cece7aa..3daee2f0 100644 --- a/crates/ai/src/agent/file_locations.rs +++ b/crates/ai/src/agent/file_locations.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; use std::ops::Range; -use itertools::Itertools as _; use galaxy_terminal::shell::ShellLaunchData; +use itertools::Itertools as _; use crate::agent::action_result::FileContext; use crate::{index::locations::CodeContextLocation, paths::shell_native_absolute_path}; diff --git a/crates/ai/src/api_keys.rs b/crates/ai/src/api_keys.rs index 20feaaeb..7a384b80 100644 --- a/crates/ai/src/api_keys.rs +++ b/crates/ai/src/api_keys.rs @@ -1,8 +1,8 @@ pub use crate::aws_credentials::{AwsCredentials, AwsCredentialsState}; -use serde::{Deserialize, Serialize}; -use warp_multi_agent_api as api; use galaxyui::{Entity, ModelContext, SingletonEntity}; use galaxyui_extras::secure_storage::{self, AppContextExt}; +use serde::{Deserialize, Serialize}; +use warp_multi_agent_api as api; const SECURE_STORAGE_KEY: &str = "AiApiKeys"; diff --git a/crates/ai/src/index/full_source_code_embedding/codebase_index.rs b/crates/ai/src/index/full_source_code_embedding/codebase_index.rs index 9feb6f6f..fb5abae4 100644 --- a/crates/ai/src/index/full_source_code_embedding/codebase_index.rs +++ b/crates/ai/src/index/full_source_code_embedding/codebase_index.rs @@ -2,13 +2,13 @@ use anyhow::anyhow; use async_channel; use chrono::{DateTime, Utc}; use futures::stream::AbortHandle; +use galaxy_core::safe_error; +use galaxyui::{Entity, ModelContext, ModelHandle}; use ignore::gitignore::Gitignore; #[cfg(feature = "local_fs")] use repo_metadata::entry::IgnoredPathStrategy; use repo_metadata::Repository; use std::{path::Path, sync::Arc}; -use galaxy_core::safe_error; -use galaxyui::{Entity, ModelContext, ModelHandle}; use super::{ fragment_metadata::{FragmentMetadata, LeafToFragmentMetadata, LeafToFragmentMetadataUpdates}, diff --git a/crates/ai/src/index/full_source_code_embedding/codebase_index_tests.rs b/crates/ai/src/index/full_source_code_embedding/codebase_index_tests.rs index f3fe0086..4e65eaef 100644 --- a/crates/ai/src/index/full_source_code_embedding/codebase_index_tests.rs +++ b/crates/ai/src/index/full_source_code_embedding/codebase_index_tests.rs @@ -17,13 +17,13 @@ use crate::index::full_source_code_embedding::{ }; use crate::index::locations::{CodeContextLocation, FileFragmentLocation}; use futures::executor::block_on; +use galaxy_util::standardized_path::StandardizedPath; +use galaxyui::{App, SingletonEntity}; use repo_metadata::DirectoryWatcher; use std::collections::HashMap; use std::ops::Range; use std::path::PathBuf; use std::sync::Arc; -use galaxy_util::standardized_path::StandardizedPath; -use galaxyui::{App, SingletonEntity}; use super::{ CodebaseIndex, CodebaseIndexTimeStampMetadata, TreeSourceSyncState, diff --git a/crates/ai/src/index/full_source_code_embedding/merkle_tree/node.rs b/crates/ai/src/index/full_source_code_embedding/merkle_tree/node.rs index 55643e58..26603064 100644 --- a/crates/ai/src/index/full_source_code_embedding/merkle_tree/node.rs +++ b/crates/ai/src/index/full_source_code_embedding/merkle_tree/node.rs @@ -4,12 +4,12 @@ use crate::index::{ use anyhow::anyhow; use chrono::{DateTime, Utc}; +use galaxy_util::standardized_path::StandardizedPath; use itertools::Itertools; use rayon::iter::{IntoParallelIterator, ParallelIterator}; use repo_metadata::entry::is_file_parsable; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; -use galaxy_util::standardized_path::StandardizedPath; use std::{ collections::{HashMap, HashSet}, diff --git a/crates/ai/src/index/full_source_code_embedding/merkle_tree/node_test.rs b/crates/ai/src/index/full_source_code_embedding/merkle_tree/node_test.rs index 73ac8665..05d8cdc1 100644 --- a/crates/ai/src/index/full_source_code_embedding/merkle_tree/node_test.rs +++ b/crates/ai/src/index/full_source_code_embedding/merkle_tree/node_test.rs @@ -19,8 +19,10 @@ fn test_node_hash_for_directory_is_sorted() { sandbox.with_files(vec![Stub::FileWithContent("bar", "bar")]); let mut directory_entry = DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()) - .unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local( + dirs.tests(), + ) + .unwrap(), children: vec![], ignored: false, loaded: false, @@ -461,8 +463,10 @@ fn test_merkle_node_multiple_operations() { ]); let mut directory_entry = DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()) - .unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local( + dirs.tests(), + ) + .unwrap(), children: vec![], ignored: false, loaded: true, @@ -570,8 +574,10 @@ fn test_merkle_node_multiple_operations() { ); let mut directory_entry = DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()) - .unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local( + dirs.tests(), + ) + .unwrap(), children: vec![], ignored: false, loaded: true, @@ -772,8 +778,10 @@ fn test_merkle_node_multiple_operations() { // Create a new MerkleTree with the expected final structure manually let mut expected_directory_entry = DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()) - .unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local( + dirs.tests(), + ) + .unwrap(), children: vec![], ignored: false, loaded: true, diff --git a/crates/ai/src/index/full_source_code_embedding/merkle_tree/test_util.rs b/crates/ai/src/index/full_source_code_embedding/merkle_tree/test_util.rs index 0fcb27dc..9c4af865 100644 --- a/crates/ai/src/index/full_source_code_embedding/merkle_tree/test_util.rs +++ b/crates/ai/src/index/full_source_code_embedding/merkle_tree/test_util.rs @@ -31,7 +31,8 @@ pub async fn construct_test_merkle_tree( ]); let mut root_dir_entry = DirectoryEntry { - path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()).unwrap(), + path: galaxy_util::standardized_path::StandardizedPath::try_from_local(dirs.tests()) + .unwrap(), children: vec![], ignored: false, loaded: true, diff --git a/crates/ai/src/index/full_source_code_embedding/mod.rs b/crates/ai/src/index/full_source_code_embedding/mod.rs index cbe439ce..b5d4e928 100644 --- a/crates/ai/src/index/full_source_code_embedding/mod.rs +++ b/crates/ai/src/index/full_source_code_embedding/mod.rs @@ -16,9 +16,9 @@ pub use codebase_index::{CodebaseIndex, RetrievalID, SyncProgress}; pub use merkle_tree::{ContentHash, NodeHash}; use fragment_metadata::FragmentMetadata; +use galaxy_graphql::queries::rerank_fragments::FragmentLocationInput; use string_offset::ByteOffset; use thiserror::Error; -use galaxy_graphql::queries::rerank_fragments::FragmentLocationInput; #[derive(Error, Debug)] pub enum Error { diff --git a/crates/ai/src/index/full_source_code_embedding/snapshot.rs b/crates/ai/src/index/full_source_code_embedding/snapshot.rs index 04b8773c..de15b545 100644 --- a/crates/ai/src/index/full_source_code_embedding/snapshot.rs +++ b/crates/ai/src/index/full_source_code_embedding/snapshot.rs @@ -1,5 +1,7 @@ use chrono::Utc; #[cfg(feature = "local_fs")] +use galaxyui::ModelHandle; +#[cfg(feature = "local_fs")] use repo_metadata::Repository; use std::{ collections::HashSet, @@ -7,8 +9,6 @@ use std::{ path::{Path, PathBuf}, time::Duration, }; -#[cfg(feature = "local_fs")] -use galaxyui::ModelHandle; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/crates/ai/src/index/full_source_code_embedding/sync_client.rs b/crates/ai/src/index/full_source_code_embedding/sync_client.rs index 047ae844..90fce272 100644 --- a/crates/ai/src/index/full_source_code_embedding/sync_client.rs +++ b/crates/ai/src/index/full_source_code_embedding/sync_client.rs @@ -1,4 +1,5 @@ use anyhow::{anyhow, Result}; +use galaxy_core::sync_queue::{IsTransientError, SyncQueue, SyncQueueTaskTrait}; use itertools::Itertools; use std::future::Future; use std::ops::AddAssign; @@ -8,7 +9,6 @@ use std::{ mem, sync::Arc, }; -use galaxy_core::sync_queue::{IsTransientError, SyncQueue, SyncQueueTaskTrait}; use super::{CodebaseContextConfig, NodeHash}; diff --git a/crates/ai/src/paths.rs b/crates/ai/src/paths.rs index a30fbc07..4ff1c9ab 100644 --- a/crates/ai/src/paths.rs +++ b/crates/ai/src/paths.rs @@ -1,9 +1,9 @@ -use typed_path::{TypedPath, TypedPathBuf, WindowsPath}; use galaxy_terminal::shell::ShellLaunchData; use galaxy_util::path::{ convert_msys2_to_windows_native_path, convert_wsl_to_windows_host_path, msys2_exe_to_root, }; use galaxyui::platform::OperatingSystem; +use typed_path::{TypedPath, TypedPathBuf, WindowsPath}; fn use_unix_paths(shell: Option<&ShellLaunchData>) -> bool { OperatingSystem::get().is_linux() diff --git a/crates/ai/src/project_context/model.rs b/crates/ai/src/project_context/model.rs index c2109894..7a22b46f 100644 --- a/crates/ai/src/project_context/model.rs +++ b/crates/ai/src/project_context/model.rs @@ -1,9 +1,9 @@ use anyhow::Result; +use galaxyui::{Entity, ModelContext, SingletonEntity}; #[cfg(feature = "local_fs")] use repo_metadata::repositories::RepoDetectionSource; use std::collections::HashMap; use std::path::{Path, PathBuf}; -use galaxyui::{Entity, ModelContext, SingletonEntity}; cfg_if::cfg_if! { if #[cfg(feature = "local_fs")] { diff --git a/crates/ai/src/skills/skill_provider.rs b/crates/ai/src/skills/skill_provider.rs index fa797a14..545facc8 100644 --- a/crates/ai/src/skills/skill_provider.rs +++ b/crates/ai/src/skills/skill_provider.rs @@ -9,10 +9,10 @@ use std::sync::LazyLock; use serde::{Deserialize, Serialize}; -use strum_macros::{Display, EnumString, VariantNames}; use galaxy_core::ui::color::CLAUDE_ORANGE; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::Fill; +use strum_macros::{Display, EnumString, VariantNames}; /// Represents a skill provider/origin (Agents, Claude, Codex, or Warp). #[derive( diff --git a/crates/ai/src/telemetry.rs b/crates/ai/src/telemetry.rs index f088123c..9a5b7451 100644 --- a/crates/ai/src/telemetry.rs +++ b/crates/ai/src/telemetry.rs @@ -1,13 +1,13 @@ use std::time::Duration; -use serde::Serialize; -use serde_json::{json, Value}; -use strum_macros::{EnumDiscriminants, EnumIter}; use galaxy_core::{ features::FeatureFlag, register_telemetry_event, telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}, }; +use serde::Serialize; +use serde_json::{json, Value}; +use strum_macros::{EnumDiscriminants, EnumIter}; #[cfg_attr(not(feature = "local_fs"), allow(dead_code))] #[derive(Clone, EnumDiscriminants)] diff --git a/crates/asset_cache/src/lib.rs b/crates/asset_cache/src/lib.rs index 66ee5ee6..30718aeb 100644 --- a/crates/asset_cache/src/lib.rs +++ b/crates/asset_cache/src/lib.rs @@ -6,10 +6,10 @@ use anyhow::Result; use async_fs::{OpenOptions, create_dir_all}; use bytes::Bytes; use futures::AsyncWriteExt; -use reqwest::Url; use galaxyui_core::assets::asset_cache::{ Asset, AssetCache, AssetSource, AssetState, AsyncAssetId, AsyncAssetType, }; +use reqwest::Url; /// Namespace marker for URL-based async asset sources without persistence. pub struct UrlAssetWithoutPersistence; diff --git a/crates/asset_macro/src/lib.rs b/crates/asset_macro/src/lib.rs index 57fbe134..0ff049ae 100644 --- a/crates/asset_macro/src/lib.rs +++ b/crates/asset_macro/src/lib.rs @@ -22,6 +22,7 @@ extern crate quote; extern crate proc_macro; +use galaxy_util::assets::{ASSETS_DIR, ASYNC_ASSETS_DIR, BUNDLED_ASSETS_DIR, REMOTE_ASSETS_DIR}; use proc_macro::TokenStream; use proc_macro2::TokenStream as TokenStream2; use sha2::Digest; @@ -31,7 +32,6 @@ use std::{ }; use syn::{parse::Parse, Token}; use syn::{parse_macro_input, LitStr}; -use galaxy_util::assets::{ASSETS_DIR, ASYNC_ASSETS_DIR, BUNDLED_ASSETS_DIR, REMOTE_ASSETS_DIR}; struct MacroArgs { /// The name of the asset. E.g. `jpg/jellyfish_bg.jpg` diff --git a/crates/computer_use/src/linux/wayland/mod.rs b/crates/computer_use/src/linux/wayland/mod.rs index 35f30264..32b371fd 100644 --- a/crates/computer_use/src/linux/wayland/mod.rs +++ b/crates/computer_use/src/linux/wayland/mod.rs @@ -11,8 +11,8 @@ mod screenshot; mod session; use async_trait::async_trait; -use pathfinder_geometry::vector::Vector2I; use galaxyui::r#async::Timer; +use pathfinder_geometry::vector::Vector2I; use crate::{Action, ActionResult, Options}; diff --git a/crates/computer_use/src/linux/x11/mod.rs b/crates/computer_use/src/linux/x11/mod.rs index 6fa879fa..0e3a4b33 100644 --- a/crates/computer_use/src/linux/x11/mod.rs +++ b/crates/computer_use/src/linux/x11/mod.rs @@ -5,8 +5,8 @@ mod mouse; mod screenshot; use async_trait::async_trait; -use pathfinder_geometry::vector::Vector2I; use galaxyui::r#async::Timer; +use pathfinder_geometry::vector::Vector2I; use x11rb::connection::Connection; use x11rb::protocol::xproto::{self, ConnectionExt as _}; use x11rb::protocol::xtest::ConnectionExt as _; diff --git a/crates/computer_use/src/mac/mouse.rs b/crates/computer_use/src/mac/mouse.rs index 824ed042..d0800dc9 100644 --- a/crates/computer_use/src/mac/mouse.rs +++ b/crates/computer_use/src/mac/mouse.rs @@ -1,13 +1,13 @@ use instant::Instant; use std::time::Duration; +use galaxyui::r#async::Timer; use objc2_core_foundation::CGPoint; use objc2_core_graphics::{ CGEvent, CGEventSource, CGEventSourceStateID, CGEventTapLocation, CGEventType, CGMouseButton, CGScrollEventUnit, }; use pathfinder_geometry::vector::Vector2I; -use galaxyui::r#async::Timer; use crate::{MouseButton, ScrollDirection, ScrollDistance}; diff --git a/crates/editor/benches/buffer_bench.rs b/crates/editor/benches/buffer_bench.rs index af3c8960..a7871ef3 100644 --- a/crates/editor/benches/buffer_bench.rs +++ b/crates/editor/benches/buffer_bench.rs @@ -1,11 +1,11 @@ use std::fs; use criterion::{Criterion, criterion_group, criterion_main}; -use rand::{SeedableRng, rngs::StdRng}; use galaxy_editor::content::{ buffer::Buffer, selection_model::BufferSelectionModel, text::IndentBehavior, }; use galaxyui::{App, ModelHandle}; +use rand::{SeedableRng, rngs::StdRng}; const EDIT_SAMPLE_SIZE: usize = 10; const MAX_EDIT_REPLACEMENT_LENGTH: usize = 20; diff --git a/crates/editor/src/content/anchor_test.rs b/crates/editor/src/content/anchor_test.rs index 69a249ae..b33c8762 100644 --- a/crates/editor/src/content/anchor_test.rs +++ b/crates/editor/src/content/anchor_test.rs @@ -1,7 +1,7 @@ use std::cmp::Ordering; -use sum_tree::SumTree; use galaxyui::App; +use sum_tree::SumTree; use super::{AnchorSide, Anchors}; diff --git a/crates/editor/src/content/buffer.rs b/crates/editor/src/content/buffer.rs index 7cd61094..cf01a592 100644 --- a/crates/editor/src/content/buffer.rs +++ b/crates/editor/src/content/buffer.rs @@ -1,4 +1,5 @@ use core::fmt; +use galaxy_util::content_version::ContentVersion; use itertools::{Either, Itertools}; use line_ending::LineEnding; use markdown_parser::{ @@ -17,7 +18,6 @@ use std::{ sync::Arc, }; use vec1::{Vec1, vec1}; -use galaxy_util::content_version::ContentVersion; use super::{ anchor::{Anchor, AnchorSide, Anchors}, @@ -51,14 +51,14 @@ use crate::{ render::model::{EmbeddedItem, RenderedSelection, RenderedSelectionBias, RenderedSelectionSet}, }; use enum_iterator::all; -use string_offset::{ByteOffset, CharOffset}; -use sum_tree::{SeekBias, SumTree}; use galaxyui::{AppContext, Entity, ModelContext}; use galaxyui::{EntityId, ModelHandle, elements::ListIndentLevel}; use galaxyui::{ fonts::Weight, text::{TextBuffer, char_slice, point::Point}, }; +use string_offset::{ByteOffset, CharOffset}; +use sum_tree::{SeekBias, SumTree}; /// Format of the passed in text. #[derive(Clone, Debug, Copy)] diff --git a/crates/editor/src/content/buffer_test.rs b/crates/editor/src/content/buffer_test.rs index 0d2830be..b677bc9e 100644 --- a/crates/editor/src/content/buffer_test.rs +++ b/crates/editor/src/content/buffer_test.rs @@ -2,6 +2,7 @@ use std::ops::Range; use std::sync::Arc; use std::sync::atomic::{AtomicU8, Ordering}; +use galaxyui::{App, AppContext, ModelContext, ModelHandle, ReadModel}; use line_ending::LineEnding; use markdown_parser::{ FormattedIndentTextInline, FormattedText, FormattedTextFragment, FormattedTextLine, parse_html, @@ -12,7 +13,6 @@ use rand::SeedableRng; use rand::rngs::StdRng; use serde_yaml::{Mapping, Value}; use vec1::{Vec1, vec1}; -use galaxyui::{App, AppContext, ModelContext, ModelHandle, ReadModel}; use crate::content::buffer::{ AutoScrollBehavior, BufferEditAction, BufferSelectAction, EditOrigin, EmbeddedItemConversion, @@ -37,10 +37,10 @@ use crate::render::model::{ EmbeddedItem, EmbeddedItemHTMLRepresentation, EmbeddedItemRichFormat, LaidOutEmbeddedItem, RenderedSelectionSet, }; -use string_offset::ByteOffset; -use string_offset::CharOffset; use galaxyui::elements::ListIndentLevel; use galaxyui::text::point::Point; +use string_offset::ByteOffset; +use string_offset::CharOffset; use crate::content::buffer::{Buffer, StyledBufferRun}; diff --git a/crates/editor/src/content/core.rs b/crates/editor/src/content/core.rs index 02bceb5d..f8639504 100644 --- a/crates/editor/src/content/core.rs +++ b/crates/editor/src/content/core.rs @@ -19,11 +19,11 @@ use crate::content::{ }, }; use enum_iterator::all; +use galaxyui::elements::ListIndentLevel; use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine}; use std::ops::Range; use string_offset::CharOffset; use sum_tree::SumTree; -use galaxyui::elements::ListIndentLevel; #[derive(Debug, Clone)] pub struct CoreEditorAction { diff --git a/crates/editor/src/content/edit.rs b/crates/editor/src/content/edit.rs index 13427a07..463346d7 100644 --- a/crates/editor/src/content/edit.rs +++ b/crates/editor/src/content/edit.rs @@ -7,13 +7,6 @@ use std::{ }; use anyhow::{Result, anyhow}; -use itertools::Itertools; -use markdown_parser::{Hyperlink, TableAlignment}; -use num_traits::SaturatingSub; -use rangemap::RangeSet; -use rayon::iter::{IndexedParallelIterator, IntoParallelIterator, ParallelIterator}; -use urlocator::{UrlLocation, UrlLocator}; -use vec1::Vec1; use galaxy_core::{features::FeatureFlag, ui::theme::Fill as ThemeFill}; use galaxyui::{ AppContext, @@ -23,6 +16,13 @@ use galaxyui::{ text_layout::{StyleAndFont, TextAlignment}, units::{IntoPixels, Pixels}, }; +use itertools::Itertools; +use markdown_parser::{Hyperlink, TableAlignment}; +use num_traits::SaturatingSub; +use rangemap::RangeSet; +use rayon::iter::{IndexedParallelIterator, IntoParallelIterator, ParallelIterator}; +use urlocator::{UrlLocation, UrlLocator}; +use vec1::Vec1; use crate::{ parallel_util::Last, @@ -38,8 +38,8 @@ use crate::{ }, }, }; -use string_offset::{ByteOffset, CharOffset}; use galaxyui::text::char_slice; +use string_offset::{ByteOffset, CharOffset}; use super::{ buffer::{StyledBufferBlock, StyledBufferRun, StyledTextBlock}, diff --git a/crates/editor/src/content/edit_tests.rs b/crates/editor/src/content/edit_tests.rs index 8e6c7db3..3190878a 100644 --- a/crates/editor/src/content/edit_tests.rs +++ b/crates/editor/src/content/edit_tests.rs @@ -13,8 +13,6 @@ use crate::{ model::{BlockItem, test_utils::TEST_STYLES}, }, }; -use std::path::Path; -use string_offset::CharOffset; use galaxy_core::features::FeatureFlag; use galaxyui::{ App, SingletonEntity, @@ -23,6 +21,8 @@ use galaxyui::{ image_cache::ImageType, text_layout::{LayoutCache, StyleAndFont, TextStyle}, }; +use std::path::Path; +use string_offset::CharOffset; #[test] fn test_highlight_urls() { diff --git a/crates/editor/src/content/find_tests.rs b/crates/editor/src/content/find_tests.rs index 8f97e9f3..22e5fdac 100644 --- a/crates/editor/src/content/find_tests.rs +++ b/crates/editor/src/content/find_tests.rs @@ -1,10 +1,10 @@ use std::{iter, pin::pin, sync::Once}; use futures_lite::future; +use galaxyui::App; use itertools::Itertools; use rangemap::RangeSet; use sum_tree::SumTree; -use galaxyui::App; use crate::content::{ buffer::Buffer, diff --git a/crates/editor/src/content/hidden_lines_model.rs b/crates/editor/src/content/hidden_lines_model.rs index 2f0926a2..74aa66b8 100644 --- a/crates/editor/src/content/hidden_lines_model.rs +++ b/crates/editor/src/content/hidden_lines_model.rs @@ -1,9 +1,9 @@ use std::collections::HashMap; use std::ops::Range; +use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; use rangemap::RangeSet; use string_offset::CharOffset; -use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; use crate::content::edit::EditDelta; use crate::content::selection_model::BufferSelectionModel; diff --git a/crates/editor/src/content/markdown.rs b/crates/editor/src/content/markdown.rs index e8d93ed5..eae1fbdb 100644 --- a/crates/editor/src/content/markdown.rs +++ b/crates/editor/src/content/markdown.rs @@ -1,4 +1,6 @@ use anyhow::{Context, Result}; +use galaxyui::text::point::Point; +use galaxyui::{AppContext, ModelContext, ModelHandle}; use html5ever::serialize; use html5ever::{ QualName, @@ -15,11 +17,9 @@ use std::collections::VecDeque; use std::fmt::Write; use std::iter; use std::{io, ops::Range}; -use galaxyui::text::point::Point; -use galaxyui::{AppContext, ModelContext, ModelHandle}; -use string_offset::CharOffset; use galaxyui::elements::{ListIndentLevel, ListNumbering}; +use string_offset::CharOffset; use crate::content::anchor::AnchorSide; use crate::content::selection_model::BufferSelectionModel; diff --git a/crates/editor/src/content/markdown_tests.rs b/crates/editor/src/content/markdown_tests.rs index d86670ef..1babe483 100644 --- a/crates/editor/src/content/markdown_tests.rs +++ b/crates/editor/src/content/markdown_tests.rs @@ -1,10 +1,10 @@ use std::sync::Arc; +use galaxyui::{App, ReadModel}; use markdown_parser::{compute_formatted_text_delta, parse_markdown}; use serde_yaml::Value; use string_offset::CharOffset; use vec1::Vec1; -use galaxyui::{App, ReadModel}; use crate::content::{ buffer::{ diff --git a/crates/editor/src/content/mermaid_diagram.rs b/crates/editor/src/content/mermaid_diagram.rs index 94541c10..893e962c 100644 --- a/crates/editor/src/content/mermaid_diagram.rs +++ b/crates/editor/src/content/mermaid_diagram.rs @@ -4,13 +4,13 @@ use std::{ }; use bytes::Bytes; -use mermaid_to_svg::MermaidTheme; use galaxyui::{ AppContext, SingletonEntity, assets::asset_cache::{AssetCache, AssetSource, AssetState, AsyncAssetId, AsyncAssetType}, image_cache::ImageType, units::{IntoPixels, Pixels}, }; +use mermaid_to_svg::MermaidTheme; use crate::render::{ layout::TextLayout, diff --git a/crates/editor/src/content/outline_tests.rs b/crates/editor/src/content/outline_tests.rs index 5bd74213..dc45d75d 100644 --- a/crates/editor/src/content/outline_tests.rs +++ b/crates/editor/src/content/outline_tests.rs @@ -6,8 +6,8 @@ use crate::content::{ selection_model::BufferSelectionModel, text::{BlockType, BufferBlockStyle, IndentBehavior, TextStyles}, }; -use string_offset::CharOffset; use galaxyui::App; +use string_offset::CharOffset; #[test] fn test_no_blocks() { diff --git a/crates/editor/src/content/segmentation.rs b/crates/editor/src/content/segmentation.rs index 37d02f1c..ea315a70 100644 --- a/crates/editor/src/content/segmentation.rs +++ b/crates/editor/src/content/segmentation.rs @@ -3,8 +3,8 @@ //! [`TextBuffer`] API. use anyhow::anyhow; -use string_offset::CharOffset; use galaxyui::text::{TextBuffer, point::Point, word_boundaries::WordBoundariesPolicy}; +use string_offset::CharOffset; use super::{ buffer::{Buffer, ToBufferCharOffset, ToBufferPoint}, diff --git a/crates/editor/src/content/segmentation_tests.rs b/crates/editor/src/content/segmentation_tests.rs index 853a0917..4a0a9c49 100644 --- a/crates/editor/src/content/segmentation_tests.rs +++ b/crates/editor/src/content/segmentation_tests.rs @@ -1,7 +1,7 @@ +use galaxy_core::features::FeatureFlag; use itertools::Itertools; use markdown_parser::parse_markdown; use string_offset::CharOffset; -use galaxy_core::features::FeatureFlag; use crate::content::{ buffer::{Buffer, EditOrigin}, diff --git a/crates/editor/src/content/selection_model.rs b/crates/editor/src/content/selection_model.rs index 6d7dc282..03c22b11 100644 --- a/crates/editor/src/content/selection_model.rs +++ b/crates/editor/src/content/selection_model.rs @@ -1,9 +1,9 @@ use std::ops::Range; +use galaxyui::{AppContext, Entity, ModelHandle}; use itertools::Itertools; use string_offset::CharOffset; use vec1::{Vec1, vec1}; -use galaxyui::{AppContext, Entity, ModelHandle}; use crate::content::{ anchor::{Anchor, AnchorSide, AnchorUpdate, Anchors}, diff --git a/crates/editor/src/content/text.rs b/crates/editor/src/content/text.rs index 9ac414cf..b5a5e718 100644 --- a/crates/editor/src/content/text.rs +++ b/crates/editor/src/content/text.rs @@ -4,6 +4,14 @@ use crate::render::model::{ }; use arrayvec::ArrayString; use enum_iterator::Sequence; +use galaxy_core::features::FeatureFlag; +use galaxyui::elements::ListIndentLevel; +use galaxyui::text::BlockHeaderSize as HeaderSize; +use galaxyui::text::point::Point; +use galaxyui::{ + AppContext, + fonts::{Properties, Style, Weight}, +}; use lazy_static::lazy_static; pub use markdown_parser::markdown_parser::TABLE_BLOCK_MARKDOWN_LANG; use markdown_parser::{ @@ -30,14 +38,6 @@ use std::{ }; use string_offset::{ByteOffset, CharOffset, impl_offset}; use sum_tree::{Cursor, SeekBias, SumTree}; -use galaxy_core::features::FeatureFlag; -use galaxyui::elements::ListIndentLevel; -use galaxyui::text::BlockHeaderSize as HeaderSize; -use galaxyui::text::point::Point; -use galaxyui::{ - AppContext, - fonts::{Properties, Style, Weight}, -}; use super::{buffer::Buffer, core::CursorType, markdown::MarkdownStyle}; diff --git a/crates/editor/src/content/text_tests.rs b/crates/editor/src/content/text_tests.rs index 6b4fc5c3..f1274d6a 100644 --- a/crates/editor/src/content/text_tests.rs +++ b/crates/editor/src/content/text_tests.rs @@ -1,8 +1,8 @@ -use markdown_parser::CodeBlockText; use galaxyui::fonts::Weight; +use markdown_parser::CodeBlockText; -use markdown_parser::FormattedTable; use galaxy_core::features::FeatureFlag; +use markdown_parser::FormattedTable; use super::{ BufferBlockItem, BufferTextStyle, CodeBlockType, MarkdownStyle, TextStyles, diff --git a/crates/editor/src/content/undo.rs b/crates/editor/src/content/undo.rs index faeded43..7cc91fce 100644 --- a/crates/editor/src/content/undo.rs +++ b/crates/editor/src/content/undo.rs @@ -1,7 +1,7 @@ use std::{collections::VecDeque, time::Duration}; -use instant::Instant; use galaxy_util::content_version::ContentVersion; +use instant::Instant; use crate::render::model::RenderedSelectionSet; diff --git a/crates/editor/src/content/validation_tests.rs b/crates/editor/src/content/validation_tests.rs index 3ef39140..41803c0a 100644 --- a/crates/editor/src/content/validation_tests.rs +++ b/crates/editor/src/content/validation_tests.rs @@ -4,8 +4,8 @@ use crate::content::{ BlockHeaderSize, BufferBlockItem, BufferBlockStyle, BufferText, BufferTextStyle, MarkerDir, }, }; -use sum_tree::SumTree; use galaxyui::elements::ListIndentLevel; +use sum_tree::SumTree; #[test] #[should_panic( diff --git a/crates/editor/src/editor.rs b/crates/editor/src/editor.rs index d05b7d9a..e2695391 100644 --- a/crates/editor/src/editor.rs +++ b/crates/editor/src/editor.rs @@ -3,13 +3,13 @@ use std::{any::Any, cell::Ref, ops::Range}; -use num_traits::SaturatingSub; -use pathfinder_color::ColorU; -use rangemap::{RangeMap, RangeSet}; use galaxyui::{ Action, AppContext, Element, TypedActionView, View, elements::Border, text_layout::PaintStyleOverride, }; +use num_traits::SaturatingSub; +use pathfinder_color::ColorU; +use rangemap::{RangeMap, RangeSet}; use crate::{content::version::BufferVersion, render::element::RichTextAction}; use string_offset::CharOffset; diff --git a/crates/editor/src/model.rs b/crates/editor/src/model.rs index af020046..7fd1ffaa 100644 --- a/crates/editor/src/model.rs +++ b/crates/editor/src/model.rs @@ -1,11 +1,11 @@ use std::ops::Range; -use itertools::{Either, Itertools}; -use line_ending::LineEnding; -use vec1::{Vec1, vec1}; use galaxyui::{ AppContext, Entity, ModelAsRef, ModelContext, ModelHandle, clipboard::ClipboardContent, }; +use itertools::{Either, Itertools}; +use line_ending::LineEnding; +use vec1::{Vec1, vec1}; use crate::{ content::{ @@ -21,8 +21,8 @@ use crate::{ render::model::RenderState, selection::{SelectionMode, SelectionModel, TextDirection, TextUnit}, }; -use string_offset::{ByteOffset, CharOffset}; use galaxyui::elements::ListIndentLevel; +use string_offset::{ByteOffset, CharOffset}; /// A wrapper for a buffer that provides access to its internal update_content method. /// It's important this is only returned from `CoreEditorModel::update_content` method diff --git a/crates/editor/src/render/element/broken_embedding.rs b/crates/editor/src/render/element/broken_embedding.rs index db948337..397548e1 100644 --- a/crates/editor/src/render/element/broken_embedding.rs +++ b/crates/editor/src/render/element/broken_embedding.rs @@ -154,7 +154,9 @@ impl RenderableBlock for RenderableBrokenEmbedding { ); } - ctx.paint.scene.start_layer(galaxyui::ClipBounds::ActiveLayer); + ctx.paint + .scene + .start_layer(galaxyui::ClipBounds::ActiveLayer); self.row .paint(ctx.content_to_screen(content_origin), ctx.paint, app); ctx.paint.scene.stop_layer(); diff --git a/crates/editor/src/render/element/mod.rs b/crates/editor/src/render/element/mod.rs index 36b8de22..222eee06 100644 --- a/crates/editor/src/render/element/mod.rs +++ b/crates/editor/src/render/element/mod.rs @@ -1,16 +1,4 @@ use float_cmp::ApproxEq; -use instant::Instant; -use parking_lot::Mutex; -use std::{ - fmt, - sync::{ - Arc, - atomic::{AtomicBool, Ordering}, - }, - time::Duration, -}; -use temporary_block::RenderableTemporaryBlock; -use vim::vim::VimMode; use galaxy_core::ui::theme::Fill as ThemeFill; use galaxyui::{ AfterLayoutContext, AppContext, Element, Event, EventContext, LayoutContext, ModelHandle, @@ -28,6 +16,18 @@ use galaxyui::{ platform::Cursor, units::{IntoPixels, Pixels}, }; +use instant::Instant; +use parking_lot::Mutex; +use std::{ + fmt, + sync::{ + Arc, + atomic::{AtomicBool, Ordering}, + }, + time::Duration, +}; +use temporary_block::RenderableTemporaryBlock; +use vim::vim::VimMode; use super::model::{ BlockItem, ElementUpdate, HitTestOptions, Location, RenderState, RichTextStyles, UNIT_MARGIN, diff --git a/crates/editor/src/render/element/runnable_command.rs b/crates/editor/src/render/element/runnable_command.rs index 59bbc95a..1ebe48e4 100644 --- a/crates/editor/src/render/element/runnable_command.rs +++ b/crates/editor/src/render/element/runnable_command.rs @@ -48,7 +48,12 @@ impl RenderableBlock for RenderableRunnableCommand { &self.viewport_item } - fn layout(&mut self, _model: &RenderState, ctx: &mut galaxyui::LayoutContext, app: &AppContext) { + fn layout( + &mut self, + _model: &RenderState, + ctx: &mut galaxyui::LayoutContext, + app: &AppContext, + ) { self.footer.layout( SizeConstraint::strict(vec2f( self.viewport_item.content_size.x(), @@ -87,7 +92,9 @@ impl RenderableBlock for RenderableRunnableCommand { // Place the button at a higher z-index for event handling. See the comment on // `RichTextElement::content_z_index` for context. - ctx.paint.scene.start_layer(galaxyui::ClipBounds::ActiveLayer); + ctx.paint + .scene + .start_layer(galaxyui::ClipBounds::ActiveLayer); // Position the block footer right below the content area, flush with its right-hand edge. // This gives the footer some padding relative to the visible area with a background. diff --git a/crates/editor/src/render/element/table.rs b/crates/editor/src/render/element/table.rs index 063072c4..58d7af0e 100644 --- a/crates/editor/src/render/element/table.rs +++ b/crates/editor/src/render/element/table.rs @@ -1,5 +1,3 @@ -use std::ops::Range; -use string_offset::CharOffset; use galaxyui::{ AppContext, ClipBounds, Event, EventContext, elements::{ @@ -14,6 +12,8 @@ use galaxyui::{ }, units::{IntoPixels, Pixels}, }; +use std::ops::Range; +use string_offset::CharOffset; use crate::render::model::table_offset_map::CellAtOffset; use crate::{ diff --git a/crates/editor/src/render/element/table_tests.rs b/crates/editor/src/render/element/table_tests.rs index 6c53bc86..12922621 100644 --- a/crates/editor/src/render/element/table_tests.rs +++ b/crates/editor/src/render/element/table_tests.rs @@ -1,6 +1,3 @@ -use pathfinder_color::ColorU; -use std::{cell::Cell, sync::Arc}; -use string_offset::CharOffset; use galaxyui::{ elements::{Axis, scroll_delta_for_pointer_movement}, fonts::FamilyId, @@ -8,6 +5,9 @@ use galaxyui::{ text_layout::TextFrame, units::{IntoPixels, Pixels}, }; +use pathfinder_color::ColorU; +use std::{cell::Cell, sync::Arc}; +use string_offset::CharOffset; use crate::{ content::text::{FormattedTable, table_cell_offset_maps}, diff --git a/crates/editor/src/render/element/task_list.rs b/crates/editor/src/render/element/task_list.rs index 4442bdc6..84146500 100644 --- a/crates/editor/src/render/element/task_list.rs +++ b/crates/editor/src/render/element/task_list.rs @@ -4,7 +4,6 @@ use crate::{ extract_block, render::model::{BlockItem, RenderState, RichTextStyles, bounds, viewport::ViewportItem}, }; -use pathfinder_color::ColorU; use galaxyui::elements::ListIndentLevel; use galaxyui::{ AppContext, Element, SizeConstraint, WeakViewHandle, @@ -15,6 +14,7 @@ use galaxyui::{ geometry::vector::vec2f, platform::Cursor, }; +use pathfinder_color::ColorU; use super::{ RenderableBlock, RichTextAction, diff --git a/crates/editor/src/render/model/location.rs b/crates/editor/src/render/model/location.rs index 381c5475..bf7f8176 100644 --- a/crates/editor/src/render/model/location.rs +++ b/crates/editor/src/render/model/location.rs @@ -1,8 +1,8 @@ //! Hit-testing implementation for the rendering model. +use galaxyui::units::{IntoPixels, Pixels}; use num_traits::SaturatingSub; use sum_tree::SeekBias; -use galaxyui::units::{IntoPixels, Pixels}; use string_offset::CharOffset; diff --git a/crates/editor/src/render/model/location_tests.rs b/crates/editor/src/render/model/location_tests.rs index a26a61aa..ca617f82 100644 --- a/crates/editor/src/render/model/location_tests.rs +++ b/crates/editor/src/render/model/location_tests.rs @@ -15,11 +15,11 @@ use pathfinder_color::ColorU; use std::{cell::Cell, sync::Arc}; use string_offset::CharOffset; -use sum_tree::SumTree; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::fonts::FamilyId; use galaxyui::text_layout::{CaretPosition, TextFrame}; use galaxyui::units::IntoPixels; +use sum_tree::SumTree; fn test_table_layout() -> LaidOutTable { let source = "aaa\tbbb\nccc\tddd\n"; diff --git a/crates/editor/src/render/model/mod.rs b/crates/editor/src/render/model/mod.rs index 7de70973..b1914263 100644 --- a/crates/editor/src/render/model/mod.rs +++ b/crates/editor/src/render/model/mod.rs @@ -12,15 +12,6 @@ use parking_lot::Mutex; use rangemap::RangeSet; use float_cmp::ApproxEq; -use itertools::Itertools; -use markdown_parser::TableAlignment; -use num_traits::SaturatingSub; -use ordered_float::OrderedFloat; -use serde::{Deserialize, Serialize}; -use serde_yaml::Mapping; -use sum_tree::{SeekBias, SumTree}; -use vec1::Vec1; -use vim::vim::{MotionType, VimMode}; use galaxy_core::{ channel::ChannelState, ui::{Icon, theme::Fill as ThemeFill}, @@ -44,6 +35,15 @@ use galaxyui::{ }, units::{IntoPixels, Pixels}, }; +use itertools::Itertools; +use markdown_parser::TableAlignment; +use num_traits::SaturatingSub; +use ordered_float::OrderedFloat; +use serde::{Deserialize, Serialize}; +use serde_yaml::Mapping; +use sum_tree::{SeekBias, SumTree}; +use vec1::Vec1; +use vim::vim::{MotionType, VimMode}; pub use self::location::{HitTestOptions, Location}; pub use self::offset_map::{OffsetMap, SelectableTextRun}; @@ -68,8 +68,8 @@ use crate::{ editor::EmbeddedItemModel, render::model::debug::Describe, }; -use string_offset::{CharOffset, impl_offset}; use galaxyui::elements::ListIndentLevel; +use string_offset::{CharOffset, impl_offset}; use super::{ BLOCK_FOOTER_HEIGHT, diff --git a/crates/editor/src/render/model/mod_tests.rs b/crates/editor/src/render/model/mod_tests.rs index 33318aa5..69659215 100644 --- a/crates/editor/src/render/model/mod_tests.rs +++ b/crates/editor/src/render/model/mod_tests.rs @@ -1,7 +1,3 @@ -use rangemap::RangeSet; -use std::{cell::Cell, sync::Arc}; -use sum_tree::SumTree; -use vec1::{Vec1, vec1}; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::{ color::ColorU, @@ -10,6 +6,10 @@ use galaxyui::{ text_layout::TextFrame, units::{IntoPixels, Pixels}, }; +use rangemap::RangeSet; +use std::{cell::Cell, sync::Arc}; +use sum_tree::SumTree; +use vec1::{Vec1, vec1}; use super::{ BlockItem, BlockLocation, COMMAND_SPACING, CellLayout, DEFAULT_BLOCK_SPACINGS, @@ -32,9 +32,9 @@ use crate::{ test_utils::{TEST_STYLES, laid_out_paragraph, mock_paragraph}, }, }; +use galaxyui::elements::ListIndentLevel; use markdown_parser::{FormattedTextStyles, Hyperlink}; use string_offset::CharOffset; -use galaxyui::elements::ListIndentLevel; #[test] fn test_height() { diff --git a/crates/editor/src/render/model/positioned.rs b/crates/editor/src/render/model/positioned.rs index 9293b24a..c34d834c 100644 --- a/crates/editor/src/render/model/positioned.rs +++ b/crates/editor/src/render/model/positioned.rs @@ -3,12 +3,12 @@ use std::sync::Arc; -use sum_tree::{Cursor, Dimension}; use galaxyui::{ geometry::vector::Vector2F, text_layout::Line, units::{IntoPixels, Pixels}, }; +use sum_tree::{Cursor, Dimension}; use crate::render::layout::line_height; use string_offset::CharOffset; diff --git a/crates/editor/src/render/model/test_utils.rs b/crates/editor/src/render/model/test_utils.rs index a470c4f2..ffe5584d 100644 --- a/crates/editor/src/render/model/test_utils.rs +++ b/crates/editor/src/render/model/test_utils.rs @@ -5,7 +5,6 @@ use std::{mem, sync::Arc}; use vec1::{Vec1, vec1}; use crate::content::text::BufferBlockStyle; -use ordered_float::OrderedFloat; use galaxyui::elements::ListIndentLevel; use galaxyui::{ color::ColorU, @@ -15,6 +14,7 @@ use galaxyui::{ text_layout::{CaretPosition, Glyph, Line, Run, TextFrame}, units::{IntoPixels, Pixels}, }; +use ordered_float::OrderedFloat; use super::{ BlockItem, BrokenLinkStyle, CheckBoxStyle, DEFAULT_BLOCK_SPACINGS, HorizontalRuleStyle, diff --git a/crates/editor/src/render/model/viewport.rs b/crates/editor/src/render/model/viewport.rs index c2bdcff5..6c48710b 100644 --- a/crates/editor/src/render/model/viewport.rs +++ b/crates/editor/src/render/model/viewport.rs @@ -1,5 +1,4 @@ use float_cmp::ApproxEq; -use sum_tree::{SeekBias, SumTree}; use galaxyui::{ SizeConstraint, geometry::{ @@ -8,6 +7,7 @@ use galaxyui::{ }, units::{IntoPixels, Pixels}, }; +use sum_tree::{SeekBias, SumTree}; use crate::render::element::RenderContext; use string_offset::CharOffset; diff --git a/crates/editor/src/search.rs b/crates/editor/src/search.rs index f4147453..90174383 100644 --- a/crates/editor/src/search.rs +++ b/crates/editor/src/search.rs @@ -1,10 +1,10 @@ use std::ops::Range; +use galaxy_core::ui::theme::Fill; +use galaxyui::{Entity, ModelContext, ModelHandle, r#async::SpawnedFutureHandle}; use itertools::Itertools; use lazy_static::lazy_static; use pathfinder_color::ColorU; -use galaxy_core::ui::theme::Fill; -use galaxyui::{Entity, ModelContext, ModelHandle, r#async::SpawnedFutureHandle}; use crate::{ content::{ diff --git a/crates/editor/src/selection.rs b/crates/editor/src/selection.rs index d3d66227..497ead95 100644 --- a/crates/editor/src/selection.rs +++ b/crates/editor/src/selection.rs @@ -1,7 +1,7 @@ +use galaxyui::{AppContext, Entity, ModelAsRef, ModelContext, ModelHandle, units::Pixels}; use num_traits::SaturatingSub; use std::ops::Range; use vec1::Vec1; -use galaxyui::{AppContext, Entity, ModelAsRef, ModelContext, ModelHandle, units::Pixels}; use crate::{ content::{ @@ -15,8 +15,8 @@ use crate::{ }, render::model::{RenderState, SoftWrapPoint}, }; -use string_offset::CharOffset; use galaxyui::text::{TextBuffer, point::Point, word_boundaries::WordBoundariesPolicy}; +use string_offset::CharOffset; #[cfg(test)] #[path = "selection_tests.rs"] diff --git a/crates/editor/src/selection_tests.rs b/crates/editor/src/selection_tests.rs index 49ec1e0d..3d43e300 100644 --- a/crates/editor/src/selection_tests.rs +++ b/crates/editor/src/selection_tests.rs @@ -1,10 +1,10 @@ use std::sync::Arc; +use galaxy_core::features::FeatureFlag; +use galaxyui::{App, ModelAsRef, units::IntoPixels}; use serde_yaml::Value; use sum_tree::SumTree; use vec1::vec1; -use galaxy_core::features::FeatureFlag; -use galaxyui::{App, ModelAsRef, units::IntoPixels}; use crate::{ content::{ @@ -21,9 +21,9 @@ use crate::{ }, selection::SelectionMode, }; -use string_offset::CharOffset; use galaxyui::assets::asset_cache::AssetSource; use galaxyui::text::word_boundaries::WordBoundariesPolicy; +use string_offset::CharOffset; use super::{SelectionModel, TextDirection, TextUnit}; diff --git a/crates/field_mask/src/lib.rs b/crates/field_mask/src/lib.rs index 965da9bd..6e4b564c 100644 --- a/crates/field_mask/src/lib.rs +++ b/crates/field_mask/src/lib.rs @@ -101,11 +101,16 @@ fn apply_path( let field_desc = match target.descriptor().get_field_by_name(field_name) { Some(f) => f, None => { - log::warn!("[field_mask] Unknown field '{}' in message '{}' (path: {:?}). Available fields: {:?}", + log::warn!( + "[field_mask] Unknown field '{}' in message '{}' (path: {:?}). Available fields: {:?}", field_name, target.descriptor().full_name(), path_segments, - target.descriptor().fields().map(|f| f.name().to_string()).collect::>() + target + .descriptor() + .fields() + .map(|f| f.name().to_string()) + .collect::>() ); return Ok(()); } diff --git a/crates/galaxy_completer/src/completer/context/mod.rs b/crates/galaxy_completer/src/completer/context/mod.rs index 78833182..f4216de6 100644 --- a/crates/galaxy_completer/src/completer/context/mod.rs +++ b/crates/galaxy_completer/src/completer/context/mod.rs @@ -10,11 +10,11 @@ use std::sync::Arc; use anyhow::Result; use async_trait::async_trait; -use smol_str::SmolStr; -use typed_path::{TypedPath, TypedPathBuf}; use galaxy_core::command::ExitCode; use galaxy_util::path::{EscapeChar, ShellFamily}; use galaxyui::platform::OperatingSystem; +use smol_str::SmolStr; +use typed_path::{TypedPath, TypedPathBuf}; use crate::{completer::TopLevelCommandCaseSensitivity, signatures::CommandRegistry}; diff --git a/crates/galaxy_completer/src/completer/context/v2.rs b/crates/galaxy_completer/src/completer/context/v2.rs index b89a21ce..64760b02 100644 --- a/crates/galaxy_completer/src/completer/context/v2.rs +++ b/crates/galaxy_completer/src/completer/context/v2.rs @@ -1,6 +1,6 @@ use async_trait::async_trait; -use serde::{de::DeserializeOwned, Serialize}; use galaxy_js::{JsFunctionId, SerializedJsValue, TypedJsFunctionRef}; +use serde::{de::DeserializeOwned, Serialize}; #[derive(thiserror::Error, Debug)] pub enum JsExecutionError { diff --git a/crates/galaxy_completer/src/completer/describe.rs b/crates/galaxy_completer/src/completer/describe.rs index cfd695d0..99fc63e0 100644 --- a/crates/galaxy_completer/src/completer/describe.rs +++ b/crates/galaxy_completer/src/completer/describe.rs @@ -1,6 +1,6 @@ +use galaxyui::platform::OperatingSystem; use itertools::Itertools; use string_offset::ByteOffset; -use galaxyui::platform::OperatingSystem; use crate::{ completer::suggest::MatchRequirement, diff --git a/crates/galaxy_completer/src/completer/engine/argument/legacy.rs b/crates/galaxy_completer/src/completer/engine/argument/legacy.rs index a9746b4a..801e5fe2 100644 --- a/crates/galaxy_completer/src/completer/engine/argument/legacy.rs +++ b/crates/galaxy_completer/src/completer/engine/argument/legacy.rs @@ -2,14 +2,14 @@ //! command signature struct (`warp_command_signatures::Signature`). use std::{borrow::Cow, collections::HashMap}; +use galaxy_core::features::FeatureFlag; +use galaxy_util::path::ShellFamily; use itertools::Itertools; use smol_str::SmolStr; use warp_command_signatures::{ Argument, ArgumentType, DynamicCompletionData, Generator, GeneratorProcess, Signature, Template, TemplateFilter, TemplateType, }; -use galaxy_core::features::FeatureFlag; -use galaxy_util::path::ShellFamily; use crate::completer::{ context::CompletionContext, diff --git a/crates/galaxy_completer/src/completer/engine/path.rs b/crates/galaxy_completer/src/completer/engine/path.rs index 0245ee01..9631f424 100644 --- a/crates/galaxy_completer/src/completer/engine/path.rs +++ b/crates/galaxy_completer/src/completer/engine/path.rs @@ -1,12 +1,12 @@ use std::fmt::{Display, Formatter}; use std::fs::DirEntry; +use galaxy_util::path::HOME_DIR_ENV_VAR_PREFIX; use itertools::{iproduct, Itertools}; use lazy_static::lazy_static; use serde::{Deserialize, Serialize}; use typed_path::{TypedPath, TypedPathBuf}; use warp_command_signatures::{IconType, PathSuggestionType}; -use galaxy_util::path::HOME_DIR_ENV_VAR_PREFIX; use crate::completer::suggest::Priority; use crate::completer::{ diff --git a/crates/galaxy_completer/src/completer/engine/test.rs b/crates/galaxy_completer/src/completer/engine/test.rs index e2a6fb49..f59e7b0e 100644 --- a/crates/galaxy_completer/src/completer/engine/test.rs +++ b/crates/galaxy_completer/src/completer/engine/test.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxy_util::path::EscapeChar; +use itertools::Itertools; use super::LocationType; use crate::completer::testing::FakeCompletionContext; diff --git a/crates/galaxy_completer/src/completer/suggest/alias_test.rs b/crates/galaxy_completer/src/completer/suggest/alias_test.rs index 2d8d5f2e..a544d3b8 100644 --- a/crates/galaxy_completer/src/completer/suggest/alias_test.rs +++ b/crates/galaxy_completer/src/completer/suggest/alias_test.rs @@ -47,7 +47,8 @@ pub fn test_expand_command_aliases() { #[cfg(not(feature = "v2"))] { // The test signature has an alias function, which expands subcommand "twelve" to "one". - let result = galaxyui::r#async::block_on(expand_command_aliases("test twelve ", false, &ctx)); + let result = + galaxyui::r#async::block_on(expand_command_aliases("test twelve ", false, &ctx)); assert_eq!(result.expanded_command_line, "test one "); assert_eq!(result.tokens_from_command, vec!["test", "one"]); // Should be using the subcommand signature for completions @@ -61,8 +62,11 @@ pub fn test_expand_command_aliases() { ); // We have a top-level aliasForTest which expands to test, and then the test signature expands "twelve" to "one" - let result = - galaxyui::r#async::block_on(expand_command_aliases("aliasForTest twelve ", false, &ctx)); + let result = galaxyui::r#async::block_on(expand_command_aliases( + "aliasForTest twelve ", + false, + &ctx, + )); assert_eq!(result.expanded_command_line, "test one "); assert_eq!(result.tokens_from_command, vec!["test", "one"]); // Should be using the subcommand signature for completions diff --git a/crates/galaxy_completer/src/completer/suggest/mod.rs b/crates/galaxy_completer/src/completer/suggest/mod.rs index 4c79193e..0eb8dd6c 100644 --- a/crates/galaxy_completer/src/completer/suggest/mod.rs +++ b/crates/galaxy_completer/src/completer/suggest/mod.rs @@ -6,8 +6,8 @@ mod priority; use alias::{expand_command_aliases, AliasExpansionResult}; pub use priority::Priority; -use imp::*; use galaxy_core::ui::theme::AnsiColorIdentifier; +use imp::*; use std::cmp::Ordering; use std::collections::HashMap; diff --git a/crates/galaxy_completer/src/completer/testing/mod.rs b/crates/galaxy_completer/src/completer/testing/mod.rs index b531e08f..860cd320 100644 --- a/crates/galaxy_completer/src/completer/testing/mod.rs +++ b/crates/galaxy_completer/src/completer/testing/mod.rs @@ -10,11 +10,11 @@ use std::{ }; use async_trait::async_trait; +use galaxy_core::command::ExitCode; +use galaxy_util::path::{EscapeChar, ShellFamily, TEST_SESSION_HOME_DIR}; use smol_str::SmolStr; use typed_path::{TypedPath, TypedPathBuf}; use warp_command_signatures::IconType; -use galaxy_core::command::ExitCode; -use galaxy_util::path::{EscapeChar, ShellFamily, TEST_SESSION_HOME_DIR}; use crate::{ completer::{ diff --git a/crates/galaxy_completer/src/parsers/simple/mod.rs b/crates/galaxy_completer/src/parsers/simple/mod.rs index cfde19e5..702f23b5 100644 --- a/crates/galaxy_completer/src/parsers/simple/mod.rs +++ b/crates/galaxy_completer/src/parsers/simple/mod.rs @@ -7,9 +7,9 @@ mod parser; mod token; use crate::parsers::LiteCommand; +use galaxy_util::path::EscapeChar; use lexer::Lexer; use parser::Parser; -use galaxy_util::path::EscapeChar; use string_offset::ByteOffset; diff --git a/crates/galaxy_completer/src/parsers/test.rs b/crates/galaxy_completer/src/parsers/test.rs index e904e2ad..85a758f1 100644 --- a/crates/galaxy_completer/src/parsers/test.rs +++ b/crates/galaxy_completer/src/parsers/test.rs @@ -1,5 +1,5 @@ -use itertools::Itertools; use galaxy_util::path::EscapeChar; +use itertools::Itertools; use crate::{ parsers::{ diff --git a/crates/galaxy_completer/src/signatures/legacy/registry_test.rs b/crates/galaxy_completer/src/signatures/legacy/registry_test.rs index b73e1a6c..4563bf69 100644 --- a/crates/galaxy_completer/src/signatures/legacy/registry_test.rs +++ b/crates/galaxy_completer/src/signatures/legacy/registry_test.rs @@ -192,11 +192,12 @@ fn test_alias_expansion_path_skips_flag_with_value_before_subcommand() { let registry = create_test_command_registry([kubectl]); let ctx = FakeCompletionContext::new(registry).with_case_sensitivity(); - let result = galaxyui::r#async::block_on(ctx.command_registry().signature_with_alias_expansion( - &["kubectl", "-n", "default", "get"], - true, - &ctx, - )); + let result = + galaxyui::r#async::block_on(ctx.command_registry().signature_with_alias_expansion( + &["kubectl", "-n", "default", "get"], + true, + &ctx, + )); let SignatureResult::Success(found_signature) = result else { panic!("expected SignatureResult::Success"); }; @@ -214,18 +215,19 @@ fn test_alias_expansion_path_skips_multiple_flags_before_subcommand() { let registry = create_test_command_registry([kubectl]); let ctx = FakeCompletionContext::new(registry).with_case_sensitivity(); - let result = galaxyui::r#async::block_on(ctx.command_registry().signature_with_alias_expansion( - &[ - "kubectl", - "--context", - "staging-cluster", - "-n", - "project1", - "get", - ], - true, - &ctx, - )); + let result = + galaxyui::r#async::block_on(ctx.command_registry().signature_with_alias_expansion( + &[ + "kubectl", + "--context", + "staging-cluster", + "-n", + "project1", + "get", + ], + true, + &ctx, + )); let SignatureResult::Success(found_signature) = result else { panic!("expected SignatureResult::Success"); }; diff --git a/crates/galaxy_completer/src/signatures/testing/legacy.rs b/crates/galaxy_completer/src/signatures/testing/legacy.rs index d1301e90..cf0f9a3d 100644 --- a/crates/galaxy_completer/src/signatures/testing/legacy.rs +++ b/crates/galaxy_completer/src/signatures/testing/legacy.rs @@ -9,13 +9,13 @@ //! provide coverage for both flag states of "v2". use std::borrow::Cow; +use galaxy_util::path::ShellFamily; use itertools::Itertools; use warp_command_signatures::{ Alias, AliasGeneratorName, Argument, ArgumentType, CommandBuilder, CommandSignatureGenerators, Generator, GeneratorName, GeneratorResults, Importance, IsArgumentOptional, Opt, Order, ParserDirectives, Priority, Signature, Suggestion as MetadataSuggestion, Template, }; -use galaxy_util::path::ShellFamily; use super::{TEST_ALIAS_COMMAND, TEST_GENERATOR_1_COMMAND, TEST_GENERATOR_2_COMMAND}; diff --git a/crates/galaxy_completer/src/signatures/v2/js.rs b/crates/galaxy_completer/src/signatures/v2/js.rs index a5fc7a89..3a354958 100644 --- a/crates/galaxy_completer/src/signatures/v2/js.rs +++ b/crates/galaxy_completer/src/signatures/v2/js.rs @@ -2,11 +2,11 @@ //! `galaxy_completer::signatures::CommandSignature`s, as well as `IntoWarpJs` implementations for //! Rust structs that may be passed to JS functions defined on the Command Signature (e.g. //! `GeneratorCompletionContext`). -use rquickjs::{FromJs, Function, Object, Value}; use galaxy_js::{ util::{get_one_or_more_optional, get_one_or_more_required, get_optional, get_required}, FromWarpJs, IntoWarpJs, JsFunctionRegistry, }; +use rquickjs::{FromJs, Function, Object, Value}; use super::{ Argument, ArgumentValue, Command, CommandSignature, GeneratorCompletionContext, GeneratorFn, diff --git a/crates/galaxy_completer/src/signatures/v2/mod.rs b/crates/galaxy_completer/src/signatures/v2/mod.rs index bd7ddf94..9b25ad13 100644 --- a/crates/galaxy_completer/src/signatures/v2/mod.rs +++ b/crates/galaxy_completer/src/signatures/v2/mod.rs @@ -14,8 +14,8 @@ use std::cmp::Ordering; pub use lookup::*; pub use registry::*; -use serde::{Deserialize, Serialize}; use galaxy_js::TypedJsFunctionRef; +use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] #[cfg_attr(feature = "test-util", derive(Default))] diff --git a/crates/galaxy_core/src/channel/state.rs b/crates/galaxy_core/src/channel/state.rs index 876922bc..43d6deee 100644 --- a/crates/galaxy_core/src/channel/state.rs +++ b/crates/galaxy_core/src/channel/state.rs @@ -428,8 +428,8 @@ fn app_id_from_bundle() -> Option { base::{id, nil}, foundation::NSBundle, }; - use objc::{msg_send, sel, sel_impl}; use galaxyui::platform::mac::utils::nsstring_as_str; + use objc::{msg_send, sel, sel_impl}; let bundle = id::mainBundle(); if bundle != nil { diff --git a/crates/galaxy_core/src/execution_mode.rs b/crates/galaxy_core/src/execution_mode.rs index ca994590..b0576d3c 100644 --- a/crates/galaxy_core/src/execution_mode.rs +++ b/crates/galaxy_core/src/execution_mode.rs @@ -1,5 +1,5 @@ -use std::sync::OnceLock; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use std::sync::OnceLock; // Global execution mode, for logic that runs outside the UI framework. static GLOBAL_EXECUTION_MODE: OnceLock = OnceLock::new(); diff --git a/crates/galaxy_core/src/interval_timer.rs b/crates/galaxy_core/src/interval_timer.rs index 7bd6fcd8..9eb48575 100644 --- a/crates/galaxy_core/src/interval_timer.rs +++ b/crates/galaxy_core/src/interval_timer.rs @@ -1,8 +1,8 @@ use std::time::Duration; +use galaxyui::{Entity, SingletonEntity}; use instant::Instant; use serde::{Deserialize, Serialize}; -use galaxyui::{Entity, SingletonEntity}; /// This represents one interval, i.e. one stage in a multiple-stage timer. struct TimingInterval { diff --git a/crates/galaxy_core/src/semantic_selection/mod.rs b/crates/galaxy_core/src/semantic_selection/mod.rs index ab6c77bb..6ae22892 100644 --- a/crates/galaxy_core/src/semantic_selection/mod.rs +++ b/crates/galaxy_core/src/semantic_selection/mod.rs @@ -1,10 +1,10 @@ use std::{collections::HashSet, ops::Range}; +use galaxyui::elements::SmartSelectFn; use lazy_static::lazy_static; use regex::Regex; use settings::{macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud}; use string_offset::ByteOffset; -use galaxyui::elements::SmartSelectFn; use galaxyui::text::{ word_boundaries::WordBoundariesPolicy, diff --git a/crates/galaxy_core/src/sync_queue.rs b/crates/galaxy_core/src/sync_queue.rs index b9ab15f4..3b6425f7 100644 --- a/crates/galaxy_core/src/sync_queue.rs +++ b/crates/galaxy_core/src/sync_queue.rs @@ -3,13 +3,13 @@ use futures::channel::mpsc::{self, Receiver as MpscReceiver, Sender as MpscSende use futures::channel::oneshot::{self, Receiver, Sender}; use futures::future::{AbortHandle, Abortable}; use futures::StreamExt; +use galaxyui::r#async::executor::Background; use instant::Instant; use std::collections::HashMap; use std::future::Future; use std::sync::atomic::{AtomicU64, Ordering}; use std::sync::{Arc, Mutex}; use std::time::Duration; -use galaxyui::r#async::executor::Background; use anyhow::Result; use galaxyui::{r#async::Timer, Entity, RetryOption, SingletonEntity}; diff --git a/crates/galaxy_core/src/telemetry.rs b/crates/galaxy_core/src/telemetry.rs index bb71f03f..4b94a25d 100644 --- a/crates/galaxy_core/src/telemetry.rs +++ b/crates/galaxy_core/src/telemetry.rs @@ -1,8 +1,8 @@ use std::{fmt, marker::PhantomData}; +use galaxyui::{AppContext, Entity, SingletonEntity}; use serde_json::Value; use strum::IntoEnumIterator; -use galaxyui::{AppContext, Entity, SingletonEntity}; // Re-export for macro use. #[doc(hidden)] @@ -153,8 +153,10 @@ macro_rules! send_telemetry_from_ctx { let event = $event; if event.enablement_state().is_enabled() { let auth_state = - <$crate::telemetry::TelemetryContextModel as galaxyui::SingletonEntity>::handle($ctx) - .as_ref($ctx); + <$crate::telemetry::TelemetryContextModel as galaxyui::SingletonEntity>::handle( + $ctx, + ) + .as_ref($ctx); let user_id = auth_state.user_id($ctx); let anonymous_id = auth_state.anonymous_id($ctx); galaxyui::record_telemetry_from_ctx!( diff --git a/crates/galaxy_core/src/ui/color/hex_color.rs b/crates/galaxy_core/src/ui/color/hex_color.rs index 4bde762c..c6a34ffa 100644 --- a/crates/galaxy_core/src/ui/color/hex_color.rs +++ b/crates/galaxy_core/src/ui/color/hex_color.rs @@ -1,6 +1,6 @@ +use galaxyui::color::ColorU; use serde::{de, Deserialize, Deserializer, Serialize, Serializer}; use std::{borrow::Cow, fmt}; -use galaxyui::color::ColorU; use super::OPAQUE; diff --git a/crates/galaxy_core/src/ui/theme/color.rs b/crates/galaxy_core/src/ui/theme/color.rs index c842686b..ff675fc6 100644 --- a/crates/galaxy_core/src/ui/theme/color.rs +++ b/crates/galaxy_core/src/ui/theme/color.rs @@ -15,9 +15,9 @@ use crate::ui::color::{ contrast::{pick_best_foreground_color, MinimumAllowedContrast}, Opacity, }; +use galaxyui::color::ColorU; use getset::Getters; use serde::{Deserialize, Serialize}; -use galaxyui::color::ColorU; const BLOCK_SELECTION_OPACITY: Opacity = 10; diff --git a/crates/galaxy_core/src/ui/theme/mod.rs b/crates/galaxy_core/src/ui/theme/mod.rs index 50c4abf2..d97b1adc 100644 --- a/crates/galaxy_core/src/ui/theme/mod.rs +++ b/crates/galaxy_core/src/ui/theme/mod.rs @@ -18,8 +18,8 @@ use crate::ui::color::contrast::relative_luminance; use self::color::CustomDetails; use dirs::home_dir; -use serde::{Deserialize, Serialize}; use galaxyui::{assets::asset_cache::AssetSource, color::ColorU, geometry::vector::vec2f}; +use serde::{Deserialize, Serialize}; #[derive(Clone, Debug, PartialEq, Eq)] pub struct Image { diff --git a/crates/galaxy_core/src/user_preferences.rs b/crates/galaxy_core/src/user_preferences.rs index 2e9e5ef0..a5fddafa 100644 --- a/crates/galaxy_core/src/user_preferences.rs +++ b/crates/galaxy_core/src/user_preferences.rs @@ -6,9 +6,9 @@ use std::ops::Deref; -use settings::PrivatePreferences; use galaxyui::SingletonEntity; use galaxyui_extras::user_preferences::UserPreferences; +use settings::PrivatePreferences; /// An extension trait on [`galaxyui::AppContext`] for accessing private user /// preferences. diff --git a/crates/galaxy_files/src/lib.rs b/crates/galaxy_files/src/lib.rs index e95a1616..17169f8c 100644 --- a/crates/galaxy_files/src/lib.rs +++ b/crates/galaxy_files/src/lib.rs @@ -14,26 +14,26 @@ use std::{ path::{Path, PathBuf}, }; -use remote_server::client::RemoteServerClient; -use remote_server::manager::RemoteServerManager; use galaxy_core::HostId; use galaxy_util::standardized_path::StandardizedPath; +use remote_server::client::RemoteServerClient; +use remote_server::manager::RemoteServerManager; use futures::io::{AsyncBufReadExt, BufReader}; use futures::StreamExt; use async_channel::Sender; +use galaxy_util::content_version::ContentVersion; +use galaxy_util::file::FileSaveError; +use galaxy_util::file::{FileId, FileLoadError}; +use galaxyui::ModelHandle; +use galaxyui::{r#async::SpawnedFutureHandle, AppContext, Entity, ModelContext, SingletonEntity}; use notify_debouncer_full::notify::{RecursiveMode, WatchFilter}; use repo_metadata::{ repositories::DetectedRepositories, repository::{RepositorySubscriber, SubscriberId}, CanonicalizedPath, Repository, RepositoryUpdate, }; -use galaxy_util::content_version::ContentVersion; -use galaxy_util::file::FileSaveError; -use galaxy_util::file::{FileId, FileLoadError}; -use galaxyui::ModelHandle; -use galaxyui::{r#async::SpawnedFutureHandle, AppContext, Entity, ModelContext, SingletonEntity}; use watcher::{BulkFilesystemWatcher, BulkFilesystemWatcherEvent}; pub mod text_file_reader; diff --git a/crates/galaxy_logging/src/native.rs b/crates/galaxy_logging/src/native.rs index b0d536c6..5a063e5e 100644 --- a/crates/galaxy_logging/src/native.rs +++ b/crates/galaxy_logging/src/native.rs @@ -7,9 +7,9 @@ use std::{ use anyhow::Result; use chrono::Local; +use galaxy_core::features::FeatureFlag; use log::LevelFilter; use std::sync::OnceLock; -use galaxy_core::features::FeatureFlag; use zip::{CompressionMethod, ZipWriter, write::SimpleFileOptions}; use crate::{LogConfig, LogDestination}; diff --git a/crates/galaxy_logging/src/wasm.rs b/crates/galaxy_logging/src/wasm.rs index 1bb78cfd..981bd456 100644 --- a/crates/galaxy_logging/src/wasm.rs +++ b/crates/galaxy_logging/src/wasm.rs @@ -170,9 +170,9 @@ impl Log for WasmLogger { .map_or_else(|| "[Unknown]".to_string(), |line| line.to_string()), ); // Send error logs to Sentry. - galaxy_web_event_bus::emit_event(galaxy_web_event_bus::WarpEvent::ErrorLogged { - error, - }); + galaxy_web_event_bus::emit_event( + galaxy_web_event_bus::WarpEvent::ErrorLogged { error }, + ); console::error_4( &s, diff --git a/crates/galaxy_server_client/src/cloud_object/mod.rs b/crates/galaxy_server_client/src/cloud_object/mod.rs index af20f526..009f5687 100644 --- a/crates/galaxy_server_client/src/cloud_object/mod.rs +++ b/crates/galaxy_server_client/src/cloud_object/mod.rs @@ -3,8 +3,6 @@ use std::{borrow::Cow, fmt, str::FromStr}; use anyhow::{Result, anyhow}; use chrono::{DateTime, Utc}; use derivative::Derivative; -use pathfinder_geometry::vector::vec2f; -use serde::{Deserialize, Serialize}; use galaxy_core::{ features::FeatureFlag, ui::{Icon, appearance::Appearance, theme::Fill}, @@ -18,6 +16,8 @@ use galaxyui_core::{ }, ui_components::components::UiComponent, }; +use pathfinder_geometry::vector::vec2f; +use serde::{Deserialize, Serialize}; use crate::{ auth::UserUid, @@ -892,7 +892,9 @@ impl TryFrom for ServerPe impl TryFrom for ServerObjectGuest { type Error = anyhow::Error; - fn try_from(value: galaxy_graphql::object_permissions::ObjectGuest) -> Result { + fn try_from( + value: galaxy_graphql::object_permissions::ObjectGuest, + ) -> Result { let object_guest = ServerObjectGuest { subject: value.subject.try_into()?, access_level: value.access_level, @@ -936,7 +938,9 @@ impl TryFrom for ServerGuestSu impl TryFrom for ServerLinkSharing { type Error = anyhow::Error; - fn try_from(value: galaxy_graphql::object_permissions::LinkSharing) -> Result { + fn try_from( + value: galaxy_graphql::object_permissions::LinkSharing, + ) -> Result { Ok(ServerLinkSharing { access_level: value.access_level, source: value.source.map(TryInto::try_into).transpose()?, diff --git a/crates/galaxy_server_client/src/drive/sharing.rs b/crates/galaxy_server_client/src/drive/sharing.rs index 33e70ec2..a039c761 100644 --- a/crates/galaxy_server_client/src/drive/sharing.rs +++ b/crates/galaxy_server_client/src/drive/sharing.rs @@ -1,8 +1,8 @@ use std::str::FromStr; +use galaxy_graphql::object_permissions::AccessLevel; use serde::{Deserialize, Serialize}; use session_sharing_protocol::common::{ProfileData as SessionSharingProfileData, Role}; -use galaxy_graphql::object_permissions::AccessLevel; use crate::{auth::UserUid, cloud_object::Owner, ids::ServerId}; diff --git a/crates/galaxy_server_client/src/persistence/mod.rs b/crates/galaxy_server_client/src/persistence/mod.rs index 47cc1fda..441cec56 100644 --- a/crates/galaxy_server_client/src/persistence/mod.rs +++ b/crates/galaxy_server_client/src/persistence/mod.rs @@ -11,9 +11,9 @@ use crate::cloud_object::{ CloudObjectMetadata, CloudObjectPermissions, ObjectIdType, ObjectType, Owner, }; use crate::ids::SyncId; +use galaxy_core::features::FeatureFlag; use persistence::model::{NewObjectMetadata, NewObjectPermissions, ObjectMetadata}; use persistence::schema; -use galaxy_core::features::FeatureFlag; /// The sqlite id of a cloud object. pub type CloudObjectId = i32; diff --git a/crates/galaxy_terminal/src/model/escape_sequences.rs b/crates/galaxy_terminal/src/model/escape_sequences.rs index 01593046..c7ed6f0a 100644 --- a/crates/galaxy_terminal/src/model/escape_sequences.rs +++ b/crates/galaxy_terminal/src/model/escape_sequences.rs @@ -1,8 +1,8 @@ use std::collections::HashMap; -use lazy_static::lazy_static; use galaxyui::keymap::Keystroke; use galaxyui::platform::OperatingSystem; +use lazy_static::lazy_static; use super::{ mouse::{MouseAction, MouseButton, MouseState}, diff --git a/crates/galaxy_terminal/src/model/indexing.rs b/crates/galaxy_terminal/src/model/indexing.rs index eb43e62c..4cd3ac59 100644 --- a/crates/galaxy_terminal/src/model/indexing.rs +++ b/crates/galaxy_terminal/src/model/indexing.rs @@ -4,8 +4,8 @@ use std::cmp::Ordering; use std::fmt; use std::ops::{Add, AddAssign, Range, Sub, SubAssign}; -use serde::{Deserialize, Serialize}; use galaxyui::units::Lines; +use serde::{Deserialize, Serialize}; use super::grid::Dimensions; diff --git a/crates/galaxy_terminal/src/shell/mod.rs b/crates/galaxy_terminal/src/shell/mod.rs index c5cd4eac..22dab953 100644 --- a/crates/galaxy_terminal/src/shell/mod.rs +++ b/crates/galaxy_terminal/src/shell/mod.rs @@ -7,12 +7,6 @@ use std::path::{Path, PathBuf}; use anyhow::Result; use channel_versions::overrides::TargetOS; use enum_iterator::Sequence; -use itertools::Itertools; -use lazy_static::lazy_static; -use serde::{Deserialize, Serialize}; -use smol_str::SmolStr; -use typed_path::{TypedPath, TypedPathBuf, WindowsPath}; -use version_compare::{Cmp, Version}; use galaxy_completer::completer::{CommandExitStatus, CommandOutput}; #[cfg(windows)] use galaxy_core::paths::base_config_dir; @@ -20,6 +14,12 @@ use galaxy_core::platform::SessionPlatform; use galaxy_util::path::{ convert_msys2_to_windows_native_path, convert_wsl_to_windows_host_path, msys2_exe_to_root, }; +use itertools::Itertools; +use lazy_static::lazy_static; +use serde::{Deserialize, Serialize}; +use smol_str::SmolStr; +use typed_path::{TypedPath, TypedPathBuf, WindowsPath}; +use version_compare::{Cmp, Version}; use crate::model::escape_sequences; diff --git a/crates/galaxyui/examples/animated-gradient-text/main.rs b/crates/galaxyui/examples/animated-gradient-text/main.rs index e01064a3..0f50b649 100644 --- a/crates/galaxyui/examples/animated-gradient-text/main.rs +++ b/crates/galaxyui/examples/animated-gradient-text/main.rs @@ -4,8 +4,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/animated_images/main.rs b/crates/galaxyui/examples/animated_images/main.rs index c465c75f..523ddc57 100644 --- a/crates/galaxyui/examples/animated_images/main.rs +++ b/crates/galaxyui/examples/animated_images/main.rs @@ -4,8 +4,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/animated_images/root_view.rs b/crates/galaxyui/examples/animated_images/root_view.rs index 40ccd26c..01f68aeb 100644 --- a/crates/galaxyui/examples/animated_images/root_view.rs +++ b/crates/galaxyui/examples/animated_images/root_view.rs @@ -1,4 +1,3 @@ -use instant::Instant; use galaxyui::{ assets::asset_cache::AssetSource, elements::{ @@ -7,6 +6,7 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, }; +use instant::Instant; pub struct RootView { animation_start_time: Instant, diff --git a/crates/galaxyui/examples/autotracking/main.rs b/crates/galaxyui/examples/autotracking/main.rs index d7f67fe3..36d8c319 100644 --- a/crates/galaxyui/examples/autotracking/main.rs +++ b/crates/galaxyui/examples/autotracking/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/autotracking/root_view.rs b/crates/galaxyui/examples/autotracking/root_view.rs index 28cb7fef..eaf14aa4 100644 --- a/crates/galaxyui/examples/autotracking/root_view.rs +++ b/crates/galaxyui/examples/autotracking/root_view.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::elements::DispatchEventResult; use galaxyui::fonts::FamilyId; use galaxyui::{ @@ -9,6 +8,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity, Tracked, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; pub fn init(ctx: &mut AppContext) { ctx.add_singleton_model(|_| Settings { diff --git a/crates/galaxyui/examples/blur/main.rs b/crates/galaxyui/examples/blur/main.rs index 27071b91..c250823e 100644 --- a/crates/galaxyui/examples/blur/main.rs +++ b/crates/galaxyui/examples/blur/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/blur/root_view.rs b/crates/galaxyui/examples/blur/root_view.rs index 8dce81cb..2a1a5a62 100644 --- a/crates/galaxyui/examples/blur/root_view.rs +++ b/crates/galaxyui/examples/blur/root_view.rs @@ -1,5 +1,5 @@ -use pathfinder_color::ColorU; use galaxyui::{elements::Rect, AppContext, Element, Entity, TypedActionView, View}; +use pathfinder_color::ColorU; pub struct BlurredView {} diff --git a/crates/galaxyui/examples/draggable/main.rs b/crates/galaxyui/examples/draggable/main.rs index 2d037087..cfbc6791 100644 --- a/crates/galaxyui/examples/draggable/main.rs +++ b/crates/galaxyui/examples/draggable/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/draggable/root_view.rs b/crates/galaxyui/examples/draggable/root_view.rs index 1f11f08f..81b8b825 100644 --- a/crates/galaxyui/examples/draggable/root_view.rs +++ b/crates/galaxyui/examples/draggable/root_view.rs @@ -1,10 +1,5 @@ use std::any::Any; -use pathfinder_color::ColorU; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; use galaxyui::elements::{AcceptedByDropTarget, DropTarget, DropTargetData}; use galaxyui::{ elements::{ @@ -13,6 +8,11 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; #[derive(Default)] pub struct RootView { diff --git a/crates/galaxyui/examples/example-black-background-box/main.rs b/crates/galaxyui/examples/example-black-background-box/main.rs index 582a7b60..d3e30270 100644 --- a/crates/galaxyui/examples/example-black-background-box/main.rs +++ b/crates/galaxyui/examples/example-black-background-box/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/example-black-background-box/root_view.rs b/crates/galaxyui/examples/example-black-background-box/root_view.rs index 74cbf518..2982a4d7 100644 --- a/crates/galaxyui/examples/example-black-background-box/root_view.rs +++ b/crates/galaxyui/examples/example-black-background-box/root_view.rs @@ -1,5 +1,5 @@ -use pathfinder_color::ColorU; use galaxyui::{elements::Rect, AppContext, Element, Entity, TypedActionView, View}; +use pathfinder_color::ColorU; pub struct RootView {} diff --git a/crates/galaxyui/examples/flex-expand/main.rs b/crates/galaxyui/examples/flex-expand/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/flex-expand/main.rs +++ b/crates/galaxyui/examples/flex-expand/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/flex/main.rs b/crates/galaxyui/examples/flex/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/flex/main.rs +++ b/crates/galaxyui/examples/flex/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/formatted-text/main.rs b/crates/galaxyui/examples/formatted-text/main.rs index 46f3ad2d..4b542f18 100644 --- a/crates/galaxyui/examples/formatted-text/main.rs +++ b/crates/galaxyui/examples/formatted-text/main.rs @@ -4,8 +4,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/formatted-text/root_view.rs b/crates/galaxyui/examples/formatted-text/root_view.rs index 6888877a..546cd298 100644 --- a/crates/galaxyui/examples/formatted-text/root_view.rs +++ b/crates/galaxyui/examples/formatted-text/root_view.rs @@ -1,6 +1,5 @@ //! A UI sample demonstrating how the SelectableArea element can be used. -use markdown_parser::{parse_markdown, FormattedTextFragment, FormattedTextLine}; use galaxyui::fonts::FamilyId; use galaxyui::SingletonEntity as _; use galaxyui::{ @@ -10,6 +9,7 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, }; +use markdown_parser::{parse_markdown, FormattedTextFragment, FormattedTextLine}; use galaxyui::color::ColorU; use galaxyui::elements::{Align, HighlightedHyperlink, HyperlinkLens}; diff --git a/crates/galaxyui/examples/frame-capture-test/main.rs b/crates/galaxyui/examples/frame-capture-test/main.rs index 785da95f..88ae5fd2 100644 --- a/crates/galaxyui/examples/frame-capture-test/main.rs +++ b/crates/galaxyui/examples/frame-capture-test/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/frame-capture-test/root_view.rs b/crates/galaxyui/examples/frame-capture-test/root_view.rs index b52bc135..39abfcaf 100644 --- a/crates/galaxyui/examples/frame-capture-test/root_view.rs +++ b/crates/galaxyui/examples/frame-capture-test/root_view.rs @@ -1,7 +1,3 @@ -use image::ImageEncoder; -use pathfinder_color::ColorU; -use std::sync::{Arc, Mutex}; -use std::time::{SystemTime, UNIX_EPOCH}; use galaxyui::SingletonEntity as _; use galaxyui::{ elements::{ @@ -12,6 +8,10 @@ use galaxyui::{ platform::CapturedFrame, AppContext, Element, Entity, TypedActionView, View, ViewContext, }; +use image::ImageEncoder; +use pathfinder_color::ColorU; +use std::sync::{Arc, Mutex}; +use std::time::{SystemTime, UNIX_EPOCH}; #[derive(Clone, Debug)] pub enum RootViewAction { diff --git a/crates/galaxyui/examples/image/root_view.rs b/crates/galaxyui/examples/image/root_view.rs index e1b6f4b4..ce9cccd0 100644 --- a/crates/galaxyui/examples/image/root_view.rs +++ b/crates/galaxyui/examples/image/root_view.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::{ elements::{ CacheOption, ConstrainedBox, Flex, Icon, Image, MainAxisAlignment, MainAxisSize, @@ -6,6 +5,7 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, }; +use pathfinder_color::ColorU; pub struct RootView {} diff --git a/crates/galaxyui/examples/list/main.rs b/crates/galaxyui/examples/list/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/list/main.rs +++ b/crates/galaxyui/examples/list/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/list/root_view.rs b/crates/galaxyui/examples/list/root_view.rs index 65a430d9..8068ab6d 100644 --- a/crates/galaxyui/examples/list/root_view.rs +++ b/crates/galaxyui/examples/list/root_view.rs @@ -9,8 +9,8 @@ use galaxyui::{ AppContext, Element, Entity, TypedActionView, View, ViewContext, }; -use std::sync::{Arc, Mutex}; use galaxyui::color::ColorU; +use std::sync::{Arc, Mutex}; pub struct RootView { font_family: FamilyId, diff --git a/crates/galaxyui/examples/manual-scrolling/main.rs b/crates/galaxyui/examples/manual-scrolling/main.rs index d7f67fe3..36d8c319 100644 --- a/crates/galaxyui/examples/manual-scrolling/main.rs +++ b/crates/galaxyui/examples/manual-scrolling/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/manual-scrolling/root_view.rs b/crates/galaxyui/examples/manual-scrolling/root_view.rs index e7d95666..ee71820d 100644 --- a/crates/galaxyui/examples/manual-scrolling/root_view.rs +++ b/crates/galaxyui/examples/manual-scrolling/root_view.rs @@ -1,6 +1,3 @@ -use pathfinder_geometry::rect::RectF; -use pathfinder_geometry::vector::vec2f; -use pathfinder_geometry::vector::Vector2F; use galaxyui::elements::new_scrollable::AxisConfiguration; use galaxyui::elements::new_scrollable::ClippedAxisConfiguration; use galaxyui::elements::new_scrollable::DualAxisConfig; @@ -8,6 +5,9 @@ use galaxyui::elements::new_scrollable::NewScrollableElement; use galaxyui::elements::new_scrollable::ScrollableAppearance; use galaxyui::elements::new_scrollable::ScrollableAxis; use galaxyui::elements::Axis; +use pathfinder_geometry::rect::RectF; +use pathfinder_geometry::vector::vec2f; +use pathfinder_geometry::vector::Vector2F; use galaxyui::elements::ChildView; use galaxyui::elements::ClippedScrollStateHandle; @@ -230,7 +230,12 @@ impl NewScrollableElement for ScrollableElement { } } - fn scroll(&mut self, delta: galaxyui::units::Pixels, axis: Axis, ctx: &mut galaxyui::EventContext) { + fn scroll( + &mut self, + delta: galaxyui::units::Pixels, + axis: Axis, + ctx: &mut galaxyui::EventContext, + ) { match axis { Axis::Horizontal => (), Axis::Vertical => { diff --git a/crates/galaxyui/examples/percentage/main.rs b/crates/galaxyui/examples/percentage/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/percentage/main.rs +++ b/crates/galaxyui/examples/percentage/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/resizable/main.rs b/crates/galaxyui/examples/resizable/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/resizable/main.rs +++ b/crates/galaxyui/examples/resizable/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/resizable/root_view.rs b/crates/galaxyui/examples/resizable/root_view.rs index fe1eb46e..82ef8420 100644 --- a/crates/galaxyui/examples/resizable/root_view.rs +++ b/crates/galaxyui/examples/resizable/root_view.rs @@ -80,7 +80,9 @@ impl View for RootView { ), ) .with_dragbar_side(DragBarSide::Bottom) - .with_dragbar_color(galaxyui::elements::Fill::Solid(ColorU::new(0, 255, 255, 200))) + .with_dragbar_color(galaxyui::elements::Fill::Solid(ColorU::new( + 0, 255, 255, 200, + ))) .on_resize(move |ctx, _| { ctx.notify(); }) @@ -114,7 +116,9 @@ impl View for RootView { ), ) .with_dragbar_side(DragBarSide::Right) - .with_dragbar_color(galaxyui::elements::Fill::Solid(ColorU::new(255, 255, 0, 200))) + .with_dragbar_color(galaxyui::elements::Fill::Solid(ColorU::new( + 255, 255, 0, 200, + ))) .on_resize(move |ctx, _| { ctx.notify(); }) diff --git a/crates/galaxyui/examples/scrolling/main.rs b/crates/galaxyui/examples/scrolling/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/scrolling/main.rs +++ b/crates/galaxyui/examples/scrolling/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/segmented-control/main.rs b/crates/galaxyui/examples/segmented-control/main.rs index bb24dc9b..a6ea78a9 100644 --- a/crates/galaxyui/examples/segmented-control/main.rs +++ b/crates/galaxyui/examples/segmented-control/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/selectable/main.rs b/crates/galaxyui/examples/selectable/main.rs index d819c469..b44da09f 100644 --- a/crates/galaxyui/examples/selectable/main.rs +++ b/crates/galaxyui/examples/selectable/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/shadows/main.rs b/crates/galaxyui/examples/shadows/main.rs index 920c2f7c..2f2f0ca6 100644 --- a/crates/galaxyui/examples/shadows/main.rs +++ b/crates/galaxyui/examples/shadows/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] @@ -26,7 +26,9 @@ fn main() -> Result<()> { let app_builder = platform::AppBuilder::new(platform::AppCallbacks::default(), Box::new(ASSETS), None); let _ = app_builder.run(move |ctx| { - ctx.add_window(galaxyui::AddWindowOptions::default(), |_| root_view::RootView); + ctx.add_window(galaxyui::AddWindowOptions::default(), |_| { + root_view::RootView + }); }); Ok(()) diff --git a/crates/galaxyui/examples/shadows/root_view.rs b/crates/galaxyui/examples/shadows/root_view.rs index c854a60c..8d869e90 100644 --- a/crates/galaxyui/examples/shadows/root_view.rs +++ b/crates/galaxyui/examples/shadows/root_view.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::vec2f; use galaxyui::elements::{ Align, ConstrainedBox, Container, CornerRadius, DropShadow, Radius, Shrinkable, }; @@ -6,6 +5,7 @@ use galaxyui::{ elements::{Flex, ParentElement, Rect}, AppContext, Element, Entity, TypedActionView, View, }; +use pathfinder_geometry::vector::vec2f; use galaxyui::color::ColorU; diff --git a/crates/galaxyui/examples/slider/main.rs b/crates/galaxyui/examples/slider/main.rs index ffafa94c..f4920520 100644 --- a/crates/galaxyui/examples/slider/main.rs +++ b/crates/galaxyui/examples/slider/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/slider/root_view.rs b/crates/galaxyui/examples/slider/root_view.rs index 37c67c0a..02ccd0a5 100644 --- a/crates/galaxyui/examples/slider/root_view.rs +++ b/crates/galaxyui/examples/slider/root_view.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::{ elements::{Align, Container}, presenter::ChildView, @@ -8,6 +7,7 @@ use galaxyui::{ }, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; /// Renders a center-aligned slider component against a black background. When the slider is /// dragged, the updated value is printed to stdout. diff --git a/crates/galaxyui/examples/table-sample/main.rs b/crates/galaxyui/examples/table-sample/main.rs index b3f1a6ec..c5cac5d8 100644 --- a/crates/galaxyui/examples/table-sample/main.rs +++ b/crates/galaxyui/examples/table-sample/main.rs @@ -4,8 +4,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, platform::WindowBounds, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/table-sample/root_view.rs b/crates/galaxyui/examples/table-sample/root_view.rs index 49d51f55..e370f13a 100644 --- a/crates/galaxyui/examples/table-sample/root_view.rs +++ b/crates/galaxyui/examples/table-sample/root_view.rs @@ -1,6 +1,4 @@ use crate::CaptureConfig; -use image::ImageEncoder; -use std::sync::{Arc, Mutex}; use galaxyui::color::ColorU; use galaxyui::elements::{ ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox, Container, Empty, Fill, Flex, @@ -16,6 +14,8 @@ use galaxyui::SingletonEntity as _; use galaxyui::{ AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, WindowId, }; +use image::ImageEncoder; +use std::sync::{Arc, Mutex}; const TOTAL_DEMOS: usize = 13; @@ -213,7 +213,8 @@ impl TableSampleView { if auto_capture && !is_last_demo { ctx.spawn( async { - galaxyui::r#async::Timer::after(std::time::Duration::from_millis(350)).await; + galaxyui::r#async::Timer::after(std::time::Duration::from_millis(350)) + .await; }, |_, _, ctx| { ctx.dispatch_typed_action(&SampleAction::NextDemo); diff --git a/crates/galaxyui/examples/typed_actions/main.rs b/crates/galaxyui/examples/typed_actions/main.rs index a11726c9..f6b9ff94 100644 --- a/crates/galaxyui/examples/typed_actions/main.rs +++ b/crates/galaxyui/examples/typed_actions/main.rs @@ -3,8 +3,8 @@ use std::borrow::Cow; pub mod root_view; extern crate galaxyui; -use rust_embed::RustEmbed; use galaxyui::{platform, AssetProvider}; +use rust_embed::RustEmbed; #[derive(Clone, Copy, RustEmbed)] #[folder = "examples/assets"] diff --git a/crates/galaxyui/examples/typed_actions/root_view.rs b/crates/galaxyui/examples/typed_actions/root_view.rs index bdfa856e..69e19ddb 100644 --- a/crates/galaxyui/examples/typed_actions/root_view.rs +++ b/crates/galaxyui/examples/typed_actions/root_view.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxyui::fonts::FamilyId; use galaxyui::SingletonEntity as _; use galaxyui::{ @@ -7,6 +6,7 @@ use galaxyui::{ presenter::ChildView, AppContext, Element, Entity, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_color::ColorU; // We could initiate global action and bindings here. pub fn init(ctx: &mut AppContext) { diff --git a/crates/galaxyui/src/fonts/font_kit.rs b/crates/galaxyui/src/fonts/font_kit.rs index 1f60a697..68e64b37 100644 --- a/crates/galaxyui/src/fonts/font_kit.rs +++ b/crates/galaxyui/src/fonts/font_kit.rs @@ -7,14 +7,14 @@ use dashmap::DashMap; use font_kit::canvas::{AntialiasingStrategy, Canvas, RasterizationOptions}; use font_kit::font::Font; use font_kit::hinting::HintingOptions; -use pathfinder_geometry::rect::RectI; -use pathfinder_geometry::transform2d::Transform2F; -use pathfinder_geometry::vector::{vec2i, Vector2F, Vector2I}; use galaxyui_core::fonts::canvas::RasterFormat; use galaxyui_core::fonts::{ FontId, GlyphId, Properties, RasterizedGlyph, Style, SubpixelAlignment, Weight, }; use galaxyui_core::rendering; +use pathfinder_geometry::rect::RectI; +use pathfinder_geometry::transform2d::Transform2F; +use pathfinder_geometry::vector::{vec2i, Vector2F, Vector2I}; #[cfg(target_os = "macos")] use crate::platform::mac::AutoreleasePoolGuard; diff --git a/crates/galaxyui/src/platform/mac/delegate.rs b/crates/galaxyui/src/platform/mac/delegate.rs index be7475fb..f8634ce5 100644 --- a/crates/galaxyui/src/platform/mac/delegate.rs +++ b/crates/galaxyui/src/platform/mac/delegate.rs @@ -9,10 +9,6 @@ use cocoa::{ appkit::{NSApp, NSRequestUserAttentionType}, base::{id, nil}, }; -use objc::{class, msg_send, sel, sel_impl}; -use std::ffi::c_void; -use std::path::Path; -use std::sync::Arc; use galaxyui_core::clipboard::InMemoryClipboard; use galaxyui_core::keymap::Keystroke; use galaxyui_core::modals::{AlertDialog, ModalId}; @@ -25,6 +21,10 @@ use galaxyui_core::ApplicationBundleInfo; use galaxyui_core::{ accessibility::AccessibilityContent, notification::UserNotification, platform, WindowId, }; +use objc::{class, msg_send, sel, sel_impl}; +use std::ffi::c_void; +use std::path::Path; +use std::sync::Arc; // Functions implemented in objC files. extern "C" { diff --git a/crates/galaxyui/src/platform/mac/fonts.rs b/crates/galaxyui/src/platform/mac/fonts.rs index 02cb34be..7080681c 100644 --- a/crates/galaxyui/src/platform/mac/fonts.rs +++ b/crates/galaxyui/src/platform/mac/fonts.rs @@ -19,6 +19,13 @@ use font_kit::font::Font; use font_kit::loaders::core_text::NativeFont; use futures::future::BoxFuture; use futures::FutureExt as _; +use galaxyui_core::fonts::{ + canvas::RasterFormat, FamilyId, FontId, FontInfo, GlyphId, Metrics, Properties, + RasterizedGlyph, SubpixelAlignment, +}; +use galaxyui_core::platform::{self, FontDB as _, LineStyle, TextLayoutSystem}; +use galaxyui_core::rendering; +use galaxyui_core::text_layout::{ClipConfig, StyleAndFont, TextAlignment, TextFrame}; use itertools::Itertools as _; use ordered_float::OrderedFloat; use pathfinder_geometry::rect::RectI; @@ -30,13 +37,6 @@ use std::sync::{ atomic::{AtomicUsize, Ordering}, Arc, }; -use galaxyui_core::fonts::{ - canvas::RasterFormat, FamilyId, FontId, FontInfo, GlyphId, Metrics, Properties, - RasterizedGlyph, SubpixelAlignment, -}; -use galaxyui_core::platform::{self, FontDB as _, LineStyle, TextLayoutSystem}; -use galaxyui_core::rendering; -use galaxyui_core::text_layout::{ClipConfig, StyleAndFont, TextAlignment, TextFrame}; struct FontFamily { name: String, diff --git a/crates/galaxyui/src/platform/mac/keycode.rs b/crates/galaxyui/src/platform/mac/keycode.rs index 590ace05..10d0228c 100644 --- a/crates/galaxyui/src/platform/mac/keycode.rs +++ b/crates/galaxyui/src/platform/mac/keycode.rs @@ -4,9 +4,9 @@ use cocoa::{ base::{id, nil, BOOL}, foundation::{NSArray, NSString, NSUInteger}, }; -use objc::{msg_send, sel, sel_impl}; use galaxyui_core::keymap::Keystroke; use galaxyui_core::platform::keyboard::{KeyCode, NativeKeyCode, PhysicalKey}; +use objc::{msg_send, sel, sel_impl}; use super::make_nsstring; diff --git a/crates/galaxyui/src/platform/mac/menus.rs b/crates/galaxyui/src/platform/mac/menus.rs index af89c8ca..7ba0aad2 100644 --- a/crates/galaxyui/src/platform/mac/menus.rs +++ b/crates/galaxyui/src/platform/mac/menus.rs @@ -13,16 +13,16 @@ use cocoa::{ base::{id, nil}, foundation::{NSArray, NSAutoreleasePool, NSInteger}, }; -use lazy_static::lazy_static; -use objc::runtime::{NO, YES}; -use objc::{msg_send, sel, sel_impl}; -use std::{boxed::Box, cell::RefCell, collections::HashMap, ffi::c_void, rc::Rc}; use galaxyui_core::actions::StandardAction; use galaxyui_core::keymap::Keystroke; use galaxyui_core::platform::menu::{ ItemTriggeredCallback, Menu, MenuBar, MenuItem, MenuItemProperties, MenuItemPropertyChanges, UpdateMenuItemCallback, }; +use lazy_static::lazy_static; +use objc::runtime::{NO, YES}; +use objc::{msg_send, sel, sel_impl}; +use std::{boxed::Box, cell::RefCell, collections::HashMap, ffi::c_void, rc::Rc}; use super::app::callback_dispatcher; use super::make_nsstring; diff --git a/crates/galaxyui/src/platform/mac/menus_tests.rs b/crates/galaxyui/src/platform/mac/menus_tests.rs index afb3e67d..112a86cf 100644 --- a/crates/galaxyui/src/platform/mac/menus_tests.rs +++ b/crates/galaxyui/src/platform/mac/menus_tests.rs @@ -19,11 +19,11 @@ use cocoa::appkit::NSMenuItem; use cocoa::base::nil; use cocoa::foundation::NSAutoreleasePool; -use objc::runtime::Object; -use objc::{msg_send, sel, sel_impl}; use galaxyui_core::actions::StandardAction; use galaxyui_core::keymap::Keystroke; use galaxyui_core::platform::menu::{MenuItem, MenuItemPropertyChanges}; +use objc::runtime::Object; +use objc::{msg_send, sel, sel_impl}; use super::{apply_changes, make_menu_item}; diff --git a/crates/galaxyui/src/platform/mac/rendering/metal/frame_capture.rs b/crates/galaxyui/src/platform/mac/rendering/metal/frame_capture.rs index 689c34cf..c74fc4ce 100644 --- a/crates/galaxyui/src/platform/mac/rendering/metal/frame_capture.rs +++ b/crates/galaxyui/src/platform/mac/rendering/metal/frame_capture.rs @@ -1,6 +1,6 @@ +use galaxyui_core::platform::CapturedFrame; use metal::{MTLPixelFormat, MTLStorageMode}; use pathfinder_geometry::vector::Vector2F; -use galaxyui_core::platform::CapturedFrame; #[cfg(test)] #[path = "frame_capture_tests.rs"] diff --git a/crates/galaxyui/src/platform/mac/rendering/metal/renderer.rs b/crates/galaxyui/src/platform/mac/rendering/metal/renderer.rs index ae14ba01..d7090038 100644 --- a/crates/galaxyui/src/platform/mac/rendering/metal/renderer.rs +++ b/crates/galaxyui/src/platform/mac/rendering/metal/renderer.rs @@ -9,27 +9,27 @@ use super::frame_capture::capture_frame; use crate::platform::mac::rendering::renderer::Device; use crate::platform::mac::window::WindowState; use cocoa::base::id; +use galaxyui_core::platform::CapturedFrame; use metal::{ Function, MTLBlendFactor, MTLBlendOperation, MTLIndexType, MTLPrimitiveType, MTLResourceOptions, RenderPipelineDescriptor, }; use objc::{msg_send, sel, sel_impl}; -use galaxyui_core::platform::CapturedFrame; +use galaxyui_core::fonts::{canvas, RasterizedGlyph}; +use galaxyui_core::scene::{CornerRadius, GlyphFade, Icon, Image, Layer, Scene}; use pathfinder_color::{ColorF, ColorU}; use pathfinder_geometry::{ rect::RectF, vector::{vec2f, Vector2F}, }; -use galaxyui_core::fonts::{canvas, RasterizedGlyph}; -use galaxyui_core::scene::{CornerRadius, GlyphFade, Icon, Image, Layer, Scene}; use std::collections::HashMap; +use galaxyui_core::scene::GlyphKey; use pathfinder_geometry::rect::RectI; use std::{fs::File, mem, sync::Once}; use std::{io::Write, os::raw::c_void}; -use galaxyui_core::scene::GlyphKey; const METAL_LIB_BYTES: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/shaders.metallib")); static WRITE_LIB_TO_FILE: Once = Once::new(); diff --git a/crates/galaxyui/src/platform/mac/text_layout.rs b/crates/galaxyui/src/platform/mac/text_layout.rs index fcf1dfea..e0303c76 100644 --- a/crates/galaxyui/src/platform/mac/text_layout.rs +++ b/crates/galaxyui/src/platform/mac/text_layout.rs @@ -26,6 +26,12 @@ use core_text::{ line::CTLine, string_attributes::{kCTFontAttributeName, kCTParagraphStyleAttributeName}, }; +use galaxyui_core::fonts::GlyphId; +use galaxyui_core::platform::LineStyle; +use galaxyui_core::text_layout::{ + CaretPosition, ClipConfig, Glyph, Line, Run, StyleAndFont, TextAlignment, TextBorder, + TextFrame, TextStyle, +}; use itertools::Itertools; use ordered_float::OrderedFloat; use pathfinder_geometry::vector::vec2f; @@ -37,12 +43,6 @@ use std::ops::Range; use std::rc::Rc; use std::slice; use vec1::Vec1; -use galaxyui_core::fonts::GlyphId; -use galaxyui_core::platform::LineStyle; -use galaxyui_core::text_layout::{ - CaretPosition, ClipConfig, Glyph, Line, Run, StyleAndFont, TextAlignment, TextBorder, - TextFrame, TextStyle, -}; use super::fonts::FontDB; use super::utils::{cg_color_to_color_u, color_u_to_cg_color}; diff --git a/crates/galaxyui/src/platform/mac/window.rs b/crates/galaxyui/src/platform/mac/window.rs index dfdf36f2..61a3e415 100644 --- a/crates/galaxyui/src/platform/mac/window.rs +++ b/crates/galaxyui/src/platform/mac/window.rs @@ -13,18 +13,6 @@ use cocoa::{ foundation::{NSAutoreleasePool, NSInteger, NSRect, NSSize}, }; use foreign_types::ForeignType; -use itertools::Itertools; -use num_traits::FromPrimitive; -use objc::class; -use objc::{ - msg_send, - runtime::{Object, BOOL, NO, YES}, - sel, sel_impl, -}; -use pathfinder_geometry::{ - rect::RectF, - vector::{vec2f, Vector2F}, -}; use galaxyui_core::event::ModifiersState; use galaxyui_core::platform::{ file_picker, FilePickerCallback, FilePickerConfiguration, FullscreenState, GraphicsBackend, @@ -41,6 +29,18 @@ use galaxyui_core::{ Event, OptionalPlatformWindow, Scene, WindowId, }; use galaxyui_core::{DisplayId, DisplayIdx}; +use itertools::Itertools; +use num_traits::FromPrimitive; +use objc::class; +use objc::{ + msg_send, + runtime::{Object, BOOL, NO, YES}, + sel, sel_impl, +}; +use pathfinder_geometry::{ + rect::RectF, + vector::{vec2f, Vector2F}, +}; use instant::Instant; use std::collections::HashMap; diff --git a/crates/galaxyui/src/rendering/wgpu/renderer.rs b/crates/galaxyui/src/rendering/wgpu/renderer.rs index c98cfcf9..2b404352 100644 --- a/crates/galaxyui/src/rendering/wgpu/renderer.rs +++ b/crates/galaxyui/src/rendering/wgpu/renderer.rs @@ -5,9 +5,9 @@ mod rect; mod util; use frame::Frame; +use galaxyui_core::platform::CapturedFrame; use pathfinder_geometry::vector::Vector2F; use util::with_error_scope; -use galaxyui_core::platform::CapturedFrame; use wgpu::wgc::{device::DeviceError, present::SurfaceError}; use crate::r#async::block_on; diff --git a/crates/galaxyui/src/rendering/wgpu/resources.rs b/crates/galaxyui/src/rendering/wgpu/resources.rs index efe2a478..ea6262d9 100644 --- a/crates/galaxyui/src/rendering/wgpu/resources.rs +++ b/crates/galaxyui/src/rendering/wgpu/resources.rs @@ -12,12 +12,12 @@ use crate::rendering::OnGPUDeviceSelected; use crate::windowing; use crate::{r#async::block_on, rendering::GPUPowerPreference}; use anyhow::{anyhow, Result}; +use galaxyui_core::rendering::{GPUBackend, GPUDeviceInfo, GPUDeviceType}; use itertools::Itertools; use lazy_static::lazy_static; use pathfinder_geometry::vector::Vector2F; use thiserror::Error; use version_compare::Version; -use galaxyui_core::rendering::{GPUBackend, GPUDeviceInfo, GPUDeviceType}; use wgpu::{ Adapter, Backend, CompositeAlphaMode, CurrentSurfaceTexture, Device, DeviceType, PresentMode, Queue, Surface, SurfaceConfiguration, diff --git a/crates/galaxyui_core/src/platform/mod.rs b/crates/galaxyui_core/src/platform/mod.rs index 3821a862..2cede733 100644 --- a/crates/galaxyui_core/src/platform/mod.rs +++ b/crates/galaxyui_core/src/platform/mod.rs @@ -13,8 +13,8 @@ pub use file_picker::{ FilePickerCallback, FilePickerConfiguration, FileType, SaveFilePickerCallback, SaveFilePickerConfiguration, }; -use serde::{Deserialize, Serialize}; use galaxy_util::path::ShellFamily; +use serde::{Deserialize, Serialize}; use crate::fonts::SubpixelAlignment; use crate::keymap::Keystroke; diff --git a/crates/graphql/src/client.rs b/crates/graphql/src/client.rs index 91df2832..45314a0f 100644 --- a/crates/graphql/src/client.rs +++ b/crates/graphql/src/client.rs @@ -1,11 +1,11 @@ use std::borrow::Cow; use cynic::{GraphQlResponse, QueryFragment, QueryVariables}; +use galaxy_core::{channel::ChannelState, operating_system_info::OperatingSystemInfo}; use http::StatusCode; use instant::Duration; use reqwest::header::CONTENT_TYPE; use serde::{de::DeserializeOwned, Serialize}; -use galaxy_core::{channel::ChannelState, operating_system_info::OperatingSystemInfo}; use crate::{ error::{UserFacingError, UserFacingErrorInterface}, diff --git a/crates/http_client/src/lib.rs b/crates/http_client/src/lib.rs index 0baa1376..12208451 100644 --- a/crates/http_client/src/lib.rs +++ b/crates/http_client/src/lib.rs @@ -8,6 +8,12 @@ use async_compat::{Compat, CompatExt}; use async_stream::stream; use bytes::Bytes; use futures::{Stream, StreamExt}; +use galaxy_core::{ + channel::{Channel, ChannelState}, + execution_mode, + operating_system_info::OperatingSystemInfo, + report_error, +}; use http::HeaderValue; use http::header::HeaderName; pub use http::{HeaderMap, StatusCode, header::AUTHORIZATION}; @@ -15,12 +21,6 @@ use reqwest::IntoUrl; use reqwest_eventsource::RequestBuilderExt; use serde::Serialize; use serde::de::DeserializeOwned; -use galaxy_core::{ - channel::{Channel, ChannelState}, - execution_mode, - operating_system_info::OperatingSystemInfo, - report_error, -}; pub mod headers { /// Custom Warp header indicating the version of the Warp app. diff --git a/crates/http_server/src/lib.rs b/crates/http_server/src/lib.rs index 21e6e807..55941643 100644 --- a/crates/http_server/src/lib.rs +++ b/crates/http_server/src/lib.rs @@ -1,7 +1,7 @@ use std::net::SocketAddr; -use tower_http::trace::TraceLayer; use galaxyui::{Entity, ModelContext, SingletonEntity}; +use tower_http::trace::TraceLayer; // Spells "Warp" - should hopefully not conflict with other ports. // Does not conflict with known ports on https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers diff --git a/crates/input_classifier/src/heuristic_classifier/mod.rs b/crates/input_classifier/src/heuristic_classifier/mod.rs index 20fb1595..e90e6ca0 100644 --- a/crates/input_classifier/src/heuristic_classifier/mod.rs +++ b/crates/input_classifier/src/heuristic_classifier/mod.rs @@ -1,9 +1,9 @@ use std::borrow::Cow; use async_trait::async_trait; +use galaxy_completer::ParsedTokensSnapshot; use itertools::Itertools as _; use natural_language_detection::natural_language_words_score; -use galaxy_completer::ParsedTokensSnapshot; use crate::{ ClassificationResult, Context, InputClassifier, InputType, diff --git a/crates/input_classifier/src/onnx/candle.rs b/crates/input_classifier/src/onnx/candle.rs index 310b67dc..e5079b66 100644 --- a/crates/input_classifier/src/onnx/candle.rs +++ b/crates/input_classifier/src/onnx/candle.rs @@ -3,9 +3,9 @@ use std::collections::HashMap; use anyhow::{Context as _, Result, ensure}; use candle_core::{IndexOp as _, Tensor}; use candle_onnx::onnx::ModelProto; +use galaxy_completer::ParsedTokensSnapshot; use prost::Message as _; use tokenizers::Tokenizer; -use galaxy_completer::ParsedTokensSnapshot; use super::ClassificationResult; diff --git a/crates/input_classifier/src/onnx/mod.rs b/crates/input_classifier/src/onnx/mod.rs index 67f0c00a..4c761106 100644 --- a/crates/input_classifier/src/onnx/mod.rs +++ b/crates/input_classifier/src/onnx/mod.rs @@ -7,8 +7,8 @@ use std::borrow::Cow; use anyhow::Result; use async_trait::async_trait; -use rust_embed::RustEmbed; use galaxy_completer::ParsedTokensSnapshot; +use rust_embed::RustEmbed; use crate::{ ClassificationResult, Context, InputClassifier, InputType, diff --git a/crates/input_classifier/src/onnx/ort.rs b/crates/input_classifier/src/onnx/ort.rs index d3573c8d..10ca20ed 100644 --- a/crates/input_classifier/src/onnx/ort.rs +++ b/crates/input_classifier/src/onnx/ort.rs @@ -1,4 +1,5 @@ use anyhow::{Result, ensure}; +use galaxy_completer::ParsedTokensSnapshot; use itertools::Itertools as _; use ort::{ execution_providers::CPUExecutionProvider, session::Session, tensor::ArrayExtensions as _, @@ -6,7 +7,6 @@ use ort::{ }; use parking_lot::Mutex; use tokenizers::Tokenizer; -use galaxy_completer::ParsedTokensSnapshot; use super::ClassificationResult; diff --git a/crates/input_classifier/src/test_utils.rs b/crates/input_classifier/src/test_utils.rs index 350039c5..1c558abd 100644 --- a/crates/input_classifier/src/test_utils.rs +++ b/crates/input_classifier/src/test_utils.rs @@ -1,10 +1,10 @@ use std::{collections::HashSet, sync::Arc}; -use smol_str::SmolStr; use galaxy_completer::{ completer::{GeneratorContext, PathCompletionContext}, signatures::CommandRegistry, }; +use smol_str::SmolStr; /// An implementation of `CompletionContext` for testing purposes. pub struct CompletionContext { diff --git a/crates/input_classifier/src/util.rs b/crates/input_classifier/src/util.rs index 4be1c7b9..8ee6604d 100644 --- a/crates/input_classifier/src/util.rs +++ b/crates/input_classifier/src/util.rs @@ -1,8 +1,8 @@ use std::collections::HashSet; +use galaxy_completer::ParsedTokensSnapshot; use lazy_static::lazy_static; use natural_language_detection::check_if_token_has_shell_syntax; -use galaxy_completer::ParsedTokensSnapshot; /// The percentage of input tokens that can be described by our completion engine before /// we consider the input as a shell command. This could be tuned. diff --git a/crates/integration/src/bin/integration.rs b/crates/integration/src/bin/integration.rs index f63f7b74..902019c2 100644 --- a/crates/integration/src/bin/integration.rs +++ b/crates/integration/src/bin/integration.rs @@ -2,11 +2,11 @@ use std::{collections::HashMap, env}; use anyhow::Result; use clap::Parser; -use integration::test::*; -use integration::Builder; use galaxy_cli::WorkerCommand; use galaxy_core::channel::{Channel, ChannelConfig, ChannelState, OzConfig, WarpServerConfig}; use galaxy_core::AppId; +use integration::test::*; +use integration::Builder; /// The Warp integration test runner. #[derive(Debug, Default, Parser, Clone)] diff --git a/crates/integration/src/builder.rs b/crates/integration/src/builder.rs index 6492c6df..bfc44621 100644 --- a/crates/integration/src/builder.rs +++ b/crates/integration/src/builder.rs @@ -1,14 +1,14 @@ use crate::util::{set_zsh_histfile_location, write_rc_files_for_test, ShellRcType}; -use std::collections::HashMap; -use std::future::Future; -use std::path::PathBuf; -use std::pin::Pin; -use std::time::Duration; use galaxyui::integration::{self, PersistedDataMap, TestStep}; use galaxyui::integration::{TestDriver, TestSetupUtils}; use galaxyui::{App, WindowId}; use galaxyui_extras::user_preferences::file_backed::FileBackedUserPreferences; use galaxyui_extras::user_preferences::UserPreferences; +use std::collections::HashMap; +use std::future::Future; +use std::path::PathBuf; +use std::pin::Pin; +use std::time::Duration; // We have logic in our build script to pass the path of the cargo target // tmp directory to our app. This needs to be done as a build script because diff --git a/crates/integration/src/test.rs b/crates/integration/src/test.rs index 7b8565bc..95df1a42 100644 --- a/crates/integration/src/test.rs +++ b/crates/integration/src/test.rs @@ -70,11 +70,6 @@ pub use workspace::*; use std::{borrow::Cow, collections::HashMap, path::PathBuf, rc::Rc, time::Duration}; use anyhow::{anyhow, Result}; -use parking_lot::Mutex; -use pathfinder_geometry::{rect::RectF, vector::Vector2F}; -use rust_embed::RustEmbed; -use settings::Setting as _; -use shell::ShellType; use galaxyui::{ async_assert, async_assert_eq, integration::{AssertionOutcome, StepData, TestStep}, @@ -83,19 +78,25 @@ use galaxyui::{ windowing::WindowManager, AssetProvider, Event, SingletonEntity, UpdateView, ViewHandle, }; +use parking_lot::Mutex; +use pathfinder_geometry::{rect::RectF, vector::Vector2F}; +use rust_embed::RustEmbed; +use settings::Setting as _; +use shell::ShellType; -use galaxy::{terminal::find::TerminalFindModel, util::bindings::CustomAction, AgentModeEntrypoint}; +use galaxy::{ + terminal::find::TerminalFindModel, util::bindings::CustomAction, AgentModeEntrypoint, +}; +use galaxyui::units::Lines; use sysinfo::{Pid, ProcessesToUpdate, System}; use version_compare::Cmp; -use galaxyui::units::Lines; use crate::util::{skip_if_powershell_core_2303, ShellRcType}; use crate::builder::cargo_target_tmpdir; use crate::user_defaults; use crate::Builder; -use sum_tree::SeekBias; use galaxy::integration_testing::terminal::assert_focused_editor_in_tab; use galaxy::integration_testing::{ settings::assert_theme_chooser_contains, @@ -167,6 +168,7 @@ use galaxy::{ view::BlockVisibilityMode, }, }; +use sum_tree::SeekBias; use galaxy::terminal::view::ALIAS_EXPANSION_BANNER_SEEN_KEY; use galaxy::{ diff --git a/crates/integration/src/test/agent_mode.rs b/crates/integration/src/test/agent_mode.rs index 01b068aa..ca1e891f 100644 --- a/crates/integration/src/test/agent_mode.rs +++ b/crates/integration/src/test/agent_mode.rs @@ -5,9 +5,6 @@ use std::{collections::HashMap, path::PathBuf, time::Duration}; use super::new_builder; use crate::{util::skip_if_powershell_core_2303, Builder}; -use lazy_static::lazy_static; -use pathfinder_geometry::vector::{vec2f, Vector2F}; -use settings::ToggleableSetting; use galaxy::{ cmd_or_ctrl_shift, features::FeatureFlag, @@ -22,8 +19,11 @@ use galaxy::{ }, settings::SelectionSettings, }; -use warp_multi_agent_api as api; use galaxyui::{async_assert, integration::TestStep, text::SelectionType, Event, SingletonEntity}; +use lazy_static::lazy_static; +use pathfinder_geometry::vector::{vec2f, Vector2F}; +use settings::ToggleableSetting; +use warp_multi_agent_api as api; cfg_if::cfg_if! { if #[cfg(target_os = "linux")] { diff --git a/crates/integration/src/test/bootstrapping.rs b/crates/integration/src/test/bootstrapping.rs index 3fdf8249..3cbe6425 100644 --- a/crates/integration/src/test/bootstrapping.rs +++ b/crates/integration/src/test/bootstrapping.rs @@ -1,7 +1,5 @@ //! Integration tests for bootstrapping logic. -use settings::Setting as _; -use version_compare::Cmp; use galaxy::{ cmd_or_ctrl_shift, integration_testing::{ @@ -27,6 +25,8 @@ use galaxy::{ use galaxyui::{ async_assert, async_assert_eq, clipboard::ClipboardContent, integration::TestStep, ViewHandle, }; +use settings::Setting as _; +use version_compare::Cmp; use crate::util::{write_all_rc_files_for_test, write_rc_files_for_test, ShellRcType}; diff --git a/crates/integration/src/test/history.rs b/crates/integration/src/test/history.rs index 2e65aa0d..7895f1cf 100644 --- a/crates/integration/src/test/history.rs +++ b/crates/integration/src/test/history.rs @@ -1,7 +1,6 @@ use std::collections::HashMap; use crate::Builder; -use settings::Setting as _; use galaxy::{ integration_testing::{ self, @@ -16,6 +15,7 @@ use galaxy::{ terminal::{input::Input, model::session::get_local_hostname, shell::ShellType}, }; use galaxyui::{async_assert, ViewHandle}; +use settings::Setting as _; use crate::util::{get_local_user, write_histfiles_for_test}; diff --git a/crates/integration/src/test/pane_restoration.rs b/crates/integration/src/test/pane_restoration.rs index adeecf1f..7f810dea 100644 --- a/crates/integration/src/test/pane_restoration.rs +++ b/crates/integration/src/test/pane_restoration.rs @@ -2,7 +2,6 @@ //! Tests the ability to restore closed panes using cmd+shift+t. use super::{new_builder, Builder}; -use std::{collections::HashMap, time::Duration}; use galaxy::{ cmd_or_ctrl_shift, features::FeatureFlag, @@ -16,6 +15,7 @@ use galaxy::{ workspace::{assert_tab_count, trigger_undo_close}, }, }; +use std::{collections::HashMap, time::Duration}; /// Tests the basic pane restoration workflow: /// 1. Split off a pane diff --git a/crates/integration/src/test/session_restoration.rs b/crates/integration/src/test/session_restoration.rs index 0a52499c..ecbecc53 100644 --- a/crates/integration/src/test/session_restoration.rs +++ b/crates/integration/src/test/session_restoration.rs @@ -1,4 +1,3 @@ -use settings::{RespectUserSyncSetting, SyncToCloud}; use galaxy::{ features::FeatureFlag, integration_testing::{ @@ -28,6 +27,7 @@ use galaxyui::{ integration::{AssertionOutcome, TestStep}, SingletonEntity, ViewHandle, }; +use settings::{RespectUserSyncSetting, SyncToCloud}; use crate::util::{get_local_user, tab_title_in_home_dir}; diff --git a/crates/integration/src/test/settings_file_errors.rs b/crates/integration/src/test/settings_file_errors.rs index cf9284bc..d9bca36b 100644 --- a/crates/integration/src/test/settings_file_errors.rs +++ b/crates/integration/src/test/settings_file_errors.rs @@ -5,7 +5,6 @@ //! or individual setting values are invalid — and that the banner clears //! when the file is fixed. -use std::time::Duration; use galaxy::{ features::FeatureFlag, integration_testing::{ @@ -14,6 +13,7 @@ use galaxy::{ }, }; use galaxyui::{async_assert, integration::TestStep}; +use std::time::Duration; use super::{new_builder, Builder}; diff --git a/crates/integration/src/test/settings_file_hot_reload.rs b/crates/integration/src/test/settings_file_hot_reload.rs index e78f0fe2..37f82042 100644 --- a/crates/integration/src/test/settings_file_hot_reload.rs +++ b/crates/integration/src/test/settings_file_hot_reload.rs @@ -4,8 +4,6 @@ //! filesystem watcher and pushed into the in-memory setting models, on every //! platform where Warp watches `config_local_dir()`. -use settings::Setting as _; -use std::time::Duration; use galaxy::{ features::FeatureFlag, integration_testing::{ @@ -15,6 +13,8 @@ use galaxy::{ settings::FontSettings, }; use galaxyui::{async_assert_eq, integration::TestStep, SingletonEntity}; +use settings::Setting as _; +use std::time::Duration; use super::{new_builder, Builder}; diff --git a/crates/integration/src/test/settings_file_migration.rs b/crates/integration/src/test/settings_file_migration.rs index cfe3d6e9..3b0ead81 100644 --- a/crates/integration/src/test/settings_file_migration.rs +++ b/crates/integration/src/test/settings_file_migration.rs @@ -3,13 +3,13 @@ use std::collections::HashMap; -use settings::Setting as _; use galaxy::{ features::FeatureFlag, integration_testing::terminal::wait_until_bootstrapped_single_pane_for_tab, settings::{BlockVisibilitySettings, ScrollSettings}, }; use galaxyui::{async_assert, async_assert_eq, integration::AssertionOutcome, SingletonEntity}; +use settings::Setting as _; use super::{new_builder, Builder}; diff --git a/crates/integration/src/test/settings_private.rs b/crates/integration/src/test/settings_private.rs index bda36395..58264c12 100644 --- a/crates/integration/src/test/settings_private.rs +++ b/crates/integration/src/test/settings_private.rs @@ -5,7 +5,6 @@ use std::collections::HashMap; -use settings::Setting as _; use galaxy::{ features::FeatureFlag, integration_testing::{ @@ -15,6 +14,7 @@ use galaxy::{ settings::{CodeSettings, DebugSettings, FontSettings}, }; use galaxyui::{async_assert, async_assert_eq, integration::TestStep, SingletonEntity}; +use settings::Setting as _; use super::{new_builder, Builder}; diff --git a/crates/integration/src/test/ssh.rs b/crates/integration/src/test/ssh.rs index 65f125db..0ef68a25 100644 --- a/crates/integration/src/test/ssh.rs +++ b/crates/integration/src/test/ssh.rs @@ -1,8 +1,6 @@ use std::collections::HashMap; use crate::Builder; -use regex::Regex; -use settings::Setting as _; use galaxy::{ features::FeatureFlag, integration_testing::{ @@ -32,6 +30,8 @@ use galaxyui::{ async_assert, async_assert_eq, integration::{AssertionCallback, AssertionOutcome, TestStep}, }; +use regex::Regex; +use settings::Setting as _; use super::new_builder; diff --git a/crates/integration/src/test/subshell.rs b/crates/integration/src/test/subshell.rs index 668b8d0c..e6ebb42b 100644 --- a/crates/integration/src/test/subshell.rs +++ b/crates/integration/src/test/subshell.rs @@ -1,6 +1,5 @@ use std::collections::HashMap; -use settings::Setting as _; use galaxy::integration_testing::terminal::util::current_shell_starter_and_version; use galaxy::integration_testing::view_getters::single_input_view_for_tab; use galaxy::root_view::SubshellCommandArg; @@ -22,6 +21,7 @@ use galaxyui::integration::{AssertionOutcome, TestStep}; use galaxyui::windowing::state::ApplicationStage; use galaxyui::windowing::WindowManager; use galaxyui::{async_assert, UpdateModel}; +use settings::Setting as _; use crate::util::skip_if_powershell_core_2303; diff --git a/crates/integration/src/test/typeahead.rs b/crates/integration/src/test/typeahead.rs index f101c0bc..b539f346 100644 --- a/crates/integration/src/test/typeahead.rs +++ b/crates/integration/src/test/typeahead.rs @@ -210,12 +210,12 @@ pub fn test_input_reporting_powershell() -> Builder { /// This tests UNIX-specific signal handling. #[cfg(not(windows))] pub fn test_background_output() -> Builder { - use regex::Regex; - use std::{fs::OpenOptions, io::Write, os::unix::prelude::OpenOptionsExt}; use galaxy::integration_testing::{ block::assert_background_output, terminal::{execute_command_for_single_terminal_in_tab, util::ExpectedExitStatus}, }; + use regex::Regex; + use std::{fs::OpenOptions, io::Write, os::unix::prelude::OpenOptionsExt}; let (starter, _) = current_shell_starter_and_version(); let (spawn_command, kill_command) = match starter.shell_type() { diff --git a/crates/integration/src/test/video_recording.rs b/crates/integration/src/test/video_recording.rs index 8e930cfb..1df52796 100644 --- a/crates/integration/src/test/video_recording.rs +++ b/crates/integration/src/test/video_recording.rs @@ -1,9 +1,9 @@ use std::future::Future; use std::pin::Pin; -use pathfinder_geometry::vector::vec2f; use galaxyui::event::{Event, ModifiersState}; use galaxyui::integration::{TestStep, ARTIFACTS_DIR_ENV_VAR}; +use pathfinder_geometry::vector::vec2f; use crate::Builder; use galaxy::integration_testing::step::new_step_with_default_assertions; diff --git a/crates/integration/src/test/workflows.rs b/crates/integration/src/test/workflows.rs index 31e35c1d..b19d45d0 100644 --- a/crates/integration/src/test/workflows.rs +++ b/crates/integration/src/test/workflows.rs @@ -1,4 +1,3 @@ -use std::time::Duration; use galaxy::integration_testing::workflow::{ assert_no_team_workflow_pane_open, assert_open_team_workflow_pane_count_equals, }; @@ -22,6 +21,7 @@ use galaxy::{ workflows::CategoriesView, }; use galaxyui::{async_assert_eq, integration::TestStep, ViewHandle}; +use std::time::Duration; use crate::Builder; diff --git a/crates/integration/src/test/workspace.rs b/crates/integration/src/test/workspace.rs index 22b6235d..2ec0f1e4 100644 --- a/crates/integration/src/test/workspace.rs +++ b/crates/integration/src/test/workspace.rs @@ -2,7 +2,6 @@ use std::fs; -use settings::Setting as _; use galaxy::integration_testing::terminal::assert_long_running_block_executing_for_single_terminal_in_tab; use galaxy::integration_testing::view_getters::terminal_view; use galaxy::integration_testing::workspace::{assert_tab_count, press_native_modal_button}; @@ -20,6 +19,7 @@ use galaxy::{ workspace::NEW_TAB_BUTTON_POSITION_ID, }; use galaxyui::{async_assert, integration::TestStep, SingletonEntity}; +use settings::Setting as _; use crate::{util::skip_if_powershell_core_2303, Builder}; diff --git a/crates/integration/src/user_defaults.rs b/crates/integration/src/user_defaults.rs index 641c43d4..f9df1735 100644 --- a/crates/integration/src/user_defaults.rs +++ b/crates/integration/src/user_defaults.rs @@ -1,6 +1,6 @@ -use std::collections::HashMap; use galaxy::settings::INPUT_MODE; use galaxy::terminal::block_list_viewport::InputMode; +use std::collections::HashMap; /// Returns a user defaults map with the `InputMode` set to `input_mode`. #[allow(dead_code)] diff --git a/crates/integration/tests/common/mod.rs b/crates/integration/tests/common/mod.rs index e34d60e5..6a733bf4 100644 --- a/crates/integration/tests/common/mod.rs +++ b/crates/integration/tests/common/mod.rs @@ -1,7 +1,7 @@ use command::blocking::Command; +use galaxyui::integration::RERUN_EXIT_CODE; use std::env; use std::process::Stdio; -use galaxyui::integration::RERUN_EXIT_CODE; const MAX_TEST_RUNS: usize = 10; diff --git a/crates/isolation_platform/src/lib.rs b/crates/isolation_platform/src/lib.rs index a5c58074..b070547e 100644 --- a/crates/isolation_platform/src/lib.rs +++ b/crates/isolation_platform/src/lib.rs @@ -1,8 +1,8 @@ use std::{io, process::ExitStatus, sync::OnceLock, time::Duration}; use chrono::{DateTime, Utc}; -use serde::Serialize; use galaxy_core::channel::{Channel, ChannelState}; +use serde::Serialize; #[cfg(not(target_family = "wasm"))] mod docker; diff --git a/crates/jsonrpc/src/service.rs b/crates/jsonrpc/src/service.rs index 26cb8517..9c79de0f 100644 --- a/crates/jsonrpc/src/service.rs +++ b/crates/jsonrpc/src/service.rs @@ -9,9 +9,9 @@ use std::{ use crate::transport::Transport; use anyhow::{anyhow, Result}; use futures::{channel::oneshot, lock::Mutex as AsyncMutex}; +use galaxyui::r#async::executor::Background; use serde::{Deserialize, Serialize}; use serde_json::{value::RawValue, Value}; -use galaxyui::r#async::executor::Background; pub const JSON_RPC_VERSION: &str = "2.0"; diff --git a/crates/jsonrpc/src/service_tests.rs b/crates/jsonrpc/src/service_tests.rs index 669fcf06..3aa60b05 100644 --- a/crates/jsonrpc/src/service_tests.rs +++ b/crates/jsonrpc/src/service_tests.rs @@ -2,9 +2,9 @@ mod service_tests { use crate::{JsonRpcService, Transport}; use async_trait::async_trait; + use galaxyui::r#async::executor::Background; use std::sync::Arc; use std::sync::Mutex; - use galaxyui::r#async::executor::Background; #[derive(Debug, Clone)] struct MockTransport { diff --git a/crates/languages/src/lib.rs b/crates/languages/src/lib.rs index 8e0fd869..7769e820 100644 --- a/crates/languages/src/lib.rs +++ b/crates/languages/src/lib.rs @@ -6,10 +6,10 @@ use std::{ }; use arborium::tree_sitter::{Language as ParserGrammar, Query}; +use galaxy_editor::content::text::IndentUnit; use lazy_static::lazy_static; use rust_embed::RustEmbed; use serde::{Deserialize, Serialize}; -use galaxy_editor::content::text::IndentUnit; #[derive(RustEmbed)] #[folder = "grammars"] diff --git a/crates/lsp/examples/rust-lsp/main.rs b/crates/lsp/examples/rust-lsp/main.rs index 279bbf2f..43f5fe71 100644 --- a/crates/lsp/examples/rust-lsp/main.rs +++ b/crates/lsp/examples/rust-lsp/main.rs @@ -14,13 +14,13 @@ use std::{ }; use chrono::Utc; +use galaxyui::r#async::{executor::Background, Timer}; use log::LevelFilter; use lsp::{ spawn_lsp_service, supported_servers::LSPServerType, LspServerConfig, LspService, LspServiceInitializationResult, }; use lsp_types::Position; -use galaxyui::r#async::{executor::Background, Timer}; fn init_logging() { let mut base_logger = env_logger::builder(); diff --git a/crates/lsp/src/lib.rs b/crates/lsp/src/lib.rs index 57d4fc8c..ccedc88b 100644 --- a/crates/lsp/src/lib.rs +++ b/crates/lsp/src/lib.rs @@ -53,11 +53,11 @@ impl std::fmt::Display for LspServerLogLevel { } use anyhow::Result; +use galaxyui::r#async::executor::Background; +use galaxyui::AppContext; #[cfg(not(target_arch = "wasm32"))] use simple_logger::SimpleLogger; use std::sync::Arc; -use galaxyui::r#async::executor::Background; -use galaxyui::AppContext; pub struct LspServiceInitializationResult { pub service: LspService, diff --git a/crates/lsp/src/model.rs b/crates/lsp/src/model.rs index 03ed52a0..1107a818 100644 --- a/crates/lsp/src/model.rs +++ b/crates/lsp/src/model.rs @@ -27,14 +27,14 @@ use std::{ #[cfg(not(target_arch = "wasm32"))] use crate::{spawn_lsp_service, LspServiceInitializationResult}; use anyhow::{Error, Result}; -use jsonrpc::ServerNotificationEvent; -#[cfg(not(target_arch = "wasm32"))] -use simple_logger::manager::LogManager; #[cfg(not(target_arch = "wasm32"))] use galaxy_core::features::FeatureFlag; #[cfg(not(target_arch = "wasm32"))] use galaxyui::SingletonEntity; use galaxyui::{r#async::executor::Background, Entity, ModelContext}; +use jsonrpc::ServerNotificationEvent; +#[cfg(not(target_arch = "wasm32"))] +use simple_logger::manager::LogManager; static NEXT_LANGUAGE_SERVER_ID: AtomicUsize = AtomicUsize::new(0); diff --git a/crates/lsp/src/server_repo_watcher.rs b/crates/lsp/src/server_repo_watcher.rs index eb603632..01e59062 100644 --- a/crates/lsp/src/server_repo_watcher.rs +++ b/crates/lsp/src/server_repo_watcher.rs @@ -1,13 +1,13 @@ use std::{future::Future, path::PathBuf, pin::Pin}; use async_channel::Sender; +use galaxy_util::standardized_path::StandardizedPath; +use galaxyui::{ModelContext, SingletonEntity, WeakModelHandle}; use lsp_types::FileChangeType; use repo_metadata::{ repository::{RepositorySubscriber, SubscriberId}, DirectoryWatcher, Repository, RepositoryUpdate, }; -use galaxy_util::standardized_path::StandardizedPath; -use galaxyui::{ModelContext, SingletonEntity, WeakModelHandle}; use crate::{model::LspServerModel, types::WatchedFileChangeEvent, LspServerConfig}; diff --git a/crates/lsp/src/service.rs b/crates/lsp/src/service.rs index b7e26f16..52108e6b 100644 --- a/crates/lsp/src/service.rs +++ b/crates/lsp/src/service.rs @@ -13,6 +13,7 @@ use crate::{ LspServerLogLevel, }; use anyhow::Result; +use galaxy_util::on_cancel::OnCancelFutureExt; use globset::{Glob, GlobMatcher}; use jsonrpc::{JsonRpcService, RequestId, ServerNotificationEvent}; use lsp_types::{ @@ -29,7 +30,6 @@ use lsp_types::{ use serde_json::Value; #[cfg(not(target_arch = "wasm32"))] use simple_logger::SimpleLogger; -use galaxy_util::on_cancel::OnCancelFutureExt; /// Tracks the sync state for an open document. #[derive(Debug, Clone)] diff --git a/crates/lsp/src/transport.rs b/crates/lsp/src/transport.rs index 8f79da64..2b754c0a 100644 --- a/crates/lsp/src/transport.rs +++ b/crates/lsp/src/transport.rs @@ -8,12 +8,12 @@ use futures::{ future::FutureExt, io::{AsyncBufReadExt, AsyncReadExt, AsyncWriteExt, BufReader, BufWriter}, }; -use jsonrpc::Transport; -use simple_logger::SimpleLogger; use galaxyui::r#async::{ executor::{Background, BackgroundTask}, Timer, }; +use jsonrpc::Transport; +use simple_logger::SimpleLogger; /// Transport implementation for LSP communication over process stdin/stdout. /// Also manages the LSP server process lifecycle with graceful shutdown capabilities. diff --git a/crates/managed_secrets/src/gcp.rs b/crates/managed_secrets/src/gcp.rs index fae260c4..2b97bf5b 100644 --- a/crates/managed_secrets/src/gcp.rs +++ b/crates/managed_secrets/src/gcp.rs @@ -6,10 +6,10 @@ use std::{ time::Duration, }; +use galaxy_core::safe_debug; use serde::{Deserialize, Serialize}; use serde_json::{Value, json}; use tempfile::NamedTempFile; -use galaxy_core::safe_debug; use crate::client::TaskIdentityToken; diff --git a/crates/managed_secrets/src/manager.rs b/crates/managed_secrets/src/manager.rs index 48e5d2c1..1f78996d 100644 --- a/crates/managed_secrets/src/manager.rs +++ b/crates/managed_secrets/src/manager.rs @@ -165,7 +165,8 @@ impl ManagedSecretManager { async move { // We only need the workload token for the duration of the request. let workload_token = - galaxy_isolation_platform::issue_workload_token(Some(Duration::from_mins(5))).await?; + galaxy_isolation_platform::issue_workload_token(Some(Duration::from_mins(5))) + .await?; let gql_secrets = client .get_task_secrets(task_id, workload_token.token) .await?; diff --git a/crates/managed_secrets/src/secret_value.rs b/crates/managed_secrets/src/secret_value.rs index 76886a56..f60f5dd6 100644 --- a/crates/managed_secrets/src/secret_value.rs +++ b/crates/managed_secrets/src/secret_value.rs @@ -1,7 +1,7 @@ use std::fmt; -use serde::Serialize; use galaxy_graphql::managed_secrets::ManagedSecretType; +use serde::Serialize; #[derive(Serialize)] #[serde(untagged)] diff --git a/crates/node_runtime/src/lib.rs b/crates/node_runtime/src/lib.rs index 88a7c2c4..beb6e096 100644 --- a/crates/node_runtime/src/lib.rs +++ b/crates/node_runtime/src/lib.rs @@ -137,7 +137,9 @@ impl NodeDistribution { pub fn node_installation_dir() -> Result { let dist = NodeDistribution::current()?; let folder_name = dist.folder_name(NODE_VERSION); - Ok(galaxy_core::paths::data_dir().join("node").join(folder_name)) + Ok(galaxy_core::paths::data_dir() + .join("node") + .join(folder_name)) } /// Returns the path to the installed node binary. diff --git a/crates/onboarding/examples/callout.rs b/crates/onboarding/examples/callout.rs index 591bba41..63345420 100644 --- a/crates/onboarding/examples/callout.rs +++ b/crates/onboarding/examples/callout.rs @@ -1,11 +1,4 @@ use anyhow::{anyhow, Result}; -use onboarding::components::onboarding_callout::{ - Button as CalloutButton, OnboardingCallout, Options as CalloutOptions, Params as CalloutParams, - StepStatus, -}; -use rust_embed::RustEmbed; -use std::borrow::Cow; -use ui_components::Component as _; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::{AnsiColor, AnsiColors, Details, Fill, TerminalColors, WarpTheme}; use galaxyui::color::ColorU; @@ -13,6 +6,13 @@ use galaxyui::elements::{Rect, Stack}; use galaxyui::fonts::{Cache, FamilyId, Weight}; use galaxyui::platform; use galaxyui::{prelude::*, AddWindowOptions, AssetProvider, ModelContext}; +use onboarding::components::onboarding_callout::{ + Button as CalloutButton, OnboardingCallout, Options as CalloutOptions, Params as CalloutParams, + StepStatus, +}; +use rust_embed::RustEmbed; +use std::borrow::Cow; +use ui_components::Component as _; #[derive(Clone, Copy, RustEmbed)] #[folder = "../../app/assets"] diff --git a/crates/onboarding/examples/callout_flow.rs b/crates/onboarding/examples/callout_flow.rs index e94eb3d7..05d44667 100644 --- a/crates/onboarding/examples/callout_flow.rs +++ b/crates/onboarding/examples/callout_flow.rs @@ -1,12 +1,4 @@ use anyhow::Result; -use onboarding::callout::{ - OnboardingCalloutView, OnboardingCalloutViewEvent, OnboardingKeybindings, -}; -use onboarding::OnboardingIntention; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use rust_embed::RustEmbed; -use std::borrow::Cow; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::{AnsiColor, AnsiColors, Details, Fill, TerminalColors, WarpTheme}; use galaxyui::fonts::{Cache, FamilyId, Weight}; @@ -22,6 +14,14 @@ use galaxyui::{ AddWindowOptions, AppContext, AssetProvider, Element, Entity, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use onboarding::callout::{ + OnboardingCalloutView, OnboardingCalloutViewEvent, OnboardingKeybindings, +}; +use onboarding::OnboardingIntention; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use rust_embed::RustEmbed; +use std::borrow::Cow; #[derive(Clone, Copy, RustEmbed)] #[folder = "../../app/assets"] diff --git a/crates/onboarding/src/agent_onboarding_view.rs b/crates/onboarding/src/agent_onboarding_view.rs index cf5f43a0..1f960b7d 100644 --- a/crates/onboarding/src/agent_onboarding_view.rs +++ b/crates/onboarding/src/agent_onboarding_view.rs @@ -9,8 +9,6 @@ use crate::slides::{ }; use crate::telemetry::OnboardingEvent; use ai::LLMId; -use instant::Instant; -use std::time::Duration; use galaxy_core::features::FeatureFlag; use galaxy_core::send_telemetry_from_ctx; use galaxyui::assets::asset_cache::AssetSource; @@ -19,11 +17,11 @@ use galaxyui::windowing::{ state::{ApplicationStage, StateEvent}, WindowManager, }; +use instant::Instant; +use std::time::Duration; const APP_BECAME_ACTIVE_DEBOUNCE: Duration = Duration::from_secs(15); -use pathfinder_geometry::vector::vec2f; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::ui::{appearance::Appearance, theme::WarpTheme}; use galaxyui::elements::Rect; use galaxyui::{ @@ -37,6 +35,8 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use pathfinder_geometry::vector::vec2f; +use ui_components::{button, Component as _, Options as _}; #[derive(Clone, Debug)] pub enum AgentOnboardingEvent { diff --git a/crates/onboarding/src/bin/main.rs b/crates/onboarding/src/bin/main.rs index ca08971a..d8616532 100644 --- a/crates/onboarding/src/bin/main.rs +++ b/crates/onboarding/src/bin/main.rs @@ -2,13 +2,6 @@ use ai::LLMId; use anyhow::Result; -use onboarding::slides::OnboardingModelInfo; -use onboarding::{ - AgentOnboardingEvent, AgentOnboardingView, MockTelemetryContextProvider, SelectedSettings, -}; -use pathfinder_color::ColorU; -use rust_embed::RustEmbed; -use std::borrow::Cow; use galaxy_core::ui::icons::Icon; use galaxy_core::ui::theme::{AnsiColor, AnsiColors, Details, Fill, Image, TerminalColors}; use galaxy_core::ui::{appearance::Appearance, theme::WarpTheme}; @@ -24,6 +17,13 @@ use galaxyui::{ AddWindowOptions, AppContext, AssetProvider, Element, Entity, SingletonEntity as _, TypedActionView, View, ViewContext, ViewHandle, }; +use onboarding::slides::OnboardingModelInfo; +use onboarding::{ + AgentOnboardingEvent, AgentOnboardingView, MockTelemetryContextProvider, SelectedSettings, +}; +use pathfinder_color::ColorU; +use rust_embed::RustEmbed; +use std::borrow::Cow; #[derive(Clone, Copy, RustEmbed)] #[folder = "../../app/assets"] diff --git a/crates/onboarding/src/callout/view.rs b/crates/onboarding/src/callout/view.rs index 8a365c7e..8a026ce9 100644 --- a/crates/onboarding/src/callout/view.rs +++ b/crates/onboarding/src/callout/view.rs @@ -1,4 +1,3 @@ -use ui_components::Component; use galaxy_core::ui::appearance::Appearance; use galaxyui::{ elements::Empty, @@ -6,6 +5,7 @@ use galaxyui::{ AppContext, Element, Entity, EventContext, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use ui_components::Component; /// Display strings for keybindings shown in the onboarding callout. #[derive(Clone, Debug)] diff --git a/crates/onboarding/src/components/onboarding_callout.rs b/crates/onboarding/src/components/onboarding_callout.rs index c10e7363..6d703ee9 100644 --- a/crates/onboarding/src/components/onboarding_callout.rs +++ b/crates/onboarding/src/components/onboarding_callout.rs @@ -1,10 +1,5 @@ use std::borrow::Cow; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use ui_components::{ - button, button::Button as ButtonComponent, Component, MouseEventHandler, Options as _, -}; use galaxy_core::ui::{ appearance::Appearance, color::{coloru_with_opacity, contrast::relative_luminance}, @@ -21,6 +16,11 @@ use galaxyui::{ ui_components::checkbox::Checkbox as WarpCheckbox, ui_components::components::{UiComponent as _, UiComponentStyles}, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use ui_components::{ + button, button::Button as ButtonComponent, Component, MouseEventHandler, Options as _, +}; const CALLOUT_WIDTH: f32 = 480.; const CALLOUT_BORDER_WIDTH: f32 = 1.; diff --git a/crates/onboarding/src/slides/agent_slide.rs b/crates/onboarding/src/slides/agent_slide.rs index c747ab68..52de3745 100644 --- a/crates/onboarding/src/slides/agent_slide.rs +++ b/crates/onboarding/src/slides/agent_slide.rs @@ -6,8 +6,6 @@ use galaxy_core::send_telemetry_from_ctx; use super::OnboardingSlide; use crate::visuals::agent_visual; -use pathfinder_geometry::vector::vec2f; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::{ appearance::Appearance, @@ -31,11 +29,13 @@ use galaxyui::{ AppContext, Element, Entity, Gradient, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use pathfinder_geometry::vector::vec2f; +use ui_components::{button, Component as _, Options as _}; use ai::LLMId; +use galaxy_core::ui::icons::Icon; use pathfinder_color::ColorU; use ui_components::button::State as ButtonState; -use galaxy_core::ui::icons::Icon; /// high-contrast "inverted" fill (foreground color) struct UpgradeButtonTheme; @@ -1003,12 +1003,12 @@ impl AgentSlide { ); let step_index = 2; - let step_count = if galaxy_core::features::FeatureFlag::OpenWarpNewSettingsModes.is_enabled() - { - 5 - } else { - 4 - }; + let step_count = + if galaxy_core::features::FeatureFlag::OpenWarpNewSettingsModes.is_enabled() { + 5 + } else { + 4 + }; bottom_nav::onboarding_bottom_nav( appearance, step_index, diff --git a/crates/onboarding/src/slides/customize_slide.rs b/crates/onboarding/src/slides/customize_slide.rs index d5323a06..bc40b19d 100644 --- a/crates/onboarding/src/slides/customize_slide.rs +++ b/crates/onboarding/src/slides/customize_slide.rs @@ -4,7 +4,6 @@ use crate::model::{OnboardingStateEvent, OnboardingStateModel, UICustomizationSe use crate::slides::{bottom_nav, layout, slide_content}; use crate::visuals::{intention_terminal_visual, intention_visual}; use crate::OnboardingIntention; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors}; use galaxyui::prelude::Align; @@ -20,6 +19,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use ui_components::{button, Component as _, Options as _}; /// Which setting card is currently selected (expanded). #[derive(Clone, Copy, Debug, PartialEq, Eq)] diff --git a/crates/onboarding/src/slides/free_user_no_ai_slide.rs b/crates/onboarding/src/slides/free_user_no_ai_slide.rs index e8c95ea4..5ee346bf 100644 --- a/crates/onboarding/src/slides/free_user_no_ai_slide.rs +++ b/crates/onboarding/src/slides/free_user_no_ai_slide.rs @@ -3,7 +3,6 @@ use crate::model::OnboardingStateModel; use crate::slides::{bottom_nav, layout, slide_content}; use crate::telemetry::OnboardingEvent; use crate::OnboardingIntention; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors, Icon}; @@ -23,6 +22,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use ui_components::{button, Component as _, Options as _}; const SUBSCRIBE_ITEMS: &[&str] = &[ "1,500 credits per month", diff --git a/crates/onboarding/src/slides/intention_slide.rs b/crates/onboarding/src/slides/intention_slide.rs index 4f88a76d..fe0df76b 100644 --- a/crates/onboarding/src/slides/intention_slide.rs +++ b/crates/onboarding/src/slides/intention_slide.rs @@ -3,7 +3,6 @@ use crate::model::OnboardingStateModel; use crate::slides::{bottom_nav, layout, slide_content}; use crate::visuals::{intention_terminal_visual, intention_visual}; use crate::{OnboardingIntention, AI_FEATURES}; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::features::FeatureFlag; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors, Icon}; @@ -22,6 +21,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use ui_components::{button, Component as _, Options as _}; #[derive(Debug, Clone)] pub enum IntentionSlideAction { @@ -260,10 +260,11 @@ impl IntentionSlide { .with_main_axis_size(MainAxisSize::Min) .with_cross_axis_alignment(CrossAxisAlignment::Start); for &item in items { - let icon_el = ConstrainedBox::new(Icon::Check.to_galaxyui_icon(check_fill).finish()) - .with_width(16.) - .with_height(16.) - .finish(); + let icon_el = + ConstrainedBox::new(Icon::Check.to_galaxyui_icon(check_fill).finish()) + .with_width(16.) + .with_height(16.) + .finish(); let text_el = appearance .ui_builder() .paragraph(item.to_string()) diff --git a/crates/onboarding/src/slides/intro_slide.rs b/crates/onboarding/src/slides/intro_slide.rs index 084c2c37..9d30bd69 100644 --- a/crates/onboarding/src/slides/intro_slide.rs +++ b/crates/onboarding/src/slides/intro_slide.rs @@ -2,9 +2,6 @@ use crate::model::OnboardingStateModel; use crate::OnboardingEvent; use super::OnboardingSlide; -use pathfinder_color::ColorU; -use pathfinder_geometry::vector::vec2f; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors, Icon}; use galaxyui::{ @@ -20,6 +17,9 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use pathfinder_geometry::vector::vec2f; +use ui_components::{button, Component as _, Options as _}; #[derive(Clone, Debug)] pub enum IntroSlideEvent { diff --git a/crates/onboarding/src/slides/layout.rs b/crates/onboarding/src/slides/layout.rs index 8510a706..fdedaa2d 100644 --- a/crates/onboarding/src/slides/layout.rs +++ b/crates/onboarding/src/slides/layout.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::{vec2f, Vector2F}; use galaxyui::{ assets::asset_cache::AssetSource, elements::{ @@ -10,6 +9,7 @@ use galaxyui::{ AfterLayoutContext, AppContext, Element, EventContext, LayoutContext, PaintContext, SizeConstraint, }; +use pathfinder_geometry::vector::{vec2f, Vector2F}; // Onboarding images live under `app/assets/async/` so they are excluded from the WASM // binary (RustEmbed excludes `async/**` on wasm targets). They are still bundled normally diff --git a/crates/onboarding/src/slides/project_slide.rs b/crates/onboarding/src/slides/project_slide.rs index 8011cb1d..7983dd97 100644 --- a/crates/onboarding/src/slides/project_slide.rs +++ b/crates/onboarding/src/slides/project_slide.rs @@ -2,7 +2,6 @@ use crate::model::OnboardingStateModel; use crate::slides::{bottom_nav, layout, slide_content}; use crate::telemetry::OnboardingEvent; use crate::visuals::project_visual; -use ui_components::{button, keyboard_shortcut, Component as _, Options as _}; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::{ appearance::Appearance, color::coloru_with_opacity, theme::color::internal_colors, Icon, @@ -21,6 +20,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use ui_components::{button, keyboard_shortcut, Component as _, Options as _}; use super::OnboardingSlide; diff --git a/crates/onboarding/src/slides/theme_picker_slide.rs b/crates/onboarding/src/slides/theme_picker_slide.rs index 2248bf8c..d7173379 100644 --- a/crates/onboarding/src/slides/theme_picker_slide.rs +++ b/crates/onboarding/src/slides/theme_picker_slide.rs @@ -4,8 +4,6 @@ use crate::slides::{bottom_nav, layout, slide_content}; use crate::telemetry::OnboardingEvent; use crate::visuals::theme_picker_visual; use crate::OnboardingIntention; -use pathfinder_color::ColorU; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::features::FeatureFlag; use galaxy_core::send_telemetry_from_ctx; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors, theme::WarpTheme}; @@ -22,6 +20,8 @@ use galaxyui::{ ui_components::components::{UiComponent, UiComponentStyles}, AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext, }; +use pathfinder_color::ColorU; +use ui_components::{button, Component as _, Options as _}; #[derive(Debug, Clone)] pub enum ThemePickerSlideEvent { diff --git a/crates/onboarding/src/slides/third_party_slide.rs b/crates/onboarding/src/slides/third_party_slide.rs index 9dbe3a11..7208f82d 100644 --- a/crates/onboarding/src/slides/third_party_slide.rs +++ b/crates/onboarding/src/slides/third_party_slide.rs @@ -4,7 +4,6 @@ use crate::model::{OnboardingStateEvent, OnboardingStateModel}; use crate::slides::{bottom_nav, layout, slide_content}; use crate::OnboardingIntention; -use ui_components::{button, Component as _, Options as _}; use galaxy_core::ui::appearance::Appearance; use galaxy_core::ui::theme::color::internal_colors; use galaxyui::prelude::Align; @@ -20,6 +19,7 @@ use galaxyui::{ AppContext, Element, Entity, ModelHandle, SingletonEntity as _, TypedActionView, View, ViewContext, }; +use ui_components::{button, Component as _, Options as _}; /// Which setting card is currently expanded. #[derive(Clone, Copy, Debug, PartialEq, Eq)] diff --git a/crates/onboarding/src/slides/toggle_card.rs b/crates/onboarding/src/slides/toggle_card.rs index 956e64ca..0e7b877e 100644 --- a/crates/onboarding/src/slides/toggle_card.rs +++ b/crates/onboarding/src/slides/toggle_card.rs @@ -1,4 +1,3 @@ -use pathfinder_geometry::vector::Vector2F; use galaxy_core::ui::theme::Fill; use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors}; use galaxyui::prelude::Align; @@ -14,6 +13,7 @@ use galaxyui::{ text_layout::TextAlignment, AppContext, Element, }; +use pathfinder_geometry::vector::Vector2F; pub(super) type ClickCallback = Box; pub(super) type HoverCallback = diff --git a/crates/onboarding/src/slides/two_line_button.rs b/crates/onboarding/src/slides/two_line_button.rs index a81e99a2..03536f55 100644 --- a/crates/onboarding/src/slides/two_line_button.rs +++ b/crates/onboarding/src/slides/two_line_button.rs @@ -1,5 +1,4 @@ use super::agent_slide::AgentSlideAction; -use pathfinder_geometry::vector::vec2f; use galaxy_core::ui::{ appearance::Appearance, icons::Icon, @@ -15,6 +14,7 @@ use galaxyui::{ platform::Cursor, Element, }; +use pathfinder_geometry::vector::vec2f; pub(super) struct TwoLineButtonSpec { pub(super) is_selected: bool, diff --git a/crates/onboarding/src/telemetry.rs b/crates/onboarding/src/telemetry.rs index 7a836188..2bd917c8 100644 --- a/crates/onboarding/src/telemetry.rs +++ b/crates/onboarding/src/telemetry.rs @@ -1,7 +1,7 @@ +use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; use strum_macros::{EnumDiscriminants, EnumIter}; -use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}; /// Telemetry events for the onboarding flow. #[derive(Clone, Debug, Serialize, Deserialize, EnumDiscriminants)] diff --git a/crates/onboarding/src/visuals/agent_visual.rs b/crates/onboarding/src/visuals/agent_visual.rs index 89b87b56..bccd7fb8 100644 --- a/crates/onboarding/src/visuals/agent_visual.rs +++ b/crates/onboarding/src/visuals/agent_visual.rs @@ -1,6 +1,6 @@ -use pathfinder_color::ColorU; use galaxyui::elements::Align; use galaxyui::Element; +use pathfinder_color::ColorU; use super::onboarding_visual::{OnboardingVisual, Pill, RectPct}; diff --git a/crates/onboarding/src/visuals/intention_terminal_visual.rs b/crates/onboarding/src/visuals/intention_terminal_visual.rs index 583d55a1..510f5354 100644 --- a/crates/onboarding/src/visuals/intention_terminal_visual.rs +++ b/crates/onboarding/src/visuals/intention_terminal_visual.rs @@ -1,6 +1,6 @@ -use pathfinder_color::ColorU; use galaxyui::elements::Align; use galaxyui::Element; +use pathfinder_color::ColorU; use crate::visuals::onboarding_visual::Rect; diff --git a/crates/onboarding/src/visuals/intention_visual.rs b/crates/onboarding/src/visuals/intention_visual.rs index 78837267..d6f6760a 100644 --- a/crates/onboarding/src/visuals/intention_visual.rs +++ b/crates/onboarding/src/visuals/intention_visual.rs @@ -1,6 +1,6 @@ -use pathfinder_color::ColorU; use galaxyui::elements::Align; use galaxyui::Element; +use pathfinder_color::ColorU; use super::onboarding_visual::{OnboardingVisual, Pill, RectPct}; diff --git a/crates/onboarding/src/visuals/onboarding_visual.rs b/crates/onboarding/src/visuals/onboarding_visual.rs index 38b7c111..bdf62a7e 100644 --- a/crates/onboarding/src/visuals/onboarding_visual.rs +++ b/crates/onboarding/src/visuals/onboarding_visual.rs @@ -1,4 +1,3 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::Icon; use galaxyui::assets::asset_cache::{AssetCache, AssetSource, AssetState}; use galaxyui::geometry::rect::RectF; @@ -10,6 +9,7 @@ use galaxyui::{ AfterLayoutContext, AppContext, Element, EventContext, LayoutContext, PaintContext, SingletonEntity as _, SizeConstraint, }; +use pathfinder_color::ColorU; #[derive(Debug, Clone, Copy)] pub(crate) struct RectPct { diff --git a/crates/onboarding/src/visuals/project_visual.rs b/crates/onboarding/src/visuals/project_visual.rs index 320d245e..fd77800a 100644 --- a/crates/onboarding/src/visuals/project_visual.rs +++ b/crates/onboarding/src/visuals/project_visual.rs @@ -1,7 +1,7 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::Icon; use galaxyui::elements::Align; use galaxyui::Element; +use pathfinder_color::ColorU; use super::onboarding_visual::{IconPct, OnboardingVisual, Pill, RectPct}; diff --git a/crates/remote_server/src/auth.rs b/crates/remote_server/src/auth.rs index 0f3d2968..f32ff628 100644 --- a/crates/remote_server/src/auth.rs +++ b/crates/remote_server/src/auth.rs @@ -1,5 +1,5 @@ -use std::sync::Arc; use galaxyui::r#async::BoxFuture; +use std::sync::Arc; type GetAuthTokenFn = dyn Fn() -> BoxFuture<'static, Option> + Send + Sync; type RemoteServerIdentityKeyFn = dyn Fn() -> String + Send + Sync; diff --git a/crates/remote_server/src/manager.rs b/crates/remote_server/src/manager.rs index 006f1fd9..619ed2b1 100644 --- a/crates/remote_server/src/manager.rs +++ b/crates/remote_server/src/manager.rs @@ -15,10 +15,10 @@ use crate::setup::RemoteServerSetupState; use crate::transport::Connection; use crate::transport::RemoteTransport; use crate::HostId; -use repo_metadata::RepoMetadataUpdate; -use serde::Serialize; use galaxy_core::SessionId; use galaxyui::{Entity, ModelContext, ModelSpawner, SingletonEntity}; +use repo_metadata::RepoMetadataUpdate; +use serde::Serialize; /// Maximum number of reconnection attempts after a spontaneous disconnect. #[cfg(not(target_family = "wasm"))] diff --git a/crates/remote_server/src/repo_metadata_proto.rs b/crates/remote_server/src/repo_metadata_proto.rs index 9a1a33e2..b03015a0 100644 --- a/crates/remote_server/src/repo_metadata_proto.rs +++ b/crates/remote_server/src/repo_metadata_proto.rs @@ -3,12 +3,12 @@ //! The Rust types in `repo_metadata::file_tree_update` were designed to mirror the //! proto schema 1:1, so these conversions are straightforward field mappings. +use galaxy_util::standardized_path::StandardizedPath; use repo_metadata::file_tree_store::{FileTreeEntry, FileTreeEntryState}; use repo_metadata::file_tree_update::{ DirectoryNodeMetadata, FileNodeMetadata, FileTreeEntryUpdate, RepoMetadataUpdate, RepoNodeMetadata, }; -use galaxy_util::standardized_path::StandardizedPath; use crate::proto; diff --git a/crates/repo_metadata/src/entry.rs b/crates/repo_metadata/src/entry.rs index efa932f0..9f920a31 100644 --- a/crates/repo_metadata/src/entry.rs +++ b/crates/repo_metadata/src/entry.rs @@ -1,11 +1,11 @@ #![cfg_attr(not(feature = "local_fs"), allow(dead_code))] +use galaxy_util::standardized_path::StandardizedPath; use ignore::gitignore::Gitignore; use std::io; use std::path::{Component, Path, PathBuf}; use std::sync::atomic::{AtomicUsize, Ordering}; use thiserror::Error; -use galaxy_util::standardized_path::StandardizedPath; /// Maximum file size allowed for treesitter parsing (3MB). const MAX_FILE_SIZE: usize = 3 * 1000 * 1000; diff --git a/crates/repo_metadata/src/file_tree_store.rs b/crates/repo_metadata/src/file_tree_store.rs index dc45c859..32636b87 100644 --- a/crates/repo_metadata/src/file_tree_store.rs +++ b/crates/repo_metadata/src/file_tree_store.rs @@ -2,10 +2,10 @@ mod file_tree_state; use crate::file_tree_store::file_tree_state::FileTreeMapStore; use crate::{BuildTreeError, Entry, FileId, FileMetadata, Repository}; -use ignore::gitignore::Gitignore; -use std::sync::Arc; use galaxy_util::standardized_path::StandardizedPath; use galaxyui::ModelHandle; +use ignore::gitignore::Gitignore; +use std::sync::Arc; #[derive(Debug, Clone)] pub struct FileTreeEntry { diff --git a/crates/repo_metadata/src/file_tree_store/file_tree_state.rs b/crates/repo_metadata/src/file_tree_store/file_tree_state.rs index caaee1a9..7603d86a 100644 --- a/crates/repo_metadata/src/file_tree_store/file_tree_state.rs +++ b/crates/repo_metadata/src/file_tree_store/file_tree_state.rs @@ -1,11 +1,11 @@ use crate::file_tree_store::FileTreeEntry; use crate::file_tree_store::{FileTreeDirectoryEntryState, FileTreeEntryState}; use crate::{BuildTreeError, DirectoryEntry, Entry}; +use galaxy_util::standardized_path::StandardizedPath; use ignore::gitignore::Gitignore; use std::collections::{HashMap, HashSet}; use std::iter; use std::sync::Arc; -use galaxy_util::standardized_path::StandardizedPath; #[derive(Debug, Clone)] pub(super) struct FileTreeMapStore { diff --git a/crates/repo_metadata/src/file_tree_store_tests.rs b/crates/repo_metadata/src/file_tree_store_tests.rs index bb95fee0..eda4a440 100644 --- a/crates/repo_metadata/src/file_tree_store_tests.rs +++ b/crates/repo_metadata/src/file_tree_store_tests.rs @@ -1,7 +1,7 @@ use crate::entry::{DirectoryEntry, Entry, FileId, FileMetadata}; use crate::file_tree_store::{FileTreeEntry, FileTreeEntryState}; -use std::sync::Arc; use galaxy_util::standardized_path::StandardizedPath; +use std::sync::Arc; fn std_path(s: &str) -> StandardizedPath { StandardizedPath::try_new(s).expect("test path should be valid") diff --git a/crates/repo_metadata/src/file_tree_update_tests.rs b/crates/repo_metadata/src/file_tree_update_tests.rs index 4a9ad9d7..c48b03c4 100644 --- a/crates/repo_metadata/src/file_tree_update_tests.rs +++ b/crates/repo_metadata/src/file_tree_update_tests.rs @@ -2,8 +2,8 @@ use crate::entry::{DirectoryEntry, Entry, FileId, FileMetadata}; use crate::file_tree_store::{FileTreeEntry, FileTreeEntryState}; use crate::file_tree_update::*; use crate::local_model::LocalRepoMetadataModel; -use std::path::{Path, PathBuf}; use galaxy_util::standardized_path::StandardizedPath; +use std::path::{Path, PathBuf}; // ── Helpers ────────────────────────────────────────────────────────── diff --git a/crates/repo_metadata/src/lib.rs b/crates/repo_metadata/src/lib.rs index 33b7e159..4ddd39b3 100644 --- a/crates/repo_metadata/src/lib.rs +++ b/crates/repo_metadata/src/lib.rs @@ -7,8 +7,8 @@ use std::{ path::{Path, PathBuf}, }; -use thiserror::Error; use galaxy_util::standardized_path::StandardizedPath; +use thiserror::Error; #[cfg(not(target_family = "wasm"))] use galaxyui::SingletonEntity; diff --git a/crates/repo_metadata/src/local_model.rs b/crates/repo_metadata/src/local_model.rs index ad02021a..141f153e 100644 --- a/crates/repo_metadata/src/local_model.rs +++ b/crates/repo_metadata/src/local_model.rs @@ -49,8 +49,8 @@ use crate::file_tree_update::{ flatten_entry_metadata, DirectoryNodeMetadata, FileNodeMetadata, FileTreeEntryUpdate, RepoMetadataUpdate, RepoNodeMetadata, }; -use ignore::gitignore::Gitignore; use galaxyui::ModelContext; +use ignore::gitignore::Gitignore; /// Maximum depth to traverse when building file trees const MAX_TREE_DEPTH: usize = 200; diff --git a/crates/repo_metadata/src/local_model_test.rs b/crates/repo_metadata/src/local_model_test.rs index 0da9a91e..212e32a1 100644 --- a/crates/repo_metadata/src/local_model_test.rs +++ b/crates/repo_metadata/src/local_model_test.rs @@ -13,6 +13,9 @@ mod tests { use crate::watcher::DirectoryWatcher; use futures::channel::oneshot; use futures::executor::block_on; + use galaxy_util::standardized_path::StandardizedPath; + use galaxyui::r#async::FutureExt as _; + use galaxyui::App; use ignore::gitignore::Gitignore; use std::cell::RefCell; use std::collections::HashMap; @@ -20,9 +23,6 @@ mod tests { use std::rc::Rc; use std::time::Duration; use virtual_fs::{Stub, VirtualFS}; - use galaxy_util::standardized_path::StandardizedPath; - use galaxyui::r#async::FutureExt as _; - use galaxyui::App; impl LocalRepoMetadataModel { fn new_for_test() -> Self { diff --git a/crates/repo_metadata/src/repositories.rs b/crates/repo_metadata/src/repositories.rs index 5f705050..136275a4 100644 --- a/crates/repo_metadata/src/repositories.rs +++ b/crates/repo_metadata/src/repositories.rs @@ -1,12 +1,12 @@ use std::path::Path; use std::{collections::HashSet, future::Future, path::PathBuf}; -#[cfg(test)] -use virtual_fs::{Stub, VirtualFS}; use galaxy_util::standardized_path::StandardizedPath; #[cfg(test)] use galaxyui::r#async::FutureId; use galaxyui::{AppContext, Entity, ModelContext, ModelHandle}; +#[cfg(test)] +use virtual_fs::{Stub, VirtualFS}; use crate::DirectoryWatcher; use crate::Repository; diff --git a/crates/repo_metadata/src/repositories_tests.rs b/crates/repo_metadata/src/repositories_tests.rs index cb584e11..dd9a62bd 100644 --- a/crates/repo_metadata/src/repositories_tests.rs +++ b/crates/repo_metadata/src/repositories_tests.rs @@ -2,9 +2,9 @@ use std::fs; use crate::repositories::{stub_git_repository, RepoDetectionSource}; use crate::{repositories::DetectedRepositories, watcher::DirectoryWatcher}; -use virtual_fs::{Stub, VirtualFS}; use galaxy_util::standardized_path::StandardizedPath; use galaxyui::App; +use virtual_fs::{Stub, VirtualFS}; #[test] fn test_detect_possible_git_repo_non_existent_directory() { diff --git a/crates/repo_metadata/src/repository.rs b/crates/repo_metadata/src/repository.rs index f587ada3..ee203c5e 100644 --- a/crates/repo_metadata/src/repository.rs +++ b/crates/repo_metadata/src/repository.rs @@ -8,13 +8,13 @@ use std::time::Duration; use std::path::Path; use futures::future::ready; -#[cfg(feature = "local_fs")] -use ignore::gitignore::Gitignore; use galaxy_util::standardized_path::StandardizedPath; use galaxyui::r#async::{BoxFuture, SpawnedFutureHandle}; #[cfg(feature = "local_fs")] use galaxyui::SingletonEntity; use galaxyui::{Entity, ModelContext, ModelHandle}; +#[cfg(feature = "local_fs")] +use ignore::gitignore::Gitignore; #[cfg(feature = "local_fs")] use crate::watcher::DirectoryWatcher; diff --git a/crates/repo_metadata/src/telemetry.rs b/crates/repo_metadata/src/telemetry.rs index f8169f0b..1ab45fec 100644 --- a/crates/repo_metadata/src/telemetry.rs +++ b/crates/repo_metadata/src/telemetry.rs @@ -1,9 +1,9 @@ -use serde_json::{json, Value}; -use strum_macros::{EnumDiscriminants, EnumIter}; use galaxy_core::{ register_telemetry_event, telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc}, }; +use serde_json::{json, Value}; +use strum_macros::{EnumDiscriminants, EnumIter}; #[derive(Clone, EnumDiscriminants)] #[strum_discriminants(derive(EnumIter))] diff --git a/crates/repo_metadata/src/watcher_tests.rs b/crates/repo_metadata/src/watcher_tests.rs index fa40f4d3..cfe638f7 100644 --- a/crates/repo_metadata/src/watcher_tests.rs +++ b/crates/repo_metadata/src/watcher_tests.rs @@ -11,10 +11,10 @@ use crate::watcher::{DirectoryWatcher, TaskQueue}; use crate::{CanonicalizedPath, RepoMetadataError, Repository, RepositoryUpdate}; use futures::channel::mpsc; use futures::StreamExt as _; -use virtual_fs::{Stub, VirtualFS}; use galaxy_util::standardized_path::StandardizedPath; use galaxyui::r#async::Timer; use galaxyui::{App, ModelContext, ModelHandle}; +use virtual_fs::{Stub, VirtualFS}; #[test] fn test_add_repository_success() { diff --git a/crates/settings/src/lib.rs b/crates/settings/src/lib.rs index 84e03e82..e8e4afea 100644 --- a/crates/settings/src/lib.rs +++ b/crates/settings/src/lib.rs @@ -59,9 +59,9 @@ pub const fn toml_path_hierarchy(path: &str) -> Option<&str> { } use anyhow::{Context, Result}; -use serde::{Serialize, de::DeserializeOwned}; use galaxyui::{AppContext, Entity, ModelContext}; use galaxyui_extras::user_preferences::UserPreferences; +use serde::{Serialize, de::DeserializeOwned}; /// Whether the TOML-backed settings file is active. /// diff --git a/crates/settings/src/macros.rs b/crates/settings/src/macros.rs index ea5d0ed5..8feaf221 100644 --- a/crates/settings/src/macros.rs +++ b/crates/settings/src/macros.rs @@ -824,8 +824,8 @@ macro_rules! generate_settings_event_fn { ), ) { use anyhow::anyhow; - use serde_json; use galaxyui::SingletonEntity; + use serde_json; use $crate::Setting as _; use $crate::manager::{SettingsEvent, SettingsManager}; SettingsManager::handle(ctx).update(ctx, |manager, ctx| { diff --git a/crates/settings/src/mod_tests.rs b/crates/settings/src/mod_tests.rs index 504ae814..7e2b0b97 100644 --- a/crates/settings/src/mod_tests.rs +++ b/crates/settings/src/mod_tests.rs @@ -540,8 +540,8 @@ mod write_to_preferences_tests { /// Option fields — reproduces the exact QuakeModeSettings scenario. #[test] fn test_no_spurious_write_with_hashmap_and_missing_options() { - use std::collections::HashMap; use galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences; + use std::collections::HashMap; #[derive( Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize, schemars::JsonSchema, diff --git a/crates/simple_logger/src/manager.rs b/crates/simple_logger/src/manager.rs index c5a04c26..f1559ac8 100644 --- a/crates/simple_logger/src/manager.rs +++ b/crates/simple_logger/src/manager.rs @@ -1,11 +1,11 @@ use crate::{LogFileWriter, SimpleLogger}; +use galaxyui::r#async::executor::Background; +use galaxyui::{Entity, SingletonEntity}; use std::collections::{HashMap, HashSet}; use std::io::ErrorKind; use std::path::{Path, PathBuf}; use std::sync::{Arc, Weak}; use thiserror::Error; -use galaxyui::r#async::executor::Background; -use galaxyui::{Entity, SingletonEntity}; #[derive(Error, Debug)] pub enum LogManagerError { @@ -36,7 +36,8 @@ pub fn resolve_log_path(namespace: &str, relative_path: impl AsRef) -> Pat /// Returns the base log directory for a given namespace name. fn log_directory_path(namespace: &str) -> PathBuf { - let base_dir = galaxy_core::paths::secure_state_dir().unwrap_or_else(galaxy_core::paths::state_dir); + let base_dir = + galaxy_core::paths::secure_state_dir().unwrap_or_else(galaxy_core::paths::state_dir); if cfg!(windows) { base_dir .join(galaxy_core::paths::WARP_LOGS_DIR) diff --git a/crates/syntax_tree/src/lib.rs b/crates/syntax_tree/src/lib.rs index cf95132a..9359f9cc 100644 --- a/crates/syntax_tree/src/lib.rs +++ b/crates/syntax_tree/src/lib.rs @@ -12,13 +12,13 @@ use parking_lot::Mutex; use arborium::tree_sitter::{InputEdit, Parser, Tree}; use futures::stream::AbortHandle; +use galaxyui::{color::ColorU, AppContext, Entity, ModelContext, WeakModelHandle}; use queries::{ highlight_query::HighlightQuery, indent_query::{indentation_delta, IndentDelta}, }; use rangemap::{RangeMap, RangeSet}; use string_offset::{ByteOffset, CharOffset}; -use galaxyui::{color::ColorU, AppContext, Entity, ModelContext, WeakModelHandle}; use galaxy_editor::{ content::{ diff --git a/crates/syntax_tree/src/queries/highlight_query.rs b/crates/syntax_tree/src/queries/highlight_query.rs index 02741e57..b67432cf 100644 --- a/crates/syntax_tree/src/queries/highlight_query.rs +++ b/crates/syntax_tree/src/queries/highlight_query.rs @@ -1,14 +1,14 @@ use std::{iter, ops::Range}; use arborium::tree_sitter::{Node, Query, QueryCursor, TextProvider, Tree}; -use rangemap::RangeMap; -use streaming_iterator::StreamingIterator; -use string_offset::{ByteOffset, CharOffset}; use galaxy_editor::content::{ buffer::{Buffer, ToBufferByteOffset, ToBufferCharOffset}, text::Bytes, }; use galaxyui::color::ColorU; +use rangemap::RangeMap; +use streaming_iterator::StreamingIterator; +use string_offset::{ByteOffset, CharOffset}; /// Color mapping from parsed syntax token name to its corresponding highlighting color. #[derive(Clone, Copy)] diff --git a/crates/syntax_tree/src/queries/indent_query.rs b/crates/syntax_tree/src/queries/indent_query.rs index 01f111f4..11a9d68b 100644 --- a/crates/syntax_tree/src/queries/indent_query.rs +++ b/crates/syntax_tree/src/queries/indent_query.rs @@ -1,9 +1,9 @@ use std::{collections::HashMap, ops::Range}; use arborium::tree_sitter::{Node, Query, QueryCursor, Tree}; -use streaming_iterator::StreamingIterator; use galaxy_editor::content::buffer::Buffer; use galaxyui::text::point::Point; +use streaming_iterator::StreamingIterator; use super::highlight_query::TextBuffer; diff --git a/crates/syntax_tree/src/queries/indent_query_tests.rs b/crates/syntax_tree/src/queries/indent_query_tests.rs index b5052487..26103067 100644 --- a/crates/syntax_tree/src/queries/indent_query_tests.rs +++ b/crates/syntax_tree/src/queries/indent_query_tests.rs @@ -1,11 +1,11 @@ use std::sync::Arc; use arborium::tree_sitter::Tree; -use languages::{language_by_filename, Language}; use galaxy_editor::content::buffer::{Buffer, BufferSnapshot}; use galaxy_editor::content::selection_model::BufferSelectionModel; use galaxy_editor::content::text::IndentBehavior; use galaxyui::App; +use languages::{language_by_filename, Language}; use crate::SyntaxTreeState; diff --git a/crates/ui_components/examples/library.rs b/crates/ui_components/examples/library.rs index 4db7d73e..a2d684a6 100644 --- a/crates/ui_components/examples/library.rs +++ b/crates/ui_components/examples/library.rs @@ -1,13 +1,6 @@ use std::{borrow::Cow, sync::Arc, time::Duration}; use anyhow::{Result, anyhow}; -use pathfinder_geometry::vector::Vector2F; -use rust_embed::RustEmbed; -use ui_components::{ - Component as _, Options, button, dialog, - lightbox::{self, LightboxImage, LightboxImageSource, NavigationDirection}, - switch, tooltip, -}; use galaxy_core::ui::{Icon, appearance::Appearance, theme::color::internal_colors}; use galaxyui::{ AssetProvider, SingletonEntity, Tracked, @@ -19,6 +12,13 @@ use galaxyui::{ platform, prelude::*, }; +use pathfinder_geometry::vector::Vector2F; +use rust_embed::RustEmbed; +use ui_components::{ + Component as _, Options, button, dialog, + lightbox::{self, LightboxImage, LightboxImageSource, NavigationDirection}, + switch, tooltip, +}; #[derive(Clone, Copy, RustEmbed)] #[folder = "../../app/assets"] diff --git a/crates/ui_components/src/button/themes.rs b/crates/ui_components/src/button/themes.rs index ecbfa76a..a24cf203 100644 --- a/crates/ui_components/src/button/themes.rs +++ b/crates/ui_components/src/button/themes.rs @@ -1,7 +1,7 @@ -use pathfinder_color::ColorU; use galaxy_core::ui::{ appearance::Appearance, color::coloru_with_opacity, theme::Fill, theme::color::internal_colors, }; +use pathfinder_color::ColorU; /// Theming delegate for a button. pub trait Theme { diff --git a/crates/ui_components/src/lightbox.rs b/crates/ui_components/src/lightbox.rs index 9c558075..31dd9563 100644 --- a/crates/ui_components/src/lightbox.rs +++ b/crates/ui_components/src/lightbox.rs @@ -1,6 +1,5 @@ use std::sync::Arc; -use pathfinder_geometry::vector::{Vector2F, vec2f}; use galaxy_core::ui::{Icon, appearance::Appearance}; use galaxyui::{ assets::asset_cache::AssetSource, @@ -8,6 +7,7 @@ use galaxyui::{ keymap::Keystroke, prelude::{stack::*, *}, }; +use pathfinder_geometry::vector::{Vector2F, vec2f}; use crate::{Component, Options as _, button}; diff --git a/crates/vim/src/matching_brackets.rs b/crates/vim/src/matching_brackets.rs index 969ca942..a2030fb3 100644 --- a/crates/vim/src/matching_brackets.rs +++ b/crates/vim/src/matching_brackets.rs @@ -1,6 +1,6 @@ +use galaxyui::text::TextBuffer; use itertools::Itertools; use string_offset::CharOffset; -use galaxyui::text::TextBuffer; use crate::vim::{BracketChar, BracketEnd}; diff --git a/crates/vim/src/paragraph_iterator.rs b/crates/vim/src/paragraph_iterator.rs index b1b1771e..12c4b4d0 100644 --- a/crates/vim/src/paragraph_iterator.rs +++ b/crates/vim/src/paragraph_iterator.rs @@ -1,5 +1,5 @@ -use string_offset::CharOffset; use galaxyui::text::TextBuffer; +use string_offset::CharOffset; /// Returns the offset of the first newline above a paragraph start before the current position. pub fn find_previous_paragraph_start<'a, T, C>(buffer: &'a T, offset: C) -> Option diff --git a/crates/vim/src/text_objects/block.rs b/crates/vim/src/text_objects/block.rs index b694f5b7..e69e5182 100644 --- a/crates/vim/src/text_objects/block.rs +++ b/crates/vim/src/text_objects/block.rs @@ -2,9 +2,9 @@ use std::ops::Range; +use galaxyui::text::TextBuffer; use itertools::Itertools; use string_offset::CharOffset; -use galaxyui::text::TextBuffer; use crate::{ vim::{BracketChar, BracketEnd, BracketType}, diff --git a/crates/vim/src/text_objects/paragraph.rs b/crates/vim/src/text_objects/paragraph.rs index f0fe0cd6..ac212f8a 100644 --- a/crates/vim/src/text_objects/paragraph.rs +++ b/crates/vim/src/text_objects/paragraph.rs @@ -1,7 +1,7 @@ use std::ops::Range; -use string_offset::CharOffset; use galaxyui::text::TextBuffer; +use string_offset::CharOffset; use crate::{find_next_paragraph_end, find_previous_paragraph_start}; diff --git a/crates/vim/src/text_objects/quote.rs b/crates/vim/src/text_objects/quote.rs index 9ec65abf..56369780 100644 --- a/crates/vim/src/text_objects/quote.rs +++ b/crates/vim/src/text_objects/quote.rs @@ -1,8 +1,8 @@ use std::ops::Range; +use galaxyui::text::TextBuffer; use itertools::Itertools; use string_offset::CharOffset; -use galaxyui::text::TextBuffer; use crate::vim::QuoteType; diff --git a/crates/vim/src/text_objects/word.rs b/crates/vim/src/text_objects/word.rs index fbd891be..34fc7895 100644 --- a/crates/vim/src/text_objects/word.rs +++ b/crates/vim/src/text_objects/word.rs @@ -1,7 +1,7 @@ use std::ops::Range; -use string_offset::CharOffset; use galaxyui::text::TextBuffer; +use string_offset::CharOffset; use crate::{vim::WordType, word_iterator::CharacterKind}; diff --git a/crates/vim/src/word_iterator.rs b/crates/vim/src/word_iterator.rs index 82827ea7..d5b9eba7 100644 --- a/crates/vim/src/word_iterator.rs +++ b/crates/vim/src/word_iterator.rs @@ -1,9 +1,9 @@ use std::iter::Peekable; use anyhow::Result; +use galaxyui::text::{words::is_default_word_boundary, TextBuffer}; use itertools::{peek_nth, Either, PeekNth}; use string_offset::CharOffset; -use galaxyui::text::{words::is_default_word_boundary, TextBuffer}; use crate::vim::{Direction, WordBound, WordType}; diff --git a/crates/watcher/src/home_watcher.rs b/crates/watcher/src/home_watcher.rs index 22f54333..8dc49bbb 100644 --- a/crates/watcher/src/home_watcher.rs +++ b/crates/watcher/src/home_watcher.rs @@ -1,7 +1,7 @@ +use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use notify_debouncer_full::notify::{RecursiveMode, WatchFilter}; use std::path::PathBuf; use std::time::Duration; -use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity}; use crate::{BulkFilesystemWatcher, BulkFilesystemWatcherEvent}; diff --git a/crates/watcher/src/lib.rs b/crates/watcher/src/lib.rs index 611d5009..a7daaf20 100644 --- a/crates/watcher/src/lib.rs +++ b/crates/watcher/src/lib.rs @@ -12,6 +12,7 @@ pub use home_watcher::{HomeDirectoryWatcher, HomeDirectoryWatcherEvent}; use anyhow::Result; use futures::channel::oneshot; +use galaxyui::{Entity, ModelContext}; use notify_debouncer_full::{ new_debouncer_opt, notify::{ @@ -21,7 +22,6 @@ use notify_debouncer_full::{ }, DebounceEventHandler, DebounceEventResult, DebouncedEvent, Debouncer, NoCache, }; -use galaxyui::{Entity, ModelContext}; #[derive(Debug)] enum BackgroundFileWatcherCommand {