[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.4 and 1.7

version 1.4, 2010/01/10 23:26:04 version 1.7, 2010/01/10 23:58:11
Line 1 
Line 1 
 #!/usr/bin/perl  #!/usr/bin/perl
 # $RedRiver: todo.pl,v 1.3 2010/01/10 22:59:16 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 103 
Line 103 
 }  }
   
 sub add {  sub add {
     my ( $config, $entry ) = @_;      my ( $config, @entry ) = @_;
     if ( !$entry ) {      if ( !@entry ) {
         die "usage: todo.pl add 'item'\n";          die "usage: todo.pl add 'item'\n";
     }      }
   
       my $entry = join q{ }, @entry;
   
     my $todo = Text::Todo->new($config);      my $todo = Text::Todo->new($config);
     if ( $todo->add($entry) ) {      if ( $todo->add($entry) ) {
         my @list  = $todo->list;          my @list  = $todo->list;
Line 121 
Line 123 
 }  }
   
 sub addto {  sub addto {
     my ( $config, $file, $entry ) = @_;      my ( $config, $file, @entry ) = @_;
     if ( !( $file && $entry ) ) {      if ( !( $file && @entry ) ) {
         die "usage: todo.pl addto DEST 'TODO ITEM'\n";          die "usage: todo.pl addto DEST 'TODO ITEM'\n";
     }      }
   
       my $entry = join q{ }, @entry;
   
     my $todo = Text::Todo->new($config);      my $todo = Text::Todo->new($config);
   
     $file = $todo->file($file);      $file = $todo->file($file);
Line 141 
Line 145 
 }  }
   
 sub append {  sub append {
     my ( $config, $line, $text ) = @_;      my ( $config, $line, @text) = @_;
     if ( !( $line && $text && $line =~ /^\d+$/xms ) ) {      if ( !( $line && @text && $line =~ /^\d+$/xms ) ) {
         die 'usage: todo.pl append ITEM# "TEXT TO APPEND"' . "\n";          die 'usage: todo.pl append ITEM# "TEXT TO APPEND"' . "\n";
     }      }
   
       my $text = join q{ }, @text;
   
     my $todo  = Text::Todo->new($config);      my $todo  = Text::Todo->new($config);
     my $entry = $todo->list->[ $line - 1 ];      my $entry = $todo->list->[ $line - 1 ];
   
Line 155 
Line 161 
     die "Unable to append\n";      die "Unable to append\n";
 }  }
   
 sub archive   { return &unsupported }  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 }

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

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