aboutsummaryrefslogtreecommitdiff
path: root/helix-term/src/ui/picker.rs
diff options
context:
space:
mode:
authorMichael Davis2023-06-19 09:55:46 +0000
committerGitHub2023-06-19 09:55:46 +0000
commit9690e0b733fd82e0ced65388a24ad80f769ce3b4 (patch)
treebc288e629fef9bdd57b3c80ce066169b7bc593fc /helix-term/src/ui/picker.rs
parent06d63d6ac1644ce57d6a90b53ea4f832e67ab2a9 (diff)
Fix Component implementations for Picker (#7382)
Diffstat (limited to 'helix-term/src/ui/picker.rs')
-rw-r--r--helix-term/src/ui/picker.rs54
1 files changed, 27 insertions, 27 deletions
diff --git a/helix-term/src/ui/picker.rs b/helix-term/src/ui/picker.rs
index 04ed940c..13746cfc 100644
--- a/helix-term/src/ui/picker.rs
+++ b/helix-term/src/ui/picker.rs
@@ -750,6 +750,33 @@ impl<T: Item + 'static> Picker<T> {
);
}
}
+}
+
+impl<T: Item + 'static> Component for Picker<T> {
+ fn render(&mut self, area: Rect, surface: &mut Surface, cx: &mut Context) {
+ // +---------+ +---------+
+ // |prompt | |preview |
+ // +---------+ | |
+ // |picker | | |
+ // | | | |
+ // +---------+ +---------+
+
+ let render_preview = self.show_preview && area.width > MIN_AREA_WIDTH_FOR_PREVIEW;
+
+ let picker_width = if render_preview {
+ area.width / 2
+ } else {
+ area.width
+ };
+
+ let picker_area = area.with_width(picker_width);
+ self.render_picker(picker_area, surface, cx);
+
+ if render_preview {
+ let preview_area = area.clip_left(picker_width);
+ self.render_preview(preview_area, surface, cx);
+ }
+ }
fn handle_event(&mut self, event: &Event, ctx: &mut Context) -> EventResult {
if let Event::IdleTimeout = event {
@@ -846,33 +873,6 @@ impl<T: Item + 'static> Picker<T> {
}
}
-impl<T: Item + 'static> Component for Picker<T> {
- fn render(&mut self, area: Rect, surface: &mut Surface, cx: &mut Context) {
- // +---------+ +---------+
- // |prompt | |preview |
- // +---------+ | |
- // |picker | | |
- // | | | |
- // +---------+ +---------+
-
- let render_preview = self.show_preview && area.width > MIN_AREA_WIDTH_FOR_PREVIEW;
-
- let picker_width = if render_preview {
- area.width / 2
- } else {
- area.width
- };
-
- let picker_area = area.with_width(picker_width);
- self.render_picker(picker_area, surface, cx);
-
- if render_preview {
- let preview_area = area.clip_left(picker_width);
- self.render_preview(preview_area, surface, cx);
- }
- }
-}
-
#[derive(PartialEq, Eq, Debug)]
struct PickerMatch {
score: i64,