aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/hilite.hh
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2022-04-21 11:58:40 +0200
committerEelco Dolstra <edolstra@gmail.com>2022-04-21 12:06:29 +0200
commitf05e1f6fbb8a760f23a7af16b065078df6588acf (patch)
tree618d7ce614dcbabb8170a8c397fe6f68a8badf4e /src/libutil/hilite.hh
parent684e679e07d3a8d9da1449347e5e07da2d718916 (diff)
Move hiliteMatches into a separate header
This is mostly so that we don't #include <regex> everywhere (which adds quite a bit of compilation time).
Diffstat (limited to 'src/libutil/hilite.hh')
-rw-r--r--src/libutil/hilite.hh20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libutil/hilite.hh b/src/libutil/hilite.hh
new file mode 100644
index 000000000..f8bdbfc55
--- /dev/null
+++ b/src/libutil/hilite.hh
@@ -0,0 +1,20 @@
+#pragma once
+
+#include <regex>
+#include <vector>
+#include <string>
+
+namespace nix {
+
+/* Highlight all the given matches in the given string `s` by wrapping
+ them between `prefix` and `postfix`.
+
+ If some matches overlap, then their union will be wrapped rather
+ than the individual matches. */
+std::string hiliteMatches(
+ std::string_view s,
+ std::vector<std::smatch> matches,
+ std::string_view prefix,
+ std::string_view postfix);
+
+}