nvim-config-loader

0

Описание

Setup all your Vim with a single Lua table!

Языки

  • Lua100%
README.md

NvimConfigLoader

— Setup all your Vim with a single Lua table!

Idea & Concept

There are many ways to set up your Vim. We have tried many of them, each with its own benefits. NvimConfigLoader is a new attempt at different approaches and combinations of some ideas and concepts:

  • Lua for all configurations
  • Let's configure all things with lua tables! (where possible)
  • Simple Lua table api over vim calls like
    vim.o
    ,
    vim.g
    ,
    vim.api.nvim_create_autocmd
    ,
    vim.api.nvim_create_augroup
    ,
    vim.keymap.set
  • Configure plugins list with lua tables also! (vim-plug supported currently only)
  • Download and setup the plugin manager automatically

Additional features list

  • Flat & grouped lists support for plugins, autocommands and keymaps (groups will help your organize your keymaps, autocommands and plugins)
  • Load config with one base file, but it's okay to have some separate files for large configuration areas
  • Combine configurations into packs (example: pack for tree-sitter can contain tree-sitter specific plugins list, autocommands and mappings) alpha dashboard pack example, telescope pack example
  • Configuration statistics to track and prevent missing configurations (e.g., forgetting to define any Vim options or keymaps)

Installation

Run the bash script to download the

nvim-config-loader.lua
file to your home directory (
~/.vim/lua/
)

Loading sequence

Running

require('nvim-config-loader').setup(config)
will:

1. store user settings from `config` 2. load and eval files from `additional_config_files` 3. init plugin manager and load plugins from user settings and user packs 4. load vim options 5. load vim globals 6. load keymaps 7. load autocommands 8. load colorscheme 9. run user `setup()` 10. run packs `setup()` 11. show stats if required 12. check health if required

Usage & configuration structure

Examples

Plugin managers support

  • vim-plug auto downloading and installation
  • vim-pack

TODO

  • predefine all vim options to provide autocompletion
  • additional plugin managers
  • vimplug auto download & setup