# HG changeset patch # User Denis Laxalde # Date 1498058237 -7200 # Node ID 1c97df5e3b46d1b8dc3e0df3ae07b35c55c0db68 # Parent 7c82bfd55d478b5c4d76aa217f8048488bb808ef hgweb: plug followlines action in annotate view Add the followlines.js script and corresponding parameters as data attribute on element. Extend CSS rules so that they also match the DOM structure of annotate view. As previously, only address paper and gitweb styles (other styles do not have followlines at all). diff -r 7c82bfd55d47 -r 1c97df5e3b46 mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py Wed Jun 21 17:07:51 2017 +0200 +++ b/mercurial/hgweb/webcommands.py Wed Jun 21 17:17:17 2017 +0200 @@ -865,6 +865,7 @@ fctx = webutil.filectx(web.repo, req) f = fctx.path() parity = paritygen(web.stripecount) + ishead = fctx.filerev() in fctx.filelog().headrevs() # parents() is called once per line and several lines likely belong to # same revision. So it is worth caching. @@ -927,6 +928,7 @@ symrev=webutil.symrevorshortnode(req, fctx), rename=webutil.renamelink(fctx), permissions=fctx.manifest().flags(f), + ishead=int(ishead), **webutil.commonentry(web.repo, fctx)) @webcommand('filelog') diff -r 7c82bfd55d47 -r 1c97df5e3b46 mercurial/templates/gitweb/fileannotate.tmpl --- a/mercurial/templates/gitweb/fileannotate.tmpl Wed Jun 21 17:07:51 2017 +0200 +++ b/mercurial/templates/gitweb/fileannotate.tmpl Wed Jun 21 17:17:17 2017 +0200 @@ -66,10 +66,15 @@
- + {annotate%annotateline}
+ + {footer} diff -r 7c82bfd55d47 -r 1c97df5e3b46 mercurial/templates/paper/fileannotate.tmpl --- a/mercurial/templates/paper/fileannotate.tmpl Wed Jun 21 17:07:51 2017 +0200 +++ b/mercurial/templates/paper/fileannotate.tmpl Wed Jun 21 17:17:17 2017 +0200 @@ -73,7 +73,10 @@   line source - + {annotate%annotateline} @@ -81,4 +84,6 @@ + + {footer} diff -r 7c82bfd55d47 -r 1c97df5e3b46 mercurial/templates/static/style-gitweb.css --- a/mercurial/templates/static/style-gitweb.css Wed Jun 21 17:07:51 2017 +0200 +++ b/mercurial/templates/static/style-gitweb.css Wed Jun 21 17:17:17 2017 +0200 @@ -177,10 +177,12 @@ } /* Followlines */ +div.page_body table tbody.sourcelines > tr.followlines-select:hover, div.page_body pre.sourcelines > span.followlines-select:hover { cursor: cell; } +tbody.sourcelines > tr.followlines-selected, pre.sourcelines > span.followlines-selected { background-color: #99C7E9 !important; } diff -r 7c82bfd55d47 -r 1c97df5e3b46 mercurial/templates/static/style-paper.css --- a/mercurial/templates/static/style-paper.css Wed Jun 21 17:07:51 2017 +0200 +++ b/mercurial/templates/static/style-paper.css Wed Jun 21 17:17:17 2017 +0200 @@ -280,10 +280,12 @@ background-color: #bfdfff; } +div.overflow table tbody.sourcelines > tr.followlines-select:hover, div.overflow pre.sourcelines > span.followlines-select:hover { cursor: cell; } +tbody.sourcelines > tr.followlines-selected, pre.sourcelines > span.followlines-selected { background-color: #99C7E9; } diff -r 7c82bfd55d47 -r 1c97df5e3b46 tests/test-hgweb.t --- a/tests/test-hgweb.t Wed Jun 21 17:07:51 2017 +0200 +++ b/tests/test-hgweb.t Wed Jun 21 17:17:17 2017 +0200 @@ -340,7 +340,7 @@ $ get-with-headers.py --twice localhost:$HGPORT 'static/style-gitweb.css' - date etag server 200 Script output follows - content-length: 8349 + content-length: 8463 content-type: text/css body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; } @@ -522,10 +522,12 @@ } /* Followlines */ + div.page_body table tbody.sourcelines > tr.followlines-select:hover, div.page_body pre.sourcelines > span.followlines-select:hover { cursor: cell; } + tbody.sourcelines > tr.followlines-selected, pre.sourcelines > span.followlines-selected { background-color: #99C7E9 !important; } diff -r 7c82bfd55d47 -r 1c97df5e3b46 tests/test-highlight.t --- a/tests/test-highlight.t Wed Jun 21 17:07:51 2017 +0200 +++ b/tests/test-highlight.t Wed Jun 21 17:17:17 2017 +0200 @@ -292,7 +292,10 @@   line source - + @@ -829,6 +832,8 @@ + +