▲ | mrcjkb 5 days ago | |||||||
Neovim provides the same mechanisms as Vim for Lua plugins. The problem (and part of my motivation for writing the nvim-best-practices document) is that not enough plugins use them. Edit: The Neovim setup antipattern is the Lua equivalent of writing Vimscript functions in autoload and asking users to call them in their configs instead of doing so automatically. | ||||||||
▲ | thayne 5 days ago | parent [-] | |||||||
I don't know that I would call it an anti-pattern. It has several advantages over using a global variable: - it avoids needing to create a global variable in the top level namespace - if the setup is called lazily, then the user config can also perform other lazy operations at configuration time, including requiring other lua modules - it allows you to pass a config object or function to your package manager, thus keeping your configuration of a plugin, and the code to require the plugin in the same place. - it doesn't have the problem that you have to make sure you set the global variable before the plugin is loaded - it is simpler to handle reconfiguring at runtime. The user just calls setup again. Whereas with a global variable, you don't know if/when the config has changed | ||||||||
|