@@ -514,8 +514,8 @@ fn render(state: &mut InputState, prompt: &str, stdout: &mut io::Stdout) -> io::
514514 // Render suggestions below if active
515515 let mut lines_rendered = 0 ;
516516 if state. showing_suggestions && !state. suggestions . is_empty ( ) {
517- // Move to next line for suggestions
518- println ! ( ) ;
517+ // Move to next line for suggestions (use \r\n in raw mode)
518+ print ! ( " \r \n " ) ;
519519 lines_rendered += 1 ;
520520
521521 for ( i, suggestion) in state. suggestions . iter ( ) . enumerate ( ) {
@@ -524,18 +524,18 @@ fn render(state: &mut InputState, prompt: &str, stdout: &mut io::Stdout) -> io::
524524
525525 if is_selected {
526526 if suggestion. is_dir {
527- println ! ( " {}{} {}{}" , ansi:: CYAN , prefix, suggestion. display, ansi:: RESET ) ;
527+ print ! ( " {}{} {}{}\r \n " , ansi:: CYAN , prefix, suggestion. display, ansi:: RESET ) ;
528528 } else {
529- println ! ( " {}{} {}{}" , ansi:: WHITE , prefix, suggestion. display, ansi:: RESET ) ;
529+ print ! ( " {}{} {}{}\r \n " , ansi:: WHITE , prefix, suggestion. display, ansi:: RESET ) ;
530530 }
531531 } else {
532- println ! ( " {}{} {}{}" , ansi:: DIM , prefix, suggestion. display, ansi:: RESET ) ;
532+ print ! ( " {}{} {}{}\r \n " , ansi:: DIM , prefix, suggestion. display, ansi:: RESET ) ;
533533 }
534534 lines_rendered += 1 ;
535535 }
536536
537537 // Print hint
538- println ! ( " {}[↑↓ navigate, Enter select, Esc cancel]{}" , ansi:: DIM , ansi:: RESET ) ;
538+ print ! ( " {}[↑↓ navigate, Enter select, Esc cancel]{}\r \n " , ansi:: DIM , ansi:: RESET ) ;
539539 lines_rendered += 1 ;
540540 }
541541
0 commit comments