aboutsummaryrefslogtreecommitdiff
path: root/helix-term
diff options
context:
space:
mode:
authorGokul Soumya2023-06-18 17:10:00 +0000
committerMichael Davis2023-06-18 17:10:00 +0000
commit49fbf8df53195d521cf03d03e288c583bcba4c7c (patch)
tree28c411aaecb1a45e9d3d7ffff059260d6889d099 /helix-term
parent1e66e9198c3e00afd531f155816617043e787bb0 (diff)
Move Component methods except render() to FilePicker
Diffstat (limited to 'helix-term')
-rw-r--r--helix-term/src/ui/picker.rs30
1 files changed, 12 insertions, 18 deletions
diff --git a/helix-term/src/ui/picker.rs b/helix-term/src/ui/picker.rs
index 0f334548..627f9472 100644
--- a/helix-term/src/ui/picker.rs
+++ b/helix-term/src/ui/picker.rs
@@ -684,17 +684,19 @@ impl<T: Item + 'static> FilePicker<T> {
EventResult::Consumed(None)
}
- fn cursor(&self, area: Rect, ctx: &Editor) -> (Option<Position>, CursorKind) {
- self.picker.cursor(area, ctx)
+ fn cursor(&self, area: Rect, editor: &Editor) -> (Option<Position>, CursorKind) {
+ let block = Block::default().borders(Borders::ALL);
+ // calculate the inner area inside the box
+ let inner = block.inner(area);
+
+ // prompt area
+ let area = inner.clip_left(1).with_height(1);
+
+ self.prompt.cursor(area, editor)
}
fn required_size(&mut self, (width, height): (u16, u16)) -> Option<(u16, u16)> {
- let picker_width = if width > MIN_AREA_WIDTH_FOR_PREVIEW {
- width / 2
- } else {
- width
- };
- self.picker.required_size((picker_width, height))?;
+ self.completion_height = height.saturating_sub(4);
Some((width, height))
}
@@ -826,8 +828,7 @@ impl<T: Item> Picker<T> {
impl<T: Item + 'static> Component for Picker<T> {
fn required_size(&mut self, viewport: (u16, u16)) -> Option<(u16, u16)> {
- self.completion_height = viewport.1.saturating_sub(4);
- Some(viewport)
+ unimplemented!()
}
fn handle_event(&mut self, event: &Event, cx: &mut Context) -> EventResult {
@@ -1001,14 +1002,7 @@ impl<T: Item + 'static> Component for Picker<T> {
}
fn cursor(&self, area: Rect, editor: &Editor) -> (Option<Position>, CursorKind) {
- let block = Block::default().borders(Borders::ALL);
- // calculate the inner area inside the box
- let inner = block.inner(area);
-
- // prompt area
- let area = inner.clip_left(1).with_height(1);
-
- self.prompt.cursor(area, editor)
+ unimplemented!()
}
}