11use std:: sync:: Arc ;
22
33use async_trait:: async_trait;
4- use promkit_core:: { crossterm:: event:: Event , pane:: Pane } ;
4+ use promkit_widgets:: core:: {
5+ crossterm:: event:: Event ,
6+ pane:: { Pane , EMPTY_PANE } ,
7+ render:: SharedRenderer ,
8+ } ;
59use tokio:: { sync:: Mutex , task:: JoinHandle } ;
610
7- use crate :: { PaneIndex , Renderer , EMPTY_PANE } ;
811pub mod init;
912pub use init:: ViewProvider ;
13+
14+ use crate :: prompt:: Index ;
1015pub mod monitor;
1116pub mod spinner;
1217
@@ -58,7 +63,7 @@ impl Processor {
5863 & self ,
5964 query : String ,
6065 shared_visualizer : Arc < Mutex < impl Visualizer > > ,
61- shared_renderer : Arc < Mutex < Renderer > > ,
66+ shared_renderer : SharedRenderer < Index > ,
6267 ) -> JoinHandle < ( ) > {
6368 let shared = self . shared . clone ( ) ;
6469 tokio:: spawn ( async move {
@@ -83,16 +88,16 @@ impl Processor {
8388 }
8489 {
8590 // TODO: error handling
86- let _ = shared_renderer. lock ( ) . await . update_and_draw ( [
87- (
88- PaneIndex :: Guide ,
89- maybe_guide . unwrap_or ( EMPTY_PANE . to_owned ( ) ) ,
90- ) ,
91- (
92- PaneIndex :: Processor ,
93- maybe_resp . unwrap_or ( EMPTY_PANE . to_owned ( ) ) ,
94- ) ,
95- ] ) ;
91+ let _ = shared_renderer
92+ . update ( [
93+ ( Index :: Guide , maybe_guide . unwrap_or ( EMPTY_PANE . to_owned ( ) ) ) ,
94+ (
95+ Index :: Processor ,
96+ maybe_resp . unwrap_or ( EMPTY_PANE . to_owned ( ) ) ,
97+ ) ,
98+ ] )
99+ . render ( )
100+ . await ;
96101 }
97102 } )
98103 }
@@ -102,7 +107,7 @@ impl Processor {
102107 shared_visualizer : Arc < Mutex < impl Visualizer > > ,
103108 area : ( u16 , u16 ) ,
104109 query : String ,
105- shared_renderer : Arc < Mutex < Renderer > > ,
110+ shared_renderer : SharedRenderer < Index > ,
106111 ) {
107112 {
108113 let mut shared_state = self . shared . lock ( ) . await ;
@@ -124,7 +129,7 @@ impl Processor {
124129 & self ,
125130 shared_visualizer : Arc < Mutex < impl Visualizer > > ,
126131 query : String ,
127- shared_renderer : Arc < Mutex < Renderer > > ,
132+ shared_renderer : SharedRenderer < Index > ,
128133 ) {
129134 {
130135 let mut shared_state = self . shared . lock ( ) . await ;
0 commit comments