
Hoje vamos iniciar uma série de como instalar Language Server Protocol(LSP) para diversas linguagens de programação no Neovim .
Esse artigo pressupõe que você já sabe:
Nesse primeiro artigo da série vamos configurar o LSP para Lua .
Lua utiliza o LSP que fica no repositório https://github.com/sumneko/lua-language-server, o mesmo usado no VS Code .
E como “cobaia” vamos utilizar o Ubuntu 22.04 , se estiver em uma versão diferente ou sistema operacional diferente ou até mesmo em outra distribuição, basta usar o search do seu gerenciador de pacotes .
Antes de mais nada, certifique-se que possui os seguintes pacotes/softwares instalados no seu sistema:
Exemplo:
sudo apt install gcc g++ clang ninja-buildNesse caso vou armazenar em
${HOME}/.config/lsp, mude o caminho caso lhe interesse mais
Crie o diretório e entre no mesmo
mkdir -p ~/.config/lsp
cd ~/.config/lsplua-language-serverCom os seguintes comandos na ordem:
git clone --depth=1 https://hub.fastgit.xyz/sumneko/lua-language-server
cd lua-language-server
git submodule update --init --recursive
cd 3rd/luamake
compile/install.sh
cd ../..
./3rd/luamake/luamake rebuild$PATHO Neovim já tem diversos LSP embutidos, o que falta é ele encontrar na sua $PATH o caminho do binário .
Para isso rode os comandos abaixo:
Se você usou um caminho diferente de
~/.config/lsp, altere conforme seu caso.
echo 'export PATH="${HOME}/.config/lsp/lua-language-server/bin:${PATH}"' >> ~/.bashrc
source ~/.bashrc
exec $SHELLAdicione o suporte ao LSP para Lua conforme o estilo de configuração que você escolheu. Nesse caso, como exemplo, vamos usar o init.lua .
vim ~/.config/nvim/init.lua
E adicione o código abaixo
require'lspconfig'.sumneko_lua.setup {}Se estiver tudo certo, você terá: detalhes de funções, informações de erros e warnings, autocomplete de acordo com tabelas e entre outros. Exemplos:
