gitweb: Highlight matched part of project description when searching projects

Use esc_html_match_hl() from earlier commit to mark match in the _whole_ description when searching projects. Currently, with this commit, when searching projects there is always shown full description of a project, and not a shortened one (like for ordinary projects list view), even if the match is on project name and not project description. Because we always show full description of a project, and not possibly shortened name, there is no need for having full description on mouseover via title attribute. Showing full description when there is match on it is useful to avoid situation where match is in shortened, invisible part. On the other hand that makes project search different than projects list view; also there can be problems with overly-long project descriptions. Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Jakub Narebski committed Feb 27, 2012 at 02:55 UTC 5fb3cf23170f7dc43568d0234c338d67372c97cc
1 file changed +6 -2
gitweb/gitweb.perl
+6 -2
@@ -5404,8 +5404,12 @@ sub git_project_list_rows {
5404 esc_html_match_hl($pr->{'path'}, $search_regexp)) .
5405 "</td>\n" .
5406 "<td>" . $cgi->a({-href => href(project=>$pr->{'path'}, action=>"summary"),
5407 - -class => "list", -title => $pr->{'descr_long'}},
5408 - esc_html($pr->{'descr'})) . "</td>\n" .
5407 + -class => "list",
5408 + $search_regexp ? () : -title => $pr->{'descr_long'}},
5409 + $search_regexp
5410 + ? esc_html_match_hl($pr->{'descr_long'}, $search_regexp)
5411 + : esc_html($pr->{'descr'})) .
5412 + "</td>\n" .
5413 "<td><i>" . chop_and_escape_str($pr->{'owner'}, 15) . "</i></td>\n";
5414 print "<td class=\"". age_class($pr->{'age'}) . "\">" .
5415 (defined $pr->{'age_string'} ? $pr->{'age_string'} : "No commits") . "</td>\n" .