Fix cursor focus and selection in input box, add AWS env var warning box, and remove AWS Bedrock login banner
This commit is contained in:
@@ -5,10 +5,11 @@ use galaxyui::elements::{
|
||||
Align, AnchorPair, Border, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
|
||||
DispatchEventResult, DropTarget, Element, Empty, EventHandler, Expanded, Flex, Hoverable,
|
||||
MainAxisSize, OffsetPositioning, OffsetType, ParentElement, PositionedElementOffsetBounds,
|
||||
PositioningAxis, Radius, SavePosition, Stack, XAxisAnchor, YAxisAnchor,
|
||||
PositioningAxis, Radius, SavePosition, Stack, Text, XAxisAnchor, YAxisAnchor,
|
||||
};
|
||||
use galaxyui::presenter::ChildView;
|
||||
use galaxyui::{AppContext, SingletonEntity as _};
|
||||
use pathfinder_color::ColorU;
|
||||
|
||||
use super::common::{
|
||||
add_command_xray_overlay, add_input_suggestions_overlays, add_voltron_overlay,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use settings::Setting;
|
||||
use galaxyui::elements::{
|
||||
Border, ChildAnchor, ChildView, Clipped, Container, DropTarget, Element, Empty, Flex,
|
||||
Hoverable, OffsetPositioning, ParentAnchor, ParentElement, ParentOffsetBounds, SavePosition,
|
||||
Stack,
|
||||
};
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use settings::Setting;
|
||||
|
||||
use super::{should_render_prompt_using_editor_decorator_elements, Input, SubshellRenderState};
|
||||
use crate::ai::blocklist::InputType;
|
||||
|
||||
@@ -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 galaxyui::elements::{
|
||||
@@ -10,6 +9,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::{Query, QueryFilter};
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use vim::vim::{VimMode, VimState};
|
||||
use galaxy_completer::completer::Description;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxyui::elements::{
|
||||
@@ -14,6 +12,8 @@ use galaxyui::fonts::Weight;
|
||||
use galaxyui::presenter::ChildView;
|
||||
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
|
||||
use galaxyui::{AppContext, EntityId, SingletonEntity, ViewHandle};
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use vim::vim::{VimMode, VimState};
|
||||
|
||||
use crate::ai::llms::{is_using_api_key_for_provider, LLMPreferences};
|
||||
use crate::ai::{AIRequestUsageModel, BuyCreditsBannerDisplayState};
|
||||
@@ -517,7 +517,6 @@ fn add_buy_credits_banner_overlay(
|
||||
buy_credits_banner: &ViewHandle<BuyCreditsBanner>,
|
||||
is_input_at_top: bool,
|
||||
) {
|
||||
|
||||
let (parent_anchor, child_anchor, y_offset) = if is_input_at_top {
|
||||
(ParentAnchor::BottomLeft, ChildAnchor::TopLeft, 8.)
|
||||
} else {
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
//! Data source for the inline conversation menu.
|
||||
|
||||
use galaxyui::{AppContext, Entity, ModelHandle};
|
||||
use galaxyui::{AppContext, Entity, ModelHandle, SingletonEntity};
|
||||
use itertools::Itertools;
|
||||
use ordered_float::OrderedFloat;
|
||||
use galaxyui::{AppContext, Entity, ModelHandle, SingletonEntity};
|
||||
|
||||
use crate::ai::agent_conversations_model::{
|
||||
AgentConversationEntry, AgentConversationEntryId, AgentManagementFilters,
|
||||
|
||||
@@ -4,11 +4,11 @@ mod data_source;
|
||||
mod search_item;
|
||||
mod view;
|
||||
|
||||
use pathfinder_color::ColorU;
|
||||
pub use view::{InlineConversationMenuEvent, InlineConversationMenuView};
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxyui::keymap::Keystroke;
|
||||
use galaxyui::SingletonEntity;
|
||||
use pathfinder_color::ColorU;
|
||||
pub use view::{InlineConversationMenuEvent, InlineConversationMenuView};
|
||||
|
||||
use crate::ai::active_agent_views_model::{ActiveAgentViewsModel, ConversationOrTaskId};
|
||||
use crate::ai::agent_conversations_model::AgentConversationEntryId;
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
use std::collections::HashMap;
|
||||
use std::ops::Range;
|
||||
|
||||
pub use galaxy_completer::completer::SuggestionTypeName;
|
||||
pub use galaxy_completer::util::parse_current_commands_and_tokens;
|
||||
pub use galaxy_completer::{ParsedTokenData, ParsedTokensSnapshot};
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxyui::{AppContext, SingletonEntity, ViewContext};
|
||||
use settings::Setting as _;
|
||||
use string_offset::{ByteOffset, CharOffset};
|
||||
pub use galaxy_completer::completer::SuggestionTypeName;
|
||||
pub use galaxy_completer::util::parse_current_commands_and_tokens;
|
||||
pub use galaxy_completer::{ParsedTokenData, ParsedTokensSnapshot};
|
||||
|
||||
use super::Input;
|
||||
use crate::appearance::Appearance;
|
||||
|
||||
@@ -234,7 +234,7 @@ fn interleave_conversations(base: Vec<MenuEntry>, conversations: Vec<MenuEntry>)
|
||||
|
||||
let base_current = base.into_iter().skip(current_start_idx).collect::<Vec<_>>();
|
||||
let mut conversations = conversations;
|
||||
conversations.sort_by(|a, b| a.sort_timestamp.cmp(&b.sort_timestamp));
|
||||
conversations.sort_by_key(|a| a.sort_timestamp);
|
||||
|
||||
let mut i = 0;
|
||||
for conv in conversations {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//! Generic model for tracking the selected item in an inline menu.
|
||||
use galaxyui::elements::MouseStateHandle;
|
||||
use galaxyui::{Entity, ModelContext};
|
||||
use std::collections::HashSet;
|
||||
|
||||
use galaxyui::elements::MouseStateHandle;
|
||||
use galaxyui::{Entity, ModelContext};
|
||||
|
||||
use crate::search::data_source::QueryFilter;
|
||||
use crate::terminal::input::inline_menu::view::InlineMenuAction;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use std::collections::HashMap;
|
||||
|
||||
use settings::Setting as _;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxyui::units::{IntoPixels, Pixels};
|
||||
use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity, WindowId};
|
||||
use settings::Setting as _;
|
||||
|
||||
use super::styles::{HEADER_BORDER, HEADER_ROW_HEIGHT};
|
||||
use crate::ai::blocklist::agent_view::AgentViewController;
|
||||
|
||||
@@ -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, ModelHandle, SingletonEntity, TypedActionView, View,
|
||||
ViewContext, ViewHandle, WeakViewHandle,
|
||||
};
|
||||
use itertools::Itertools;
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
|
||||
use crate::ai::blocklist::agent_view::{
|
||||
agent_view_bg_color, AgentViewController, AgentViewControllerEvent,
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
|
||||
use pathfinder_color::ColorU;
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::theme::Fill;
|
||||
use galaxy_core::ui::Icon;
|
||||
@@ -11,6 +9,8 @@ use galaxyui::platform::Cursor;
|
||||
use galaxyui::prelude::{Align, ConstrainedBox, CrossAxisAlignment, Flex, MainAxisSize, Text};
|
||||
use galaxyui::ui_components::keyboard_shortcut::keystroke_to_keys;
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
|
||||
use pathfinder_color::ColorU;
|
||||
|
||||
use crate::ai::blocklist::agent_view::agent_view_bg_color;
|
||||
use crate::ai::blocklist::agent_view::shortcuts::render_keystroke_with_color_overrides;
|
||||
@@ -516,7 +516,11 @@ pub fn disableable_message_item_color_overrides(
|
||||
}
|
||||
|
||||
pub mod styles {
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use pathfinder_color::ColorU;
|
||||
|
||||
use crate::ui_components::blended_colors;
|
||||
|
||||
pub fn font_size(app: &AppContext) -> f32 {
|
||||
let appearance = Appearance::as_ref(app);
|
||||
|
||||
@@ -4,8 +4,8 @@ use galaxy_core::ui::icons::Icon;
|
||||
use galaxy_core::ui::theme::color::internal_colors;
|
||||
use galaxy_core::ui::theme::Fill;
|
||||
use galaxyui::elements::{
|
||||
ConstrainedBox, Container, CornerRadius, FormattedTextElement, Highlight, HighlightedHyperlink,
|
||||
MouseStateHandle, Radius, Text,
|
||||
ConstrainedBox, Container, CornerRadius, Flex, FormattedTextElement, Highlight,
|
||||
HighlightedHyperlink, MouseStateHandle, ParentElement, Radius, Text,
|
||||
};
|
||||
use galaxyui::fonts::{Properties, Style, Weight};
|
||||
use galaxyui::keymap::Keystroke;
|
||||
@@ -14,6 +14,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, ModelHandle, SingletonEntity as _};
|
||||
use itertools::Itertools;
|
||||
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
|
||||
use ordered_float::OrderedFloat;
|
||||
|
||||
use super::model_spec_scores::{
|
||||
render_model_spec_header, render_model_spec_scores, CostRow, CostRowTooltip,
|
||||
@@ -504,7 +507,6 @@ impl SearchItem for ModelSearchItem {
|
||||
}
|
||||
|
||||
fn render_details(&self, app: &AppContext) -> Option<Box<dyn Element>> {
|
||||
|
||||
let appearance = crate::appearance::Appearance::as_ref(app);
|
||||
let theme = appearance.theme();
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
use pathfinder_color::ColorU;
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use galaxy_core::ui::theme::color::internal_colors;
|
||||
use galaxyui::elements::{
|
||||
Border, ChildAnchor, ConstrainedBox, Container, CornerRadius, Expanded, Flex, Hoverable,
|
||||
@@ -10,6 +8,8 @@ use galaxyui::prelude::{Align, CrossAxisAlignment};
|
||||
use galaxyui::text_layout::ClipConfig;
|
||||
use galaxyui::ui_components::components::UiComponent;
|
||||
use galaxyui::{AppContext, Element, SingletonEntity as _};
|
||||
use pathfinder_color::ColorU;
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
|
||||
use crate::ai::llms::LLMSpec;
|
||||
use crate::appearance::Appearance;
|
||||
|
||||
@@ -2,7 +2,6 @@ use std::collections::HashSet;
|
||||
use std::sync::LazyLock;
|
||||
|
||||
use ai::api_keys::{ApiKeyManager, ApiKeyManagerEvent};
|
||||
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 as _, View, ViewContext,
|
||||
ViewHandle,
|
||||
};
|
||||
use pathfinder_color::ColorU;
|
||||
|
||||
use crate::ai::blocklist::agent_view::AgentViewController;
|
||||
use crate::ai::blocklist::block::cli_controller::{CLISubagentController, CLISubagentEvent};
|
||||
|
||||
@@ -4,8 +4,8 @@ mod search_item;
|
||||
mod view;
|
||||
|
||||
use ai::document::AIDocumentId;
|
||||
pub use view::{InlinePlanMenuEvent, InlinePlanMenuView};
|
||||
use galaxyui::keymap::Keystroke;
|
||||
pub use view::{InlinePlanMenuEvent, InlinePlanMenuView};
|
||||
|
||||
use crate::ai::document::ai_document_model::AIDocumentVersion;
|
||||
use crate::terminal::input::inline_menu::{
|
||||
|
||||
@@ -68,7 +68,7 @@ impl SyncDataSource for ProfileSelectorDataSource {
|
||||
Some((profile_id, profile_name))
|
||||
})
|
||||
.collect();
|
||||
profiles.sort_by(|(_, a), (_, b)| a.to_lowercase().cmp(&b.to_lowercase()));
|
||||
profiles.sort_by_key(|(_, a)| a.to_lowercase());
|
||||
|
||||
for (profile_id, profile_name) in profiles {
|
||||
if query_text.is_empty() {
|
||||
|
||||
@@ -6,8 +6,8 @@ mod view;
|
||||
|
||||
use std::path::PathBuf;
|
||||
|
||||
pub use view::{InlineReposMenuEvent, InlineReposMenuView};
|
||||
use galaxyui::keymap::Keystroke;
|
||||
pub use view::{InlineReposMenuEvent, InlineReposMenuView};
|
||||
|
||||
use crate::terminal::input::inline_menu::{
|
||||
default_navigation_message_items, InlineMenuAction, InlineMenuMessageArgs, InlineMenuRowAction,
|
||||
|
||||
@@ -6,9 +6,8 @@ mod search_item;
|
||||
mod view;
|
||||
|
||||
pub use data_source::SelectRewindPoint;
|
||||
pub use view::{RewindMenuEvent, RewindMenuView};
|
||||
|
||||
use galaxyui::keymap::Keystroke;
|
||||
pub use view::{RewindMenuEvent, RewindMenuView};
|
||||
|
||||
use crate::terminal::input::inline_menu::{
|
||||
default_navigation_message_items, InlineMenuAction, InlineMenuMessageArgs, InlineMenuType,
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
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 galaxy_util::local_or_remote_path::LocalOrRemotePath;
|
||||
@@ -14,6 +13,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,9 +1,9 @@
|
||||
use std::collections::{HashMap, HashSet};
|
||||
use std::sync::LazyLock;
|
||||
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::theme::Fill;
|
||||
use pathfinder_geometry::vector::vec2f;
|
||||
use warpui::elements::{
|
||||
Border, ChildAnchor, Clipped, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox,
|
||||
Container, CornerRadius, CrossAxisAlignment, DispatchEventResult, DropShadow, EventHandler,
|
||||
|
||||
@@ -6,15 +6,15 @@ use std::path::PathBuf;
|
||||
|
||||
use ai::skills::SkillProvider;
|
||||
use fuzzy_match::FuzzyMatchResult;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
use galaxy_cli::agent::Harness;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::Icon as GalaxyIcon;
|
||||
use galaxyui::fonts::FamilyId;
|
||||
use galaxyui::{AppContext, Entity, EntityId, ModelContext, ModelHandle, SingletonEntity};
|
||||
use ordered_float::OrderedFloat;
|
||||
pub(crate) use saved_prompts::*;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
use galaxy_cli::agent::Harness;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxy_core::ui::Icon as WarpIcon;
|
||||
pub use zero_state::*;
|
||||
|
||||
use super::AcceptSlashCommandOrSavedPrompt;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
use galaxyui::{Entity, ModelHandle};
|
||||
use itertools::Itertools;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
use galaxyui::{Entity, ModelHandle, SingletonEntity};
|
||||
use itertools::Itertools;
|
||||
|
||||
use crate::ai::skills::SkillManager;
|
||||
use crate::cloud_object::model::persistence::CloudModel;
|
||||
|
||||
@@ -9,7 +9,6 @@ use std::path::PathBuf;
|
||||
use ai::skills::SkillReference;
|
||||
pub use cloud_mode_v2_view::{CloudModeV2SlashCommandView, Section as CloudModeV2Section};
|
||||
pub use data_source::*;
|
||||
pub use view::{CloseReason, InlineSlashCommandView, SlashCommandsEvent};
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
use galaxy_cli::agent::Harness;
|
||||
use galaxy_core::features::FeatureFlag;
|
||||
@@ -20,6 +19,7 @@ use galaxy_core::ui::theme::AnsiColorIdentifier;
|
||||
use galaxy_util::path::{CleanPathResult, LineAndColumnArg};
|
||||
use galaxyui::clipboard::ClipboardContent;
|
||||
use galaxyui::{AppContext, SingletonEntity, ViewContext};
|
||||
pub use view::{CloseReason, InlineSlashCommandView, SlashCommandsEvent};
|
||||
|
||||
use crate::ai::agent::conversation::AIConversationId;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
@@ -476,7 +476,7 @@ impl Input {
|
||||
_create_docker_sandbox if command.name == commands::CREATE_DOCKER_SANDBOX.name => {
|
||||
ctx.emit(Event::CreateDockerSandbox);
|
||||
}
|
||||
conversations if command.name == commands::CONVERSATIONS.name => {
|
||||
_ if command.name == commands::CONVERSATIONS.name => {
|
||||
if self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
self.suggestions_mode_model.update(ctx, |model, ctx| {
|
||||
model.set_mode(InputSuggestionsMode::Closed, ctx);
|
||||
@@ -523,7 +523,7 @@ impl Input {
|
||||
};
|
||||
rename_conversation(conversation_id, argument.cloned().unwrap_or_default(), ctx);
|
||||
}
|
||||
set_tab_color if command.name == commands::SET_TAB_COLOR.name => {
|
||||
_ if command.name == commands::SET_TAB_COLOR.name => {
|
||||
let supported_options = || {
|
||||
color_dot::TAB_COLOR_OPTIONS
|
||||
.iter()
|
||||
@@ -571,7 +571,7 @@ impl Input {
|
||||
|
||||
ctx.dispatch_typed_action(&WorkspaceAction::SetActiveTabColor(color));
|
||||
}
|
||||
create_env if command.name == commands::CREATE_ENVIRONMENT.name => {
|
||||
_ if command.name == commands::CREATE_ENVIRONMENT.name => {
|
||||
// If the user included args after the slash command, treat them as repo paths/URLs.
|
||||
let repos = argument
|
||||
.map(|arg| {
|
||||
@@ -776,7 +776,7 @@ impl Input {
|
||||
// Open the skill selector menu for invocation - skill command will be inserted into buffer
|
||||
self.open_invoke_skill_selector(ctx);
|
||||
}
|
||||
host if command.name == commands::HOST.name => {
|
||||
_ if command.name == commands::HOST.name => {
|
||||
if !self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
return false;
|
||||
}
|
||||
@@ -794,7 +794,7 @@ impl Input {
|
||||
self.open_v2_host_selector(ctx);
|
||||
return true;
|
||||
}
|
||||
harness if command.name == commands::HARNESS.name => {
|
||||
_ if command.name == commands::HARNESS.name => {
|
||||
if !self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
// Defensive: the command is registered only when the V2 flag is on and its
|
||||
// availability requires CLOUD_MODE_V2_COMPOSER, so this branch should be unreachable.
|
||||
@@ -807,7 +807,7 @@ impl Input {
|
||||
self.open_v2_harness_selector(ctx);
|
||||
return true;
|
||||
}
|
||||
environment if command.name == commands::ENVIRONMENT.name => {
|
||||
_ if command.name == commands::ENVIRONMENT.name => {
|
||||
if !self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
return false;
|
||||
}
|
||||
@@ -818,7 +818,7 @@ impl Input {
|
||||
self.open_v2_environment_selector(ctx);
|
||||
return true;
|
||||
}
|
||||
models if command.name == commands::MODEL.name => {
|
||||
_ if command.name == commands::MODEL.name => {
|
||||
if self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
self.suggestions_mode_model.update(ctx, |model, ctx| {
|
||||
model.set_mode(InputSuggestionsMode::Closed, ctx);
|
||||
@@ -853,7 +853,7 @@ impl Input {
|
||||
|
||||
self.open_profile_selector(ctx);
|
||||
}
|
||||
prompts if command.name == commands::PROMPTS.name => {
|
||||
_ if command.name == commands::PROMPTS.name => {
|
||||
if self.is_cloud_mode_input_v2_composing(ctx) {
|
||||
self.apply_v2_slash_section_filter(CloudModeV2Section::Prompts, ctx);
|
||||
return true;
|
||||
@@ -916,7 +916,7 @@ impl Input {
|
||||
}
|
||||
}
|
||||
#[cfg(all(feature = "local_fs", not(target_family = "wasm")))]
|
||||
move_to_cloud if command.name == commands::MOVE_TO_CLOUD.name => {
|
||||
_ if command.name == commands::MOVE_TO_CLOUD.name => {
|
||||
if !AISettings::as_ref(ctx).is_cloud_handoff_enabled(ctx) {
|
||||
return false;
|
||||
}
|
||||
@@ -961,7 +961,7 @@ impl Input {
|
||||
);
|
||||
}
|
||||
}
|
||||
fork if command.name == commands::FORK.name => {
|
||||
_ if command.name == commands::FORK.name => {
|
||||
let Some(conversation_id) = self
|
||||
.ai_context_model
|
||||
.as_ref(ctx)
|
||||
@@ -996,7 +996,7 @@ impl Input {
|
||||
return true;
|
||||
}
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
continue_locally if command.name == commands::CONTINUE_LOCALLY.name => {
|
||||
_ if command.name == commands::CONTINUE_LOCALLY.name => {
|
||||
let Some(conversation_id) = self
|
||||
.ai_context_model
|
||||
.as_ref(ctx)
|
||||
@@ -1043,7 +1043,7 @@ impl Input {
|
||||
destination,
|
||||
});
|
||||
}
|
||||
fork_and_compact if command.name == commands::FORK_AND_COMPACT.name => {
|
||||
_ if command.name == commands::FORK_AND_COMPACT.name => {
|
||||
let Some(conversation_id) = self
|
||||
.ai_context_model
|
||||
.as_ref(ctx)
|
||||
@@ -1069,7 +1069,7 @@ impl Input {
|
||||
destination,
|
||||
});
|
||||
}
|
||||
compact_and if command.name == commands::COMPACT_AND.name => {
|
||||
_ if command.name == commands::COMPACT_AND.name => {
|
||||
let conversation_id = if is_queued_prompt {
|
||||
let Some(conversation_id) = queued_conversation_id else {
|
||||
log::error!("Queued /compact-and missing conversation id");
|
||||
@@ -1162,9 +1162,7 @@ impl Input {
|
||||
}
|
||||
self.open_repos_menu(ctx);
|
||||
}
|
||||
command_that_just_sends_ai_request_with_prefix
|
||||
if slash_command_is_submitted_as_prompt(command) =>
|
||||
{
|
||||
_ if slash_command_is_submitted_as_prompt(command) => {
|
||||
// These slash commands just send AI requests with the slash command text as a
|
||||
// prefix, and special handling is done downstream as an implementation detail
|
||||
// of handling user queries with specific slash command prefixes.
|
||||
|
||||
@@ -2,10 +2,8 @@ use std::collections::HashSet;
|
||||
|
||||
use ai::skills::SkillReference;
|
||||
use galaxyui::elements::ChildView;
|
||||
use galaxyui::{AppContext, Element, ViewContext};
|
||||
use galaxyui::{Entity, ModelHandle, View, ViewHandle};
|
||||
use lazy_static::lazy_static;
|
||||
use galaxyui::{AppContext, Element, Entity, ModelHandle, View, ViewContext, ViewHandle};
|
||||
use lazy_static::lazy_static;
|
||||
|
||||
use crate::ai::blocklist::agent_view::AgentViewController;
|
||||
use crate::search::data_source::{Query, QueryFilter};
|
||||
|
||||
@@ -26,7 +26,7 @@ use crate::input_suggestions::{
|
||||
DETAILS_PANEL_MARGIN, DETAILS_PANEL_PADDING, HISTORY_DETAILS_PANEL_WIDTH,
|
||||
LABEL_PADDING as InputSuggestionsLabelPadding,
|
||||
};
|
||||
use crate::themes::theme::WarpTheme;
|
||||
use crate::themes::theme::GalaxyTheme;
|
||||
|
||||
enum SuggestionsResizeConfig {
|
||||
WidthAndHeight,
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
use settings::Setting;
|
||||
use galaxyui::elements::{
|
||||
Border, ChildView, Container, CornerRadius, DropTarget, Element, Flex, Hoverable,
|
||||
ParentElement, Radius, SavePosition, Stack,
|
||||
};
|
||||
use galaxyui::{AppContext, SingletonEntity};
|
||||
use settings::Setting;
|
||||
|
||||
use super::common::{
|
||||
add_command_xray_overlay, add_input_suggestions_overlays, add_vim_status_to_stack,
|
||||
|
||||
@@ -6,10 +6,9 @@ mod search_item;
|
||||
mod view;
|
||||
|
||||
pub use data_source::SelectUserQuery;
|
||||
pub use view::{UserQueryMenuEvent, UserQueryMenuView};
|
||||
|
||||
use galaxyui::keymap::Keystroke;
|
||||
use galaxyui::platform::OperatingSystem;
|
||||
pub use view::{UserQueryMenuEvent, UserQueryMenuView};
|
||||
|
||||
use crate::terminal::input::inline_menu::{
|
||||
default_navigation_message_items, InlineMenuAction, InlineMenuMessageArgs, InlineMenuRowAction,
|
||||
|
||||
Reference in New Issue
Block a user