@@ -566,11 +566,12 @@ fn run_suggestions_cmd(args: &[String]) -> io::Result<()> {
566566
567567fn cmd_suggestions_list ( ) -> io:: Result < ( ) > {
568568 let ( _, _, settings) = load ( ) ;
569- if !settings. email_suggestions_enabled {
570- die ( "Email suggestions are not enabled. Enable it in the Suggestions tab (0) first." ) ;
571- }
572-
573- let emails = crate :: mail:: get_recent_emails ( 10 ) . map_err ( io:: Error :: other) ?;
569+ let data_dir = match crate :: storage:: data_dir ( ) {
570+ Some ( d) => d,
571+ None => die ( "Cannot determine data directory." ) ,
572+ } ;
573+ let token = crate :: google:: get_valid_token ( & data_dir) . map_err ( io:: Error :: other) ?;
574+ let emails = crate :: google:: get_recent_emails ( & token, 10 ) . map_err ( io:: Error :: other) ?;
574575
575576 let unread: Vec < _ > = emails. iter ( ) . filter ( |e| !e. is_read ) . collect ( ) ;
576577
@@ -608,11 +609,12 @@ fn cmd_suggestions_sync(args: &[String]) -> io::Result<()> {
608609 s. snapshot ( "suggestions sync" ) ;
609610 }
610611
611- if !settings. email_suggestions_enabled {
612- die ( "Email suggestions are not enabled. Enable it in the Suggestions tab (0) first." ) ;
613- }
614-
615- let emails = crate :: mail:: get_recent_emails ( 10 ) . map_err ( io:: Error :: other) ?;
612+ let data_dir = match crate :: storage:: data_dir ( ) {
613+ Some ( d) => d,
614+ None => die ( "Cannot determine data directory." ) ,
615+ } ;
616+ let token = crate :: google:: get_valid_token ( & data_dir) . map_err ( io:: Error :: other) ?;
617+ let emails = crate :: google:: get_recent_emails ( & token, 10 ) . map_err ( io:: Error :: other) ?;
616618
617619 let limit = if let Some ( limit_str) = find_flag ( args, "--limit" ) {
618620 limit_str. parse :: < usize > ( ) . unwrap_or ( 10 )
0 commit comments