mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 10:21:31 +00:00
Merge branch 'main' into v0.7
This commit is contained in:
commit
5826aebdd3
18 changed files with 355 additions and 104 deletions
|
@ -14,10 +14,11 @@
|
|||
cfg = config.vim;
|
||||
in {
|
||||
config = let
|
||||
filterNonNull = filterAttrs (_: value: value != null);
|
||||
globalsScript =
|
||||
mapAttrsToList (name: value: "vim.g.${name} = ${toLuaObject value}")
|
||||
(filterNonNull cfg.globals);
|
||||
mapAttrsToList (name: value: "vim.g.${name} = ${toLuaObject value}") cfg.globals;
|
||||
|
||||
optionsScript =
|
||||
mapAttrsToList (name: value: "vim.o.${name} = ${toLuaObject value}") cfg.options;
|
||||
|
||||
extraPluginConfigs = resolveDag {
|
||||
name = "extra plugin configs";
|
||||
|
@ -77,9 +78,12 @@ in {
|
|||
in {
|
||||
vim = {
|
||||
luaConfigRC = {
|
||||
# `vim.g` and `vim.o`
|
||||
globalsScript = entryAnywhere (concatLines globalsScript);
|
||||
# basic
|
||||
pluginConfigs = entryAfter ["basic"] pluginConfigs;
|
||||
optionsScript = entryAfter ["basic"] (concatLines optionsScript);
|
||||
|
||||
# Basic
|
||||
pluginConfigs = entryAfter ["optionsScript"] pluginConfigs;
|
||||
extraPluginConfigs = entryAfter ["pluginConfigs"] extraPluginConfigs;
|
||||
mappings = entryAfter ["extraPluginConfigs"] keymaps;
|
||||
};
|
||||
|
|
|
@ -129,16 +129,38 @@ in {
|
|||
globals = mkOption {
|
||||
type = attrs;
|
||||
default = {};
|
||||
example = {"some_variable" = 42;};
|
||||
description = ''
|
||||
An attribute set containing global variable values
|
||||
for storing vim variables as early as possible. If
|
||||
populated, this option will set vim variables in the
|
||||
built luaConfigRC as the first item.
|
||||
|
||||
E.g. {foo = "bar"} will set `vim.g.foo` to "bar" where
|
||||
the type of `bar` in the resulting vimscript will be
|
||||
infered from the type of the value in the `{name = value}`
|
||||
pair.
|
||||
::: {.note}
|
||||
`{foo = "bar";}` will set `vim.g.foo` to "bar", where
|
||||
the type of `bar` in the resulting Lua value will be
|
||||
inferred from the type of the value in the `{name = value;}`
|
||||
pair passed to the option.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
options = mkOption {
|
||||
type = attrs;
|
||||
default = {};
|
||||
example = {visualbell = true;};
|
||||
description = ''
|
||||
An attribute set containing vim options to be set
|
||||
as early as possible. If populated, this option will
|
||||
set vim options in the built luaConfigRC after `basic`
|
||||
and before `pluginConfigs` DAG entries.
|
||||
|
||||
::: {.note}
|
||||
`{foo = "bar";}` will set `vim.o.foo` to "bar", where
|
||||
the type of `bar` in the resulting Lua value will be
|
||||
inferred from the type of the value in the`{name = value;}`
|
||||
pair passed to the option.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue