aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2022-06-21 16:12:04 +0200
committerGitHub <noreply@github.com>2022-06-21 16:12:04 +0200
commitbbe7187db99ee46691e87e8eb8baded850cc3035 (patch)
treebf7a41a73ba4240fce328d47f38de7608f4d07f8
parent16c6c6c963e78aff1911054fe4145b891d8e9fc8 (diff)
parentdf21173b70a21ca679e644b55f3539c48167d92c (diff)
Merge pull request #6695 from afishhh/search-fix-exclude
Fix arity of `--exclude` flag in `nix search`
-rw-r--r--src/nix/search.cc4
-rw-r--r--tests/search.sh1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/nix/search.cc b/src/nix/search.cc
index f1f5f9641..bdd45cbed 100644
--- a/src/nix/search.cc
+++ b/src/nix/search.cc
@@ -34,7 +34,9 @@ struct CmdSearch : InstallableCommand, MixJSON
.shortName = 'e',
.description = "Hide packages whose attribute path, name or description contain *regex*.",
.labels = {"regex"},
- .handler = Handler(&excludeRes),
+ .handler = {[this](std::string s) {
+ excludeRes.push_back(s);
+ }},
});
}
diff --git a/tests/search.sh b/tests/search.sh
index 41b706ac6..1a98f5b49 100644
--- a/tests/search.sh
+++ b/tests/search.sh
@@ -43,3 +43,4 @@ e=$'\x1b' # grep doesn't support \e, \033 or even \x1b
(( $(nix search -f search.nix foo --exclude 'foo|bar' | grep -Ec 'foo|bar') == 0 ))
(( $(nix search -f search.nix foo -e foo --exclude bar | grep -Ec 'foo|bar') == 0 ))
+[[ $(nix search -f search.nix -e bar --json | jq -c 'keys') == '["foo","hello"]' ]]