Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
attr-path.hh File Reference
#include "lix/libexpr/eval.hh"
#include <string>

Go to the source code of this file.

Functions

 nix::MakeError (AttrPathNotFound, Error)
 nix::MakeError (NoPositionInfo, Error)
std::pair< Value *, PosIdxnix::findAlongAttrPath (EvalState &state, const std::string &attrPath, Bindings &autoArgs, Value &vIn)
std::pair< SourcePath, uint32_t > nix::findPackageFilename (EvalState &state, Value &v, std::string what)
std::vector< std::string > nix::parseAttrPath (std::string_view const s)
std::string nix::unparseAttrPath (std::vector< std::string > const &attrPath)

Function Documentation

◆ findPackageFilename()

std::pair< SourcePath, uint32_t > nix::findPackageFilename ( EvalState & state,
Value & v,
std::string what )

Heuristic to find the filename and lineno or a nix value.

◆ parseAttrPath()

std::vector< std::string > nix::parseAttrPath ( std::string_view const s)

Parses an attr path (as used in nix-build -A foo.bar.baz) into a list of tokens.

Such an attr path is a dot-separated sequence of attribute names, which are possibly quoted. No escaping is performed; attribute names containing double quotes are unrepresentable.

◆ unparseAttrPath()

std::string nix::unparseAttrPath ( std::vector< std::string > const & attrPath)

Converts an attr path from a list of strings into a string once more. The result returned is an attr path and is not necessarily valid nix syntax.