Skip to content
Shaobin-Jiang edited this page Feb 28, 2024 · 1 revision

The plugins covered in the previous section are, while powerful, insufficient, as one crucial feature is missing: autocompletion. After all, without autocompletion, neovim is not as ideal for most people as their NO. 1 development tool as other IDEs would be. This page will introduce the Lsp set up by IceNvim.

Package Manager

IceNvim uses neovim's built-in lsp. While I am aware that many chooses coc.nvim instead (I myself started with coc.nvim when I started out with vim), I myself prefer neovim lsp, as it consumes less resource and is more flexible. Therefore, IceNvim needs a package manager for the numerous lsp servers.

IceNvim uses mason.nvim, a portable package manager that facilitates easy installation and management of lsp servers, dap servers, linters, and formatters. You can use the Mason command to check out what is installed.

Completion Engine

IceNvim uses nvim-cmp for completion. Not only does it provide completion for your codes, but it does that in command mode as well and provides useful code snippets.

Formatting

IceNvim uses none-ls for formatting, which is a replacement for the wonderful but archived null-ls. However, the name "null-ls" remains for historic reasons.

Language-Specific Plugins

IceNvim uses flutter-tools and rust-tools for flutter and rust development respectively.

Clone this wiki locally