Hoang Nguyen
af90e85750
Also temporarily disable rest.nvim |
||
---|---|---|
after | ||
colors | ||
lua/user | ||
scripts | ||
spell | ||
.gitignore | ||
.luarc.json | ||
.stylua.toml | ||
LICENSE | ||
README.md | ||
filetype.lua | ||
go.mod | ||
go.sum | ||
init.lua | ||
lazy-lock.json | ||
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
Additional DAP/LSP servers
- elixirls/lexical, elp/erlangls (config for
nvim-lspconfig
) - MesonLSP
- one-small-step-for-vimkind
- cmake-language-server / neocmakelsp
- dart/flutter (flutter-tools.nvim / configure dartls directly) (ref: https://gist.github.com/christopherfujino/80be0f4cd88f75c4991b478e6b071153)
- starpls
- metals (consider
nvim-metals
)
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
- 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
- lazy-nix-helper.nvim (to turn this repo into a proper Nix Flake)
- rest.nvim (need to deal with
luarocks.nvim
's madness)
Logic
- Smooth colorschemes changing (dynamic highlight groups registration via event hooks)
vim.loop
->vim.uv
in Neovim 0.10.0- 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.