Compare commits

..

No commits in common. "4df1cc3a7f161def084c6eca799e3a6c10dbf480" and "9c8fbc774ffcba67b517649795eba9bc4a99a4f0" have entirely different histories.

5 changed files with 24 additions and 19 deletions

View file

@ -13,7 +13,7 @@ isMaximal: {
};
spellcheck = {
enable = true;
enable = isMaximal;
};
lsp = {

View file

@ -28,7 +28,7 @@ configuration formats.
### `vim.maps` rewrite {#sec-vim-maps-rewrite}
Instead of specifying map modes using submodules (e.g., `vim.maps.normal`), a
Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a
new `vim.keymaps` submodule with support for a `mode` option has been
introduced. It can be either a string, or a list of strings, where a string
represents the short-name of the map mode(s), that the mapping should be set

View file

@ -5,6 +5,13 @@
inherit (lib.types) bool;
inherit (lib.nvim.attrsets) mapListToAttrs;
in {
# Converts a boolean to a yes/no string. This is used in lots of
# configuration formats, and is not covered by `toLuaObject`
toVimBool = bool:
if bool
then "yes"
else "no";
diagnosticsToLua = {
lang,
config,

View file

@ -6,7 +6,7 @@
}: let
inherit (lib.modules) mkIf mkRenamedOptionModule;
inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.strings) concatLines concatStringsSep optionalString;
inherit (lib.strings) concatLines;
inherit (lib.attrsets) mapAttrsToList;
inherit (lib.types) listOf str attrsOf;
inherit (lib.nvim.lua) listToLuaTable;
@ -134,17 +134,10 @@ in {
options = {
spell = true;
# Workaround for Neovim's spelllang setup. It can be
# - a string, e.g., "en"
# - multiple strings, separated with commas, e.g., "en,de"
# toLuaObject cannot generate the correct type here, unless we take a string here.
spelllang = concatStringsSep "," cfg.languages;
spelllang = cfg.languages;
};
# Register an autocommand to disable spellchecking in buffers with given filetypes.
# If the list is empty, the autocommand does not need to be registered.
luaConfigRC.spellcheck = entryAfter ["basic"] (optionalString (cfg.ignoredFiletypes != []) ''
luaConfigRC.spellcheck = entryAfter ["basic"] ''
-- Disable spellchecking for certain filetypes
-- as configured by `vim.spellcheck.ignoredFiletypes`
vim.api.nvim_create_augroup("nvf_autocmds", {clear = false})
@ -155,7 +148,7 @@ in {
vim.opt_local.spell = false
end,
})
'');
'';
};
};
}

View file

@ -6,6 +6,8 @@
inherit (lib.options) mkOption literalMD literalExpression;
inherit (lib.strings) optionalString;
inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything;
inherit (lib.trivial) isBool;
inherit (lib.nvim.languages) toVimBool;
inherit (lib.nvim.types) dagOf;
inherit (lib.nvim.lua) listToLuaTable;
@ -236,10 +238,13 @@ in {
};
signcolumn = mkOption {
type = str;
default = "yes";
example = "no";
description = "Whether to show the sign column";
type = either str bool;
default = true;
apply = x:
if isBool x
then toVimBool x # convert to a yes/no str
else x;
description = "Show the sign column";
};
tabstop = mkOption {
@ -308,7 +313,7 @@ in {
if [](#opt-vim.enableLuaLoader) is set to true.
'';
example = literalExpression "\${builtins.readFile ./my-lua-config-pre.lua}";
example = literalExpression ''''${builtins.readFile ./my-lua-config-pre.lua}'';
description = ''
Verbatim lua code that will be inserted **before**
@ -352,7 +357,7 @@ in {
luaConfigPost = mkOption {
type = str;
default = "";
example = literalExpression "\${builtins.readFile ./my-lua-config-post.lua}";
example = literalExpression ''"$${builtins.readFile ./my-lua-config-post.lua}"'';
description = ''
Verbatim lua code that will be inserted **after**
the result of the `luaConfigRc` DAG has been resolved