Bump version to 1.6.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
4ba9706e35
commit
59cfd0e2f5
@@ -23,7 +23,9 @@ const MAX_VISIBLE_ACTIONS: usize = 12;
|
||||
|
||||
pub(super) enum CodeActionsState {
|
||||
Idle,
|
||||
Requesting { abort_handle: AbortHandle },
|
||||
Requesting {
|
||||
abort_handle: AbortHandle,
|
||||
},
|
||||
Available {
|
||||
actions: Vec<CodeActionData>,
|
||||
anchor_offset: CharOffset,
|
||||
@@ -118,10 +120,11 @@ impl LocalCodeEditorView {
|
||||
})
|
||||
.collect();
|
||||
|
||||
let future = match lsp_server
|
||||
.as_ref(ctx)
|
||||
.code_actions(file_path.to_path_buf(), lsp_range, diagnostics_at_cursor)
|
||||
{
|
||||
let future = match lsp_server.as_ref(ctx).code_actions(
|
||||
file_path.to_path_buf(),
|
||||
lsp_range,
|
||||
diagnostics_at_cursor,
|
||||
) {
|
||||
Ok(future) => future,
|
||||
Err(e) => {
|
||||
log::warn!("Failed to call lsp.code_actions: {e}");
|
||||
|
||||
+29
-28
@@ -6,12 +6,14 @@ use galaxy_core::ui::appearance::Appearance;
|
||||
use galaxy_core::ui::theme::color::internal_colors;
|
||||
use galaxyui::elements::{
|
||||
Border, ChildAnchor, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox, Container,
|
||||
CornerRadius, CrossAxisAlignment, Flex, FormattedTextElement, HighlightedHyperlink,
|
||||
Hoverable, MainAxisSize, MouseStateHandle, OffsetPositioning, ParentAnchor, ParentElement,
|
||||
CornerRadius, CrossAxisAlignment, Flex, FormattedTextElement, HighlightedHyperlink, Hoverable,
|
||||
MainAxisSize, MouseStateHandle, OffsetPositioning, ParentAnchor, ParentElement,
|
||||
ParentOffsetBounds, Radius, ScrollbarWidth, Shrinkable, Text,
|
||||
};
|
||||
use galaxyui::{AppContext, Element, SingletonEntity, ViewContext};
|
||||
use lsp::{CompletionItem, CompletionItemData, CompletionKind, CompletionResult, CompletionTrigger};
|
||||
use lsp::{
|
||||
CompletionItem, CompletionItemData, CompletionKind, CompletionResult, CompletionTrigger,
|
||||
};
|
||||
use markdown_parser::FormattedText;
|
||||
use pathfinder_geometry::vector::Vector2F;
|
||||
use string_offset::CharOffset;
|
||||
@@ -38,7 +40,9 @@ pub(super) struct ResolvedDocumentation {
|
||||
|
||||
pub(super) enum CompletionState {
|
||||
Idle,
|
||||
Requesting { abort_handle: AbortHandle },
|
||||
Requesting {
|
||||
abort_handle: AbortHandle,
|
||||
},
|
||||
Showing {
|
||||
items: Vec<CompletionItemData>,
|
||||
filtered_indices: Vec<usize>,
|
||||
@@ -281,16 +285,17 @@ impl LocalCodeEditorView {
|
||||
.as_ref(ctx)
|
||||
.offset_to_lsp_position(trigger_offset, ctx);
|
||||
|
||||
let future = match lsp_server
|
||||
.as_ref(ctx)
|
||||
.completion(file_path.to_path_buf(), lsp_position, trigger)
|
||||
{
|
||||
Ok(future) => future,
|
||||
Err(e) => {
|
||||
log::warn!("Failed to call lsp.completion: {e}");
|
||||
return;
|
||||
}
|
||||
};
|
||||
let future =
|
||||
match lsp_server
|
||||
.as_ref(ctx)
|
||||
.completion(file_path.to_path_buf(), lsp_position, trigger)
|
||||
{
|
||||
Ok(future) => future,
|
||||
Err(e) => {
|
||||
log::warn!("Failed to call lsp.completion: {e}");
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
self.completion_state.dismiss();
|
||||
|
||||
@@ -588,9 +593,7 @@ impl LocalCodeEditorView {
|
||||
|
||||
let mut content_column = Flex::column();
|
||||
|
||||
for (display_idx, &item_idx) in
|
||||
filtered_indices.iter().enumerate().take(visible_count)
|
||||
{
|
||||
for (display_idx, &item_idx) in filtered_indices.iter().enumerate().take(visible_count) {
|
||||
let item = &items[item_idx];
|
||||
let is_selected = display_idx == *selected_index;
|
||||
let mouse_state = item_mouse_states
|
||||
@@ -602,9 +605,9 @@ impl LocalCodeEditorView {
|
||||
let hoverable_item = Hoverable::new(mouse_state, move |_| item_element)
|
||||
.on_hover(move |is_hovered, ctx, _, _| {
|
||||
if is_hovered {
|
||||
ctx.dispatch_typed_action(
|
||||
LocalCodeEditorAction::CompletionHoverItem(display_idx),
|
||||
);
|
||||
ctx.dispatch_typed_action(LocalCodeEditorAction::CompletionHoverItem(
|
||||
display_idx,
|
||||
));
|
||||
}
|
||||
})
|
||||
.on_click(move |ctx, _, _| {
|
||||
@@ -677,15 +680,13 @@ impl LocalCodeEditorView {
|
||||
let row = Flex::row()
|
||||
.with_cross_axis_alignment(CrossAxisAlignment::Start)
|
||||
.with_child(menu_box)
|
||||
.with_child(
|
||||
Container::new(docs_element)
|
||||
.with_padding_left(2.)
|
||||
.finish(),
|
||||
)
|
||||
.with_child(Container::new(docs_element).with_padding_left(2.).finish())
|
||||
.finish();
|
||||
Some(ConstrainedBox::new(row)
|
||||
.with_max_height(COMPLETION_MENU_MAX_HEIGHT)
|
||||
.finish())
|
||||
Some(
|
||||
ConstrainedBox::new(row)
|
||||
.with_max_height(COMPLETION_MENU_MAX_HEIGHT)
|
||||
.finish(),
|
||||
)
|
||||
} else {
|
||||
Some(menu_box)
|
||||
}
|
||||
|
||||
@@ -85,18 +85,18 @@ const DROP_SHADOW_COLOR: ColorU = ColorU {
|
||||
|
||||
const HOVER_DEBOUNCE_PERIOD: Duration = Duration::from_millis(500);
|
||||
|
||||
use super::code_actions::{CodeActionsState, CODE_ACTIONS_DEBOUNCE_PERIOD};
|
||||
use super::completion::{CompletionState, COMPLETION_DEBOUNCE_PERIOD};
|
||||
use super::diff_viewer::DiffViewer;
|
||||
use super::editor::{
|
||||
scroll::{ScrollPosition, ScrollTrigger},
|
||||
view::{CodeEditorEvent, CodeEditorView},
|
||||
};
|
||||
use super::code_actions::{CodeActionsState, CODE_ACTIONS_DEBOUNCE_PERIOD};
|
||||
use super::completion::{CompletionState, COMPLETION_DEBOUNCE_PERIOD};
|
||||
use super::rename::RenameState;
|
||||
use super::signature_help::SignatureHelpState;
|
||||
use super::find_references_view::{FindReferencesView, FindReferencesViewEvent};
|
||||
use super::language_server_extension::ProcessedDiagnostic;
|
||||
use super::lsp_telemetry::LspTelemetryEvent;
|
||||
use super::rename::RenameState;
|
||||
use super::signature_help::SignatureHelpState;
|
||||
use super::ImmediateSaveError;
|
||||
use galaxy_core::send_telemetry_from_ctx;
|
||||
|
||||
|
||||
+4
-4
@@ -13,15 +13,15 @@ pub mod completion;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod find_references_view;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod rename;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod signature_help;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod language_server_extension;
|
||||
#[cfg_attr(not(target_family = "wasm"), path = "local_code_editor.rs")]
|
||||
#[cfg_attr(target_family = "wasm", path = "local_code_editor_wasm.rs")]
|
||||
pub mod local_code_editor;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod rename;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub mod signature_help;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub use local_code_editor::ShowFindReferencesCard;
|
||||
pub mod diff_viewer;
|
||||
pub mod editor;
|
||||
|
||||
+22
-23
@@ -12,12 +12,16 @@ use super::local_code_editor::LocalCodeEditorView;
|
||||
|
||||
pub(super) enum RenameState {
|
||||
Idle,
|
||||
Preparing { abort_handle: AbortHandle },
|
||||
Preparing {
|
||||
abort_handle: AbortHandle,
|
||||
},
|
||||
InputActive {
|
||||
editor: ViewHandle<EditorView>,
|
||||
anchor_offset: CharOffset,
|
||||
},
|
||||
Applying { abort_handle: AbortHandle },
|
||||
Applying {
|
||||
abort_handle: AbortHandle,
|
||||
},
|
||||
}
|
||||
|
||||
impl Default for RenameState {
|
||||
@@ -141,17 +145,11 @@ impl LocalCodeEditorView {
|
||||
ctx.notify();
|
||||
}
|
||||
|
||||
fn handle_rename_editor_event(
|
||||
&mut self,
|
||||
event: &EditorEvent,
|
||||
ctx: &mut ViewContext<Self>,
|
||||
) {
|
||||
fn handle_rename_editor_event(&mut self, event: &EditorEvent, ctx: &mut ViewContext<Self>) {
|
||||
match event {
|
||||
EditorEvent::Enter => {
|
||||
let new_name = match &self.rename_state {
|
||||
RenameState::InputActive { editor, .. } => {
|
||||
editor.as_ref(ctx).buffer_text(ctx)
|
||||
}
|
||||
RenameState::InputActive { editor, .. } => editor.as_ref(ctx).buffer_text(ctx),
|
||||
_ => return,
|
||||
};
|
||||
self.confirm_rename(new_name, ctx);
|
||||
@@ -191,19 +189,20 @@ impl LocalCodeEditorView {
|
||||
.as_ref(ctx)
|
||||
.offset_to_lsp_position(anchor_offset, ctx);
|
||||
|
||||
let future = match lsp_server
|
||||
.as_ref(ctx)
|
||||
.rename(file_path.to_path_buf(), lsp_position, new_name)
|
||||
{
|
||||
Ok(future) => future,
|
||||
Err(e) => {
|
||||
log::warn!("Failed to call lsp.rename: {e}");
|
||||
self.rename_state = RenameState::Idle;
|
||||
ctx.focus(self.editor());
|
||||
ctx.notify();
|
||||
return;
|
||||
}
|
||||
};
|
||||
let future =
|
||||
match lsp_server
|
||||
.as_ref(ctx)
|
||||
.rename(file_path.to_path_buf(), lsp_position, new_name)
|
||||
{
|
||||
Ok(future) => future,
|
||||
Err(e) => {
|
||||
log::warn!("Failed to call lsp.rename: {e}");
|
||||
self.rename_state = RenameState::Idle;
|
||||
ctx.focus(self.editor());
|
||||
ctx.notify();
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
let abort_handle = ctx
|
||||
.spawn(future, move |me, result, ctx| {
|
||||
|
||||
@@ -50,10 +50,7 @@ impl LocalCodeEditorView {
|
||||
}
|
||||
|
||||
/// Check if a trigger character was typed and request signature help.
|
||||
pub(super) fn on_content_changed_for_signature_help(
|
||||
&mut self,
|
||||
ctx: &mut ViewContext<Self>,
|
||||
) {
|
||||
pub(super) fn on_content_changed_for_signature_help(&mut self, ctx: &mut ViewContext<Self>) {
|
||||
if !Self::is_signature_help_enabled() {
|
||||
return;
|
||||
}
|
||||
@@ -85,11 +82,7 @@ impl LocalCodeEditorView {
|
||||
}
|
||||
}
|
||||
|
||||
fn request_signature_help(
|
||||
&mut self,
|
||||
trigger_offset: CharOffset,
|
||||
ctx: &mut ViewContext<Self>,
|
||||
) {
|
||||
fn request_signature_help(&mut self, trigger_offset: CharOffset, ctx: &mut ViewContext<Self>) {
|
||||
let Some(file_path) = self.file_path() else {
|
||||
return;
|
||||
};
|
||||
@@ -187,10 +180,7 @@ impl LocalCodeEditorView {
|
||||
}
|
||||
|
||||
/// Position the signature help tooltip above the cursor.
|
||||
pub(super) fn signature_help_positioning(
|
||||
&self,
|
||||
app: &AppContext,
|
||||
) -> Option<OffsetPositioning> {
|
||||
pub(super) fn signature_help_positioning(&self, app: &AppContext) -> Option<OffsetPositioning> {
|
||||
let anchor_offset = match &self.signature_help_state {
|
||||
SignatureHelpState::Showing { anchor_offset, .. } => *anchor_offset,
|
||||
_ => return None,
|
||||
|
||||
Reference in New Issue
Block a user