mirror of
https://github.com/NotAShelf/neovim-flake.git
synced 2024-12-19 08:39:50 +01:00
modules: move vim-dirtytalk to plugins/spellcheck
This commit is contained in:
parent
6011ec2bab
commit
b4384a833f
7 changed files with 48 additions and 8 deletions
|
@ -29,6 +29,8 @@ inputs: let
|
|||
};
|
||||
};
|
||||
|
||||
vim.spellcheck.vim-dirtytalk.enable = true;
|
||||
|
||||
vim.lsp = {
|
||||
formatOnSave = true;
|
||||
lspkind.enable = false;
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
"rich-presence"
|
||||
"session"
|
||||
"snippets"
|
||||
"spellcheck"
|
||||
"statusline"
|
||||
"tabline"
|
||||
"terminal"
|
||||
|
|
|
@ -5,17 +5,15 @@
|
|||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.options) mkEnableOption literalExpression mkOption;
|
||||
inherit (lib.strings) concatStringsSep optionalString;
|
||||
inherit (lib.strings) concatStringsSep;
|
||||
inherit (lib.lists) optionals;
|
||||
inherit (lib.types) listOf str;
|
||||
inherit (lib.nvim.dag) entryAfter;
|
||||
|
||||
cfg = config.vim.spellChecking;
|
||||
languages = cfg.languages ++ optionals cfg.enableProgrammingWordList ["programming"];
|
||||
in {
|
||||
options.vim.spellChecking = {
|
||||
enable = mkEnableOption "neovim's built-in spellchecking";
|
||||
enableProgrammingWordList = mkEnableOption "vim-dirtytalk, a wordlist for programmers, that includes programming words";
|
||||
languages = mkOption {
|
||||
type = listOf str;
|
||||
default = ["en"];
|
||||
|
@ -26,12 +24,10 @@ in {
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
vim = {
|
||||
startPlugins = optionals cfg.spellChecking.enableProgrammingWordList ["vim-dirtytalk"];
|
||||
configRC.spellchecking = entryAfter ["basic"] ''
|
||||
${optionalString cfg.enable ''
|
||||
" Spellchecking
|
||||
set spell
|
||||
set spelllang=${concatStringsSep "," languages}
|
||||
''}
|
||||
set spelllang=${concatStringsSep "," cfg.languages}
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
5
modules/plugins/spellcheck/default.nix
Normal file
5
modules/plugins/spellcheck/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./vim-dirtytalk
|
||||
];
|
||||
}
|
23
modules/plugins/spellcheck/vim-dirtytalk/config.nix
Normal file
23
modules/plugins/spellcheck/vim-dirtytalk/config.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.modules) mkIf;
|
||||
inherit (lib.nvim.dag) entryAfter;
|
||||
cfg = config.vim.spellcheck;
|
||||
in {
|
||||
config = mkIf cfg.vim-dirtytalk.enable {
|
||||
vim = {
|
||||
startPlugins = ["vim-dirtytalk"];
|
||||
|
||||
# vim-dirtytalk doesn't have any setup
|
||||
# but we would like to append programming to spelllang
|
||||
# as soon as possible while the plugin is enabled
|
||||
luaConfigRC.vim-dirtytalk = entryAfter ["basic"] ''
|
||||
-- append programming to spelllang
|
||||
vim.opt.spelllang:append("programming")
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
6
modules/plugins/spellcheck/vim-dirtytalk/default.nix
Normal file
6
modules/plugins/spellcheck/vim-dirtytalk/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./config.nix
|
||||
./vim-dirtytalk.nix
|
||||
];
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{lib, ...}: let
|
||||
inherit (lib.options) mkEnableOption;
|
||||
in {
|
||||
options.vim.spellcheck.vim-dirtytalk = {
|
||||
enable = mkEnableOption "vim-dirtytalk, a wordlist for programmers, that includes programming words";
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue