Foi apresentado o lançamento da nova versão do Neovim 0.4 que é um ramo do editor Vim que se concentra em aumentar a extensibilidade e flexibilidade.
Para quem não conhece o projeto Neovim, deve saber o quee este está retrabalhando a base de código do Vim por mais de cinco anos, como resultado das mudanças foram feitas para simplificar a manutenção do código, proporcionando meios para dividir o trabalho entre vários mantenedores, separando a interface da base (a interface pode ser alterada sem tocar no interior) e implementando uma nova arquitetura extensível baseada em plug-ins.
Dos problemas do Vim que levaram à criação do Neovim consistindo em mais de 300 mil linhas de código C. Apenas algumas pessoas entendem todas as nuances da base de código do Vim e todas as mudanças são controladas por um mantenedor, tornando difícil manter e trabalhar para melhorar o editor.
Em vez de código embutido no núcleo do Vim para suportar a GUI, Neovim propõe o uso de uma camada universal que permite criar interfaces usando vários kits de ferramentas.
Plugins para Neovim rodam como processos separados, para o qual o formato MessagePack é usado. A interação com os plugins é feita em modo assíncrono, sem bloquear os componentes básicos do editor.
Para acessar o plug-in, um soquete TCP pode ser usado, ou seja, o plug-in pode ser executado em um sistema externo.
Ao mesmo tempo, o Neovim ainda é compatível com versões anteriores do Vim, continua a oferecer suporte a Vimscript (como uma alternativa a Lua) e a plug-ins da maioria dos plug-ins Vim padrão. Os recursos avançados do Neovim podem ser usados em plug-ins criados com a API específica do Neovim.
Cerca de 80 plug-ins específicos já foram preparados, há pastas disponíveis para criar plug-ins e implementações de interface usando várias linguagens de programação (C ++, Clojure, Perl, Python, Go, Java, Lisp, Lua, Ruby) e frameworks (Qt5 , ncurses, Node .js, Electron, GTK +). Várias opções de interface do usuário estão em desenvolvimento.
Os plug-ins GUI são muito semelhantes aos plug-ins, mas, ao contrário dos plug-ins, eles iniciam chamadas para funções do Neovim, enquanto os plug-ins são chamados do Neovim.
Os desenvolvimentos originais do projeto são distribuídos sob a licença Apache 2.0, e a parte básica sob a licença Vim.
Principais notícias do Neovim 0.4
Com o lançamento desta nova versão do Neovim 0.4 Muitas das novas funções de API e eventos de IU foram adicionados ao aplicativo.
Além disso, também é destacado que adicionou uma nova biblioteca Nvim-Lua padrão desenvolver plugins na linguagem Lua.
Por outro lado, continua o desenvolvimento do protocolo de interface do usuário, que atualiza as informações na tela no nível da linha, em vez de caracteres individuais.
E isso também no Neovim 0.4 adicionado suporte para janelas totalmente flutuantes que pode ser colocado em qualquer lugar, anexado, vinculado a buffers de edição individuais, agrupados no modo Multigrid.
Agora para o caso de instalação desta nova versão no Linux, eÉ importante ressaltar que Neovim está entre a maioria dos repositórios das distribuições mais populares.
Apesar o único problema no momento é que a nova versão ainda não foi atualizada nos repositórios da maioria das distribuições Linux.
Já que atualmente apenas Arch Linxu e seus derivados eles já têm a disponibilidade deste pacote.
Para instalar no Arch e derivados, basta abrir um terminal e nele digitarão o seguinte comando:
sudo pacman -S neovim
Enquanto para aqueles que são usuários de Debian, Ubuntu e derivados podem instalar o novo pacote assim que estiver disponível executando no terminal o comando:
sudo apt install neovim
No caso de quem é usuário do Fedora e derivados:
sudo dnf install neovim
Usuários do OpenSUSE:
sudo zypper install neovim
Finalmente, para usuários do Gentoo
emerge -a app-editors/neovim