Personal, but not too original, Neovim configuration
Hoang Nguyen
f33c82e25b
- Add djot vim syntax - Switch back from sqlls to sqls - Add a tiny program to update external vim syntax files - Update dependencies like usual (go.mod and lazy-lock.json) |
||
---|---|---|
after | ||
colors | ||
lua/user | ||
scripts | ||
spell | ||
.gitignore | ||
.luarc.json | ||
.stylua.toml | ||
filetype.lua | ||
go.mod | ||
go.sum | ||
init.lua | ||
lazy-lock.json | ||
LICENSE | ||
pkgs.yaml | ||
README.md |
FollieHiyuki's Neovim configuration
This Neovim config used to live within my dotfiles. Due to the complexity of refactoring both regular files/templates and this Lua codebase, I decided to move it into its own repository. As such, this project stays under the same license as my dotfiles, MIT.
TODO
Colorschemes
- OneDark
- Catpuccin
Missing tree-sitter parsers
Additional DAP/LSP servers
- elixirls/lexical, elp/erlangls (config for
nvim-lspconfig
) - swift-MesonLSP (inside container)
- one-small-step-for-vimkind
- cmake-language-server / neocmakelsp
- dart/flutter (flutter-tools.nvim / configure dartls directly) (ref: https://gist.github.com/christopherfujino/80be0f4cd88f75c4991b478e6b071153)
More plugins
- clangd_extensions.nvim
- crates.nvim
- numb.nvim
- package-info.nvim
- nvim-ufo
- refactoring.nvim
- rustaceanvim
- telekasten.nvim / zk-nvim
- tangerine.nvim / aniseed + nfnl / hotpot.nvim
- carbon.nvim -> silicon.nvim
- nabla.nvim
- markdown-preview.nvim -> peek.nvim / smp.nvim
- grpc-nvim
- nvim-ide
- haskell-tools.nvim
- nvim-asciidoc-preview
- lsp-lens.nvim
- venv-selector.nvim
- virtual-types.nvim
- hover.nvim
- otter.nvim
- nvim-rulebook
Logic
- Smooth colorschemes changing (dynamic highlight groups registration via event hooks)
- Neorocks looks cool :)
FAQ
Why not using mason.nvim?
Most things installed via mason.nvim are binaries linked to glibc, which are incompatible to run on the Linux distribution I use - AlpineLinux. I resolved to custom Go program instead. The code is pretty simple and naive, but it works for me.
External LSP servers that can't be installed directly from AlpineLinux's repositories, or with simple cargo/go install
commands, are defined inside pkgs.yaml file.