@@ -593,6 +593,20 @@ impl EnhancedTuiApp {
593593 }
594594 }
595595
596+ fn is_csv_mode ( & self ) -> bool {
597+ if let Some ( buffer) = self . current_buffer ( ) {
598+ buffer. is_csv_mode ( )
599+ } else {
600+ self . csv_mode
601+ }
602+ }
603+
604+ fn set_csv_mode ( & mut self , csv_mode : bool ) {
605+ // Note: csv_mode is stored in the buffer, but we also need to update local field for now
606+ self . csv_mode = csv_mode;
607+ // TODO: Update buffer when buffer system is fully integrated
608+ }
609+
596610 // Wrapper methods for pinned_columns (uses buffer system)
597611 fn get_pinned_columns ( & self ) -> Vec < usize > {
598612 if let Some ( buffer) = self . current_buffer ( ) {
@@ -799,7 +813,7 @@ impl EnhancedTuiApp {
799813
800814 // Configure the app for CSV mode
801815 app. csv_client = Some ( csv_client. clone ( ) ) ;
802- app. csv_mode = true ;
816+ app. set_csv_mode ( true ) ;
803817 app. csv_table_name = table_name. clone ( ) ;
804818 app. current_buffer_name = Some ( format ! ( "{}" , raw_name) ) ;
805819
@@ -893,7 +907,7 @@ impl EnhancedTuiApp {
893907
894908 // Configure the app for JSON mode
895909 app. csv_client = Some ( csv_client. clone ( ) ) ;
896- app. csv_mode = true ; // Reuse CSV mode since the data structure is the same
910+ app. set_csv_mode ( true ) ; // Reuse CSV mode since the data structure is the same
897911 app. csv_table_name = table_name. clone ( ) ;
898912 app. current_buffer_name = Some ( format ! ( "{}" , raw_name) ) ;
899913
@@ -1321,7 +1335,7 @@ impl EnhancedTuiApp {
13211335 debug_info. push_str ( & input_state) ;
13221336
13231337 // Add dataset information
1324- let dataset_info = if self . csv_mode {
1338+ let dataset_info = if self . is_csv_mode ( ) {
13251339 if let Some ( ref csv_client) = self . csv_client {
13261340 if let Some ( schema) = csv_client. get_schema ( ) {
13271341 let ( table_name, columns) = schema
@@ -1409,7 +1423,7 @@ impl EnhancedTuiApp {
14091423 self . get_case_insensitive( ) ,
14101424 self . get_compact_mode( ) ,
14111425 self . is_viewport_lock( ) ,
1412- self . csv_mode ,
1426+ self . is_csv_mode ( ) ,
14131427 self . cache_mode,
14141428 & self . get_last_query_source( ) . unwrap_or( "None" . to_string( ) ) ,
14151429 if self . fuzzy_filter_state. active {
@@ -1449,7 +1463,7 @@ impl EnhancedTuiApp {
14491463 debug_info. push_str ( & format ! ( " ID: {}\n " , buffer. id) ) ;
14501464 debug_info. push_str ( & format ! ( " Path: {:?}\n " , buffer. file_path) ) ;
14511465 debug_info. push_str ( & format ! ( " Modified: {}\n " , buffer. modified) ) ;
1452- debug_info. push_str ( & format ! ( " CSV Mode: {}\n " , buffer. csv_mode ) ) ;
1466+ debug_info. push_str ( & format ! ( " CSV Mode: {}\n " , buffer. is_csv_mode ( ) ) ) ;
14531467 }
14541468
14551469 // Add current buffer debug dump
@@ -2199,7 +2213,7 @@ impl EnhancedTuiApp {
21992213 } else {
22002214 Err ( anyhow:: anyhow!( "No cached data loaded" ) )
22012215 }
2202- } else if self . csv_mode {
2216+ } else if self . is_csv_mode ( ) {
22032217 if let Some ( ref csv_client) = self . csv_client {
22042218 // Convert CSV result to match the expected type
22052219 csv_client. query_csv ( query) . map ( |r| QueryResponse {
@@ -2273,7 +2287,7 @@ impl EnhancedTuiApp {
22732287 let where_clause = & query[ where_pos + 7 ..] ; // Skip " where "
22742288
22752289 // Get columns from CSV client if available
2276- let columns = if self . csv_mode {
2290+ let columns = if self . is_csv_mode ( ) {
22772291 if let Some ( ref csv_client) = self . csv_client {
22782292 if let Some ( schema) = csv_client. get_schema ( ) {
22792293 schema
@@ -5282,7 +5296,7 @@ impl EnhancedTuiApp {
52825296 . fg ( Color :: Cyan )
52835297 . add_modifier ( Modifier :: BOLD ) ,
52845298 ) ) ;
5285- } else if self . csv_mode && !self . csv_table_name . is_empty ( ) {
5299+ } else if self . is_csv_mode ( ) && !self . csv_table_name . is_empty ( ) {
52865300 spans. push ( Span :: raw ( " " ) ) ;
52875301 spans. push ( Span :: styled (
52885302 self . csv_table_name . clone ( ) ,
@@ -5482,7 +5496,7 @@ impl EnhancedTuiApp {
54825496 } ;
54835497 spans. push ( Span :: raw ( format ! ( "{} " , icon) ) ) ;
54845498 spans. push ( Span :: styled ( label, Style :: default ( ) . fg ( color) ) ) ;
5485- } else if self . csv_mode {
5499+ } else if self . is_csv_mode ( ) {
54865500 spans. push ( Span :: raw ( " | " ) ) ;
54875501 spans. push ( Span :: raw ( & self . config . display . icons . file ) ) ;
54885502 spans. push ( Span :: raw ( " " ) ) ;
0 commit comments