Personal, but not too original, Neovim configuration
Find a file
Hoang Nguyen bde70b8855
Update syntaxes
- Remove templ.vim (there is a tree-sitter parser now)
- Add kcl.vim syntax
2023-11-18 00:00:00 +07:00
after Update syntaxes 2023-11-18 00:00:00 +07:00
colors Initial commit 2023-10-28 00:00:00 +07:00
lua/user Update syntaxes 2023-11-18 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
filetype.lua Add custom type for pkgs.yaml for elixirls 2023-11-02 00:00:00 +07:00
go.mod mage: support installing multiple packages at once 2023-11-03 00:00:00 +07:00
go.sum mage: support installing multiple packages at once 2023-11-03 00:00:00 +07:00
init.lua Initial commit 2023-10-28 00:00:00 +07:00
lazy-lock.json Update syntaxes 2023-11-18 00:00:00 +07:00
LICENSE Initial commit 2023-10-28 00:00:00 +07:00
magefile.go mage: support installing multiple packages at once 2023-11-03 00:00:00 +07:00
pkgs.yaml Add custom type for pkgs.yaml for elixirls 2023-11-02 00:00:00 +07:00
README.md Update syntaxes 2023-11-18 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 and nvim-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 pkg.yaml file.