Based off of commit 257b768436a0e8ab7887f9b790c5b92a7fe51ef5 Upstream-PR: https://github.com/NixOS/nix/pull/8678 Co-authored-by: Felix Uhl <felix.uhl@outlook.com> Change-Id: Idcb7f6191ca3310ef9dc854197f7798260c3f71d
27 lines
767 B
C++
27 lines
767 B
C++
#pragma once
|
|
///@file url-name.hh, for some hueristic-ish URL parsing.
|
|
|
|
#include <string>
|
|
#include <optional>
|
|
|
|
#include "url.hh"
|
|
#include "url-parts.hh"
|
|
#include "util.hh"
|
|
#include "split.hh"
|
|
|
|
namespace nix {
|
|
|
|
/**
|
|
* Try to extract a reasonably unique and meaningful, human-readable
|
|
* name of a flake output from a parsed URL.
|
|
* When nullopt is returned, the callsite should use information available
|
|
* to it outside of the URL to determine a useful name.
|
|
* This is a heuristic approach intended for user interfaces.
|
|
* @return nullopt if the extracted name is not useful to identify a
|
|
* flake output, for example because it is empty or "default".
|
|
* Otherwise returns the extracted name.
|
|
*/
|
|
std::optional<std::string> getNameFromURL(ParsedURL const & url);
|
|
|
|
}
|