mirror of
https://github.com/nix-community/nixvim.git
synced 2025-11-20 17:29:40 +01:00
docs: Add a short sections on helpers (#1093)
This commit is contained in:
parent
28d4d2a842
commit
375453feff
6 changed files with 86 additions and 17 deletions
39
docs/helpers.md
Normal file
39
docs/helpers.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# Helpers
|
||||
|
||||
Regardless of the way NixVim is used (as a home-manager module, a nixos module, or as a standalone module),
|
||||
helpers can be included in the same way.
|
||||
|
||||
You can simply use:
|
||||
|
||||
```nix
|
||||
{
|
||||
helpers,
|
||||
...
|
||||
}: {
|
||||
# Your config
|
||||
}
|
||||
```
|
||||
|
||||
A certain number of helpers are defined that can be useful:
|
||||
|
||||
- `helpers.emptyTable`: An empty lua table `{}` that will be included in the final lua configuration.
|
||||
This is equivalent to `{__empty = {};}`. This form can allow to do `option.__empty = {}`.
|
||||
|
||||
- `helpers.mkRaw str`: Write the string `str` as raw lua in the final lua configuration.
|
||||
This is equivalent to `{__raw = "lua code";}`. This form can allow to do `option.__raw = "lua code"`.
|
||||
|
||||
- `helpers.toLuaObject obj`: Create a string representation of the Nix object. Useful to define your own plugins.
|
||||
|
||||
- `helpers.listToUnkeyedAttrs list`: Transforms a list to an "unkeyed" attribute set.
|
||||
|
||||
This allows to define mixed table/list in lua:
|
||||
|
||||
```nix
|
||||
(listToUnkeyedAttrs ["a", "b"]) // {foo = "bar";}
|
||||
```
|
||||
|
||||
Resulting in the following lua:
|
||||
|
||||
```lua
|
||||
{"a", "b", [foo] = "bar"}
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue