Merge pull request #6433 from edolstra/hilite

Move hiliteMatches into a separate header
This commit is contained in:
Eelco Dolstra 2022-04-21 12:21:54 +02:00 committed by GitHub
commit dea76f581b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 16 deletions

View file

@ -2,7 +2,6 @@
#include <boost/format.hpp> #include <boost/format.hpp>
#include <string> #include <string>
#include <regex>
#include "ansicolor.hh" #include "ansicolor.hh"
@ -155,15 +154,4 @@ inline hintformat hintfmt(std::string plain_string)
return hintfmt("%s", normaltxt(plain_string)); return hintfmt("%s", normaltxt(plain_string));
} }
/* 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);
} }

View file

@ -1,6 +1,4 @@
#include "fmt.hh" #include "hilite.hh"
#include <regex>
namespace nix { namespace nix {

20
src/libutil/hilite.hh Normal file
View file

@ -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);
}

View file

@ -9,7 +9,7 @@
#include "shared.hh" #include "shared.hh"
#include "eval-cache.hh" #include "eval-cache.hh"
#include "attr-path.hh" #include "attr-path.hh"
#include "fmt.hh" #include "hilite.hh"
#include <regex> #include <regex>
#include <fstream> #include <fstream>