Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though

This commit is contained in:
Ryan Ward
2026-05-07 11:29:34 -05:00
parent f4e2475c60
commit a41cbd8cc7
2433 changed files with 14208 additions and 9409 deletions
@@ -5,8 +5,8 @@ use ai::agent::{
action_result::{AskUserQuestionAnswerItem, AskUserQuestionResult},
};
use itertools::Itertools;
use warp_core::ui::theme::{color::internal_colors, WarpTheme};
use warpui::{
use galaxy_core::ui::theme::{color::internal_colors, WarpTheme};
use galaxyui::{
elements::{
new_scrollable::SingleAxisConfig, Border, ChildView, Clipped, ClippedScrollStateHandle,
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Fill, Flex,
@@ -116,7 +116,7 @@ fn ask_user_question_auto_advance_enabled(is_multiselect: bool, is_last_question
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
// Scope these shortcuts to the active ask-user-question block so arrow/submit keys don't leak
// into surrounding views.
@@ -340,7 +340,7 @@ struct AskUserQuestionInteractiveViews {
/// Header state for the collapsed/expanded completion summary.
struct AskUserQuestionCompletionState {
label: String,
status_icon: warpui::elements::Icon,
status_icon: galaxyui::elements::Icon,
}
/// Local questionnaire state machine used by the view.
@@ -1305,7 +1305,7 @@ impl AskUserQuestionView {
questions: &[AskUserQuestionItem],
answers: Option<&[AskUserQuestionAnswerItem]>,
label: String,
status_icon: warpui::elements::Icon,
status_icon: galaxyui::elements::Icon,
appearance: &Appearance,
app: &AppContext,
) -> Box<dyn Element> {
@@ -1365,7 +1365,7 @@ impl AskUserQuestionView {
.with_child(self.render_options_list())
.finish();
let scrollable = warpui::elements::NewScrollable::vertical(
let scrollable = galaxyui::elements::NewScrollable::vertical(
SingleAxisConfig::Clipped {
handle: self.options_scroll_state.clone(),
child: body,
@@ -1474,7 +1474,7 @@ impl View for AskUserQuestionView {
}
}
fn keymap_context(&self, app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
// These context flags are what activate the fixed bindings registered in init().
if matches!(self.session.phase(), AskUserQuestionPhase::Editing)
@@ -1,12 +1,12 @@
use settings::Setting as _;
use warp_core::ui::Icon;
use warpui::elements::{
use galaxy_core::ui::Icon;
use galaxyui::elements::{
ChildView, ConstrainedBox, Container, CrossAxisAlignment, Flex, MainAxisAlignment,
MainAxisSize, MouseStateHandle, ParentElement, Shrinkable, SizeConstraintCondition,
SizeConstraintSwitch, Text,
};
use warpui::ui_components::components::UiComponent;
use warpui::{
use galaxyui::ui_components::components::UiComponent;
use galaxyui::{
AppContext, Element, Entity, EventContext, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
@@ -131,7 +131,7 @@ impl View for AwsBedrockCredentialsErrorView {
let make_alert_icon = || {
ConstrainedBox::new(
Icon::AlertTriangle
.to_warpui_icon(error_color(theme).into())
.to_galaxyui_icon(error_color(theme).into())
.finish(),
)
.with_width(icon_size(app))
@@ -12,7 +12,7 @@ use std::{
sync::Arc,
time::Duration,
};
use warp_core::{
use galaxy_core::{
features::FeatureFlag,
platform::SessionPlatform,
settings::ToggleableSetting,
@@ -26,13 +26,13 @@ use warp_core::{
},
HostId,
};
use warp_editor::{
use galaxy_editor::{
content::buffer::InitialBufferState, render::element::VerticalExpansionBehavior,
};
use warp_util::file::FileSaveError;
use warp_util::path::common_path;
use warp_util::standardized_path::StandardizedPath;
use warpui::{
use galaxy_util::file::FileSaveError;
use galaxy_util::path::common_path;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::{
elements::{
new_scrollable::{ScrollableAppearance, SingleAxisConfig},
Align, Border, ChildAnchor, ChildView, Clipped, ClippedScrollStateHandle, ConstrainedBox,
@@ -164,7 +164,7 @@ lazy_static! {
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -591,8 +591,8 @@ impl CodeDiffView {
ctx,
)
.with_horizontal_scrollbar_appearance(
warpui::elements::new_scrollable::ScrollableAppearance::new(
warpui::elements::ScrollbarWidth::Auto,
galaxyui::elements::new_scrollable::ScrollableAppearance::new(
galaxyui::elements::ScrollbarWidth::Auto,
true,
),
)
@@ -1264,7 +1264,7 @@ impl CodeDiffView {
fn render_scroll_icon_for_inline_banner(&self, appearance: &Appearance) -> Box<dyn Element> {
let background = appearance.theme().foreground();
let icon = warpui::elements::Icon::new(
let icon = galaxyui::elements::Icon::new(
Icon::ArrowDown.into(),
appearance.theme().main_text_color(background).into_solid(),
)
@@ -1470,7 +1470,7 @@ impl CodeDiffView {
}
CodeDiffState::WaitingForUser => {
if self.display_mode().is_inline_banner() {
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::Code2.into(),
appearance
.theme()
@@ -1970,7 +1970,7 @@ impl CodeDiffView {
},
theme.nonactive_ui_detail().into(),
theme.active_ui_detail().into(),
warpui::elements::Fill::None,
galaxyui::elements::Fill::None,
)
.with_horizontal_scrollbar(ScrollableAppearance::new(ScrollbarWidth::Custom(4.), true))
.with_propagate_mousewheel_if_not_handled(true)
@@ -2715,7 +2715,7 @@ impl View for CodeDiffView {
root_stack.finish()
}
fn keymap_context(&self, _app: &AppContext) -> warpui::keymap::Context {
fn keymap_context(&self, _app: &AppContext) -> galaxyui::keymap::Context {
let mut context = Self::default_keymap_context();
if self.display_mode().is_full_pane() {
@@ -3149,7 +3149,7 @@ impl BackingView for CodeDiffView {
title: "Requested Edit".to_string(),
title_secondary: None,
title_style: None,
title_clip_config: warpui::text_layout::ClipConfig::start(),
title_clip_config: galaxyui::text_layout::ClipConfig::start(),
title_max_width: None,
left_of_title: None,
right_of_title: None,
@@ -1,5 +1,5 @@
use warpui::SingletonEntity;
use warpui::{
use galaxyui::SingletonEntity;
use galaxyui::{
elements::{
Clipped, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Expanded, Flex,
Hoverable, Icon, MouseStateHandle, ParentElement, Radius, Text,
@@ -8,9 +8,9 @@ use warpui::{
AppContext, Element,
};
use warp_core::ui::appearance::Appearance;
use warp_core::ui::icons::Icon as CoreIcon;
use warp_core::ui::theme::color::internal_colors::neutral_2;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::icons::Icon as CoreIcon;
use galaxy_core::ui::theme::color::internal_colors::neutral_2;
use crate::ai::blocklist::block::view_impl::WithContentItemSpacing;
use crate::ai::blocklist::inline_action::inline_action_header::{
@@ -107,7 +107,7 @@ impl CreateOrEditDocumentAction {
.with_vertical_padding(INLINE_ACTION_VERTICAL_PADDING)
.with_corner_radius(CornerRadius::with_all(Radius::Pixels(8.)))
.with_background_color(neutral_2(theme))
.with_border(warpui::elements::Border::all(1.).with_border_fill(theme.surface_2()))
.with_border(galaxyui::elements::Border::all(1.).with_border_fill(theme.surface_2()))
.finish();
Hoverable::new(self.mouse_state, move |_mouse_state| content)
@@ -1,8 +1,8 @@
use pathfinder_color::ColorU;
use std::borrow::Cow;
use std::rc::Rc;
use warp_core::ui::{appearance::Appearance, theme::color::internal_colors};
use warpui::{
use galaxy_core::ui::{appearance::Appearance, theme::color::internal_colors};
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, DispatchEventResult,
EventHandler, Expanded, Flex, FormattedTextElement, Hoverable, MainAxisAlignment,
@@ -115,7 +115,7 @@ pub struct HeaderConfig {
pub font_family: FamilyId,
/// Whether to parse the title as markdown when rendering.
pub use_markdown: bool,
pub icon: Option<warpui::elements::Icon>,
pub icon: Option<galaxyui::elements::Icon>,
pub badge: Option<String>,
pub interaction_mode: Option<InteractionMode>,
pub is_text_selectable: bool,
@@ -150,7 +150,7 @@ impl HeaderConfig {
self
}
pub fn with_icon(mut self, icon: warpui::elements::Icon) -> Self {
pub fn with_icon(mut self, icon: galaxyui::elements::Icon) -> Self {
self.icon = Some(icon);
self
}
@@ -1,8 +1,8 @@
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::AnsiColorIdentifier;
use warpui::{AppContext, SingletonEntity};
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::AnsiColorIdentifier;
use galaxyui::{AppContext, SingletonEntity};
/// Returns the size for icons in the AI block, scaled to the user's current font size.
pub fn icon_size(app: &AppContext) -> f32 {
@@ -13,29 +13,29 @@ pub fn icon_size(app: &AppContext) -> f32 {
)
}
pub fn green_check_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn green_check_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::Check.into(),
AnsiColorIdentifier::Green.to_ansi_color(&appearance.theme().terminal_colors().normal),
)
}
pub fn red_x_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn red_x_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::X.into(),
AnsiColorIdentifier::Red.to_ansi_color(&appearance.theme().terminal_colors().normal),
)
}
pub fn cancelled_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn cancelled_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::Cancelled.into(),
blended_colors::neutral_6(appearance.theme()),
)
}
pub fn reverted_icon(appearance: &Appearance) -> warpui::elements::Icon {
warpui::elements::Icon::new(
pub fn reverted_icon(appearance: &Appearance) -> galaxyui::elements::Icon {
galaxyui::elements::Icon::new(
Icon::ReverseLeft.into(),
blended_colors::neutral_6(appearance.theme()),
)
@@ -16,13 +16,13 @@ use markdown_parser::FormattedTextLine;
use pathfinder_color::ColorU;
use std::borrow::Cow;
use std::rc::Rc;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::theme::color::internal_colors::neutral_2;
use warpui::elements::Align;
use warpui::elements::Clipped;
use warpui::elements::FormattedTextElement;
use warpui::fonts::FamilyId;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors::neutral_2;
use galaxyui::elements::Align;
use galaxyui::elements::Clipped;
use galaxyui::elements::FormattedTextElement;
use galaxyui::fonts::FamilyId;
use galaxyui::{
elements::{
Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Empty, Flex,
Hoverable, MainAxisAlignment, MouseStateHandle, ParentElement, Radius, Shrinkable,
@@ -7,12 +7,12 @@ use std::cmp::{Ordering, PartialEq};
use std::collections::HashMap;
use std::rc::Rc;
use std::sync::Arc;
use warp_core::ui::appearance::Appearance;
use warp_core::ui::Icon;
use warp_editor::render::element::VerticalExpansionBehavior;
use warpui::elements::{ConstrainedBox, ScrollbarWidth};
use warpui::ui_components::components::UiComponent as _;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::Icon;
use galaxy_editor::render::element::VerticalExpansionBehavior;
use galaxyui::elements::{ConstrainedBox, ScrollbarWidth};
use galaxyui::ui_components::components::UiComponent as _;
use galaxyui::{
elements::{
Align, Border, ChildView, Clipped, Container, CornerRadius, CrossAxisAlignment, Expanded,
Flex, MainAxisSize, MouseStateHandle, OffsetPositioning, ParentElement, Radius,
@@ -24,7 +24,7 @@ use warpui::{
};
use crate::ai::agent::{AIAgentActionResult, AIAgentActionType};
use warpui::{EntityId, EventContext};
use galaxyui::{EntityId, EventContext};
use crate::ai::agent::RequestCommandOutputResult;
use crate::ai::agent::{icons, AIAgentActionResultType};
@@ -120,7 +120,7 @@ lazy_static! {
}
pub fn init(app: &mut AppContext) {
use warpui::keymap::macros::*;
use galaxyui::keymap::macros::*;
app.register_fixed_bindings([
FixedBinding::new(
@@ -752,7 +752,7 @@ impl RequestedCommandView {
Container::new(
ConstrainedBox::new(
Icon::Info
.to_warpui_icon(
.to_galaxyui_icon(
blended_colors::text_sub(theme, theme.surface_1()).into(),
)
.finish(),
@@ -1545,9 +1545,9 @@ impl View for RequestedCommandView {
OffsetPositioning::offset_from_save_position_element(
Self::get_position_id_for_accept_split_button(&self.position_id_prefix),
vec2f(0., 8.),
warpui::elements::PositionedElementOffsetBounds::WindowByPosition,
warpui::elements::PositionedElementAnchor::BottomRight,
warpui::elements::ChildAnchor::TopRight,
galaxyui::elements::PositionedElementOffsetBounds::WindowByPosition,
galaxyui::elements::PositionedElementAnchor::BottomRight,
galaxyui::elements::ChildAnchor::TopRight,
),
);
}
@@ -1,8 +1,8 @@
//! Module to attribute AI-generated requested commands
//! to known documents (e.g. Warp Drive objects).
use warpui::AppContext;
use warpui::SingletonEntity;
use galaxyui::AppContext;
use galaxyui::SingletonEntity;
use crate::env_vars::EnvVarCollection;
use crate::env_vars::EnvVarValue;
@@ -3,19 +3,19 @@
use pathfinder_geometry::vector::Vector2F;
use std::rc::Rc;
use warp_core::ui::appearance::Appearance;
use warpui::elements::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{
Align, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable,
MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
Wrap,
};
use warpui::keymap::Keystroke;
use warpui::platform::Cursor;
use warpui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use warpui::ui_components::toggle_menu::{
use galaxyui::keymap::Keystroke;
use galaxyui::platform::Cursor;
use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles};
use galaxyui::ui_components::toggle_menu::{
ToggleMenuCallback, ToggleMenuItem, ToggleMenuStateHandle,
};
use warpui::{AppContext, Element, EventContext, SingletonEntity};
use galaxyui::{AppContext, Element, EventContext, SingletonEntity};
use super::inline_action_header::{
INLINE_ACTION_HEADER_VERTICAL_PADDING, INLINE_ACTION_HORIZONTAL_PADDING,
@@ -346,7 +346,7 @@ fn script_status(
};
let is_expanded = (is_executing && is_viewing_detail) || (!is_executing && !is_collapsed);
let icon = ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
if is_expanded {
Icon::ChevronDown.into()
} else {
@@ -1,9 +1,9 @@
use std::ops::Range;
use std::sync::{Arc, RwLock};
use warp_core::ui::appearance::Appearance;
use warpui::ui_components::components::UiComponentStyles;
use warpui::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::ui_components::components::UiComponentStyles;
use galaxyui::{
elements::{
Container, CornerRadius, CrossAxisAlignment, Element, Flex, FormattedTextElement,
MainAxisAlignment, ParentElement, Radius, SelectableArea, SelectionHandle, Shrinkable,
@@ -54,7 +54,7 @@ pub enum SearchCodebaseViewEvent {
#[cfg(feature = "local_fs")]
OpenDetectedFilePath {
absolute_path: std::path::PathBuf,
line_and_column_num: Option<warp_util::path::LineAndColumnArg>,
line_and_column_num: Option<galaxy_util::path::LineAndColumnArg>,
},
TextSelected,
}
@@ -277,7 +277,7 @@ impl SearchCodebaseView {
fn create_header_text_style(
&self,
appearance: &Appearance,
header_background: warp_core::ui::theme::Fill,
header_background: galaxy_core::ui::theme::Fill,
) -> UiComponentStyles {
UiComponentStyles {
font_family_id: Some(appearance.ui_font_family()),
@@ -295,7 +295,7 @@ impl SearchCodebaseView {
fn create_header_container(
&self,
header_row: Box<dyn Element>,
header_background: warp_core::ui::theme::Fill,
header_background: galaxy_core::ui::theme::Fill,
corner_radius: CornerRadius,
app: &AppContext,
) -> Box<dyn Element> {
@@ -333,7 +333,7 @@ impl SearchCodebaseView {
&self,
_appearance: &Appearance,
text: String,
icon: warpui::elements::Icon,
icon: galaxyui::elements::Icon,
app: &AppContext,
) -> Box<dyn Element> {
super::search_results_common::render_loading_header(text, icon, app)
@@ -1,10 +1,10 @@
use warp_core::ui::appearance::Appearance;
use warpui::elements::{
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{
ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Element, Flex, MainAxisAlignment,
MainAxisSize, MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
};
use warpui::platform::Cursor;
use warpui::{AppContext, EventContext, SingletonEntity};
use galaxyui::platform::Cursor;
use galaxyui::{AppContext, EventContext, SingletonEntity};
use super::inline_action_header::{
ICON_MARGIN, INLINE_ACTION_HEADER_VERTICAL_PADDING, INLINE_ACTION_HORIZONTAL_PADDING,
@@ -16,7 +16,7 @@ pub fn render_search_results_header(
title_text: String,
right_label_text: String,
is_expanded: bool,
mouse_state: warpui::elements::MouseStateHandle,
mouse_state: galaxyui::elements::MouseStateHandle,
on_toggle: impl Fn(&mut EventContext) + 'static,
app: &AppContext,
) -> Box<dyn Element> {
@@ -32,7 +32,7 @@ pub fn render_search_results_header(
// Left side: icon + title
let mut left_side = Flex::row().with_cross_axis_alignment(CrossAxisAlignment::Center);
let search_icon = ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::SearchSmall.into(),
appearance.theme().main_text_color(header_background),
)
@@ -69,7 +69,7 @@ pub fn render_search_results_header(
right_side.add_child(Container::new(right_label).with_margin_right(8.).finish());
let chevron_icon = ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
if is_expanded {
Icon::ChevronDown.into()
} else {
@@ -95,7 +95,7 @@ pub fn render_search_results_header(
})
.finish();
warpui::elements::Hoverable::new(mouse_state, |_| inner)
galaxyui::elements::Hoverable::new(mouse_state, |_| inner)
.on_click(move |ctx, _, _| {
on_toggle(ctx);
})
@@ -115,7 +115,7 @@ pub fn render_results_body_container(body: Box<dyn Element>, app: &AppContext) -
pub fn render_loading_header(
text: String,
icon: warpui::elements::Icon,
icon: galaxyui::elements::Icon,
app: &AppContext,
) -> Box<dyn Element> {
let appearance = Appearance::as_ref(app);
@@ -2,8 +2,8 @@ use std::sync::Arc;
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use rand::{distributions::Alphanumeric, thread_rng, Rng as _};
use warp_core::{settings::ToggleableSetting, ui::appearance::Appearance};
use warpui::{
use galaxy_core::{settings::ToggleableSetting, ui::appearance::Appearance};
use galaxyui::{
elements::{
Align, ConstrainedBox, Container, CrossAxisAlignment, Expanded, Flex, FormattedTextElement,
HighlightedHyperlink, MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement,
@@ -172,7 +172,7 @@ impl SuggestedUnitTestsView {
fn render_icon(&self, appearance: &Appearance) -> Box<dyn Element> {
Container::new(
ConstrainedBox::new(
warpui::elements::Icon::new(
galaxyui::elements::Icon::new(
Icon::Code2.into(),
appearance
.theme()
@@ -1,6 +1,6 @@
use warp_core::ui::appearance::Appearance;
use warpui::elements::{Container, CrossAxisAlignment, Element, Flex, ParentElement, Text};
use warpui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{Container, CrossAxisAlignment, Element, Flex, ParentElement, Text};
use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use super::search_results_common::{
render_collapsible_search_results, CollapsibleSearchResultsState,
@@ -1,6 +1,6 @@
use warp_core::ui::appearance::Appearance;
use warpui::elements::{Container, CrossAxisAlignment, Element, Flex, ParentElement, Text};
use warpui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::elements::{Container, CrossAxisAlignment, Element, Flex, ParentElement, Text};
use galaxyui::{AppContext, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use super::search_results_common::{
render_collapsible_search_results, CollapsibleSearchResultsState,