Accept and discard fragments in getFlakeRefForCompletion

Otherwise trying to complete `nix build foo#bar --update-input <Tab>`
fails with "unexpected fragment"
This commit is contained in:
Naïm Favier 2022-02-18 13:19:57 +01:00
parent aa5b83d93c
commit 505bf2cb7d
No known key found for this signature in database
GPG key ID: 49B07322580B7EE2
2 changed files with 3 additions and 3 deletions

View file

@ -156,7 +156,7 @@ struct InstallableCommand : virtual Args, SourceExprCommand
std::optional<FlakeRef> getFlakeRefForCompletion() override std::optional<FlakeRef> getFlakeRefForCompletion() override
{ {
return parseFlakeRef(_installable, absPath(".")); return parseFlakeRefWithFragment(_installable, absPath(".")).first;
} }
private: private:

View file

@ -904,10 +904,10 @@ std::optional<FlakeRef> InstallablesCommand::getFlakeRefForCompletion()
{ {
if (_installables.empty()) { if (_installables.empty()) {
if (useDefaultInstallables()) if (useDefaultInstallables())
return parseFlakeRef(".", absPath(".")); return parseFlakeRefWithFragment(".", absPath(".")).first;
return {}; return {};
} }
return parseFlakeRef(_installables.front(), absPath(".")); return parseFlakeRefWithFragment(_installables.front(), absPath(".")).first;
} }
InstallableCommand::InstallableCommand() InstallableCommand::InstallableCommand()