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

Diff for /todotxt/Text-Todo/lib/Text/Todo/Entry.pm between version 1.4 and 1.7

version 1.4, 2009/07/11 16:58:50 version 1.7, 2009/07/13 19:05:50
Line 1 
Line 1 
 package Text::Todo::Entry;  package Text::Todo::Entry;
   
 # $RedRiver: Entry.pm,v 1.3 2009/07/10 22:52:08 andrew Exp $  # $RedRiver: Entry.pm,v 1.6 2009/07/13 17:50:37 andrew Exp $
   
 use warnings;  use warnings;
 use strict;  use strict;
Line 16 
Line 16 
   
     my %tags_of;      my %tags_of;
     my %priority_of;      my %priority_of;
       my %completion_status_of;
   
     my %tags = (      my %tags = (
         context => q{@},          context => q{@},
Line 59 
Line 60 
   
         foreach my $tag ( keys %tags ) {          foreach my $tag ( keys %tags ) {
             my $symbol = quotemeta $tags{$tag};              my $symbol = quotemeta $tags{$tag};
             $tags_of{$ident}{$tag}              $tags_of{$ident}{$tag} = { map { $_ => q{} }
                 = { map { $_ => q{} } $text =~ / $symbol  (\S+)/gxms };                      $text =~ / (?:^|\s) $symbol  (\S+)/gxms };
         }          }
         ( $priority_of{$ident} ) = $text =~ /^ \s* \( ([A-Z]) \)/ixms;          ( $completion_status_of{$ident} ) = $text =~ /^ \s*(x) /ixms;
           ( $priority_of{$ident} )
               = $text =~ /^ (?:\s*x)? \s* \( ([A-Z]) \)/ixms;
   
         return 1;          return 1;
     }      }
Line 76 
Line 79 
     }      }
   
     sub _is_in {      sub _is_in {
         my ( $self, $type, $item ) = @_;          my ( $self, $tags, $item ) = @_;
         my $ident = ident($self);          return defined first { $_ eq $item } $self->$tags;
   
         return defined first { $_ eq $item } $self->$type;  
     }      }
   
     sub text {      sub text {
Line 96 
Line 97 
         return $priority_of{$ident};          return $priority_of{$ident};
     }      }
   
       sub completed {
           my ($self) = @_;
           my $ident = ident($self);
   
           return $completion_status_of{$ident};
       }
   
     sub change {      sub change {
         my ( $self, $text ) = @_;          my ( $self, $text ) = @_;
         return $self->_update_entry($text);          return $self->_update_entry($text);
Line 121 
Line 129 
         return $self->change( join q{ }, $self->text, $addition );          return $self->change( join q{ }, $self->text, $addition );
     }      }
   
 }      sub complete {
           my ($self) = @_;
   
           if ( $self->completed ) {
               return 1;
           }
   
           return $self->change( join q{ }, 'x', $self->text );
       }
   
   }
 1;    # Magic true value required at end of module  1;    # Magic true value required at end of module
 __END__  __END__
   
Line 180 
Line 197 
 =head2 prepend  =head2 prepend
   
 =head2 append  =head2 append
   
   =head2 complete
   
   =head2 completed
   
   
 =head1 DIAGNOSTICS  =head1 DIAGNOSTICS

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

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