home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December (Special) / PCWorld_2005-12_Special_cd.bin / Bezpecnost / lsti / lsti.exe / framework-2.5.exe / vi_F.al < prev    next >
Text File  |  2005-04-27  |  985b  |  32 lines

  1. # NOTE: Derived from lib/Term/ReadLine/Zoid/ViCommand.pm.
  2. # Changes made here will be lost when autosplit is run again.
  3. # See AutoSplit.pm.
  4. package Term::ReadLine::Zoid::ViCommand;
  5.  
  6. #line 528 "lib/Term/ReadLine/Zoid/ViCommand.pm (autosplit into blib/lib/auto/Term/ReadLine/Zoid/ViCommand/vi_F.al)"
  7. sub vi_F {
  8.     my ($self, $key, $cnt, $chr) = @_;
  9.  
  10.     unless ($chr) {
  11.         $chr = $self->_get_chr();
  12.         return $self->bell if length $chr > 1;
  13.         $$self{vi_last_c_move} = [$key, $chr];
  14.     }
  15.  
  16.     my ($l, $x) = ( $$self{lines}[ $$self{pos}[1] ], $$self{pos}[0] );
  17.     if ($key eq 'T' or $key eq 'F') {
  18.         $l = substr($l, 0, $x);
  19.         return $self->bell unless $l =~ /.*((?:$chr.*){$cnt})$/;
  20.         $$self{pos}[0] -= length($1) - (($key eq 'T') ? 1 : 0);
  21.         return length($1);
  22.     }
  23.     else { # ($key eq 't' || $key eq 'f')
  24.         return $self->bell unless $l =~ /^..{$x}((?:.*?$chr){$cnt})/;
  25.         $$self{pos}[0] += length($1) - (($key eq 't') ? 1 : 0);
  26.         return length($1);
  27.     }
  28. }
  29.  
  30. # end of Term::ReadLine::Zoid::ViCommand::vi_F
  31. 1;
  32.