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 = { spellcheck = {
enable = true; enable = isMaximal;
}; };
lsp = { lsp = {

View file

@ -28,7 +28,7 @@ configuration formats.
### `vim.maps` rewrite {#sec-vim-maps-rewrite} ### `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 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 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 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.types) bool;
inherit (lib.nvim.attrsets) mapListToAttrs; inherit (lib.nvim.attrsets) mapListToAttrs;
in { 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 = { diagnosticsToLua = {
lang, lang,
config, config,

View file

@ -6,7 +6,7 @@
}: let }: let
inherit (lib.modules) mkIf mkRenamedOptionModule; inherit (lib.modules) mkIf mkRenamedOptionModule;
inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.strings) concatLines concatStringsSep optionalString; inherit (lib.strings) concatLines;
inherit (lib.attrsets) mapAttrsToList; inherit (lib.attrsets) mapAttrsToList;
inherit (lib.types) listOf str attrsOf; inherit (lib.types) listOf str attrsOf;
inherit (lib.nvim.lua) listToLuaTable; inherit (lib.nvim.lua) listToLuaTable;
@ -134,17 +134,10 @@ in {
options = { options = {
spell = true; spell = true;
spelllang = cfg.languages;
# 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;
}; };
# Register an autocommand to disable spellchecking in buffers with given filetypes. luaConfigRC.spellcheck = entryAfter ["basic"] ''
# If the list is empty, the autocommand does not need to be registered.
luaConfigRC.spellcheck = entryAfter ["basic"] (optionalString (cfg.ignoredFiletypes != []) ''
-- Disable spellchecking for certain filetypes -- Disable spellchecking for certain filetypes
-- as configured by `vim.spellcheck.ignoredFiletypes` -- as configured by `vim.spellcheck.ignoredFiletypes`
vim.api.nvim_create_augroup("nvf_autocmds", {clear = false}) vim.api.nvim_create_augroup("nvf_autocmds", {clear = false})
@ -155,7 +148,7 @@ in {
vim.opt_local.spell = false vim.opt_local.spell = false
end, end,
}) })
''); '';
}; };
}; };
} }

View file

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