From 603d9ebc517fcf89ab6d2e7845b118aa6b8e9069 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 27 Jan 2019 11:38:42 +0000 Subject: viewvcs: wire up syntax-highlighting for blobs And update 216dark.css to match a color scheme I'm used to; which is fairly minimal and doesn't use all the classes "highlight" provides. --- lib/PublicInbox/ViewVCS.pm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox/ViewVCS.pm') diff --git a/lib/PublicInbox/ViewVCS.pm b/lib/PublicInbox/ViewVCS.pm index 5de37ee6..a8aa0b61 100644 --- a/lib/PublicInbox/ViewVCS.pm +++ b/lib/PublicInbox/ViewVCS.pm @@ -21,6 +21,11 @@ use PublicInbox::SolverGit; use PublicInbox::WwwStream; use PublicInbox::Linkify; use PublicInbox::Hval qw(ascii_html to_filename); +my $hl = eval { + require PublicInbox::HlMod; + PublicInbox::HlMod->new; +}; + my %QP_MAP = ( A => 'oid_a', B => 'oid_b', a => 'path_a', b => 'path_b' ); my $max_size = 1024 * 1024; # TODO: configurable my $enc_utf8 = find_encoding('UTF-8'); @@ -88,6 +93,14 @@ sub solve_result { my $nl = ($$blob =~ tr/\n/\n/); my $pad = length($nl); + $l->linkify_1($$blob); + my $ok = $hl->do_hl($blob, $path) if $hl; + if ($ok) { + $blob = $ok; + } else { + $$blob = ascii_html($$blob); + } + # using some of the same CSS class names and ids as cgit $log = "
$oid $type $size bytes $raw_link
" . "
". @@ -96,7 +109,7 @@ sub solve_result { } (1..$nl)) . '' . '
 
'. # pad for non-CSS users "" . - ascii_html($$blob) . + $l->linkify_2($$blob) . '' . $log; html_page($ctx, 200, \$log); -- cgit v1.2.3-24-ge0c7