paper: make all source lines have the same minimum height
authorAnton Shestakov <av6@dwimlabs.net>
Wed, 04 Apr 2018 13:14:48 +0800
changeset 37493 f1413e4a54a6
parent 37492 8d05938dd063
child 37494 1ce7a55b09d1
paper: make all source lines have the same minimum height Empty source lines in paper and coal themes used to have smaller height than every other line (because of the way line numbers are shown and because they are using smaller font). This wasn't very noticeable before the follow lines functionality was added, but after that just using the follow-lines button to select a block of code with empty lines would demonstrate the fact that empty lines didn't have enough height - there were white "gaps" in the selection block. Since this problem occurs when lines don't have any content inside, let's create a pseudo-element (it's unselectable because of that) which still doesn't have any content, but fills up empty lines to 100% of their height because of display: inline-block. This is the most natural way to solve this annoyance that I've found so far. Hardcoding height isn't useful because we can have wrapped lines, in which case multiple lines of text need to fit into a single <span>. Setting min-height or line-height doesn't remove the gaps when viewed in Chromium.
mercurial/templates/static/style-paper.css
--- a/mercurial/templates/static/style-paper.css	Sun Apr 08 20:53:07 2018 +0800
+++ b/mercurial/templates/static/style-paper.css	Wed Apr 04 13:14:48 2018 +0800
@@ -308,6 +308,11 @@
   float: left;
 }
 
+.sourcelines > span:after {
+  content: '';
+  display: inline-block;
+}
+
 .sourcelines > span:target, tr:target td {
   background-color: #bfdfff;
 }