diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-13 23:05:30 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-13 23:05:30 +0300 |
| commit | f8e59221cbe5117f8f691a36affa374f5a986a9f (patch) | |
| tree | 3b2792683eff251b061fbbad7343ecffafe91aab /src/client/shell/state.rs | |
| parent | 59167658455442ffd2cd5b72a0fa81bcc4bcdf9e (diff) | |
feat: add ctrl-hover highlighting and fix wrapped links (#4074)
refs #1282
Diffstat (limited to 'src/client/shell/state.rs')
| -rw-r--r-- | src/client/shell/state.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/client/shell/state.rs b/src/client/shell/state.rs index eede0f29..8f2aec43 100644 --- a/src/client/shell/state.rs +++ b/src/client/shell/state.rs @@ -699,6 +699,9 @@ pub(super) enum PendingEndpointKind { absolute_row: u32, generation: u64, }, + PaneLinkResolve { + target: super::link_hover::LinkHoverTarget, + }, PaneLinkActivate { pane_id: String, inner_rect: Rect, @@ -934,6 +937,7 @@ pub(crate) struct ClientShellState { pub(super) overlay: Option<ClientShellOverlay>, pub(super) previous_pane_id: Option<String>, pub(super) pane_mouse_gesture: Option<ClientPaneMouseGesture>, + pub(super) link_hover: Option<super::link_hover::LinkHover>, pub(super) url_click_consumes_until_up: bool, pub(super) replaying_url_click: bool, pub(super) selection: Option<crate::selection::Selection<String>>, @@ -1093,6 +1097,7 @@ impl ClientShellState { overlay, previous_pane_id: None, pane_mouse_gesture: None, + link_hover: None, url_click_consumes_until_up: false, replaying_url_click: false, selection: None, @@ -1284,6 +1289,7 @@ impl ClientShellState { .then_some(ClientShellOverlay::Onboarding); self.previous_pane_id = None; self.pane_mouse_gesture = None; + self.link_hover = None; self.url_click_consumes_until_up = false; self.replaying_url_click = false; self.selection = None; @@ -1811,6 +1817,7 @@ impl ClientShellState { self.graphics .set_scene(std::mem::take(&mut surface.graphics)); self.pane_surface = Some(surface); + self.invalidate_link_hover(); self.resume_mobile_switcher_if_ready(); self.reconcile_input_source(); } |
