Files
codeocean/vendor/assets/javascripts/ace/snippets/perl.js
Sebastian Serth 735a74901f Update ACE Editor to version 1.2.0
Previously, we were at an ACE editor published between 1.1.8 and 1.1.9. This caused multiple issues and was especially a problem for the upcoming pair programming feature. Further, updating ace is a long-time priority, see https://github.com/openHPI/codeocean/issues/250.

Now, we are not yet updating to the latest version, but rather to the next minor version. This already contains breaking changes, and we are currently interested to keep the number of changes as low as possible. Further updating ACE might be still a future task.

The new ACE version 1.2.0 is taken from this tag: https://github.com/ajaxorg/ace-builds/releases/tag/v1.2.0.
We are using the src build (not minified, not in the noconflict version), since the same was used before as well.

Further, we need to change our migration for storing editor events. Since the table is not yet used (in production), we also update the enum.
2023-09-12 16:41:33 +02:00

355 lines
6.1 KiB
JavaScript

define("ace/snippets/perl",["require","exports","module"], function(require, exports, module) {
"use strict";
exports.snippetText = "# #!/usr/bin/perl\n\
snippet #!\n\
#!/usr/bin/env perl\n\
\n\
# Hash Pointer\n\
snippet .\n\
=>\n\
# Function\n\
snippet sub\n\
sub ${1:function_name} {\n\
${2:#body ...}\n\
}\n\
# Conditional\n\
snippet if\n\
if (${1}) {\n\
${2:# body...}\n\
}\n\
# Conditional if..else\n\
snippet ife\n\
if (${1}) {\n\
${2:# body...}\n\
}\n\
else {\n\
${3:# else...}\n\
}\n\
# Conditional if..elsif..else\n\
snippet ifee\n\
if (${1}) {\n\
${2:# body...}\n\
}\n\
elsif (${3}) {\n\
${4:# elsif...}\n\
}\n\
else {\n\
${5:# else...}\n\
}\n\
# Conditional One-line\n\
snippet xif\n\
${1:expression} if ${2:condition};${3}\n\
# Unless conditional\n\
snippet unless\n\
unless (${1}) {\n\
${2:# body...}\n\
}\n\
# Unless conditional One-line\n\
snippet xunless\n\
${1:expression} unless ${2:condition};${3}\n\
# Try/Except\n\
snippet eval\n\
local $@;\n\
eval {\n\
${1:# do something risky...}\n\
};\n\
if (my $e = $@) {\n\
${2:# handle failure...}\n\
}\n\
# While Loop\n\
snippet wh\n\
while (${1}) {\n\
${2:# body...}\n\
}\n\
# While Loop One-line\n\
snippet xwh\n\
${1:expression} while ${2:condition};${3}\n\
# C-style For Loop\n\
snippet cfor\n\
for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {\n\
${4:# body...}\n\
}\n\
# For loop one-line\n\
snippet xfor\n\
${1:expression} for @${2:array};${3}\n\
# Foreach Loop\n\
snippet for\n\
foreach my $${1:x} (@${2:array}) {\n\
${3:# body...}\n\
}\n\
# Foreach Loop One-line\n\
snippet fore\n\
${1:expression} foreach @${2:array};${3}\n\
# Package\n\
snippet package\n\
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`};\n\
\n\
${2}\n\
\n\
1;\n\
\n\
__END__\n\
# Package syntax perl >= 5.14\n\
snippet packagev514\n\
package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`} ${2:0.99};\n\
\n\
${3}\n\
\n\
1;\n\
\n\
__END__\n\
#moose\n\
snippet moose\n\
use Moose;\n\
use namespace::autoclean;\n\
${1:#}BEGIN {extends '${2:ParentClass}'};\n\
\n\
${3}\n\
# parent\n\
snippet parent\n\
use parent qw(${1:Parent Class});\n\
# Read File\n\
snippet slurp\n\
my $${1:var} = do { local $/; open my $file, '<', \"${2:file}\"; <$file> };\n\
${3}\n\
# strict warnings\n\
snippet strwar\n\
use strict;\n\
use warnings;\n\
# older versioning with perlcritic bypass\n\
snippet vers\n\
## no critic\n\
our $VERSION = '${1:version}';\n\
eval $VERSION;\n\
## use critic\n\
# new 'switch' like feature\n\
snippet switch\n\
use feature 'switch';\n\
\n\
# Anonymous subroutine\n\
snippet asub\n\
sub {\n\
${1:# body }\n\
}\n\
\n\
\n\
\n\
# Begin block\n\
snippet begin\n\
BEGIN {\n\
${1:# begin body}\n\
}\n\
\n\
# call package function with some parameter\n\
snippet pkgmv\n\
__PACKAGE__->${1:package_method}(${2:var})\n\
\n\
# call package function without a parameter\n\
snippet pkgm\n\
__PACKAGE__->${1:package_method}()\n\
\n\
# call package \"get_\" function without a parameter\n\
snippet pkget\n\
__PACKAGE__->get_${1:package_method}()\n\
\n\
# call package function with a parameter\n\
snippet pkgetv\n\
__PACKAGE__->get_${1:package_method}(${2:var})\n\
\n\
# complex regex\n\
snippet qrx\n\
qr/\n\
${1:regex}\n\
/xms\n\
\n\
#simpler regex\n\
snippet qr/\n\
qr/${1:regex}/x\n\
\n\
#given\n\
snippet given\n\
given ($${1:var}) {\n\
${2:# cases}\n\
${3:# default}\n\
}\n\
\n\
# switch-like case\n\
snippet when\n\
when (${1:case}) {\n\
${2:# body}\n\
}\n\
\n\
# hash slice\n\
snippet hslice\n\
@{ ${1:hash} }{ ${2:array} }\n\
\n\
\n\
# map\n\
snippet map\n\
map { ${2: body } } ${1: @array } ;\n\
\n\
\n\
\n\
# Pod stub\n\
snippet ppod\n\
=head1 NAME\n\
\n\
${1:ClassName} - ${2:ShortDesc}\n\
\n\
=head1 SYNOPSIS\n\
\n\
use $1;\n\
\n\
${3:# synopsis...}\n\
\n\
=head1 DESCRIPTION\n\
\n\
${4:# longer description...}\n\
\n\
\n\
=head1 INTERFACE\n\
\n\
\n\
=head1 DEPENDENCIES\n\
\n\
\n\
=head1 SEE ALSO\n\
\n\
\n\
# Heading for a subroutine stub\n\
snippet psub\n\
=head2 ${1:MethodName}\n\
\n\
${2:Summary....}\n\
\n\
# Heading for inline subroutine pod\n\
snippet psubi\n\
=head2 ${1:MethodName}\n\
\n\
${2:Summary...}\n\
\n\
\n\
=cut\n\
# inline documented subroutine\n\
snippet subpod\n\
=head2 $1\n\
\n\
Summary of $1\n\
\n\
=cut\n\
\n\
sub ${1:subroutine_name} {\n\
${2:# body...}\n\
}\n\
# Subroutine signature\n\
snippet parg\n\
=over 2\n\
\n\
=item\n\
Arguments\n\
\n\
\n\
=over 3\n\
\n\
=item\n\
C<${1:DataStructure}>\n\
\n\
${2:Sample}\n\
\n\
\n\
=back\n\
\n\
\n\
=item\n\
Return\n\
\n\
=over 3\n\
\n\
\n\
=item\n\
C<${3:...return data}>\n\
\n\
\n\
=back\n\
\n\
\n\
=back\n\
\n\
\n\
\n\
# Moose has\n\
snippet has\n\
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\
# override\n\
snippet override\n\
override ${1:attribute} => sub {\n\
${2:# my $self = shift;};\n\
${3:# my ($self, $args) = @_;};\n\
};\n\
\n\
\n\
# use test classes\n\
snippet tuse\n\
use Test::More;\n\
use Test::Deep; # (); # uncomment to stop prototype errors\n\
use Test::Exception;\n\
\n\
# local test lib\n\
snippet tlib\n\
use lib qw{ ./t/lib };\n\
\n\
#test methods\n\
snippet tmeths\n\
$ENV{TEST_METHOD} = '${1:regex}';\n\
\n\
# runtestclass\n\
snippet trunner\n\
use ${1:test_class};\n\
$1->runtests();\n\
\n\
# Test::Class-style test\n\
snippet tsub\n\
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 test\n\
snippet trsub\n\
test ${1:test_name} => { description => '${2:Description of test.}'} => sub {\n\
my ($self) = @_;\n\
${3:# test code}\n\
};\n\
\n\
#prep test method\n\
snippet tprep\n\
sub prep${1:number}_${2:test_case} :Test(startup) {\n\
my $self = shift;\n\
${4:# body}\n\
}\n\
\n\
# cause failures to print stack trace\n\
snippet debug_trace\n\
use Carp; # 'verbose';\n\
# cloak \"die\"\n\
# warn \"warning\"\n\
$SIG{'__DIE__'} = sub {\n\
require Carp; Carp::confess\n\
};\n\
\n\
";
exports.scope = "perl";
});