Merge pull request #28 from heytrav/master

perl snippets
This commit is contained in:
Honza Pokorny 2011-09-09 10:07:19 -07:00
commit 6286b717f0
4 changed files with 236 additions and 244 deletions

View File

@ -1,158 +0,0 @@
# #!/usr/bin/perl
# strict warnings
snippet strwar
use strict;
use warnings;
# standard versioning with perlcritic bypass
snippet vers
## no critic
our $VERSION = '${1:version}';
eval $VERSION;
## use critic
# new 'switch' like feature
snippet switch
use feature 'switch';
# Anonymous subroutine
snippet asub
sub {
${1:# body }
}
# Begin block
snippet begin
BEGIN { #{{{
${1:# begin body}
} #}}}
# call package function with some parameter
snippet pkgmv
__PACKAGE__->${1:package_method}(${2:var});
# call package function without a parameter
snippet pkgm
__PACKAGE__->${1:package_method}();
# call package "get_" function without a parameter
snippet pkget
__PACKAGE__->get_${1:package_method}();
# call package function with a parameter
snippet pkgetv
__PACKAGE__->get_${1:package_method}(${2:var});
# complex regex
snippet qrx
qr/
${1:regex}
/xms
#simpler regex
snippet qr/
qr/${1:regex}/x
#given
snippet given
given ($${1:var}) { #{{{
${2:# cases}
${3:# default}
} #}}}
# switch-like case
snippet when
when (${1:case}) { #{{{
${2:# body}
} #}}}
# hash slice
snippet hslice
@{ ${1:hash} }{ ${2:array} }
# map
snippet map
map { ${2: body } } ${1: @array } ;
# Pod stub
snippet ppod
=head1 NAME
${1:ClassName} - ${2:ShortDesc}
=head1 SYNOPSIS
use $1;
${3:# synopsis...}
=head1 DESCRIPTION
${4:# longer description...}
=head1 INTERFACE
=head1 DEPENDENCIES
=head1 SEE ALSO
# Heading for a subroutine stub
snippet psub
=head2 ${1:MethodName}
${2:Summary....}
# Subroutine signature
snippet parg
=over 2
=item
Arguments
=over 3
=item
C<${1:DataStructure}>
${2:Sample}
=back
=item
Return
=over 3
=item
C<${3:...return data}>
=back
=back

View File

@ -1,50 +0,0 @@
# #!/usr/bin/perl
# Moose package
snippet moosecl
package ${1:ClassName};
use Moose;
#extends ${2:# ParentClass};
${6:# body of class}
1;
__END__
=head1 NAME
$1 - ${3:ShortDesc}
=head1 SYNOPSIS
${4:# synopsis...}
=head1 DESCRIPTION
${5:# longer description...}
# has
snippet has
has ${1:attribute} => ( #{{{
is => '${2:ro|rw}',
isa => '${3:Str|Int|HashRef|ArrayRef|etc}',
default => ${4:defaultvalue}
,${5:# other attributes}
); #}}}
# override
snippet override
override ${1:attribute} => sub { #{{{
${2:# my $self = shift;};
${3:# my ($self,$args) = @_;};
}; #}}}

View File

@ -1,36 +0,0 @@
# #!/usr/bin/perl
# use test classes
snippet tuse
use Test::More;
use Test::Deep;
use Test::Exception;
# local test lib
snippet tlib
use lib qw{ ./t/lib };
#test methods
snippet tmeths
$ENV{TEST_METHOD} = '${1:regex}';
# runtestclass
snippet trunner
use ${1:test_class};
$1->runtests();
#testclass
snippet tsub
sub t${1:number}_${2:test_case} :Test(${3:num_of_tests}) { #{{{
my $self = shift;
${4:# body}
} #}}}
#prep test method
snippet tprep
sub prep${1:number}_${2:test_case} :Test(startup) { #{{{
my $self = shift;
${4:# body}
} #}}}

View File

@ -95,3 +95,239 @@ snippet cl
snippet slurp snippet slurp
my $${1:var} = do { local $/; open my $file, '<', "${2:file}"; <$file> }; my $${1:var} = do { local $/; open my $file, '<', "${2:file}"; <$file> };
${3} ${3}
# strict warnings
snippet strwar
use strict;
use warnings;
# standard versioning with perlcritic bypass
snippet vers
## no critic
our $VERSION = '${1:version}';
eval $VERSION;
## use critic
# new 'switch' like feature
snippet switch
use feature 'switch';
# Anonymous subroutine
snippet asub
sub {
${1:# body }
}
# Begin block
snippet begin
BEGIN {
${1:# begin body}
}
# call package function with some parameter
snippet pkgmv
__PACKAGE__->${1:package_method}(${2:var});
# call package function without a parameter
snippet pkgm
__PACKAGE__->${1:package_method}();
# call package "get_" function without a parameter
snippet pkget
__PACKAGE__->get_${1:package_method}();
# call package function with a parameter
snippet pkgetv
__PACKAGE__->get_${1:package_method}(${2:var});
# complex regex
snippet qrx
qr/
${1:regex}
/xms
#simpler regex
snippet qr/
qr/${1:regex}/x
#given
snippet given
given ($${1:var}) {
${2:# cases}
${3:# default}
}
# switch-like case
snippet when
when (${1:case}) {
${2:# body}
}
# hash slice
snippet hslice
@{ ${1:hash} }{ ${2:array} }
# map
snippet map
map { ${2: body } } ${1: @array } ;
# Pod stub
snippet ppod
=head1 NAME
${1:ClassName} - ${2:ShortDesc}
=head1 SYNOPSIS
use $1;
${3:# synopsis...}
=head1 DESCRIPTION
${4:# longer description...}
=head1 INTERFACE
=head1 DEPENDENCIES
=head1 SEE ALSO
# Heading for a subroutine stub
snippet psub
=head2 ${1:MethodName}
${2:Summary....}
# Subroutine signature
snippet parg
=over 2
=item
Arguments
=over 3
=item
C<${1:DataStructure}>
${2:Sample}
=back
=item
Return
=over 3
=item
C<${3:...return data}>
=back
=back
# Moose package
snippet moosecl
package ${1:ClassName};
use Moose;
#extends ${2:# ParentClass};
${6:# body of class}
1;
__END__
=head1 NAME
$1 - ${3:ShortDesc}
=head1 SYNOPSIS
${4:# synopsis...}
=head1 DESCRIPTION
${5:# longer description...}
# Moose has
snippet has
has ${1:attribute} => (
is => '${2:ro|rw}',
isa => '${3:Str|Int|HashRef|ArrayRef|etc}',
default => ${4:defaultvalue}
,${5:# other attributes}
);
# override
snippet override
override ${1:attribute} => sub {
${2:# my $self = shift;};
${3:# my ($self,$args) = @_;};
};
# use test classes
snippet tuse
use Test::More;
use Test::Deep;
use Test::Exception;
# local test lib
snippet tlib
use lib qw{ ./t/lib };
#test methods
snippet tmeths
$ENV{TEST_METHOD} = '${1:regex}';
# runtestclass
snippet trunner
use ${1:test_class};
$1->runtests();
#testclass
snippet tsub
sub t${1:number}_${2:test_case} :Test(${3:num_of_tests}) {
my $self = shift;
${4:# body}
}
#prep test method
snippet tprep
sub prep${1:number}_${2:test_case} :Test(startup) {
my $self = shift;
${4:# body}
}