[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.3 and 1.6

version 1.3, 2010/01/10 22:59:16 version 1.6, 2010/01/10 23:54:26
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $RedRiver: todo.pl,v 1.2 2010/01/10 07:13:54 andrew Exp $  # $RedRiver: todo.pl,v 1.5 2010/01/10 23:37:12 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 85 
Line 85 
     usage( $opts{h} );      usage( $opts{h} );
 }  }
   
 my @unsupported = grep { defined $opts{$_} } qw( @ + f h p P n t v V );  my @unsupported = grep { defined $opts{$_} } qw( @ + f h p P t v V );
 if (@unsupported) {  if (@unsupported) {
     warn 'Unsupported options: ' . ( join q{, }, @unsupported ) . "\n";      warn 'Unsupported options: ' . ( join q{, }, @unsupported ) . "\n";
 }  }
Line 140 
Line 140 
     die "Unable to add [$entry]\n";      die "Unable to add [$entry]\n";
 }  }
   
 sub append    { return &unsupported }  sub append {
 sub archive   { return &unsupported }      my ( $config, $line, $text ) = @_;
       if ( !( $line && $text && $line =~ /^\d+$/xms ) ) {
           die 'usage: todo.pl append ITEM# "TEXT TO APPEND"' . "\n";
       }
   
       my $todo  = Text::Todo->new($config);
       my $entry = $todo->list->[ $line - 1 ];
   
       if ( $entry->append($text) && $todo->save ) {
           return printf "%02d: %s\n", $line, $entry->text;
       }
       die "Unable to append\n";
   }
   
   sub archive {
       my ( $config ) = @_;
       my $todo = Text::Todo->new($config);
   
       my $file = $todo->file;
   
       my $archived = $todo->archive;
       if (defined $archived) {
           return print "TODO: $file archived.\n";
       }
       die "Unable to archive $file\n";
   }
   
 sub command   { return &unsupported }  sub command   { return &unsupported }
 sub del       { return &unsupported }  
   sub del {
       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];
       print "Delete '" . $entry->text . "'?  (y/n)\n";
       warn "XXX No delete confirmation currently!\n";
   
       if ($opts{n}) {
           if ($todo->del($entry) && $todo->save) {
               return print 'TODO: \'', $entry->text, "' deleted.\n";
           }
       }
       else {
           my $text = $entry->text;
           if ($entry->replace(q{}) && $todo->save) {
               return print 'TODO: \'', $text, "' deleted.\n";
           }
       }
   
       die "Unable to delete entry\n";
   }
   
 sub depri     { return &unsupported }  sub depri     { return &unsupported }
 sub mark_done { return &unsupported }  sub mark_done { return &unsupported }
 sub help      { return &unsupported }  sub help      { return &unsupported }
Line 241 
Line 293 
     $term = defined $term ? quotemeta($term) : '';      $term = defined $term ? quotemeta($term) : '';
   
     my $shown = 0;      my $shown = 0;
     foreach my $e (      my @sorted
         sort { lc $a->{entry}->text cmp lc $b->{entry}->text }          = map { sprintf "%02d %s", $_->{line}, $_->{entry}->text }
         grep { $_->{entry}->text =~ /$term/xms } @list          sort { lc $a->{entry}->text cmp lc $b->{entry}->text } @list;
         )  
     {      foreach my $line ( grep {/$term/xms} @sorted ) {
         printf "%02d %s\n", $e->{line}, $e->{entry}->text;          print $line, "\n";
         $shown++;          $shown++;
     }      }
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

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