mirror of
				https://github.com/NotAShelf/nvf.git
				synced 2025-10-31 19:12:38 +00:00 
			
		
		
		
	Merge pull request #480 from NotAShelf/more-option-stuff
neovim: gradually deprecate shorthand `vim.*` aliases to `vim.options` and `vim.globals`
This commit is contained in:
		
				commit
				
					
						5250f8e771
					
				
			
		
					 9 changed files with 173 additions and 125 deletions
				
			
		|  | @ -28,11 +28,11 @@ configuration formats. | ||||||
| 
 | 
 | ||||||
| ### `vim.maps` rewrite {#sec-vim-maps-rewrite} | ### `vim.maps` rewrite {#sec-vim-maps-rewrite} | ||||||
| 
 | 
 | ||||||
| Instead of specifying map modes using submodules (eg.: `vim.maps.normal`), a new | Instead of specifying map modes using submodules (e.g.: `vim.maps.normal`), a | ||||||
| `vim.keymaps` submodule with support for a `mode` option has been introduced. It | new `vim.keymaps` submodule with support for a `mode` option has been | ||||||
| can be either a string, or a list of strings, where a string represents the | introduced. It can be either a string, or a list of strings, where a string | ||||||
| short-name of the map mode(s), that the mapping should be set for. See | represents the short-name of the map mode(s), that the mapping should be set | ||||||
| `:help map-modes` for more information. | for. See `:help map-modes` for more information. | ||||||
| 
 | 
 | ||||||
| For example: | For example: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -16,6 +16,14 @@ | ||||||
| - Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table | - Implement [](#opt-vim.git.gitsigns.setupOpts) for user-specified setup table | ||||||
|   in gitsigns configuration. |   in gitsigns configuration. | ||||||
| 
 | 
 | ||||||
|  | - [](#opt-vim.options.mouse) no longer compares values to an enum of available | ||||||
|  |   mouse modes. This means you can provide any string without the module system | ||||||
|  |   warning you that it is invalid. Do keep in mind that this value is no longer | ||||||
|  |   checked, so you will be responsible for ensuring its validity. | ||||||
|  | 
 | ||||||
|  | - Deprecated `vim.enableEditorconfig` in favor of | ||||||
|  |   [](#opt-vim.globals.editorconfig). | ||||||
|  | 
 | ||||||
| [amadaluzia](https://github.com/amadaluzia): | [amadaluzia](https://github.com/amadaluzia): | ||||||
| 
 | 
 | ||||||
| [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim | [haskell-tools.nvim]: https://github.com/MrcJkb/haskell-tools.nvim | ||||||
|  |  | ||||||
|  | @ -6,7 +6,12 @@ | ||||||
|   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 |   # Converts a boolean to a yes/no string. This is used in lots of | ||||||
|   # configuration formats. |   # configuration formats, and is not covered by `toLuaObject` | ||||||
|  |   toVimBool = bool: | ||||||
|  |     if bool | ||||||
|  |     then "yes" | ||||||
|  |     else "no"; | ||||||
|  | 
 | ||||||
|   diagnosticsToLua = { |   diagnosticsToLua = { | ||||||
|     lang, |     lang, | ||||||
|     config, |     config, | ||||||
|  | @ -30,8 +35,8 @@ in { | ||||||
| 
 | 
 | ||||||
|   mkEnable = desc: |   mkEnable = desc: | ||||||
|     mkOption { |     mkOption { | ||||||
|       description = "Turn on ${desc} for enabled languages by default"; |  | ||||||
|       type = bool; |  | ||||||
|       default = false; |       default = false; | ||||||
|  |       type = bool; | ||||||
|  |       description = "Turn on ${desc} for enabled languages by default"; | ||||||
|     }; |     }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -14,6 +14,7 @@ | ||||||
|     splitRight = "splitright"; |     splitRight = "splitright"; | ||||||
|     autoIndent = "autoindent"; |     autoIndent = "autoindent"; | ||||||
|     wordWrap = "wrap"; |     wordWrap = "wrap"; | ||||||
|  |     showSignColumn = "signcolumn"; | ||||||
|   }; |   }; | ||||||
| in { | in { | ||||||
|   imports = concatLists [ |   imports = concatLists [ | ||||||
|  | @ -35,23 +36,28 @@ in { | ||||||
|         vim.autopairs.enable has been removed in favor of per-plugin modules. |         vim.autopairs.enable has been removed in favor of per-plugin modules. | ||||||
|         You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. |         You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. | ||||||
|       '') |       '') | ||||||
|  | 
 | ||||||
|       (mkRemovedOptionModule ["vim" "autopairs" "type"] '' |       (mkRemovedOptionModule ["vim" "autopairs" "type"] '' | ||||||
|         vim.autopairs.type has been removed in favor of per-plugin modules. |         vim.autopairs.type has been removed in favor of per-plugin modules. | ||||||
|         You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. |         You can enable nvim-autopairs with vim.autopairs.nvim-autopairs.enable instead. | ||||||
|       '') |       '') | ||||||
|  | 
 | ||||||
|       (mkRemovedOptionModule ["vim" "autocomplete" "enable"] '' |       (mkRemovedOptionModule ["vim" "autocomplete" "enable"] '' | ||||||
|         vim.autocomplete.enable has been removed in favor of per-plugin modules. |         vim.autocomplete.enable has been removed in favor of per-plugin modules. | ||||||
|         You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. |         You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. | ||||||
|       '') |       '') | ||||||
|  | 
 | ||||||
|       (mkRemovedOptionModule ["vim" "autocomplete" "type"] '' |       (mkRemovedOptionModule ["vim" "autocomplete" "type"] '' | ||||||
|         vim.autocomplete.type has been removed in favor of per-plugin modules. |         vim.autocomplete.type has been removed in favor of per-plugin modules. | ||||||
|         You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. |         You can enable nvim-cmp with vim.autocomplete.nvim-cmp.enable instead. | ||||||
|       '') |       '') | ||||||
|  | 
 | ||||||
|       (mkRemovedOptionModule ["vim" "autocomplete" "sources"] '' |       (mkRemovedOptionModule ["vim" "autocomplete" "sources"] '' | ||||||
|         vim.autocomplete.sources has been removed in favor of per-plugin modules. |         vim.autocomplete.sources has been removed in favor of per-plugin modules. | ||||||
|         You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources |         You can add nvim-cmp sources with vim.autocomplete.nvim-cmp.sources | ||||||
|         instead. |         instead. | ||||||
|       '') |       '') | ||||||
|  | 
 | ||||||
|       (mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] '' |       (mkRemovedOptionModule ["vim" "snippets" "vsnip" "enable"] '' | ||||||
|         vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip. |         vim.snippets.vsnip.enable has been removed in favor of the more modern luasnip. | ||||||
|       '') |       '') | ||||||
|  | @ -84,9 +90,12 @@ in { | ||||||
|         `tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a |         `tabstop` and `shiftwidth` manually in `vim.options` or per-filetype in a | ||||||
|         `ftplugin` directory added to your runtime path. |         `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. |     # Migrated via batchRenameOptions. Further batch renames must be below this line. | ||||||
|     renamedVimOpts |     renamedVimOpts | ||||||
|   ]; |   ]; | ||||||
|  |  | ||||||
|  | @ -5,6 +5,7 @@ | ||||||
| }: let | }: let | ||||||
|   inherit (lib.options) mkOption mkEnableOption literalMD; |   inherit (lib.options) mkOption mkEnableOption literalMD; | ||||||
|   inherit (lib.strings) optionalString; |   inherit (lib.strings) optionalString; | ||||||
|  |   inherit (lib.attrsets) optionalAttrs; | ||||||
|   inherit (lib.types) enum bool str int either; |   inherit (lib.types) enum bool str int either; | ||||||
|   inherit (lib.generators) mkLuaInline; |   inherit (lib.generators) mkLuaInline; | ||||||
|   inherit (lib.nvim.dag) entryAfter; |   inherit (lib.nvim.dag) entryAfter; | ||||||
|  | @ -58,24 +59,12 @@ in { | ||||||
|       description = "Prevent swapfile and backupfile from being created"; |       description = "Prevent swapfile and backupfile from being created"; | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     showSignColumn = mkOption { |  | ||||||
|       type = bool; |  | ||||||
|       default = true; |  | ||||||
|       description = "Show the sign column"; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
|     bell = mkOption { |     bell = mkOption { | ||||||
|       type = enum ["none" "visual" "on"]; |       type = enum ["none" "visual" "on"]; | ||||||
|       default = "none"; |       default = "none"; | ||||||
|       description = "Set how bells are handled. Options: on, visual or none"; |       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 { |     searchCase = mkOption { | ||||||
|       type = enum ["ignore" "smart" "sensitive"]; |       type = enum ["ignore" "smart" "sensitive"]; | ||||||
|       default = "sensitive"; |       default = "sensitive"; | ||||||
|  | @ -106,63 +95,55 @@ in { | ||||||
|     # Set options that were previously interpolated in 'luaConfigRC.basic' as vim.options (vim.o) |     # Set options that were previously interpolated in 'luaConfigRC.basic' as vim.options (vim.o) | ||||||
|     # and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the |     # and 'vim.globals' (vim.g). Future options, if possible, should be added here instead of the | ||||||
|     # luaConfigRC section below. |     # luaConfigRC section below. | ||||||
|     options = pushDownDefault { |     options = pushDownDefault (lib.mergeAttrsList [ | ||||||
|  |       { | ||||||
|  |         # Options that are always set, with a lower priority | ||||||
|         encoding = "utf-8"; |         encoding = "utf-8"; | ||||||
|         hidden = true; |         hidden = true; | ||||||
|         expandtab = true; |         expandtab = true; | ||||||
|     }; |  | ||||||
| 
 | 
 | ||||||
|     globals = pushDownDefault { |         # Junkfile Behaviour | ||||||
|       editorconfig = cfg.enableEditorconfig; |         swapfile = !cfg.preventJunkFiles; | ||||||
|     }; |         backup = !cfg.preventJunkFiles; | ||||||
|  |         writebackup = !cfg.preventJunkFiles; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
|     # Options that are more difficult to set through 'vim.options'. Fear not, though |       (optionalAttrs cfg.undoFile.enable { | ||||||
|     # as the Lua DAG is still as powerful as it could be. |         undofile = true; | ||||||
|  |         undodir = cfg.undoFile.path; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.bell == "none") { | ||||||
|  |         errorbells = false; | ||||||
|  |         visualbell = false; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.bell == "on") { | ||||||
|  |         visualbell = false; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.bell == "visual") { | ||||||
|  |         visualbell = false; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.lineNumberMode == "relative") { | ||||||
|  |         relativenumber = true; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.lineNumberMode == "number") { | ||||||
|  |         number = true; | ||||||
|  |       }) | ||||||
|  | 
 | ||||||
|  |       (optionalAttrs (cfg.lineNumberMode == "relNumber") { | ||||||
|  |         number = true; | ||||||
|  |         relativenumber = true; | ||||||
|  |       }) | ||||||
|  |     ]); | ||||||
|  | 
 | ||||||
|  |     # Options that are more difficult to set through 'vim.options'. Namely, appending values | ||||||
|  |     # to pre-set Neovim options. Fear not, though as the Lua DAG is still as powerful as it | ||||||
|  |     # could be. | ||||||
|     luaConfigRC.basic = entryAfter ["globalsScript"] '' |     luaConfigRC.basic = entryAfter ["globalsScript"] '' | ||||||
|       -- Settings that are set for everything |  | ||||||
|       vim.opt.shortmess:append("c") |  | ||||||
| 
 |  | ||||||
|       ${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") '' |  | ||||||
|         vim.o.errorbells = false |  | ||||||
|         vim.o.visualbell = false |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString (cfg.bell == "on") '' |  | ||||||
|         vim.o.visualbell = false |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString (cfg.bell == "visual") '' |  | ||||||
|         vim.o.errorbells = false |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString (cfg.lineNumberMode == "relative") '' |  | ||||||
|         vim.o.relativenumber = true |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString (cfg.lineNumberMode == "number") '' |  | ||||||
|         vim.o.number = true |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString (cfg.lineNumberMode == "relNumber") '' |  | ||||||
|         vim.o.number = true |  | ||||||
|         vim.o.relativenumber = true |  | ||||||
|       ''} |  | ||||||
| 
 |  | ||||||
|       ${optionalString cfg.useSystemClipboard '' |       ${optionalString cfg.useSystemClipboard '' | ||||||
|         vim.opt.clipboard:append("unnamedplus") |         vim.opt.clipboard:append("unnamedplus") | ||||||
|       ''} |       ''} | ||||||
|  |  | ||||||
|  | @ -124,7 +124,6 @@ in { | ||||||
|               nvim --headless --clean \ |               nvim --headless --clean \ | ||||||
|                 --cmd "mkspell $out/spell/$name.add.spl $spellfile" -Es -n |                 --cmd "mkspell $out/spell/$name.add.spl $spellfile" -Es -n | ||||||
|             done |             done | ||||||
| 
 |  | ||||||
|           ''; |           ''; | ||||||
|       in |       in | ||||||
|         mkIf (cfg.extraSpellWords != {}) [ |         mkIf (cfg.extraSpellWords != {}) [ | ||||||
|  | @ -133,10 +132,12 @@ in { | ||||||
|           compileJoinedSpellfiles.outPath |           compileJoinedSpellfiles.outPath | ||||||
|         ]; |         ]; | ||||||
| 
 | 
 | ||||||
|       luaConfigRC.spellcheck = entryAfter ["basic"] '' |       options = { | ||||||
|         vim.opt.spell = true |         spell = true; | ||||||
|         vim.opt.spelllang = ${listToLuaTable cfg.languages} |         spelllang = cfg.languages; | ||||||
|  |       }; | ||||||
| 
 | 
 | ||||||
|  |       luaConfigRC.spellcheck = entryAfter ["basic"] '' | ||||||
|         -- 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}) | ||||||
|  |  | ||||||
|  | @ -15,9 +15,10 @@ | ||||||
|   mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; |   mappings = addDescriptionsToMappings cfg.mappings mappingDefinitions; | ||||||
| in { | in { | ||||||
|   config = mkIf cfg.enable { |   config = mkIf cfg.enable { | ||||||
|     vim.startPlugins = ["gesture-nvim"]; |     vim = { | ||||||
|  |       startPlugins = ["gesture-nvim"]; | ||||||
| 
 | 
 | ||||||
|     vim.maps.normal = mkMerge [ |       maps.normal = mkMerge [ | ||||||
|         (mkSetLuaBinding mappings.draw "require('gesture').draw") |         (mkSetLuaBinding mappings.draw "require('gesture').draw") | ||||||
|         (mkSetLuaBinding mappings.finish "require('gesture').finish") |         (mkSetLuaBinding mappings.finish "require('gesture').finish") | ||||||
|         (mkIf (mappings.draw.value == "<RightDrag>") { |         (mkIf (mappings.draw.value == "<RightDrag>") { | ||||||
|  | @ -25,20 +26,21 @@ in { | ||||||
|         }) |         }) | ||||||
|       ]; |       ]; | ||||||
| 
 | 
 | ||||||
|     vim.pluginRC.gesture-nvim = entryAnywhere '' |       options.mouse = "a"; | ||||||
|       vim.opt.mouse = "a" |       pluginRC.gesture-nvim = entryAnywhere '' | ||||||
| 
 |  | ||||||
|         local gesture = require("gesture") |         local gesture = require("gesture") | ||||||
|         gesture.register({ |         gesture.register({ | ||||||
|           name = "scroll to bottom", |           name = "scroll to bottom", | ||||||
|           inputs = { gesture.up(), gesture.down() }, |           inputs = { gesture.up(), gesture.down() }, | ||||||
|           action = "normal! G", |           action = "normal! G", | ||||||
|         }) |         }) | ||||||
|  | 
 | ||||||
|         gesture.register({ |         gesture.register({ | ||||||
|           name = "next tab", |           name = "next tab", | ||||||
|           inputs = { gesture.right() }, |           inputs = { gesture.right() }, | ||||||
|           action = "tabnext", |           action = "tabnext", | ||||||
|         }) |         }) | ||||||
|  | 
 | ||||||
|         gesture.register({ |         gesture.register({ | ||||||
|           name = "previous tab", |           name = "previous tab", | ||||||
|           inputs = { gesture.left() }, |           inputs = { gesture.left() }, | ||||||
|  | @ -46,6 +48,7 @@ in { | ||||||
|             vim.cmd.tabprevious() |             vim.cmd.tabprevious() | ||||||
|           end, |           end, | ||||||
|         }) |         }) | ||||||
|  | 
 | ||||||
|         gesture.register({ |         gesture.register({ | ||||||
|           name = "go back", |           name = "go back", | ||||||
|           inputs = { gesture.right(), gesture.left() }, |           inputs = { gesture.right(), gesture.left() }, | ||||||
|  | @ -54,4 +57,5 @@ in { | ||||||
|         }) |         }) | ||||||
|       ''; |       ''; | ||||||
|     }; |     }; | ||||||
|  |   }; | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| _: { | { | ||||||
|   imports = [ |   imports = [ | ||||||
|     ./gesture-nvim.nix |     ./gesture-nvim.nix | ||||||
|     ./config.nix |     ./config.nix | ||||||
|  |  | ||||||
|  | @ -3,9 +3,11 @@ | ||||||
|   lib, |   lib, | ||||||
|   ... |   ... | ||||||
| }: let | }: let | ||||||
|   inherit (lib.options) mkOption mkEnableOption 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; | ||||||
| 
 | 
 | ||||||
|  | @ -17,7 +19,7 @@ in { | ||||||
|       default = false; |       default = false; | ||||||
|       example = true; |       example = true; | ||||||
|       description = '' |       description = '' | ||||||
|         [{option}`official documentation`]: https://neovim.io/doc/user/lua.html#vim.loader.enable() |         [official documentation]: https://neovim.io/doc/user/lua.html#vim.loader.enable() | ||||||
| 
 | 
 | ||||||
|         the experimental Lua module loader to speed up the start up process |         the experimental Lua module loader to speed up the start up process | ||||||
| 
 | 
 | ||||||
|  | @ -29,7 +31,7 @@ in { | ||||||
| 
 | 
 | ||||||
|         ::: {.note} |         ::: {.note} | ||||||
|         The Lua module loader is *disabled* by default. Before setting this option, please |         The Lua module loader is *disabled* by default. Before setting this option, please | ||||||
|         take a look at the [{option}`official documentation`]. This option may be enabled by |         take a look at the {option}`[official documentation]`. This option may be enabled by | ||||||
|         default in the future. |         default in the future. | ||||||
|         ::: |         ::: | ||||||
|       ''; |       ''; | ||||||
|  | @ -81,7 +83,7 @@ in { | ||||||
|           ./nvim/my-lua-file.lua |           ./nvim/my-lua-file.lua | ||||||
| 
 | 
 | ||||||
|           # source type path - pure and reproducible |           # source type path - pure and reproducible | ||||||
|           (builtins.source { |           (builtins.path { | ||||||
|             path = ./nvim/my-lua-file.lua; |             path = ./nvim/my-lua-file.lua; | ||||||
|             name = "my-lua-file"; |             name = "my-lua-file"; | ||||||
|           }) |           }) | ||||||
|  | @ -121,6 +123,21 @@ in { | ||||||
|             default = ","; |             default = ","; | ||||||
|             description = "The key used for `<localleader>` mappings"; |             description = "The key used for `<localleader>` 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. | ||||||
|  |             ''; | ||||||
|  |           }; | ||||||
|         }; |         }; | ||||||
|       }; |       }; | ||||||
| 
 | 
 | ||||||
|  | @ -150,16 +167,25 @@ in { | ||||||
|           }; |           }; | ||||||
| 
 | 
 | ||||||
|           mouse = mkOption { |           mouse = mkOption { | ||||||
|             type = enum ["a" "n" "v" "i" "c"]; |             type = str; | ||||||
|             default = "a"; |             default = "nvi"; | ||||||
|  |             example = "a"; | ||||||
|             description = '' |             description = '' | ||||||
|               Set modes for mouse support. |               Set modes for mouse support. | ||||||
| 
 | 
 | ||||||
|               * a - all |  | ||||||
|               * n - normal |               * n - normal | ||||||
|               * v - visual |               * v - visual | ||||||
|               * i - insert |               * i - insert | ||||||
|               * c - command |               * c - command-line | ||||||
|  |               * h - all modes when editing a help file | ||||||
|  |               * a - all modes | ||||||
|  |               * r - for hit-enter and more-prompt prompt | ||||||
|  | 
 | ||||||
|  |               [neovim documentation]: https://neovim.io/doc/user/options.html#'mouse'" | ||||||
|  | 
 | ||||||
|  |               This option takes a string to ensure proper conversion to the corresponding Lua type. | ||||||
|  |               As such, we do not check the value passed to this option. Please ensure that any value | ||||||
|  |               that is set here is a valid value as per [neovim documentation]. | ||||||
|             ''; |             ''; | ||||||
|           }; |           }; | ||||||
| 
 | 
 | ||||||
|  | @ -211,6 +237,16 @@ in { | ||||||
|             description = "Enable word wrapping."; |             description = "Enable word wrapping."; | ||||||
|           }; |           }; | ||||||
| 
 | 
 | ||||||
|  |           signcolumn = mkOption { | ||||||
|  |             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 { |           tabstop = mkOption { | ||||||
|             type = int; |             type = int; | ||||||
|             default = 8; # Neovim default |             default = 8; # Neovim default | ||||||
|  | @ -263,7 +299,11 @@ in { | ||||||
|           vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) |           vim.opt.runtimepath:append(${listToLuaTable cfg.additionalRuntimePaths}) | ||||||
|         ''} |         ''} | ||||||
| 
 | 
 | ||||||
|         ${optionalString cfg.enableLuaLoader "vim.loader.enable()"} |         ${optionalString cfg.enableLuaLoader '' | ||||||
|  |           if vim.loader then | ||||||
|  |             vim.loader.enable() | ||||||
|  |           end | ||||||
|  |         ''} | ||||||
|       ''; |       ''; | ||||||
| 
 | 
 | ||||||
|       defaultText = literalMD '' |       defaultText = literalMD '' | ||||||
|  | @ -273,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** | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 GitHub
					GitHub