1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-28 05:21:16 +02:00

Perform tilde expansion when completing flake fragments

Allows completing `nix build ~/flake#<Tab>`.
We can implement expansion for `~user` later if needed.
Not using wordexp(3) since that expands way too much.
This commit is contained in:
Naïm Favier 2022-02-19 14:26:34 +01:00
parent 5461ff532d
commit 55c6906701
No known key found for this signature in database
GPG key ID: 49B07322580B7EE2
5 changed files with 21 additions and 6 deletions

View file

@ -1,4 +1,5 @@
#include "installables.hh"
#include "util.hh"
#include "command.hh"
#include "attr-path.hh"
#include "common-eval-args.hh"
@ -256,8 +257,7 @@ void completeFlakeRefWithFragment(
auto fragment = prefix.substr(hash + 1);
auto flakeRefS = std::string(prefix.substr(0, hash));
// FIXME: do tilde expansion.
auto flakeRef = parseFlakeRef(flakeRefS, absPath("."));
auto flakeRef = parseFlakeRef(expandTilde(flakeRefS), absPath("."));
auto evalCache = openEvalCache(*evalState,
std::make_shared<flake::LockedFlake>(lockFlake(*evalState, flakeRef, lockFlags)));