Add 'nix edit' manpage

This commit is contained in:
Eelco Dolstra 2020-12-09 12:55:24 +01:00
parent 4e065229c7
commit b2262be19b
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
2 changed files with 35 additions and 7 deletions

View file

@ -15,14 +15,11 @@ struct CmdEdit : InstallableCommand
return "open the Nix expression of a Nix package in $EDITOR"; return "open the Nix expression of a Nix package in $EDITOR";
} }
Examples examples() override std::string doc() override
{ {
return { return
Example{ #include "edit.md"
"To open the Nix expression of the GNU Hello package:", ;
"nix edit nixpkgs#hello"
},
};
} }
Category category() override { return catSecondary; } Category category() override { return catSecondary; }

31
src/nix/edit.md Normal file
View file

@ -0,0 +1,31 @@
R""(
# Examples
* Open the Nix expression of the GNU Hello package:
```console
# nix edit nixpkgs#hello
```
* Get the filename and line number used by `nix edit`:
```console
# nix eval --raw nixpkgs#hello.meta.position
/nix/store/fvafw0gvwayzdan642wrv84pzm5bgpmy-source/pkgs/applications/misc/hello/default.nix:15
```
# Description
This command opens the Nix expression of a derivation in an
editor. The filename and line number of the derivation are taken from
its `meta.position` attribute. Nixpkgs' `stdenv.mkDerivation` sets
this attribute to the location of the definition of the
`meta.description`, `version` or `name` derivation attributes.
The editor to invoke is specified by the `EDITOR` environment
variable. It defaults to `cat`. If the editor is `emacs`, `nano` or
`vim`, it is passed the line number of the derivation using the
argument `+<lineno>`.
)""