Lines Matching +full:light +full:- +full:weight
1 //===- SourceCoverageViewHTML.cpp - A html code coverage view -------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 //===----------------------------------------------------------------------===//
33 unsigned NumSpaces = Opts.TabSize - (ColNum % Opts.TabSize); in escape()
88 "<meta name='viewport' content='width=device-width,initial-scale=1'>"
89 "<meta charset='UTF-8'>";
100 scroll_selector = "tr:has(.selected) td.line-number"
129 const last = nodes[nodes.length - 1]; // last
171 next_uncovered("td.uncovered-line", reverse)
200 background-color: #f004;
203 background-color: cyan;
206 scroll-behavior: smooth;
209 font-family: -apple-system, sans-serif;
212 margin-top: 0px !important;
213 margin-bottom: 0px !important;
215 .source-name-title {
217 border-bottom: 1px solid #8888;
218 background-color: #0002;
219 line-height: 35px;
223 margin-left: left;
224 margin-right: auto;
226 border-radius: 3px;
228 .expansion-view {
229 margin-left: 0px;
230 margin-top: 5px;
231 margin-right: 5px;
232 margin-bottom: 5px;
234 border-radius: 3px;
237 border-collapse: collapse;
239 .light-row {
241 border-left: none;
242 border-right: none;
244 .light-row-bold {
246 border-left: none;
247 border-right: none;
248 font-weight: bold;
250 .column-entry {
251 text-align: left;
253 .column-entry-bold {
254 font-weight: bold;
255 text-align: left;
257 .column-entry-yellow {
258 text-align: left;
259 background-color: #ff06;
261 .column-entry-red {
262 text-align: left;
263 background-color: #f004;
265 .column-entry-gray {
266 text-align: left;
267 background-color: #fff4;
269 .column-entry-green {
270 text-align: left;
271 background-color: #0f04;
273 .line-number {
274 text-align: right;
276 .covered-line {
277 text-align: right;
280 .uncovered-line {
281 text-align: right;
284 .uncovered-line.selected {
286 font-weight: bold;
289 background-color: #f008;
290 font-weight: bold;
293 background-color: #f008;
294 font-weight: bold;
299 background-color: #bef;
300 text-decoration: none;
302 .tooltip span.tooltip-content {
305 margin-left: -50px;
309 line-height: 30px;
310 text-align: center;
312 border-radius: 6px;
314 .tooltip span.tooltip-content:after {
319 margin-left: -8px;
321 border-top: 8px solid #000000;
322 border-right: 8px solid transparent;
323 border-left: 8px solid transparent;
325 :hover.tooltip span.tooltip-content {
330 z-index: 999;
333 vertical-align: top;
335 border-collapse: collapse;
336 border-right: 1px solid #8888;
337 border-left: 1px solid #8888;
338 text-align: left;
341 display: inline-block;
342 text-decoration: inherit;
344 td:first-child {
345 border-left: none;
347 td:last-child {
348 border-right: none;
351 background-color: #eee;
353 tr:last-child {
354 border-bottom: none;
356 tr:has(> td >a:target), tr:has(> td.uncovered-line.selected) {
357 background-color: #8884;
369 @media (prefers-color-scheme: dark) {
371 background-color: #222;
375 background-color: #111;
377 .covered-line {
380 .uncovered-line {
384 background-color: #068;
389 tr:has(> td >a:target), tr:has(> td.uncovered-line.selected) {
390 background-color: #8884;
401 const char *BeginSourceNameDiv = "<div class='source-name-title'>";
413 const char *BeginExpansionDiv = "<div class='expansion-view'>";
482 RSO << "- "; in emitTableRow()
485 const char *CellClass = "column-entry-yellow"; in emitTableRow()
487 CellClass = "column-entry-gray"; in emitTableRow()
489 CellClass = "column-entry-green"; in emitTableRow()
491 CellClass = "column-entry-red"; in emitTableRow()
520 OS << tag("tr", join(Columns.begin(), Columns.end(), ""), "light-row-bold"); in emitTableRow()
522 OS << tag("tr", join(Columns.begin(), Columns.end(), ""), "light-row"); in emitTableRow()
559 Columns.emplace_back(tag("td", "Filename", "column-entry-bold")); in emitColumnLabelsForIndex()
560 Columns.emplace_back(tag("td", "Function Coverage", "column-entry-bold")); in emitColumnLabelsForIndex()
563 tag("td", "Instantiation Coverage", "column-entry-bold")); in emitColumnLabelsForIndex()
564 Columns.emplace_back(tag("td", "Line Coverage", "column-entry-bold")); in emitColumnLabelsForIndex()
566 Columns.emplace_back(tag("td", "Region Coverage", "column-entry-bold")); in emitColumnLabelsForIndex()
568 Columns.emplace_back(tag("td", "Branch Coverage", "column-entry-bold")); in emitColumnLabelsForIndex()
570 Columns.emplace_back(tag("td", "MC/DC", "column-entry-bold")); in emitColumnLabelsForIndex()
592 CSS->operator<<(CSSForCoverage); in emitStyleSheet()
603 JS->operator<<(JSForCoverage); in emitJavaScript()
620 "SourceBasedCodeCoverage.html#interpreting-reports", in emitReportHeader()
693 OSRef << tag("tr", tag("td", tag("pre", Link)), "light-row") << '\n'; in createIndexFile()
771 auto Link = buildRelLinkToFile(FCS->Name); in generateSubDirectoryReport()
772 OSRef << tag("tr", tag("td", tag("pre", Link)), "light-row") << '\n'; in generateSubDirectoryReport()
794 // If llvm-cov works on relative coverage mapping data, the LCP of in buildTitleLinks()
808 SmallString<128> SubPath = LCPath.substr(Last, *Iter - Last); in buildTitleLinks()
819 auto &Name = I->first; in buildTitleLinks()
827 for (unsigned J = I->second; J > 0; --J) in buildTitleLinks()
879 auto &LCPath = TotalsOrErr->Name; in createIndexFile()
892 <meta http-equiv="Refresh" content="0; url=')" in createIndexFile()
920 // If this view has sub-views, renderLine() cannot close the view's cell. in renderLineSuffix()
921 // Take care of it here, after all sub-views have been rendered. in renderLineSuffix()
928 // The table-based output makes view dividers unnecessary. in renderViewDivider()
937 // Steps for handling text-escaping, highlighting, and tooltip creation: in renderLine()
953 Snip(LCol - 1, Segments.empty() ? 0 : (Segments.front()->Col - 1)); in renderLine()
956 Snip(LCol - 1, Segments[I]->Col - LCol); in renderLine()
959 Snip(LCol - 1, Line.size() + 1 - LCol); in renderLine()
982 return S && (!S->IsGapRegion || (Color && *Color == "red")) && in renderLine()
983 S->HasCount && S->Count == 0; in renderLine()
996 else if (CurSeg->Col == ExpansionCol) in renderLine()
1002 Snippets[I + 1] = Highlight(Snippets[I + 1], CurSeg->Col, in renderLine()
1003 CurSeg->Col + Snippets[I + 1].size()); in renderLine()
1011 errs() << "Highlighted line " << LineNo << ", " << Range.first << " -> "; in renderLine()
1021 // sub-line region count tooltips if needed. in renderLine()
1025 for (unsigned I = 0, E = Segments.size() - 1; I < E; ++I) { in renderLine()
1027 if (!CurSeg->IsRegionEntry) in renderLine()
1029 if (CurSeg->Count == LCS.getExecutionCount()) in renderLine()
1033 tag("div", Snippets[I + 1] + tag("span", formatCount(CurSeg->Count), in renderLine()
1034 "tooltip-content"), in renderLine()
1038 errs() << "Marker at " << CurSeg->Line << ":" << CurSeg->Col << " = " in renderLine()
1039 << formatCount(CurSeg->Count) << "\n"; in renderLine()
1049 // If there are no sub-views left to attach to this cell, end the cell. in renderLine()
1050 // Otherwise, end it after the sub-views are rendered (renderLineSuffix()). in renderLine()
1062 ? "covered-line" in renderLineCoverageColumn()
1063 : (Line.isMapped() ? "uncovered-line" : "skipped-line"); in renderLineCoverageColumn()
1072 "line-number"); in renderLineNumberColumn()
1078 // Region markers are rendered in-line using tooltips. in renderRegionMarkers()
1093 ESV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/false, in renderExpansionView()
1128 "line-number") + in renderBranchView()
1132 OS << "Folded - Ignored]\n"; in renderBranchView()
1139 (R.ExecutionCount > 0) ? "covered-line" : "uncovered-line"; in renderBranchView()
1151 (R.FalseExecutionCount > 0) ? "covered-line" : "uncovered-line"; in renderBranchView()
1180 "line-number") + in renderMCDCView()
1186 "line-number") + in renderMCDCView()
1221 ISV.View->print(OS, /*WholeFile=*/false, /*ShowSourceName=*/true, in renderInstantiationView()