Document the percent-encoding mechanism

This commit is contained in:
Rasmus Rendal 2022-06-14 17:38:48 +02:00 committed by Théophane Hufschmitt
parent e8113747e1
commit 3411507696
2 changed files with 16 additions and 0 deletions

View file

@ -1 +1,5 @@
# Release X.Y (202?-??-??) # Release X.Y (202?-??-??)
- [URL flake references](@docroot@/command-ref/new-cli/nix3-flake.md#flake-references) now support [percent-encoded](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1) characters.
- [Path-like flake references](@docroot@/command-ref/new-cli/nix3-flake.md#path-like-syntax) now accept arbitrary unicode characters (except `#` and `?`).

View file

@ -67,6 +67,13 @@ inputs.nixpkgs = {
}; };
``` ```
Following [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986#section-2.1),
characters outside of the allowed range (i.e. are neither [reserved
character](https://datatracker.ietf.org/doc/html/rfc3986#section-2.2) or
[unreserved
characters](https://datatracker.ietf.org/doc/html/rfc3986#section-2.3)) must be
percent-encoded.
### Examples ### Examples
Here are some examples of flake references in their URL-like representation: Here are some examples of flake references in their URL-like representation:
@ -103,10 +110,15 @@ The semantic of such a path is as follows:
2. The filesystem root (/), or 2. The filesystem root (/), or
3. A folder on a different mount point. 3. A folder on a different mount point.
Contrary to URL-like reference, path-like flake references can contain
arbitrary unicode characters (except `#` and `?`).
### Examples ### Examples
* `.`: The flake to which the current directory belongs to. * `.`: The flake to which the current directory belongs to.
* `/home/alice/src/patchelf`: A flake in some other directory. * `/home/alice/src/patchelf`: A flake in some other directory.
* `./../sub directory/with Ûñî©ôδ€`: A flake in another relative directory that
has Unicode characters in its name.
## Flake reference attributes ## Flake reference attributes