Lanzamiento del editor de texto Vim 9.0

Después de dos años y medio de desarrollo, se lanzó el editor de texto Vim 9.0. El código Vim se distribuye bajo su propia licencia copyleft, compatible con la GPL y que permite el uso, distribución y reelaboración ilimitados del código. La característica principal de la licencia de Vim está relacionada con la reversión de cambios: las mejoras implementadas en productos de terceros deben transferirse al proyecto original si el mantenedor de Vim considera que estas mejoras merecen atención y presenta la solicitud correspondiente. Por tipo de distribución, Vim se clasifica como Charityware, es decir. En lugar de vender el programa o recolectar donaciones para las necesidades del proyecto, los autores de Vim solicitan donar cualquier cantidad a organizaciones benéficas si al usuario le gusta el programa.

Vim 9 ofrece un nuevo lenguaje para desarrollar scripts y complementos: Vim9 Script, que proporciona una sintaxis similar a JavaScript, TypeScript y Java. La nueva sintaxis es más fácil de aprender para los principiantes, pero no es compatible con el antiguo lenguaje de programación. Al mismo tiempo, se conserva por completo la compatibilidad con el idioma utilizado anteriormente y la compatibilidad con complementos y scripts existentes: los idiomas antiguo y nuevo se admiten en paralelo. No hay planes para suspender el soporte para el idioma antiguo.

Además de reelaborar la sintaxis, Vim9 Script ahora admite funciones compiladas, lo que puede aumentar significativamente la productividad. En las pruebas realizadas, las funciones compiladas en código de bytes permitieron aumentar la velocidad de ejecución del script entre 10 y 100 veces. Además, Vim9 Script ya no procesa argumentos de funciones como matrices asociadas, lo que generaba grandes gastos generales. Las funciones ahora se definen mediante una expresión "def" y requieren una lista explícita de argumentos y tipos de retorno. Las variables se definen mediante una expresión "var" con una indicación de tipo explícita.

Dividir expresiones en varias líneas ya no requiere el uso de una barra invertida. El mecanismo de manejo de errores ha sido completamente rediseñado. La palabra clave "llamar" no es necesaria para ejecutar funciones, pero "let" sí es necesaria para las asignaciones de valores. Se ha simplificado la creación de módulos: se ha agregado la capacidad de exportar funciones y variables individuales para usarlas en otros archivos. Los comentarios están separados por un carácter "#" en lugar de comillas dobles. Se planea soporte de clase para futuras versiones.

Entre otros cambios:

  • Se incluye un conjunto de combinaciones de colores.
  • Soporte mejorado para revisión ortográfica y finalización de entradas.
  • Se agregaron nuevas configuraciones: 'autoshelldir', 'cdhome', 'cinscopedecls', 'guiligatures', 'mousemovevevent', 'quickfixtextfunc', 'spelloptions', 'thesaurusfunc', 'xtermcodes'.
  • Se agregaron nuevos comandos: argdedupe, balt, def, defcompile, disassemble, echoconsole, enddef, eval, export, final, import, var y vim9script.
  • Es posible abrir el terminal en una ventana emergente (popup-terminal) y seleccionar el esquema de color del terminal.
  • Modo de canal agregado para la interacción con el servidor LSP (Language Server Protocol).
  • Se agregó soporte para el sistema operativo Haiku.

Fuente: opennet.ru

Añadir un comentario