[Lxr-commits] CVS: lxr .cvsignore,1.1,1.2 diff,1.6,1.7 find,1.4,1.5 ident,1.9,1.10 search,1.5,1.6 so
Brought to you by:
ajlittoz
|
From: Malcolm B. <mb...@us...> - 2001-09-27 16:12:23
|
Update of /cvsroot/lxr/lxr
In directory usw-pr-cvs1:/tmp/cvs-serv1620
Modified Files:
.cvsignore diff find ident search source
Log Message:
Apply patch 458027 from Pavel Hlavnicka
Adds stylesheet (CSS) support to ident, source and diff.
Output style is now controllable from via the lxr.css stylesheet (example
provided in templates). Ident output now generated via a template rather
than hard coded.
Minor additional fixes by me result in the output of ident & source both
validating as HTML 4.01 Transitional.
Index: .cvsignore
===================================================================
RCS file: /cvsroot/lxr/lxr/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- .cvsignore 2001/08/16 00:36:23 1.1
+++ .cvsignore 2001/09/27 16:12:20 1.2
@@ -3,3 +3,4 @@
html-head.html
html-search.html
html-tail.html
+html-ident.html
Index: diff
===================================================================
RCS file: /cvsroot/lxr/lxr/diff,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- diff 2000/10/31 12:52:10 1.6
+++ diff 2001/09/27 16:12:20 1.7
@@ -147,17 +147,19 @@
print("<h1>Diff markup</h1>\n",
"<h3>Differences between ",
- fileref("$origname <i>(".$config->vardescription($diffvar).
- " $origval)</i>", $origname, undef, "$diffvar=$origval"),
+ fileref("$origname (".$config->vardescription($diffvar).
+ " $origval)", "diff-fref",
+ $origname, undef, "$diffvar=$origval"),
" and ",
- fileref("$diffname <i>(".$config->vardescription($diffvar).
- " $diffval)</i>",$diffname, undef, "$diffvar=$diffval"),
+ fileref("$diffname (".$config->vardescription($diffvar).
+ " $diffval)", "diff-fref",
+ $diffname, undef, "$diffvar=$diffval"),
"</h3><hr>\n");
my $origh = new FileHandle($origtemp);
my $orig = '';
- markupfile($origh, sub { $orig .= shift });
+ markupfile($origh, sub { $orig .= shift }, 1);
my $len = $.+$ofs;
$origh->close;
@@ -180,12 +182,16 @@
my @orig = split(/\n/, $orig);
my @new = split(/\n/, $new);
- print("<pre>");
+ print("<pre class=file>\n");
foreach $i (0..$len) {
my $o = htmlsub($orig[$i], 50);
my $n = $new[$i];
- print("$o <font color=red>", ($chg{$i+1} || " "), "</font> $n\n");
+ my $diffmark = $chg{$i+1} ?
+ ("<span class=diff-mark>" . $chg{$i+1} . "</span>") : " ";
+ #print("$o <span class=diff-mark>",
+ # ($chg{$i+1} || " "), "</span> $n\n");
+ print "$o $diffmark $n\n";
}
print("</pre>");
Index: find
===================================================================
RCS file: /cvsroot/lxr/lxr/find,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- find 2000/10/31 12:52:10 1.4
+++ find 2001/09/27 16:12:20 1.5
@@ -62,7 +62,7 @@
while($file = <FILELLISTING>) {
$file =~ s/^$sourceroot//;
if($file =~ /$searchtext/) {
- print(&fileref("$file", "/$file"),"<br>\n");
+ print(&fileref("$file", "find-file", "/$file"),"<br>\n");
}
}
}
Index: ident
===================================================================
RCS file: /cvsroot/lxr/lxr/ident,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- ident 2000/10/31 12:52:10 1.9
+++ ident 2001/09/27 16:12:20 1.10
@@ -32,7 +32,100 @@
use Local;
-sub ident {
+sub varinputs {
+ my $ret = '';
+ foreach ($config->allvariables) {
+ if ($config->variable($_) ne $config->vardefault($_)) {
+ $ret .= "<input type=hidden name='$_' value='" .
+ $config->variable($_) . "'>\n";
+ }
+ }
+ return $ret;
+}
+
+sub refexpand {
+ my $templ = shift;
+ my $ret = '';
+
+ my @refs = $index->getindex($identifier, $release);
+
+ my $def;
+ foreach my $def (@refs) {
+ my ($file, $line, $type, $rel) = @$def;
+
+ $rel &&= "(member of ".idref($rel, "search-member", $rel).")";
+ $ret .= expandtemplate($templ,
+ (file => sub { $file },
+ line => sub { $line },
+ type => sub { $type_names{$type} },
+ rel => sub { $rel },
+ fileref => sub {
+ fileref("$file, line $line",
+ "search-decl",
+ $file, $line);
+ }
+ ));
+
+# print("<span class=search-li1> $type_names{$type} in ".
+# fileref("$file, line $line", "search-decl",
+# $file, $line).
+# " $rel</span>\n");
+ }
+
+ return $ret;
+}
+
+sub usesexpand {
+ my $templ = shift;
+ my $ret = '';
+
+ my @uses = $index->getreference($identifier, $release);
+ foreach my $ref (sort { $$a[0] cmp $$b[0] } @uses) {
+ my ($file, $line) = @$ref;
+ $ret .= expandtemplate($templ,
+ (
+ file => sub { $file },
+ line => sub { $line },
+ fileref => sub {
+ fileref("$file, line $line", "search-ref",
+ $file, $line);
+ }
+ ));
+ }
+
+ return $ret;
+}
+
+sub printident {
+ my $dir = shift;
+ my $templ;
+
+ #$templ = "<ul>\n\$files{\n<li>\$iconlink \$namelink\n}</ul>\n";
+ if ($config->htmlident) {
+ unless (open(TEMPL, $config->htmlident)) {
+ warning("Template ".$config->htmlident." does not exist.");
+ } else {
+ local($/) = undef;
+ $templ = <TEMPL>;
+ close(TEMPL);
+ }
+ }
+
+ # print the description of the current directory
+ #dirdesc($dir);
+
+ # print the listing itself
+ print(expandtemplate($templ,
+ (test => sub { "testik" },
+ variables => \&varinputs,
+ identifier => sub { return $identifier },
+ refs => sub { refexpand(@_) },
+ uses => sub { usesexpand(@_) },
+ )
+ ));
+}
+
+sub ident_ {
print("Type the full name of an identifier to summarize ",
"(a function name, variable name, typedef, etc).\n",
"<p>Matches are case-sensitive.\n");
@@ -55,23 +148,25 @@
if ($identifier) {
my @refs = $index->getindex($identifier, $release);
- print("<h1>$identifier</h1>\n");
+ print("<span class=search-ident>$identifier</span>\n");
if (@refs) {
my $def;
- print("<ul>\n");
+ # print("<ul>\n"); CSS _PH_
+ print "<span class=search-ul>\n";
while ($def = shift(@refs)) {
my ($file, $line, $type, $rel) = @$def;
- $rel &&= "(member of ".idref($rel, $rel).")";
+ $rel &&= "(member of ".idref($rel, "search-member", $rel).")";
- print("<li> $type_names{$type} in ".
- fileref("$file, line $line",
+ print("<span class=search-li1> $type_names{$type} in ".
+ fileref("$file, line $line", "search-decl",
$file, $line).
- " $rel<br>\n");
+ " $rel</span>\n");
}
- print("</ul>\n");
+ print "</span>\n";
+ # print("</ul>\n");
my @uses = $index->getreference($identifier, $release);
@@ -82,10 +177,10 @@
while ($ref = shift(@uses)) {
my ($file, $line) = @$ref;
- print("<li> ".
- fileref("$file, line $line",
+ print("<span class=search-li2> ".
+ fileref("$file, line $line", "search-ref",
$file, $line).
- "<br>\n");
+ "</span>\n");
}
}
}
@@ -99,6 +194,6 @@
httpinit;
makeheader('ident');
-ident;
+printident;
makefooter('ident');
Index: search
===================================================================
RCS file: /cvsroot/lxr/lxr/search,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- search 2001/07/30 21:22:40 1.5
+++ search 2001/09/27 16:12:20 1.6
@@ -99,7 +99,8 @@
$text =~ s/</</g;
$text =~ s/>/>/g;
- print(&fileref("$file, line $line", "/$file", $line),
+ print(&fileref("$file, line $line", "find-file",
+ "/$file", $line),
" -- $text<br>\n");
}
}
Index: source
===================================================================
RCS file: /cvsroot/lxr/lxr/source,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- source 2001/08/04 17:55:37 1.26
+++ source 2001/09/27 16:12:20 1.27
@@ -41,7 +41,8 @@
$img = "internal-gopher-menu";
}
- return fileref("<img align=absbottom border=0 src=\"$img\">", $dir.$node);
+ return fileref("<img align=bottom border=0 src=\"$img\" alt=\"folder\">", "",
+ $dir.$node);
}
@@ -49,9 +50,9 @@
my ($templ, $node, $dir) = @_;
if ($node eq '../') {
- return fileref("Parent directory", $dir.$node);
+ return fileref("Parent directory", "dirfolder", $dir.$node);
} else {
- return fileref($node, $dir.$node);
+ return fileref($node, "dirfolder", $dir.$node);
}
}
@@ -71,12 +72,13 @@
# $img = "/icons/text.gif";
$img = "internal-gopher-unknown";
}
- return fileref("<img align=absbottom border=0 src=\"$img\">", $dir.$node);
+ return fileref("<img align=bottom border=0 src=\"$img\">", "",
+ $dir.$node);
}
sub filename {
my ($templ, $node, $dir) = @_;
- return fileref($node, $dir.$node);
+ return fileref($node, "dirfile", $dir.$node);
}
sub filesize {
@@ -129,10 +131,14 @@
sub bgcolor {
my ($templ, $line) = @_;
-
return ((($line - 1) / 3) % 2) ? "#FFFFFF" : "#EEEEEE";
}
+sub rowclass {
+ my ($templ, $line) = @_;
+ return ((($line - 1) / 3) % 2) ? "dirrow2" : "dirrow1";
+}
+
sub direxpand {
my ($templ, $dir) = @_;
my $direx = '';
@@ -160,7 +166,8 @@
%index = $files->getindex($dir, $release);
unshift(@nodes, '../') unless $dir eq '/';
-
+
+ #CSS checked _PH_
foreach $node (@nodes) {
if ($node =~ /\/$/) {
$direx .= expandtemplate
@@ -170,6 +177,7 @@
'filesize' => sub { '-' },
'modtime' => sub { modtime(@_, $node, $dir) },
'bgcolor' => sub { bgcolor(@_, $line++) },
+ 'css' => sub { rowclass(@_, $line++) },
'description' => sub { descexpand(@_, $node, $dir, \%index) }
));
}
@@ -182,6 +190,7 @@
'filesize' => sub { filesize(@_, $node, $dir) },
'modtime' => sub { modtime(@_, $node, $dir) },
'bgcolor' => sub { bgcolor(@_, $line++) },
+ 'css' => sub { rowclass(@_, $line++) },
'description' => sub { descexpand(@_, $node, $dir, \%index) }
));
}
@@ -251,12 +260,14 @@
}
my $l;
- markupfile($fileh,
- sub {
- $l = shift;
- $l =~ s/(\n)/$1.shift(@ann)/ge;
- print $l;
- });
+ my $outfun = sub {
+ $l = shift;
+ $l =~ s/(\n)/$1.shift(@ann)/ge;
+ print $l;
+ };
+ &$outfun("<pre class=file>\n");
+ markupfile($fileh, $outfun);
+ &$outfun("</pre>\n");
}
}
|