Personal, but not too original, Neovim configuration
Find a file
Hoang Nguyen 2639ec991e
Move some LSP keymaps out of LspAttach event
Jump to dianostic locations can be used for nvim-lint, for example.
2024-01-06 00:00:00 +07:00
after Various improvements that I'm too lazy to list :) 2023-12-24 00:00:00 +07:00
colors Initial commit 2023-10-28 00:00:00 +07:00
lua/user Move some LSP keymaps out of LspAttach event 2024-01-06 00:00:00 +07:00
spell Initial commit 2023-10-28 00:00:00 +07:00
.luarc.json Various improvements that I'm too lazy to list :) 2023-12-24 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
filetype.lua Add nvim-dap-repl-highlights plugin 2024-01-06 00:00:00 +07:00
go.mod Add nvim-dap-repl-highlights plugin 2024-01-06 00:00:00 +07:00
go.sum Add nvim-dap-repl-highlights plugin 2024-01-06 00:00:00 +07:00
init.lua Initial commit 2023-10-28 00:00:00 +07:00
lazy-lock.json Move some LSP keymaps out of LspAttach event 2024-01-06 00:00:00 +07:00
LICENSE Update LICENSE text 2023-11-25 00:00:00 +07:00
magefile.go mage: support target in multiple categories 2023-11-25 00:00:00 +07:00
pkgs.yaml mage: support target in multiple categories 2023-11-25 00:00:00 +07:00
README.md Add nvim-dap-repl-highlights plugin 2024-01-06 00:00:00 +07:00

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)
  • remark-language-server
  • swift-MesonLSP (inside container)
  • mdx_analyzer
  • ocamllsp
  • graphql
  • vscode-js-debug (config for nvim-dap + install script)
  • 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
  • flatten.nvim
  • oil.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 binaries linked to glibc, which are 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.