Neovim 0.5 llega con soporte para LSP, mejoras para Lua y mas
Después de casi dos años de desarrollo se ha dado a conocer el lanzamiento de la nueva versión de Neovim 0.5 (una rama del editor Vim, que se centró en mejorar la escalabilidad y la flexibilidad), esta versión representa cerca de 4000 confirmaciones desde la v0.4.4.
Se menciona que en esta nueva versión de Neovim 0.5, los aspectos más destacados incluyen soporte para LSP, nuevas API para marcas extendidas (con seguimiento de cambios de resolución de bytes) y búfer decoraciones, asà como grandes mejoras a lua como complemento y configuración.
Para quienes desconocen de Neovim deben saber que el marco del proyecto, el código base de Vim se ha revisado durante más de siete años, como resultado de lo cual se han realizado cambios para simplificar el mantenimiento del código, proporcionar un medio de división del trabajo entre varios mantenedores, separando la interfaz desde la parte base (la interfaz se puede cambiar sin tocar los internos) e implementando una nueva arquitectura extensible basada en plugins.
Entre los problemas de Vim que provocaron la creación de Neovim se encuentra la base de código monolÃtica de más de 300.000 lÃneas de código C. Solo unas pocas personas entienden todos los matices del código base de Vim, y todos los cambios están controlados por un mantenedor, lo que dificulta el mantenimiento y la mejora del editor. En lugar del código incorporado en el núcleo de Vim para admitir la GUI, Neovim propone usar una capa universal que le permite crear interfaces usando varios juegos de herramientas.
Principales novedades de Neovim 0.5
Esta nueva versión presenta una gran cantidad de cambios de los cuales la mayorÃa de estos cambios están enfocados en las mejoras a Lua, las nuevas API y mejoras en la configuración y es que se destaca el soporte extendido para Lua como lenguaje para el desarrollo de complementos y la gestión de la configuración.
De todos los cambios de los que más se destacan, podremos encontrar que se ha agregado un cliente LSP (Protocolo de servidor de idiomas) integrado en Lua, que se puede usar para conectarse a servicios externos para el análisis y la finalización del código.
De las API, se destaca una que fue agregada para controlar el diseño de búferes de selección, asi como tambien una API para usar etiquetas extendidas para rastrear cambios a nivel de bytes individuales.
También se ofrece soporte experimental para tree-sitter como motor de sintaxis, incluido uno basándose en las nuevas API principales para el seguimiento de bytes y las decoraciones.
Finalmente en cuanto a las correcciones:
- Se corrigió que el pegado de bloques que no funcionaba correctamente
- Se corrigió el comportamiento de silenciamiento de nvim_exec()
- Se corrigieron muchos errores descubiertos por clang y coverity
- Solución de los problemas de terminfo en Windows
- Solución con la pantalla de ajuste y pliegues
- Soluciona problemas de la familia de terminales de pantalla
Finalmente si estás interesado en poder conocer más al respecto de esta nueva versión, puedes consultar los cambios en el siguiente enlace.
¿Como instalar NeoVim en Linux?
Ahora para el caso de la instalación de esta nueva versión en Linux, es importante recalcar que Neovim está dentro de la mayorÃa de los repositorios de las distribuciones más populares.
Aun que el único problema en estos momentos es que la nueva versión aún no se ha actualizado en los repositorios de la mayorÃa de las distribuciones de Linux.
Ya que de momento solamente Arch Linxu y sus derivados ya cuentan con la disponibilidad de este paquete.
Para realizar la instalación en Arch y derivados, solo tienen que abrir una terminal y en ella van a teclear el siguiente comando:
sudo pacman -S neovim
Mientras que para los que son usuarios de Debian, Ubuntu y derivados podrán instalar el nuevo paquete en cuanto este disponible ejecutando en la terminal el comando:
sudo apt install neovim
En el caso de los que son usuarios de Fedora y derivados:
sudo dnf install neovim
Usuarios de openSUSE:
sudo zypper install neovim
Finalmente para los usuarios de Gentoo
emerge -a app-editors/neovim