Diff
patch a7711a098587661eb9a61f0e94b8e5cd703523d7
Author: fritjof@alokat.org
Date: Wed Mar 11 20:27:07 UTC 2026
* Add diff highlighting.
hunk ./src/DarcsWeb/Html.hs 216
- , "<pre class=\"diff\">", esc (psDiff ps), "</pre>\n"
+ , "<pre class=\"diff\">", highlightDiff (psDiff ps), "</pre>\n"
hunk ./src/DarcsWeb/Html.hs 397
+-- | Highlight diff output: added lines in green, removed lines in red,
+-- hunk headers in blue.
+highlightDiff :: Text -> Text
+highlightDiff = T.concat . map highlightLine . T.lines
+ where
+ highlightLine l
+ | T.isPrefixOf "+" l = "<span class=\"diff-add\">" <> esc l <> "</span>\n"
+ | T.isPrefixOf "-" l = "<span class=\"diff-del\">" <> esc l <> "</span>\n"
+ | T.isPrefixOf "@@" l = "<span class=\"diff-hunk\">" <> esc l <> "</span>\n"
+ | otherwise = esc l <> "\n"
+
hunk ./static/style.css 370
+}
+
+.diff-add {
+ color: #22863a;
+ background: #e6ffec;
+}
+
+.diff-del {
+ color: #cb2431;
+ background: #ffeef0;
+}
+
+.diff-hunk {
+ color: #6f42c1;