Language Server Protocol (LSP) is an open, JSON-RPC-based protocol for communication between source code editors and language servers, which provide programming language-specific features such as:
Starting with version 0.5, neovim natively supports this protocol. To enjoy these features, you need to install and configure a LSP server for the languages you are interested in. The neovim organization maintains a list of configurations in the nvim-lspconfig plugin. The repository contains instructions to setup and troubleshoot many servers.