This is my neovim configuration. It allows for selecting which languages are available by creating a file called languages.lua in the lua directory of the config. The file should return a table of languages out of the supported options. The languages-example.lua file contains all valid languages in the correct format. Additional languages can be added by copying the template file in the lua/language_configs directory. The one caveat is that to add null_ls builtins to the sources you do have to modify the null_ls config file.
General Dependencies:
- lldb (debugging)
- A C compiler (For treesitter) - For windows use mingw
- Make (For treesitter) - For windows use GnuWin32
- RipGrep (For telescope)
To install just the neovim config you can run this command:
git clone https://github.com/lcroberts/nvim-config ~/.config/nvim
For windows:
git clone https://github.com/lcroberts/nvim-config $HOME\AppData\Local\nvim
If you want to remove the installation you can run the following:
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
For windows:
rd -Recurse -Force ~\AppData\Local\nvim
rd -Recurse -Force ~\AppData\Local\nvim-data
You can find my main dotfiles repo here.
Stylua (formatter), Selene (linter), and lua language server are provided for lua support.
Language servers are also provided for yaml, json, and toml.
Provides: shfmt (formatter) and bash language server.
Dependencies: python/pip for package management Provides: python language server
Provides: clangd (language server w/ formatter), and clangd_extensions.nvim (plugin)
Dependencies: go
Provides: gofmt (formatter), gopls (language server), and golangci_lint (linter)
Dependencies: php and composer
Provides: Intelephense (language server), pint (php formatter), blade_formatter (blade template formatter), laravel.nvim (plugin) and phpactor (vim plugin for refactoring)
Includes typescript and jsx support.
Dependencies: npm
Provides: tsserver (lsp), and typescript-tools.nvim (configures tsserver and adds refactoring tools)
Includes tailwind completions, as well as html with emmet.
Provides: sql language server
Dependencies: Cargo/rust
Provides: rustaceanvim (basic language support plugin), crates.nvim (crates support), rust.vim (more rust features)
Dependencies: zig
Provides: zls (zig language server)