Wrapping up bedrock implementation

This commit is contained in:
Ryan Ward
2026-05-13 10:04:59 -05:00
parent ed53aa99eb
commit cee61e2af0
1144 changed files with 2954 additions and 2660 deletions
+1 -1
View File
@@ -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)]
@@ -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.;
+1 -1
View File
@@ -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,
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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<AvailableShell>) -> AvailableShells {
AvailableShells {
+3 -3
View File
@@ -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::{
+3 -3
View File
@@ -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,
+1 -1
View File
@@ -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;
+4 -4
View File
@@ -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;
+1 -1
View File
@@ -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,
+4 -4
View File
@@ -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,
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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::{
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use itertools::Itertools;
use galaxyui::App;
use itertools::Itertools;
use crate::terminal::{
block_filter::BlockFilterQuery,
+6 -6
View File
@@ -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};
+2 -2
View File
@@ -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))
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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;
+3 -2
View File
@@ -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| {
+1 -1
View File
@@ -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;
+2 -2
View File
@@ -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};
@@ -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;
+2 -2
View File
@@ -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.
///
@@ -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;
+1 -1
View File
@@ -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;
@@ -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;
+2 -2
View File
@@ -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,
@@ -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 {
@@ -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 {
@@ -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};
+1 -1
View File
@@ -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;
@@ -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::{
+2 -2
View File
@@ -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,
+2 -2
View File
@@ -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;
+1 -1
View File
@@ -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
+3 -3
View File
@@ -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,
@@ -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;
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
@@ -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;
@@ -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;
@@ -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;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
@@ -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;
@@ -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() {
@@ -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);
}
});
@@ -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;
@@ -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;
+1 -1
View File
@@ -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;
@@ -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;
@@ -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};
+1 -1
View File
@@ -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()
@@ -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::{
+1 -1
View File
@@ -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::{
@@ -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;
@@ -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;
+4 -4
View File
@@ -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;
+1 -1
View File
@@ -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,
+1 -1
View File
@@ -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 {
+1 -1
View File
@@ -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::{
+1 -1
View File
@@ -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);
@@ -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},
+2 -2
View File
@@ -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::{
@@ -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);
@@ -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;
+2 -2
View File
@@ -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)> {
@@ -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};
@@ -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;
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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::{
+3 -3
View File
@@ -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;
+4 -4
View File
@@ -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,
+1 -1
View File
@@ -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.
+3 -3
View File
@@ -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;
+1 -1
View File
@@ -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;
+5 -5
View File
@@ -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;
@@ -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;
+5 -5
View File
@@ -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;
+2 -2
View File
@@ -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,
+1 -1
View File
@@ -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;
+3 -3
View File
@@ -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;
+4 -4
View File
@@ -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};
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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};
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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;
+1 -1
View File
@@ -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 {
+6 -6
View File
@@ -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;
+1 -1
View File
@@ -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};
+2 -2
View File
@@ -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};
+4 -4
View File
@@ -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};
+8 -6
View File
@@ -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<galaxy_core::HostId> },
WarpifiedRemote {
host_id: Option<galaxy_core::HostId>,
},
}
impl From<BootstrapSessionType> for SessionType {

Some files were not shown because too many files have changed in this diff Show More