From b01613568f83c1c2b4cc9f12aa16e765300d0f5c Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 00:53:22 +0300 Subject: [PATCH] modules/neovim: deprecate `vim.showSignColumn` Prefer the type-safe `vim.options` equivalent. --- modules/extra/deprecations.nix | 6 +++++ modules/neovim/init/basic.nix | 40 +++++++++++++--------------------- modules/wrapper/rc/options.nix | 8 +++++++ 3 files changed, 29 insertions(+), 25 deletions(-) diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 9fd5293..8d27d7a 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -14,6 +14,7 @@ splitRight = "splitright"; autoIndent = "autoindent"; wordWrap = "wrap"; + showSignColumn = "signcolumn"; }; in { imports = concatLists [ @@ -35,23 +36,28 @@ in { vim.autopairs.enable has been removed in favor of per-plugin modules. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. '') + (mkRemovedOptionModule ["vim" "autopairs" "type"] '' vim.autopairs.type has been removed in favor of per-plugin modules. You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "enable"] '' vim.autocomplete.enable has been removed in favor of per-plugin modules. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "type"] '' vim.autocomplete.type has been removed in favor of per-plugin modules. You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. '') + (mkRemovedOptionModule ["vim" "autocomplete" "sources"] '' vim.autocomplete.sources has been removed in favor of per-plugin modules. You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources instead. '') + (mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] '' vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip. '') diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 1b45fea..ef899cf 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -58,12 +58,6 @@ in { description = "Prevent swapfile and backupfile from being created"; }; - showSignColumn = mkOption { - type = bool; - default = true; - description = "Show the sign column"; - }; - bell = mkOption { type = enum ["none" "visual" "on"]; default = "none"; @@ -109,74 +103,70 @@ in { # Options that are more difficult to set through 'vim.options'. Fear not, though # as the Lua DAG is still as powerful as it could be. luaConfigRC.basic = entryAfter ["globalsScript"] '' - -- Settings that are set for everything - vim.opt.shortmess:append("c") + -- Settings that are set for everything + vim.opt.shortmess:append("c") - ${optionalString cfg.undoFile.enable '' + ${optionalString cfg.undoFile.enable '' vim.o.undofile = true vim.o.undodir = ${toLuaObject cfg.undoFile.path} ''} - ${optionalString cfg.showSignColumn '' - vim.o.signcolumn = "yes" - ''} - ${optionalString cfg.preventJunkFiles '' vim.o.swapfile = false vim.o.backup = false vim.o.writebackup = false ''} - ${optionalString (cfg.bell == "none") '' + ${optionalString (cfg.bell == "none") '' vim.o.errorbells = false vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "on") '' + ${optionalString (cfg.bell == "on") '' vim.o.visualbell = false ''} - ${optionalString (cfg.bell == "visual") '' + ${optionalString (cfg.bell == "visual") '' vim.o.errorbells = false ''} - ${optionalString (cfg.lineNumberMode == "relative") '' + ${optionalString (cfg.lineNumberMode == "relative") '' vim.o.relativenumber = true ''} - ${optionalString (cfg.lineNumberMode == "number") '' + ${optionalString (cfg.lineNumberMode == "number") '' vim.o.number = true ''} - ${optionalString (cfg.lineNumberMode == "relNumber") '' + ${optionalString (cfg.lineNumberMode == "relNumber") '' vim.o.number = true vim.o.relativenumber = true ''} - ${optionalString cfg.useSystemClipboard '' + ${optionalString cfg.useSystemClipboard '' vim.opt.clipboard:append("unnamedplus") ''} - ${optionalString cfg.syntaxHighlighting '' + ${optionalString cfg.syntaxHighlighting '' vim.cmd("syntax on") ''} - ${optionalString cfg.hideSearchHighlight '' + ${optionalString cfg.hideSearchHighlight '' vim.o.hlsearch = false vim.o.incsearch = true ''} - ${optionalString (cfg.searchCase == "ignore") '' + ${optionalString (cfg.searchCase == "ignore") '' vim.o.smartcase = false vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "smart") '' + ${optionalString (cfg.searchCase == "smart") '' vim.o.smartcase = true vim.o.ignorecase = true ''} - ${optionalString (cfg.searchCase == "sensitive") '' + ${optionalString (cfg.searchCase == "sensitive") '' vim.o.smartcase = false vim.o.ignorecase = false ''} diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index cbe916a..8654426 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -6,6 +6,7 @@ inherit (lib.options) mkOption mkEnableOption literalMD literalExpression; inherit (lib.strings) optionalString; inherit (lib.types) str bool int enum attrsOf lines listOf either path submodule anything; + inherit (lib.nvim.languages) toVimBool; inherit (lib.nvim.types) dagOf; inherit (lib.nvim.lua) listToLuaTable; @@ -221,6 +222,13 @@ in { default = true; description = "Enable word wrapping."; }; + + signcolumn = mkOption { + type = bool; + default = true; + apply = x: toVimBool x; # convert to a yes/no str + description = "Show the sign column"; + }; }; };