[BACK]Return to todo.pl CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo / bin

Diff for /todotxt/Text-Todo/bin/todo.pl between version 1.9 and 1.12

version 1.9, 2010/01/11 00:17:38 version 1.12, 2010/01/11 01:41:21
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $RedRiver: todo.pl,v 1.7 2010/01/10 23:58:11 andrew Exp $  # $RedRiver: todo.pl,v 1.9 2010/01/11 00:17:38 andrew Exp $
 ########################################################################  ########################################################################
 # todo.pl *** a perl version of todo.sh. Uses Text::Todo.  # todo.pl *** a perl version of todo.sh. Uses Text::Todo.
 #  #
Line 183 
Line 183 
     }      }
     my $todo = Text::Todo->new($config);      my $todo = Text::Todo->new($config);
   
     my $entry = $todo->list->[$line - 1];      my $entry = $todo->list->[ $line - 1 ];
     print "Delete '" . $entry->text . "'?  (y/n)\n";      print "Delete '" . $entry->text . "'?  (y/n)\n";
     warn "XXX No delete confirmation currently!\n";      warn "XXX No delete confirmation currently!\n";
   
Line 205 
Line 205 
 sub depri {  sub depri {
     my ( $config, $line ) = @_;      my ( $config, $line ) = @_;
     if ( !( $line && $line =~ /^\d+$/xms ) ) {      if ( !( $line && $line =~ /^\d+$/xms ) ) {
         die 'usage: todo.pl del ITEM#' . "\n";          die 'usage: todo.pl depri ITEM#' . "\n";
     }      }
     my $todo = Text::Todo->new($config);      my $todo = Text::Todo->new($config);
   
Line 217 
Line 217 
     die "Unable to deprioritize entry\n";      die "Unable to deprioritize entry\n";
 }  }
   
 sub mark_done { return &unsupported }  # since "do" is reserved
   sub mark_done {
       my ( $config, $line ) = @_;
       if ( !( $line && $line =~ /^\d+$/xms ) ) {
           die 'usage: todo.pl del ITEM#' . "\n";
       }
       my $todo = Text::Todo->new($config);
   
       my $entry = $todo->list->[ $line - 1 ];
   
       if ( $entry->do && $todo->save ) {
           my $status = print $line, ': ', $entry->text, "\n",
               'TODO: ', $line, " marked as done.\n";
           if (!$opts{a}) {
               return archive($config);
           }
           return $status;
       }
       die "Unable to mark as done\n";
   }
   
 sub help      { return &unsupported }  sub help      { return &unsupported }
   
 sub list {  sub list {
Line 295 
Line 315 
     return print map {"\+$_\n"} $todo->listproj;      return print map {"\+$_\n"} $todo->listproj;
 }  }
   
 sub move    { return &unsupported }  sub move { return &unsupported }
   
 sub prepend {  sub prepend {
     my ( $config, $line, @text) = @_;      my ( $config, $line, @text ) = @_;
     if ( !( $line && @text && $line =~ /^\d+$/xms ) ) {      if ( !( $line && @text && $line =~ /^\d+$/xms ) ) {
         die 'usage: todo.pl prepend ITEM# "TEXT TO PREPEND"' . "\n";          die 'usage: todo.pl prepend ITEM# "TEXT TO PREPEND"' . "\n";
     }      }
Line 314 
Line 334 
     die "Unable to prepend\n";      die "Unable to prepend\n";
 }  }
   
 sub pri     { return &unsupported }  sub pri {
       my ( $config, $line, $priority ) = @_;
       my $error = 'usage: todo.pl pri ITEM# PRIORITY';
       if ( !( $line && $line =~ /^\d+$/xms && $priority ) ) {
           die $error;
       }
       if ( $priority !~ /^[A-Z]$/xms ) {
           die $error . "\n"
               . "note: PRIORITY must a single letter from A to Z.\n";
       }
   
       my $todo = Text::Todo->new($config);
   
       my $entry = $todo->list->[ $line - 1 ];
       if ( $entry->pri($priority) && $todo->save ) {
           return print $line, ': ', $entry->text, "\n",
               'TODO: ', $line, ' prioritized (', $entry->priority, ").\n";
       }
       die "Unable to prioritize entry\n";
   }
   
 sub replace { return &unsupported }  sub replace { return &unsupported }
 sub report  { return &unsupported }  sub report  { return &unsupported }
   
Line 330 
Line 370 
     $term = defined $term ? quotemeta($term) : '';      $term = defined $term ? quotemeta($term) : '';
   
     my $shown = 0;      my $shown = 0;
     my @sorted      my @sorted = map { sprintf "%02d %s", $_->{line}, $_->{entry}->text }
         = map { sprintf "%02d %s", $_->{line}, $_->{entry}->text }  
         sort { lc $a->{entry}->text cmp lc $b->{entry}->text } @list;          sort { lc $a->{entry}->text cmp lc $b->{entry}->text } @list;
   
     foreach my $line ( grep {/$term/xms} @sorted ) {      foreach my $line ( grep {/$term/xms} @sorted ) {

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.12

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>