Файл: js/ace/snippets/perl.js
Строк: 535
<?php
define('ace/snippets/perl', ['require', 'exports', 'module' ], function(require, exports, module) {
exports.snippetText = "# #!/usr/bin/perln
snippet #!n
#!/usr/bin/env perln
n
# Hash Pointern
snippet .n
=>n
# Functionn
snippet subn
sub ${1:function_name} {n
${2:#body ...}n
}n
# Conditionaln
snippet ifn
if (${1}) {n
${2:# body...}n
}n
# Conditional if..elsen
snippet ifen
if (${1}) {n
${2:# body...}n
}n
else {n
${3:# else...}n
}n
# Conditional if..elsif..elsen
snippet ifeen
if (${1}) {n
${2:# body...}n
}n
elsif (${3}) {n
${4:# elsif...}n
}n
else {n
${5:# else...}n
}n
# Conditional One-linen
snippet xifn
${1:expression} if ${2:condition};${3}n
# Unless conditionaln
snippet unlessn
unless (${1}) {n
${2:# body...}n
}n
# Unless conditional One-linen
snippet xunlessn
${1:expression} unless ${2:condition};${3}n
# Try/Exceptn
snippet evaln
local $@;n
eval {n
${1:# do something risky...}n
};n
if (my $e = $@) {n
${2:# handle failure...}n
}n
# While Loopn
snippet whn
while (${1}) {n
${2:# body...}n
}n
# While Loop One-linen
snippet xwhn
${1:expression} while ${2:condition};${3}n
# C-style For Loopn
snippet cforn
for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {n
${4:# body...}n
}n
# For loop one-linen
snippet xforn
${1:expression} for @${2:array};${3}n
# Foreach Loopn
snippet forn
foreach my $${1:x} (@${2:array}) {n
${3:# body...}n
}n
# Foreach Loop One-linen
snippet foren
${1:expression} foreach @${2:array};${3}n
# Packagen
snippet packagen
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`};n
n
${2}n
n
1;n
n
__END__n
# Package syntax perl >= 5.14n
snippet packagev514n
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\u&', '')`} ${2:0.99};n
n
${3}n
n
1;n
n
__END__n
#moosen
snippet moosen
use Moose;n
use namespace::autoclean;n
${1:#}BEGIN {extends '${2:ParentClass}'};n
n
${3}n
# parentn
snippet parentn
use parent qw(${1:Parent Class});n
# Read Filen
snippet slurpn
my $${1:var} = do { local $/; open my $file, '<', "${2:file}"; <$file> };n
${3}n
# strict warningsn
snippet strwarn
use strict;n
use warnings;n
# older versioning with perlcritic bypassn
snippet versn
## no criticn
our $VERSION = '${1:version}';n
eval $VERSION;n
## use criticn
# new 'switch' like featuren
snippet switchn
use feature 'switch';n
n
# Anonymous subroutinen
snippet asubn
sub {n
${1:# body }n
}n
n
n
n
# Begin blockn
snippet beginn
BEGIN {n
${1:# begin body}n
}n
n
# call package function with some parametern
snippet pkgmvn
__PACKAGE__->${1:package_method}(${2:var})n
n
# call package function without a parametern
snippet pkgmn
__PACKAGE__->${1:package_method}()n
n
# call package "get_" function without a parametern
snippet pkgetn
__PACKAGE__->get_${1:package_method}()n
n
# call package function with a parametern
snippet pkgetvn
__PACKAGE__->get_${1:package_method}(${2:var})n
n
# complex regexn
snippet qrxn
qr/n
${1:regex}n
/xmsn
n
#simpler regexn
snippet qr/n
qr/${1:regex}/xn
n
#givenn
snippet givenn
given ($${1:var}) {n
${2:# cases}n
${3:# default}n
}n
n
# switch-like casen
snippet whenn
when (${1:case}) {n
${2:# body}n
}n
n
# hash slicen
snippet hslicen
@{ ${1:hash} }{ ${2:array} }n
n
n
# mapn
snippet mapn
map { ${2: body } } ${1: @array } ;n
n
n
n
# Pod stubn
snippet ppodn
=head1 NAMEn
n
${1:ClassName} - ${2:ShortDesc}n
n
=head1 SYNOPSISn
n
use $1;n
n
${3:# synopsis...}n
n
=head1 DESCRIPTIONn
n
${4:# longer description...}n
n
n
=head1 INTERFACEn
n
n
=head1 DEPENDENCIESn
n
n
=head1 SEE ALSOn
n
n
# Heading for a subroutine stubn
snippet psubn
=head2 ${1:MethodName}n
n
${2:Summary....}n
n
# Heading for inline subroutine podn
snippet psubin
=head2 ${1:MethodName}n
n
${2:Summary...}n
n
n
=cutn
# inline documented subroutinen
snippet subpodn
=head2 $1n
n
Summary of $1n
n
=cutn
n
sub ${1:subroutine_name} {n
${2:# body...}n
}n
# Subroutine signaturen
snippet pargn
=over 2n
n
=itemn
Argumentsn
n
n
=over 3n
n
=itemn
C<${1:DataStructure}>n
n
${2:Sample}n
n
n
=backn
n
n
=itemn
Returnn
n
=over 3n
n
n
=itemn
C<${3:...return data}>n
n
n
=backn
n
n
=backn
n
n
n
# Moose hasn
snippet hasn
has ${1:attribute} => (n
is => '${2:ro|rw}',n
isa => '${3:Str|Int|HashRef|ArrayRef|etc}',n
default => sub {n
${4:defaultvalue}n
},n
${5:# other attributes}n
);n
n
n
# overriden
snippet overriden
override ${1:attribute} => sub {n
${2:# my $self = shift;};n
${3:# my ($self, $args) = @_;};n
};n
n
n
# use test classesn
snippet tusen
use Test::More;n
use Test::Deep; # (); # uncomment to stop prototype errorsn
use Test::Exception;n
n
# local test libn
snippet tlibn
use lib qw{ ./t/lib };n
n
#test methodsn
snippet tmethsn
$ENV{TEST_METHOD} = '${1:regex}';n
n
# runtestclassn
snippet trunnern
use ${1:test_class};n
$1->runtests();n
n
# Test::Class-style testn
snippet tsubn
sub t${1:number}_${2:test_case} :Test(${3:num_of_tests}) {n
my $self = shift;n
${4:# body}n
n
}n
n
# Test::Routine-style testn
snippet trsubn
test ${1:test_name} => { description => '${2:Description of test.}'} => sub {n
my ($self) = @_;n
${3:# test code}n
};n
n
#prep test methodn
snippet tprepn
sub prep${1:number}_${2:test_case} :Test(startup) {n
my $self = shift;n
${4:# body}n
}n
n
# cause failures to print stack tracen
snippet debug_tracen
use Carp; # 'verbose';n
# cloak "die"n
# warn "warning"n
$SIG{'__DIE__'} = sub {n
require Carp; Carp::confessn
};n
n
";
exports.scope = "perl";
});
?>