1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 00:06:26 -04:00

Update nix-language.md

Proposing to move the "_Indented strings_" section after "_String interpolation_" because I think it fits better there logically. Also added a note that string interpolation works in indented strings as well.
This commit is contained in:
Attila Gulyas 2024-08-10 08:58:28 -04:00 committed by GitHub
parent 1c050ebb4d
commit 62cdf3f0cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -848,6 +848,55 @@ in
<!-- TODO: link to escaping rules -->
(indented-strings)=
### Indented strings
Also known as “multi-line strings”.
The Nix language offers convenience syntax for character strings which span multiple lines that have common indentation.
Indented strings are denoted by *double single quotes* (`'' ''`).
Example:
```{code-block} nix
:class: expression
''
multi
line
string
''
```
```{code-block}
:class: value
"multi\nline\nstring\n"
```
Equal amounts of prepended white space are trimmed from the result.
Example:
```{code-block} nix
:class: expression
''
one
two
three
''
```
```{code-block}
:class: value
"one\n two\n three\n"
```
:::{note}
Indented strings also support [string interpolation](string-interpolation). See the section on Nix's [`string`](https://nix.dev/manual/nix/stable/language/values#type-string) type in the [Nix manual](https://nix.dev/manual/nix/stable/).
:::
<!-- TODO: See [escaping rules](). -->
(file-system-paths)=
### File system paths
@ -975,51 +1024,6 @@ While you will encounter many such examples, we recommend to [avoid lookup paths
[nixpkgs]: https://github.com/NixOS/nixpkgs
[manual-primitives]: https://nix.dev/manual/nix/stable/language/values.html#primitives
(indented-strings)=
### Indented strings
Also known as “multi-line strings”.
The Nix language offers convenience syntax for character strings which span multiple lines that have common indentation.
Indented strings are denoted by *double single quotes* (`'' ''`).
Example:
```{code-block} nix
:class: expression
''
multi
line
string
''
```
```{code-block}
:class: value
"multi\nline\nstring\n"
```
Equal amounts of prepended white space are trimmed from the result.
Example:
```{code-block} nix
:class: expression
''
one
two
three
''
```
```{code-block}
:class: value
"one\n two\n three\n"
```
<!-- TODO: See [escaping rules](). -->
(functions)=
## Functions