source: support whitespace before module reference
authorMischa POSLAWSKY <perl@shiar.org>
Mon, 12 Oct 2009 15:33:23 +0000 (15:33 +0000)
committerMischa POSLAWSKY <perl@shiar.org>
Tue, 13 Oct 2009 22:38:39 +0000 (22:38 +0000)
In `require Some::Module` the module name includes leading space (unlike
`use` where it belongs to the preceding construct).  Support this so that
such references will be linked as well.

source.plp

index bc8423b1c111e5003961a80d848fc0175e875d2d..1f3c60037ff34686b27268463037039a0476e5ad 100644 (file)
@@ -64,8 +64,8 @@ foreach (@$parsed) {
        if ($_->[0] eq 'Constant' and $_->[1] =~ s/^(')([a-z0-9_.]+\.plp?)(?=\1$)//) {
                printf '%s<a href="%s">%s</a>', $1, "/source/$2", $2;
        }
        if ($_->[0] eq 'Constant' and $_->[1] =~ s/^(')([a-z0-9_.]+\.plp?)(?=\1$)//) {
                printf '%s<a href="%s">%s</a>', $1, "/source/$2", $2;
        }
-       if (!$_->[0] and $_->[1] =~ s/^([A-Z]\w+(?:::\w+)+)(?![^;\s])//) {
-               printf '<a href="%s">%s</a>', "/source/$1", $1;
+       if (!$_->[0] and $_->[1] =~ s/^(\s*)([A-Z]\w+(?:::\w+)+)(?![^;\s])//) {
+               printf '%s<a href="%s">%s</a>', $1, "/source/$2", $2;
        }
        print Text::VimColor::_xml_escape($_->[1]);
        print "</$tag>" if $tag;
        }
        print Text::VimColor::_xml_escape($_->[1]);
        print "</$tag>" if $tag;