From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use strict;
use Carp qw/croak/;
run_key => {default => '<F8>'},
less_key => {default => '<F12>'},
);
sub vimrc {
my $self = shift;
my ( $helper, $opts ) = @_;
my $cmd = $helper->command($opts);
my $run_key = $self->run_key;
my $less_key = $self->less_key;
return <<" EOT";
function! RunFennecLine()
let cur_line = line(".")
exe "!FENNEC_TEST='" . cur_line . "' prove -v -Ilib -I. %"
endfunction
function! RunFennecLineLess()
let cur_line = line(".")
exe "!FENNEC_TEST='" . cur_line . "' prove -v -Ilib -I. % 2>&1 | less"
endfunction
:map $less_key :w<cr>:call RunFennecLineLess()<cr>
:map $run_key :w<cr>:call RunFennecLine()<cr>
:imap $less_key <ESC>:w<cr>:call RunFennecLineLess()<cr>
:imap $run_key <ESC>:w<cr>:call RunFennecLine()<cr>
EOT
}
1;
__END__
=pod
=head1 NAME
Vim::Helper::Fennec - Keybindings for Fennec test suites
=head1 DESCRIPTION
Provides keybindings and functions for Fennec test suites.
=head1 SYNOPSIS
In your config file:
use Vim::Helper qw/
Fennec
/;
Fennec {
run_key => '<F8>',
less_key => '<F12>',
};
=head1 ARGS
None
=head1 OPTS
None
=head1 CONFIGURATION OPTIONS
=over 4
=item run_key
key sequence to bind for running a Fennec test block.
=item less_key
key sequence to bind for running a Fennec test block, output is piped to
'less'.
=back
=head1 AUTHORS
Chad Granum L<exodist7@gmail.com>
=head1 COPYRIGHT
Copyright (C) 2012 Chad Granum
Vim-Helper is free software; Standard perl licence.
Vim-Helper is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the license for more details.
=cut