Personal, but not too original, Neovim configuration
|
||
---|---|---|
after | ||
colors | ||
lua/user | ||
spell | ||
.neoconf.json | ||
.stylua.toml | ||
filetype.lua | ||
go.mod | ||
go.sum | ||
init.lua | ||
lazy-lock.json | ||
LICENSE | ||
magefile.go | ||
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
andnvim-dap
) - remark-language-server
- swift-MesonLSP (inside container)
- mdx_analyzer
- ocamllsp
- graphql
- glint (for handlebars files)
- vscode-js-debug (config for
nvim-dap
+ install script) - eslint (LSP) (maybe biome is already good enough???)
- lldb-vscode (
nvim-dap
config for C/C++/Zig) - 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
- pretty-fold.nvim / nvim-ufo
- refactoring.nvim
- rust-tools.nvim
- telekasten.nvim
- tangerine.nvim / aniseed / hotpot / nfnl
- silicon.nvim / silicon.lua
- 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
- nvim-dap-repl-highlights
- nvim-tree.lua -> neo-tree???
Logic
- Smooth colorschemes changing (dynamic highlight groups registration via event hooks)
- User commands/bindings per LSP server
FAQ
Why not using mason.nvim?
Most things installed via mason.nvim are in binary format, which might be incompatible to run on the Linux distribution I use - AlpineLinux. I resolved to custom mage tasks instead. The tasks' source 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.