forked from lix-project/lix
Merge pull request #6103 from Radvendii/welcomeText
add descriptive output when creating templates
This commit is contained in:
commit
a768e85e2f
src/nix
|
@ -37,6 +37,10 @@ A flake can declare templates through its `templates` and
|
|||
|
||||
* `path`: The path of the directory to be copied.
|
||||
|
||||
* `welcomeText`: A block of markdown text to display when a user initializes a
|
||||
new flake based on this template.
|
||||
|
||||
|
||||
Here is an example:
|
||||
|
||||
```
|
||||
|
@ -45,6 +49,16 @@ outputs = { self }: {
|
|||
templates.rust = {
|
||||
path = ./rust;
|
||||
description = "A simple Rust/Cargo project";
|
||||
welcomeText = ''
|
||||
# Simple Rust/Cargo Template
|
||||
## Intended usage
|
||||
The intended usage of this flake is...
|
||||
|
||||
## More info
|
||||
- [Rust language](https://www.rust-lang.org/)
|
||||
- [Rust on the NixOS Wiki](https://nixos.wiki/wiki/Rust)
|
||||
- ...
|
||||
'';
|
||||
};
|
||||
|
||||
templates.defaultTemplate = self.templates.rust;
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include "registry.hh"
|
||||
#include "json.hh"
|
||||
#include "eval-cache.hh"
|
||||
#include "markdown.hh"
|
||||
|
||||
#include <nlohmann/json.hpp>
|
||||
#include <queue>
|
||||
|
@ -731,6 +732,7 @@ struct CmdFlakeInitCommon : virtual Args, EvalCommand
|
|||
else
|
||||
throw Error("file '%s' has unsupported type", from2);
|
||||
files.push_back(to2);
|
||||
notice("wrote: %s", to2);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -741,6 +743,11 @@ struct CmdFlakeInitCommon : virtual Args, EvalCommand
|
|||
for (auto & s : files) args.push_back(s);
|
||||
runProgram("git", true, args);
|
||||
}
|
||||
auto welcomeText = cursor->maybeGetAttr("welcomeText");
|
||||
if (welcomeText) {
|
||||
notice("\n");
|
||||
notice(renderMarkdownToTerminal(welcomeText->getString()));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue