From 0650aa31acfd0a6903522494d4d66c91c05af9c4 Mon Sep 17 00:00:00 2001 From: NotAShelf Date: Tue, 3 Dec 2024 00:40:28 +0300 Subject: [PATCH] modules/neovim: deprecate `vim.enableEditorconfig` option Deprecate shorthand EditorConfig toggle, and encourage the more powerful `vim.globals` option. --- docs/release-notes/rl-0.7.md | 13 ++++++++----- modules/extra/deprecations.nix | 5 ++++- modules/neovim/init/basic.nix | 10 ---------- modules/wrapper/rc/options.nix | 15 +++++++++++++++ 4 files changed, 27 insertions(+), 16 deletions(-) diff --git a/docs/release-notes/rl-0.7.md b/docs/release-notes/rl-0.7.md index 59267dd..fd3764a 100644 --- a/docs/release-notes/rl-0.7.md +++ b/docs/release-notes/rl-0.7.md @@ -28,11 +28,11 @@ configuration formats. ### `vim.maps` rewrite {#sec-vim-maps-rewrite} -Instead of specifying map modes using submodules (eg.: `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 for. See -`:help map-modes` for more information. +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 +for. See `:help map-modes` for more information. For example: @@ -334,6 +334,9 @@ The changes are, in no particular order: `vim.options` as default values. Some are left as they don't have a direct equivalent, but expect a switch eventually. +- Deprecated `vim.enableEditorconfig` in favor of + [](#opt-vim.globals.editorconfig). + [ppenguin](https://github.com/ppenguin): - Telescope: diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index e4cb193..9fd5293 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -84,9 +84,12 @@ in { `tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a `ftplugin` directory added to your runtime path. '') + + # 2024-12-02 + (mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"]) ] - # 2024-12-1 + # 2024-12-01 # Migrated via batchRenameOptions. Further batch renames must be below this line. renamedVimOpts ]; diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index 9370fa8..1b45fea 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -70,12 +70,6 @@ in { description = "Set how bells are handled. Options: on, visual or none"; }; - enableEditorconfig = mkOption { - type = bool; - default = true; - description = "Follow editorconfig rules in current directory"; - }; - searchCase = mkOption { type = enum ["ignore" "smart" "sensitive"]; default = "sensitive"; @@ -112,10 +106,6 @@ in { expandtab = true; }; - globals = pushDownDefault { - editorconfig = cfg.enableEditorconfig; - }; - # 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"] '' diff --git a/modules/wrapper/rc/options.nix b/modules/wrapper/rc/options.nix index ab54141..fc9938b 100644 --- a/modules/wrapper/rc/options.nix +++ b/modules/wrapper/rc/options.nix @@ -121,6 +121,21 @@ in { default = ","; description = "The key used for `` mappings"; }; + + editorconfig = mkOption { + type = bool; + default = true; + description = '' + Whether to enable EditorConfig integration in Neovim. + + This defaults to true as it is enabled by default in stock + Neovim, setting this option to false disables EditorConfig + integration entirely. + + See [Neovim documentation](https://neovim.io/doc/user/editorconfig.html) + for more details on configuring EditorConfig behaviour. + ''; + }; }; };