aboutsummaryrefslogtreecommitdiff
path: root/src/libutil/hilite.hh
blob: b6d88204dcf337dd3f847441d580aa80464a23a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#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);

}