Criando 플러그인 Lua para Neovim - 1부

4644 단어 pluginsvimluaneovim

Uma série mostrando um passo a passo na criação de plugins Lua para o Neovim




Desde que migrei para o Neovim em 2019, depois passar 8 anos usando vim com seus plugins fantásticos, comecei a descobrir as motivações que levaram os core devs a criar esse fork.

Podemos ficar um bom tempo aqui falando sobre elas (e você pode ver uma palestra muito interessante sobre), mas o intuito desde texto é apenas destacar uma delas, e a que eu thinko uma das mais Importantes: Lua

Quando você instala o Neovim hoje, a linguagem Lua, ou mais especificamente o LuaJIT, uma versão otimizada da linguagem está inserida no core e você consegue usá-la diretamente num vimscript ou chamando um arquivo lua diretamente. Mas como isso acontece?

Esse texto vai fazer parte de uma série onde vou mostrar como é possível criar seu primeiro plugin para o Neovim usando puramente Lua. Primeiro vamos voltar um pouco e mostrar a estrutura de um plugin convencional para o Vim:

~/seu-plugin/
|--plugin/
|--ftplugin/
|--after/
|--autoload/


Para nossa série, iremos focar na 파스타 plugin 의해 enquanto.

A 파스타 plugin é usada como ponto de entrada no carregamento do vim. Lá é o lugar onde irão viver os 플러그인 세계. 모든 플러그인에서 가장 중요한 정보를 보호하십시오.

Criando nosso hello-world.nvim 플러그인



요약 요약: Código para o plugin da primeira parteaqui

Como não utilizaremos de nenhum gerenciador de plugins nessa série, vamos facilitar um pouco o carregamento do mesmo e iremos criar os arquivos diretamente no runtimepath do neovim, mais precisamente em

~/.local/share/nvim/site/plugin


Caso essa 파스타 não exista em seu sistema, cry com

$ mkdir -p ~/.local/share/nvim/site/plugin


Nosso 플러그인 irá utilizar a versão 0.7 (stable até o momento) do neovim.

Dentro da 파스타 플러그인은 파스타hello-world.nvim와 서브파스타plugin를 울립니다.

$ mkdir -p hello-world.nvim/plugin


버전 0.6에서 podemos executar scripts lua diretamente da 파스타plugin . Quando falamos no início do post sobre essa 파스타 e o valor especial que ela tem, estamos falando justamente sobre o ponto de partida do 플러그인. Se o seu 플러그인 precisa ser carregado toda vez que o neovim abre, o código do seu projeto precisa ser inicializado ou feito diretamente na 파스타plugin .

Dentro da 파스타, crie o arquivo hello-world.lua 전자 숫자:

vim.api.nvim_create_user_command("HelloWorld", function() print("hello world lua!") end, {})


Podemos ver o uso dovim.cmd , uma ponte entre lua ea chamada da função ou de um comando vimscript. Iremos explicar mais exemplos dele e outras APIs, como o vim.api, 가장 중요한 delas.

새로운 플러그인을 다시 시작하거나 편집자 및 테스트를 시작할 수 있습니다. Depois de fechar e abrir, 숫자:

:HelloWorld


e poderá ver no prompt de comando a mensagem
hello world lua!

결론



Esta é só a ponta do iceberg do que podemos fazer com Lua no neovim hoje. Nos próximos posts da série iremos abordar como criar floating windows, configurar seu Neovim para usar o LSP nativo (e fugir daquele plugin javascript que você deseja tanto) e no fim da série vou explicar como migrar seu vimfiles totalmente para lua usando o máximo de plugins puramente feitos em lua no dia-a-dia (sim, isso já é possível!)

Aguardem os próximos posts e não esqueçam de seguir nossas redes

링크 Úteis


  • Documentação Oficial Neovim e Lua

  • 파라 우비르

    좋은 웹페이지 즐겨찾기