Personal, but not too original, Neovim configuration
Go to file
Hoang Nguyen 294e135ed7
Initial commit
2023-10-28 00:00:00 +07:00
after Initial commit 2023-10-28 00:00:00 +07:00
colors Initial commit 2023-10-28 00:00:00 +07:00
lua/user Initial commit 2023-10-28 00:00:00 +07:00
spell Initial commit 2023-10-28 00:00:00 +07:00
.neoconf.json Initial commit 2023-10-28 00:00:00 +07:00
.stylua.toml Initial commit 2023-10-28 00:00:00 +07:00
LICENSE Initial commit 2023-10-28 00:00:00 +07:00
README.md Initial commit 2023-10-28 00:00:00 +07:00
filetype.lua Initial commit 2023-10-28 00:00:00 +07:00
go.mod Initial commit 2023-10-28 00:00:00 +07:00
go.sum Initial commit 2023-10-28 00:00:00 +07:00
init.lua Initial commit 2023-10-28 00:00:00 +07:00
lazy-lock.json Initial commit 2023-10-28 00:00:00 +07:00
magefile.go Initial commit 2023-10-28 00:00:00 +07:00
pkgs.yaml Initial commit 2023-10-28 00:00:00 +07:00

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 (config for nvim-lspconfig and nvim-dap + install script)
  • denols
  • ocamllsp
  • vscode-js-debug (config for nvim-dap + install script)

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-tree.lua -> neo-tree???

Logic

  • Smooth colorschemes changing (dynamic highlight groups registration via event hooks)

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 pkg.yaml file.