# NOTE: Derived from lib/Term/ReadLine/Zoid/ViCommand.pm. # Changes made here will be lost when autosplit is run again. # See AutoSplit.pm. package Term::ReadLine::Zoid::ViCommand; #line 933 "lib/Term/ReadLine/Zoid/ViCommand.pm (autosplit into blib/lib/auto/Term/ReadLine/Zoid/ViCommand/vi_increment.al)" sub vi_increment { my ($self, $key) = @_; my ($l, $x) = ( $$self{lines}[ $$self{pos}[1] ], $$self{pos}[0] ); my $add = ($key eq 'ctrl_A') ? 1 : -1; return $self->bell unless $l =~ /^(.{0,$x}?)(0x(?i:[a-f\d])+|\d+)(.*?)$/; # FIXME triple check this regexp my ($pre, $int, $post) = ($1, $2, $3); $int = ($int =~ /^0x/) ? sprintf("0x%x", hex($int) + $add) : ($int + $add) ; $$self{lines}[ $$self{pos}[1] ] = $pre . $int . $post; } # end of Term::ReadLine::Zoid::ViCommand::vi_increment 1;