bin/populate-lang-table, mason/pastebin/%show: Add Markdown support.
[odin-cgi] / bin / populate-lang-table
index 912aaf6..e96d6a2 100755 (executable)
@@ -9,11 +9,12 @@ my %newlang, %oldlang;
 open my $fh, "-|", "highlight", "-p" or die "highlight: $!";
 while (<$fh>) {
   my ($descr, $lang) = /^(.*\S)\s*:\s*(\S+)(?:\s.*|)$/;
-  next unless defined $lang;
-  $newlang{$lang} = $descr;
+  next if !defined $lang or $lang eq "txt";
+  $newlang{"hl:$lang"} = $descr;
 }
 close $fh or die "close highlight: $! $?";
-$newlang{"txt"} //= "Plain text";
+$newlang{"txt"} = "Plain text";
+$newlang{"md"} = "Markdown";
 
 Odin::xact {
   my $h = $db->selectall_hashref
@@ -28,8 +29,8 @@ Odin::xact {
   for my $lang (keys %newlang) {
     if (!exists $oldlang{$lang}) {
       print ";; insert new language `$lang' (`$newlang{$lang}')\n";
-      $db->do("INSERT INTO odin_pastebin_lang (lang) VALUES (?)",
-             undef, $lang);
+      $db->do("INSERT INTO odin_pastebin_lang (lang, descr) VALUES (?, ?)",
+             undef, $lang, $newlang{$lang});
     } elsif ($oldlang{$lang} ne $newlang{$lang}) {
       print ";; change description for `$lang' ",
        "(`$oldlang{$lang}' -> `$newlang{$lang}')\n";