1
0
Fork 0
mirror of https://github.com/perlbot/perlbuut-pastebin synced 2025-06-07 14:17:26 -04:00

Use the new more comprehensive language model all over

This commit is contained in:
Ryan Voots 2017-04-26 19:20:57 -04:00
parent 2a65124acc
commit 33ec28a7e9
5 changed files with 33 additions and 50 deletions

View file

@ -77,22 +77,9 @@ sub api_post_paste {
sub api_get_languages {
my $c=shift;
$c->render(json => {languages => [
{name => "perl", description => "Perl (blead/git)"},
{name => "perl4", description => "Perl 4.0.36"},
{name => "perl5.5", description => "Perl 5.5"},
{name => "perl5.6", description => "Perl 5.6"},
{name => "perl5.8", description => "Perl 5.8"},
{name => "perl5.10", description => "Perl 5.10"},
{name => "perl5.12", description => "Perl 5.12"},
{name => "perl5.14", description => "Perl 5.14"},
{name => "perl5.16", description => "Perl 5.16"},
{name => "perl5.18", description => "Perl 5.18"},
{name => "perl5.20", description => "Perl 5.20"},
{name => "perl5.22", description => "Perl 5.22"},
{name => "perl5.24", description => "Perl 5.24"},
{name => "text", description => "Plain text"},
]});
my $lang_ar = $c->languages->get_languages();
$c->render(json => {languages => $lang_ar});
};
sub api_get_channels {

View file

@ -102,7 +102,7 @@ sub get_paste {
if ($row) {
$c->stash($row);
$c->stash({language_mode => $c->languages->language_to_acemode($row->{language})});
$c->stash({language => $c->languages->get_language_hash->{$row->{language}}});
$c->stash({page_tmpl => 'viewer.html'});
$c->stash({eval => $c->eval->get_eval($pasteid, $row->{paste}, $row->{language})});
$c->stash({paste_id => $pasteid});

View file

@ -5,22 +5,26 @@ use warnings;
use Mojo::Base '-base';
my @langs = (
{name => "perl", mode => "perl", description => "Perl (blead/git)"},
{name => "ruby", mode => "ruby", description => "Ruby (2.1)"},
{name => "text", mode => "text", description => "Plain text"},
{name => "perl5.24", mode => "perl", description => "Perl 5.24"},
{name => "perl5.22", mode => "perl", description => "Perl 5.22"},
{name => "perl5.20", mode => "perl", description => "Perl 5.20"},
{name => "perl5.18", mode => "perl", description => "Perl 5.18"},
{name => "perl5.16", mode => "perl", description => "Perl 5.16"},
{name => "perl5.14", mode => "perl", description => "Perl 5.14"},
{name => "perl5.12", mode => "perl", description => "Perl 5.12"},
{name => "perl5.10", mode => "perl", description => "Perl 5.10"},
{name => "perl5.8", mode => "perl", description => "Perl 5.8"},
{name => "perl5.6", mode => "perl", description => "Perl 5.6"},
{name => "perl5.5", mode => "perl", description => "Perl 5.5"},
{name => "perl4", mode => "perl", description => "Perl 4.0.36"},
);
my %langs = (
"perl" => {mode => "perl", description => "Perl (blead/git)"},
"perl4" => {mode => "perl", description => "Perl 4.0.36"},
"perl5.5" => {mode => "perl", description => "Perl 5.5"},
"perl5.6" => {mode => "perl", description => "Perl 5.6"},
"perl5.8" => {mode => "perl", description => "Perl 5.8"},
"perl5.10" => {mode => "perl", description => "Perl 5.10"},
"perl5.12" => {mode => "perl", description => "Perl 5.12"},
"perl5.14" => {mode => "perl", description => "Perl 5.14"},
"perl5.16" => {mode => "perl", description => "Perl 5.16"},
"perl5.18" => {mode => "perl", description => "Perl 5.18"},
"perl5.20" => {mode => "perl", description => "Perl 5.20"},
"perl5.22" => {mode => "perl", description => "Perl 5.22"},
"perl5.24" => {mode => "perl", description => "Perl 5.24"},
"text" => {mode => "text", description => "Plain text"},
"ruby" => {mode => "ruby", description => "Ruby (2.1)"},
map {$_->{name} => $_} @langs,
);
sub language_to_acemode {
@ -29,8 +33,12 @@ sub language_to_acemode {
return $langs{$lang}{mode} // "text";
}
sub get_languages {
sub get_language_hash {
return \%langs;
}
sub get_languages {
return \@langs
}
1;

View file

@ -94,21 +94,9 @@
<!-- TODO this should come from the eval server somehow -->
<label>Language</label>
<select name="language" id="language">
<option value="perl" data-lang="perl">Perl (blead)</option>
<option value="ruby" data-lang="ruby">Ruby (2.1)</option>
<option value="text" data-lang="text">Text</option>
<option value="perl5.24" data-lang="perl">Perl 5.24</option>
<option value="perl5.22" data-lang="perl">Perl 5.22</option>
<option value="perl5.20" data-lang="perl">Perl 5.20</option>
<option value="perl5.18" data-lang="perl">Perl 5.18</option>
<option value="perl5.16" data-lang="perl">Perl 5.16</option>
<option value="perl5.14" data-lang="perl">Perl 5.14</option>
<option value="perl5.12" data-lang="perl">Perl 5.12</option>
<option value="perl5.10" data-lang="perl">Perl 5.10</option>
<option value="perl5.8" data-lang="perl">Perl 5.8</option>
<option value="perl5.6" data-lang="perl">Perl 5.6</option>
<option value="perl5.5" data-lang="perl">Perl 5.5</option>
<option value="perl4" data-lang="perl">Perl 4.0.36</option>
[% FOREACH lang IN languages %]
<option value="[% lang.name %]" data-lang="[% lang.mode %]">[% lang.description %]</option>
[% END %]
</select>
<label>Expire in</label>
<select name="expire">

View file

@ -57,7 +57,7 @@
<label>Raw Viewer</label>
<input type="checkbox" id="raw_editor"/>
<label><a href="/raw/[% pasteid %]">Raw Link</a></label>
<label>Language: </label><span>[% language %]</label>
<label>Language: </label><span>[% language.description %]</label>
<!-- TODO this should come from the eval server somehow -->
</div>
<div class="col-md-12">
@ -83,7 +83,7 @@
var editor = ace.edit("editor");
//editor.setTheme("ace/theme/twilight");
editor.session.setMode("ace/mode/[% language_mode %]");
editor.session.setMode("ace/mode/[% language.mode %]");
var use_editor = function() {
if ($("#raw_editor").is(":checked")) {