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
+3 -3
View File
@@ -14,9 +14,6 @@ use crate::ui_components::icons::Icon;
use crate::view_components::action_button::{
ActionButton, ButtonSize, DangerNakedTheme, KeystrokeSource, NakedTheme, PrimaryTheme,
};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::Vector2F;
use std::cell::RefCell;
use galaxy_core::ui::{appearance::Appearance, theme::Fill};
use galaxy_editor::render::element::VerticalExpansionBehavior;
use galaxyui::{
@@ -30,6 +27,9 @@ use galaxyui::{
AppContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View,
ViewContext, ViewHandle,
};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::Vector2F;
use std::cell::RefCell;
/// Default width of the comment editor, in pixels.
pub(crate) const DEFAULT_COMMENT_MAX_WIDTH: f32 = 750.0;
+5 -5
View File
@@ -4,11 +4,6 @@
use std::{collections::HashMap, ops::Range, rc::Rc, sync::Arc};
use futures::stream::AbortHandle;
use itertools::Itertools;
use pathfinder_color::ColorU;
use rangemap::RangeMap;
use similar::{ChangeTag, DiffOp, TextDiff};
use string_offset::CharOffset;
use galaxy_core::ui::theme::Fill;
use galaxy_editor::{
content::{edit::TemporaryBlock, version::BufferVersion},
@@ -16,6 +11,11 @@ use galaxy_editor::{
render::model::{Decoration, LineCount, LineDecoration},
};
use galaxyui::{Entity, ModelContext};
use itertools::Itertools;
use pathfinder_color::ColorU;
use rangemap::RangeMap;
use similar::{ChangeTag, DiffOp, TextDiff};
use string_offset::CharOffset;
use super::super::DiffResult;
+1 -1
View File
@@ -1,8 +1,8 @@
use std::collections::HashMap;
use galaxy_editor::multiline::{MultilineStr, MultilineString};
use rangemap::RangeMap;
use unindent::Unindent as _;
use galaxy_editor::multiline::{MultilineStr, MultilineString};
use crate::code::editor::diff::ChangeType;
+6 -6
View File
@@ -9,12 +9,6 @@ use std::{
},
};
use parking_lot::Mutex;
use pathfinder_color::ColorU;
use pathfinder_geometry::{
rect::RectF,
vector::{vec2f, Vector2F},
};
use galaxy_core::ui::{
appearance::Appearance,
theme::{color::internal_colors, Fill},
@@ -45,6 +39,12 @@ use galaxyui::{
AfterLayoutContext, AppContext, ClipBounds, Element, Event, EventContext, LayoutContext,
ModelHandle, PaintContext, SingletonEntity, SizeConstraint,
};
use parking_lot::Mutex;
use pathfinder_color::ColorU;
use pathfinder_geometry::{
rect::RectF,
vector::{vec2f, Vector2F},
};
use super::diff::{DiffHunkDisplay, DiffStatus};
use super::model::DiffNavigationState;
+3 -3
View File
@@ -3,13 +3,13 @@ use std::collections::HashMap;
use std::str::FromStr;
use std::sync::Arc;
use pathfinder_geometry::vector::{vec2f, Vector2F};
use serde_yaml::Mapping;
use uuid::Uuid;
use galaxy_editor::content::markdown::MarkdownStyle;
use galaxy_editor::editor::EmbeddedItemModel;
use galaxy_editor::render::element::{RenderContext, RenderableBlock};
use galaxy_editor::render::layout::TextLayout;
use pathfinder_geometry::vector::{vec2f, Vector2F};
use serde_yaml::Mapping;
use uuid::Uuid;
use galaxy_editor::render::model::{
viewport::ViewportItem, BlockSpacing, EmbeddedItem, EmbeddedItemHTMLRepresentation,
@@ -3,9 +3,9 @@ use super::{
COMMENT_ID_MAPPING_KEY, ENTITY_ID_MAPPING_KEY, WINDOW_ID_MAPPING_KEY,
};
use crate::code_review::comments::CommentId;
use serde_yaml::{Mapping, Value};
use galaxy_editor::content::markdown::MarkdownStyle;
use galaxyui::{EntityId, WindowId};
use serde_yaml::{Mapping, Value};
#[test]
fn test_comment_embedded_item_conversion_valid_input() {
+1 -1
View File
@@ -13,7 +13,6 @@ use crate::ui_components::{blended_colors, icons::Icon};
use crate::view_components::action_button::{ActionButton, DisabledSecondaryTheme, SecondaryTheme};
use crate::view_components::find::FindDirection;
use crate::{features::FeatureFlag, settings::AppEditorSettings};
use pathfinder_color::ColorU;
use galaxy_editor::editor::NavigationKey;
use galaxy_editor::search::{SearchEvent, Searcher};
use galaxyui::elements::MainAxisAlignment;
@@ -36,6 +35,7 @@ use galaxyui::{
};
use galaxyui::{presenter::ChildView, ViewContext, ViewHandle};
use galaxyui::{FocusContext, ModelHandle};
use pathfinder_color::ColorU;
pub const FIND_BAR_WIDTH: f32 = 500.;
const ICON_PADDING: f32 = 4.;
+1 -1
View File
@@ -1,5 +1,5 @@
use std::ops::Range;
use galaxy_editor::render::model::{LineCount, RenderLineLocation};
use std::ops::Range;
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum EditorLineLocation {
+24 -24
View File
@@ -3,14 +3,6 @@
use crate::code::editor::line_iterator::LineIterator;
use crate::code_review::CodeReviewTelemetryEvent;
use num_traits::SaturatingSub;
use rangemap::{RangeMap, RangeSet};
use std::future::Future;
use std::ops::Range;
use std::path::Path;
use std::rc::Rc;
use std::sync::Arc;
use std::{cmp, mem};
use galaxy_core::platform::SessionPlatform;
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::theme::Fill;
@@ -23,6 +15,14 @@ use galaxy_editor::multiline::{AnyMultilineString, MultilineString, LF};
use galaxy_editor::render::model::{AutoScrollMode, LineCount, StyleUpdateAction};
use galaxy_editor::selection::TextDirection;
use galaxyui::units::{IntoPixels, Pixels};
use num_traits::SaturatingSub;
use rangemap::{RangeMap, RangeSet};
use std::future::Future;
use std::ops::Range;
use std::path::Path;
use std::rc::Rc;
use std::sync::Arc;
use std::{cmp, mem};
use crate::util::link_detection::get_word_range_at_offset;
use crate::{
@@ -31,22 +31,6 @@ use crate::{
};
use ai::diff_validation::DiffDelta;
use itertools::Itertools;
use languages::{language_by_filename, language_by_name, Language};
use line_ending::LineEnding;
use string_offset::CharOffset;
use syntax_tree::{ColorMap, DecorationStateEvent, SyntaxTreeState};
use vec1::{vec1, Vec1};
use vim::vim::{
BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion,
InsertPosition, LineMotion, MotionType, TextObjectInclusion, TextObjectType, VimOperator,
VimTextObject, WordBound, WordMotion, WordType,
};
use vim::{
find_next_paragraph_end, find_previous_paragraph_start, vim_a_block, vim_a_paragraph,
vim_a_quote, vim_a_word, vim_find_char_on_line, vim_find_matching_bracket, vim_inner_block,
vim_inner_paragraph, vim_inner_quote, vim_inner_word, vim_word_iterator_from_offset,
};
use galaxy_core::semantic_selection::SemanticSelection;
use galaxy_editor::content::buffer::{ShouldAutoscroll, VimInsertPoint};
use galaxy_editor::{
@@ -73,6 +57,22 @@ use galaxyui::elements::{
};
use galaxyui::text::{point::Point, TextBuffer};
use galaxyui::{AppContext, Entity, ModelContext, ModelHandle, SingletonEntity};
use itertools::Itertools;
use languages::{language_by_filename, language_by_name, Language};
use line_ending::LineEnding;
use string_offset::CharOffset;
use syntax_tree::{ColorMap, DecorationStateEvent, SyntaxTreeState};
use vec1::{vec1, Vec1};
use vim::vim::{
BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion,
InsertPosition, LineMotion, MotionType, TextObjectInclusion, TextObjectType, VimOperator,
VimTextObject, WordBound, WordMotion, WordType,
};
use vim::{
find_next_paragraph_end, find_previous_paragraph_start, vim_a_block, vim_a_paragraph,
vim_a_quote, vim_a_word, vim_find_char_on_line, vim_find_matching_bracket, vim_inner_block,
vim_inner_paragraph, vim_inner_quote, vim_inner_word, vim_word_iterator_from_offset,
};
use super::super::DiffResult;
use super::comments::{EditorCommentsModel, PendingComment, PendingCommentEvent};
+2 -2
View File
@@ -1,10 +1,10 @@
use futures::channel::oneshot;
use std::path::Path;
use vec1::vec1;
use galaxy_editor::content::buffer::{InitialBufferState, SelectionOffsets};
use galaxy_editor::multiline::MultilineString;
use galaxy_util::content_version::ContentVersion;
use galaxyui::App;
use std::path::Path;
use vec1::vec1;
use crate::{
code::editor::line::EditorLineLocation, code::editor::view::code_text_styles,
+22 -21
View File
@@ -30,16 +30,6 @@ use crate::{
view_components::find::FindDirection,
};
use ai::diff_validation::DiffDelta;
use lazy_static::lazy_static;
use num_traits::SaturatingSub;
use pathfinder_geometry::vector::vec2f;
use std::fmt::Debug;
use std::rc::Rc;
use std::{collections::HashMap, ops::Range};
use std::{collections::HashSet, path::Path};
use string_offset::CharOffset;
use vec1::{vec1, Vec1};
use vim::vim::{Direction, InsertPosition, VimMode, VimModel, VimState, VimSubscriber};
use galaxy_core::platform::SessionPlatform;
use galaxy_editor::{
content::{
@@ -83,6 +73,16 @@ use galaxyui::{
AppContext, BlurContext, Element, Entity, FocusContext, ModelHandle, SingletonEntity, View,
ViewContext, ViewHandle, WeakViewHandle, WindowId,
};
use lazy_static::lazy_static;
use num_traits::SaturatingSub;
use pathfinder_geometry::vector::vec2f;
use std::fmt::Debug;
use std::rc::Rc;
use std::{collections::HashMap, ops::Range};
use std::{collections::HashSet, path::Path};
use string_offset::CharOffset;
use vec1::{vec1, Vec1};
use vim::vim::{Direction, InsertPosition, VimMode, VimModel, VimState, VimSubscriber};
mod actions;
pub use actions::init;
@@ -997,17 +997,18 @@ impl CodeEditorView {
if let Some(results) = self.searcher.as_ref(ctx).results() {
if !results.matches.is_empty() {
// Convert all match ranges to selection offsets
let selection_offsets: Vec<galaxy_editor::content::buffer::SelectionOffsets> =
results
.matches
.iter()
.map(|match_result| {
galaxy_editor::content::buffer::SelectionOffsets {
head: match_result.end,
tail: match_result.start,
}
})
.collect();
let selection_offsets: Vec<
galaxy_editor::content::buffer::SelectionOffsets,
> = results
.matches
.iter()
.map(
|match_result| galaxy_editor::content::buffer::SelectionOffsets {
head: match_result.end,
tail: match_result.start,
},
)
.collect();
// Set multiple selections on the editor to highlight all matches
if let Ok(selections) = vec1::Vec1::try_from_vec(selection_offsets) {
+6 -6
View File
@@ -12,12 +12,6 @@ use crate::{
features::FeatureFlag, notebooks::editor::model::word_unit, send_telemetry_from_ctx,
util::bindings::CustomAction,
};
use lazy_static::lazy_static;
use rangemap::RangeSet;
use std::collections::{HashMap, HashSet};
use std::fmt::Debug;
use std::ops::Range;
use string_offset::CharOffset;
use galaxy_editor::{
content::version::BufferVersion,
editor::{EmbeddedItemModel, RunnableCommandModel, TextDecoration},
@@ -37,6 +31,12 @@ use galaxyui::{
units::Pixels,
AppContext, TypedActionView, ViewContext, WeakViewHandle,
};
use lazy_static::lazy_static;
use rangemap::RangeSet;
use std::collections::{HashMap, HashSet};
use std::fmt::Debug;
use std::ops::Range;
use string_offset::CharOffset;
/// Limit the keybindings that conflict with the Agent Mode embedded editor.
const NON_EDITABLE_KEYMAP_CONTEXT: &str = "NonEditableKeymapContext";
+1 -1
View File
@@ -1,4 +1,3 @@
use std::sync::Arc;
use galaxy_core::ui::appearance::Appearance;
use galaxy_editor::render::element::VerticalExpansionBehavior;
use galaxyui::{
@@ -6,6 +5,7 @@ use galaxyui::{
platform::WindowStyle,
App, TypedActionView, ViewHandle, WindowId,
};
use std::sync::Arc;
use crate::{
cloud_object::model::persistence::CloudModel,
+5 -5
View File
@@ -7,11 +7,6 @@ use crate::{
view_components::find::FindDirection,
vim_registers::{RegisterContent, VimRegisters},
};
use vim::vim::{
BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion,
InsertPosition, LineMotion, ModeTransition, MotionType, TextObjectType, VimHandler, VimMode,
VimMotion, VimOperand, VimOperator, VimTextObject, WordMotion,
};
use galaxy_editor::{
content::buffer::{
AutoScrollBehavior, BufferEditAction, EditOrigin, SelectionOffsets,
@@ -21,6 +16,11 @@ use galaxy_editor::{
selection::{TextDirection, TextUnit},
};
use galaxyui::{text::point::Point, SingletonEntity, ViewContext};
use vim::vim::{
BracketChar, CharacterMotion, Direction, FindCharMotion, FirstNonWhitespaceMotion,
InsertPosition, LineMotion, ModeTransition, MotionType, TextObjectType, VimHandler, VimMode,
VimMotion, VimOperand, VimOperator, VimTextObject, WordMotion,
};
impl VimHandler for CodeEditorView {
fn insert_char(&mut self, c: char, ctx: &mut ViewContext<Self>) {
@@ -13,9 +13,6 @@ use crate::{
workspace::sync_inputs::SyncedInputState,
workspaces::user_workspaces::UserWorkspaces,
};
use std::sync::Arc;
use unindent::Unindent;
use vim::vim::{MotionType, VimMode};
use galaxy_core::{features::FeatureFlag, settings::Setting, ui::appearance::Appearance};
use galaxy_editor::model::CoreEditorModel;
use galaxy_editor::{
@@ -28,6 +25,9 @@ use galaxyui::{
keymap::Keystroke, platform::WindowStyle, App, SingletonEntity, TypedActionView, UpdateModel,
ViewHandle,
};
use std::sync::Arc;
use unindent::Unindent;
use vim::vim::{MotionType, VimMode};
// Await render/layout completion for a CodeEditorView in tests.
async fn layout_editor_view(app: &mut App, editor: &ViewHandle<CodeEditorView>) {
+1 -1
View File
@@ -5,9 +5,9 @@ use std::{
use crate::ai::skills::SkillOpenOrigin;
use ai::skills::SkillReference;
use serde::{Deserialize, Serialize};
use galaxy_util::path::LineAndColumnArg;
use galaxyui::{AppContext, Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WindowId};
use serde::{Deserialize, Serialize};
use crate::{
ai::agent::AIAgentActionId,
+3 -3
View File
@@ -1,4 +1,6 @@
use editing::sort_entries_for_file_tree;
use galaxy_util::path::LineAndColumnArg;
use galaxy_util::standardized_path::StandardizedPath;
use itertools::Itertools;
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::Vector2F;
@@ -13,10 +15,7 @@ use std::collections::{HashMap, HashSet};
use std::ops::Range;
use std::path::{Path, PathBuf};
use std::sync::Arc;
use galaxy_util::path::LineAndColumnArg;
use galaxy_util::standardized_path::StandardizedPath;
use repo_metadata::repositories::DetectedRepositories;
use galaxy_core::send_telemetry_from_ctx;
use galaxyui::elements::{
AcceptedByDropTarget, Align, Clipped, ConstrainedBox, Container, Dismiss, Draggable,
@@ -40,6 +39,7 @@ use galaxyui::{
ViewHandle,
};
use galaxyui::{BlurContext, ModelHandle};
use repo_metadata::repositories::DetectedRepositories;
use crate::code::active_file::{ActiveFileEvent, ActiveFileModel};
use crate::coding_panel_enablement_state::CodingPanelEnablementState;
+2 -2
View File
@@ -4,12 +4,12 @@
#[path = "editing_tests.rs"]
mod tests;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::{elements::MouseStateHandle, ViewContext};
use repo_metadata::file_tree_store::FileTreeEntryState;
use repo_metadata::{FileMetadata, FileTreeEntry};
use std::cmp::Ordering;
use std::sync::Arc;
use galaxy_util::standardized_path::StandardizedPath;
use galaxyui::{elements::MouseStateHandle, ViewContext};
use super::{FileTreeIdentifier, FileTreeItem, FileTreeView};
use crate::{
+1 -1
View File
@@ -1,8 +1,8 @@
use std::sync::Arc;
use galaxy_util::standardized_path::StandardizedPath;
use repo_metadata::file_tree_store::{FileTreeDirectoryEntryState, FileTreeEntryState};
use repo_metadata::{FileMetadata, FileTreeEntry};
use galaxy_util::standardized_path::StandardizedPath;
use super::sort_entries_for_file_tree;
+22 -12
View File
@@ -1,5 +1,7 @@
use std::sync::Arc;
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{platform::WindowStyle, App, ModelHandle};
use repo_metadata::entry::{DirectoryEntry, Entry, FileMetadata};
use repo_metadata::file_tree_store::FileTreeState;
use repo_metadata::local_model::IndexedRepoState;
@@ -7,8 +9,6 @@ use repo_metadata::repositories::DetectedRepositories;
use repo_metadata::watcher::DirectoryWatcher;
use repo_metadata::RepoMetadataModel;
use virtual_fs::{Stub, VirtualFS};
use galaxy_core::ui::appearance::Appearance;
use galaxyui::{platform::WindowStyle, App, ModelHandle};
use crate::auth::AuthStateProvider;
use crate::server::server_api::{team::MockTeamClient, workspace::MockWorkspaceClient};
@@ -151,8 +151,10 @@ fn repo_transition_unregisters_lazy_loaded_path() {
.unwrap()
));
let displayed_std =
galaxy_util::standardized_path::StandardizedPath::try_from_local(&displayed_root)
.unwrap();
galaxy_util::standardized_path::StandardizedPath::try_from_local(
&displayed_root,
)
.unwrap();
assert_eq!(
view.root_directories
.get(&displayed_std)
@@ -180,8 +182,10 @@ fn repo_transition_unregisters_lazy_loaded_path() {
file_tree_view.read(&app, |view, _ctx| {
let displayed_std =
galaxy_util::standardized_path::StandardizedPath::try_from_local(&displayed_root)
.unwrap();
galaxy_util::standardized_path::StandardizedPath::try_from_local(
&displayed_root,
)
.unwrap();
let repo_std =
galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root)
.unwrap();
@@ -259,8 +263,10 @@ fn repo_backed_unloaded_directory_loads_through_model() {
assert!(!view
.root_directories
.get(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root)
.unwrap()
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
&repo_root
)
.unwrap()
)
.is_some_and(|root_dir| root_dir.entry.contains(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
@@ -284,8 +290,10 @@ fn repo_backed_unloaded_directory_loads_through_model() {
assert!(view
.root_directories
.get(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root)
.unwrap()
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
&repo_root
)
.unwrap()
)
.is_some_and(|root_dir| root_dir.entry.contains(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
@@ -309,8 +317,10 @@ fn repo_backed_unloaded_directory_loads_through_model() {
assert!(view
.root_directories
.get(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(&repo_root)
.unwrap()
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
&repo_root
)
.unwrap()
)
.is_some_and(|root_dir| root_dir.entry.contains(
&galaxy_util::standardized_path::StandardizedPath::try_from_local(
+3 -3
View File
@@ -5,9 +5,6 @@
use std::{collections::HashMap, path::PathBuf};
use lsp::ReferenceLocation;
use pathfinder_geometry::vector::Vector2F;
use string_offset::CharOffset;
use galaxy_core::ui::{
appearance::Appearance, icons::Icon as WarpIcon, theme::color::internal_colors,
};
@@ -24,6 +21,9 @@ use galaxyui::{
prelude::Align,
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
use lsp::ReferenceLocation;
use pathfinder_geometry::vector::Vector2F;
use string_offset::CharOffset;
use crate::search::result_renderer::ItemHighlightState;
use galaxyui::ui_components::components::UiComponent;
+3 -3
View File
@@ -1,16 +1,14 @@
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use galaxy_core::send_telemetry_from_ctx;
use lsp::supported_servers::LSPServerType;
use lsp::{
LanguageId, LanguageServerId, LspManagerModel, LspManagerModelEvent, LspServerModel,
LspState as LspModelState,
};
use galaxy_core::send_telemetry_from_ctx;
use crate::code::lsp_telemetry::{LspControlActionType, LspEnablementSource, LspTelemetryEvent};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::theme::{Fill as ThemeFill, WarpTheme};
use galaxy_core::ui::{appearance::Appearance, Icon};
@@ -28,6 +26,8 @@ use galaxyui::{
AppContext, Element, Entity, ModelHandle, SingletonEntity, View, WeakModelHandle,
};
use galaxyui::{TypedActionView, ViewContext, ViewHandle};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use galaxy_core::ui::theme::AnsiColorIdentifier;
+3 -3
View File
@@ -6,9 +6,6 @@ use std::rc::Rc;
use bimap::BiMap;
use futures_util::stream::AbortHandle;
use lsp::types::TextDocumentContentChangeEvent;
use lsp::{LspManagerModel, LspServerLogLevel, LspServerModel};
use vec1::vec1;
use galaxy_core::features::FeatureFlag;
use galaxy_editor::content::buffer::Buffer;
use galaxy_editor::content::diff::{text_diff, TextDiff};
@@ -17,6 +14,9 @@ use galaxy_editor::content::version::BufferVersion;
use galaxy_util::content_version::ContentVersion;
use galaxy_util::file::{FileId, FileLoadError, FileSaveError};
use galaxyui::{Entity, ModelContext, ModelHandle, SingletonEntity, WeakModelHandle};
use lsp::types::TextDocumentContentChangeEvent;
use lsp::{LspManagerModel, LspServerLogLevel, LspServerModel};
use vec1::vec1;
cfg_if::cfg_if! {
if #[cfg(feature = "local_fs")] {
+4 -4
View File
@@ -1,7 +1,3 @@
use lsp::{HoverContents, LspServerLogLevel, MarkupKind};
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use num_traits::SaturatingSub;
use string_offset::CharOffset;
use galaxy_core::ui::{
appearance::Appearance,
theme::{color::internal_colors, WarpTheme},
@@ -18,6 +14,10 @@ use galaxyui::{
},
AppContext, Element, SingletonEntity, ViewContext,
};
use lsp::{HoverContents, LspServerLogLevel, MarkupKind};
use markdown_parser::{FormattedText, FormattedTextFragment, FormattedTextLine};
use num_traits::SaturatingSub;
use string_offset::CharOffset;
use crate::code::local_code_editor::{
HoverContentSegment, LocalCodeEditorView, LspHoverState, HOVER_TOOLTIP_MAX_HEIGHT,
@@ -11,9 +11,9 @@ use std::path::{Path, PathBuf};
use std::time::Duration;
use futures::stream::AbortHandle;
use lsp::LspManagerModel;
use galaxyui::r#async::Timer;
use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity};
use lsp::LspManagerModel;
use crate::code::local_code_editor::LocalCodeEditorView;
use crate::terminal::TerminalView;
+11 -11
View File
@@ -10,16 +10,6 @@ use std::{
};
use futures::stream::AbortHandle;
use lsp::{
types::FileLocation, LanguageId, LanguageServerId, LspEvent, LspManagerModel,
LspManagerModelEvent, LspServerModel, ReferenceLocation,
};
use lsp_types::FormattingOptions;
use markdown_parser::FormattedText;
use num_traits::SaturatingSub;
use pathfinder_geometry::{rect::RectF, vector::Vector2F};
use string_offset::CharOffset;
use vec1::Vec1;
use galaxy_core::{features::FeatureFlag, ui::appearance::Appearance};
use galaxy_editor::{
content::{buffer::InitialBufferState, text::IndentUnit},
@@ -47,6 +37,16 @@ use galaxyui::{
WindowId,
};
use galaxyui::{platform::SaveFilePickerConfiguration, ModelHandle};
use lsp::{
types::FileLocation, LanguageId, LanguageServerId, LspEvent, LspManagerModel,
LspManagerModelEvent, LspServerModel, ReferenceLocation,
};
use lsp_types::FormattingOptions;
use markdown_parser::FormattedText;
use num_traits::SaturatingSub;
use pathfinder_geometry::{rect::RectF, vector::Vector2F};
use string_offset::CharOffset;
use vec1::Vec1;
use crate::menu::{Event, Menu, MenuItem, MenuItemFields};
@@ -67,11 +67,11 @@ use crate::{
code_review::comments::CommentId,
};
use ai::diff_validation::DiffType;
use galaxy_core::ui::icons::Icon;
use pathfinder_color::ColorU;
#[cfg(feature = "local_fs")]
use repo_metadata::repositories::DetectedRepositories;
use vim::vim::{MotionType, VimMode};
use galaxy_core::ui::icons::Icon;
use crate::ai::persisted_workspace::{PersistedWorkspace, PersistedWorkspaceEvent};
use crate::workspace::WorkspaceAction;
+1 -1
View File
@@ -1,7 +1,7 @@
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use strum_macros::{EnumDiscriminants, EnumIter};
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
/// The source from which the user enabled an LSP server.
#[derive(Clone, Debug, Serialize, Deserialize)]
+3 -3
View File
@@ -1,10 +1,10 @@
use galaxy_util::file::FileSaveError;
use galaxyui::elements::DropTargetData;
use galaxyui::AppContext;
use pathfinder_geometry::rect::RectF;
use std::any::Any;
use std::fmt::Debug;
use std::ops::AddAssign;
use galaxy_util::file::FileSaveError;
use galaxyui::elements::DropTargetData;
use galaxyui::AppContext;
#[cfg(not(target_family = "wasm"))]
pub mod find_references_view;
+1 -1
View File
@@ -3,8 +3,8 @@
use std::{collections::HashMap, path::PathBuf};
use instant::Instant;
use galaxyui::{Entity, ModelContext, SingletonEntity};
use instant::Instant;
#[derive(Default, Clone)]
pub struct OpenedFilesInRepo(HashMap<PathBuf, Instant>);
+6 -6
View File
@@ -22,12 +22,6 @@ use crate::terminal::view::CliAgentRouting;
use crate::workspace::util::get_context_target_terminal_view;
use crate::workspace::TabBarDropTargetData;
use crate::{code::EditorTabBarDropTargetData, pane_group::pane::ActionOrigin};
use lsp::LspManagerModel;
use pathfinder_color::ColorU;
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::vec2f;
use std::collections::HashMap;
use std::path::{Path, PathBuf};
use galaxy_core::channel::{Channel, ChannelState};
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::appearance::Appearance;
@@ -38,6 +32,12 @@ use galaxyui::elements::Rect;
use galaxyui::fonts::Style;
use galaxyui::text::point::Point;
use galaxyui::text_layout::ClipConfig;
use lsp::LspManagerModel;
use pathfinder_color::ColorU;
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::vec2f;
use std::collections::HashMap;
use std::path::{Path, PathBuf};
#[cfg(feature = "local_fs")]
use galaxyui::clipboard::ClipboardContent;