wookayin/dotfiles

neovim 0.5.0 + LSP + lua-based plugins

wookayin opened this issue · 4 comments

Neovim 0.5.0 is out. It is time to migrate from coc to LSP.nvim and treesitter.

Resources (Guide and config example):

https://github.com/rockerBOO/awesome-neovim

https://news.ycombinator.com/item?id=27713358
https://www.reddit.com/r/neovim/comments/ol6fqq/050_language_server_client_qa_w_mjlbach_me/
https://blog.inkdrop.info/how-to-set-up-neovim-0-5-modern-plugins-lsp-treesitter-etc-542c3d9c9887
https://alpha2phi.medium.com/neovim-lsp-enhanced-a3d313abee65
https://nathansmith.io/posts/neovim-lsp/
https://elianiva.my.id/post/my-nvim-lsp-setup
https://github.com/siduck76/NvChad
https://cj.rs/blog/my-setup/nvim-0-5/
https://github.com/ttys3/nvim-config
https://www.reddit.com/r/neovim/comments/opipij/guide_tips_and_tricks_to_reduce_startup_and/
https://github.com/FotiadisM/nvim-lua-setup
https://github.com/akinsho/dotfiles <- A great neovim config
https://github.com/Neelfrost/dotfiles <- this one too
https://github.com/mattleong/CosmicNvim
https://github.com/lvim-tech/lvim <- Nice config for DAP, LSP

LSP Plugins

DAP (Debug Adapter Protocol)

Out of scope, will be done later

Other Utilities (needed because replacing coc.nvim, etc.)

Missing features / TODO

  • ✅ Peek definition (previously gP, <leader>K)
  • ✅ Automatic (and manual) code formatting
  • Automatic import organization upon save (but should be able to opt out if needed)
  • Auto pair parentheses

#28 adds first minimal LSP configuration; nvim-lsp-installer, nvim-compe, lsp_signature.nvim, trouble.nvim, nvim-tree.lua, etc.

The next milestone will include treesitter (still experimental) and more advanced IDE-like features such as peek definition, auto formatting, etc.

Migrated from nvim-compe to nvim-cmp with custom floating pop-up menu support 🎉

image

PeekDefinition: 1833d35

Basic LSP support are all done and have been quite stable. Treesitter, DAP integration will be left as future work.