[BACK]Return to Todo.pm CVS log [TXT][DIR] Up to [local] / todotxt / Text-Todo / lib / Text

Diff for /todotxt/Text-Todo/lib/Text/Todo.pm between version 1.13 and 1.14

version 1.13, 2010/01/10 07:07:46 version 1.14, 2010/01/10 22:39:26
Line 1 
Line 1 
 package Text::Todo;  package Text::Todo;
   
 # $RedRiver: Todo.pm,v 1.12 2010/01/10 04:08:59 andrew Exp $  # $RedRiver: Todo.pm,v 1.13 2010/01/10 07:07:46 andrew Exp $
   
 use warnings;  use warnings;
 use strict;  use strict;
Line 25 
Line 25 
         my $ident = ident($self);          my $ident = ident($self);
   
         $path_of{$ident} = {          $path_of{$ident} = {
             todo_dir    => undef,              todo_dir  => undef,
             todo_file   => 'todo.txt',              todo_file => 'todo.txt',
             done_file   => undef,              done_file => undef,
         };          };
   
         if ($options) {          if ($options) {
Line 37 
Line 37 
                         $self->_path_to( $opt, $options->{$opt} );                          $self->_path_to( $opt, $options->{$opt} );
                     }                      }
                     else {                      else {
   
                         #carp "Invalid option [$opt]";                          #carp "Invalid option [$opt]";
                     }                      }
                 }                  }
Line 196 
Line 197 
     }      }
   
     sub listpri {      sub listpri {
         my ($self) = @_;          my ( $self, $pri ) = @_;
   
         my @list = grep { $_->priority } $self->list;          my @list;
           if ($pri) {
               $pri = uc $pri;
               if ( $pri !~ /^[A-Z]$/xms ) {
                   croak "PRIORITY must a single letter from A to Z.";
               }
               @list = grep { defined $_->priority && $_->priority eq $pri }
                   $self->list;
           }
           else {
               @list = grep { $_->priority } $self->list;
           }
   
         return wantarray ? @list : \@list;          return wantarray ? @list : \@list;
     }      }
Line 248 
Line 260 
     }      }
   
     sub listproj {      sub listproj {
         my ( $self, $entry, $dst ) = @_;          my ( $self ) = @_;
           return $self->listtag('project');
       }
   
       sub listcon {
           my ( $self ) = @_;
           return $self->listtag('context');
       }
   
       sub listtag {
           my ( $self, $tag ) = @_;
         my $ident = ident($self);          my $ident = ident($self);
   
           my $accessor = $tag . 's';
   
         my %available_projects;          my %available;
         foreach my $e ( $self->list ) {          foreach my $e ( $self->list ) {
             foreach my $p ( $e->projects ) {              foreach my $p ( $e->$accessor ) {
                 $available_projects{$p} = 1;                  $available{$p} = 1;
             }              }
         }          }
   
         my @projects = sort keys %available_projects;          my @tags = sort keys %available;
   
         return wantarray ? @projects : \@projects;          return wantarray ? @tags: \@tags;
     }      }
   
     sub archive {      sub archive {
Line 285 
Line 309 
                     last ENTRY;                      last ENTRY;
                 }                  }
             }              }
             elsif ($e->text eq q{}) {              elsif ( $e->text eq q{} ) {
                 if ($self->del($e)) {                  if ( $self->del($e) ) {
                     $changed++;                      $changed++;
                 }                  }
                 else {                  else {

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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