# HG changeset patch # User Anton Shestakov # Date 2015-10-14 16:04:58 # Node ID ab2cd800f1b078eac1fc700c704dc9e5928952fa # Parent 07db7e95c464537aeb2dd7aba39de0813eaffd04 gitweb: visually highlight source lines when hovering over line numbers Due to how the line links now reside outside of the source lines, hovering over line numbers doesn't count as hovering over the appropriate source line. It can be worked around by using a "+" css selector. However, it's necessary to reorder the elements and put before (which is actually quite logical). It works without further css tweaks because is already absolute-positioned and so the order doesn't matter visually. diff --git a/mercurial/templates/gitweb/map b/mercurial/templates/gitweb/map --- a/mercurial/templates/gitweb/map +++ b/mercurial/templates/gitweb/map @@ -93,7 +93,7 @@ filediff = filediff.tmpl filecomparison = filecomparison.tmpl filelog = filelog.tmpl fileline = ' - {strip(line|escape, '\r\n')}' + {strip(line|escape, '\r\n')}' annotateline = ' @@ -104,13 +104,13 @@ annotateline = '
{line|escape}
' difflineplus = ' - {strip(line|escape, '\r\n')}' + {strip(line|escape, '\r\n')}' difflineminus = ' - {strip(line|escape, '\r\n')}' + {strip(line|escape, '\r\n')}' difflineat = ' - {strip(line|escape, '\r\n')}' + {strip(line|escape, '\r\n')}' diffline = ' - {strip(line|escape, '\r\n')}' + {strip(line|escape, '\r\n')}' comparisonblock =' diff --git a/mercurial/templates/static/style-gitweb.css b/mercurial/templates/static/style-gitweb.css --- a/mercurial/templates/static/style-gitweb.css +++ b/mercurial/templates/static/style-gitweb.css @@ -29,9 +29,12 @@ a.list { text-decoration:none; color:#00 a.list:hover { text-decoration:underline; color:#880000; } table { padding:8px 4px; } th { padding:2px 5px; font-size:12px; text-align:left; } -tr.light:hover, .parity0:hover, pre.sourcelines.stripes > :nth-child(4n+1):hover { background-color:#edece6; } -tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+3) { background-color:#f6f6f0; } -tr.dark:hover, .parity1:hover, pre.sourcelines.stripes > :nth-child(4n+3):hover { background-color:#edece6; } +tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; } +tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover, +pre.sourcelines.stripes > :nth-child(4n+2):hover, +pre.sourcelines.stripes > :nth-child(4n+4):hover, +pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2), +pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; } td { padding:2px 5px; font-size:12px; vertical-align:top; } td.closed { background-color: #99f; } td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; } diff --git a/tests/test-hgweb.t b/tests/test-hgweb.t --- a/tests/test-hgweb.t +++ b/tests/test-hgweb.t @@ -340,7 +340,7 @@ static file $ get-with-headers.py --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server 200 Script output follows - content-length: 6412 + content-length: 6521 content-type: text/css body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; } @@ -374,9 +374,12 @@ static file a.list:hover { text-decoration:underline; color:#880000; } table { padding:8px 4px; } th { padding:2px 5px; font-size:12px; text-align:left; } - tr.light:hover, .parity0:hover, pre.sourcelines.stripes > :nth-child(4n+1):hover { background-color:#edece6; } - tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+3) { background-color:#f6f6f0; } - tr.dark:hover, .parity1:hover, pre.sourcelines.stripes > :nth-child(4n+3):hover { background-color:#edece6; } + tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; } + tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover, + pre.sourcelines.stripes > :nth-child(4n+2):hover, + pre.sourcelines.stripes > :nth-child(4n+4):hover, + pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2), + pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; } td { padding:2px 5px; font-size:12px; vertical-align:top; } td.closed { background-color: #99f; } td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }