Bragi: Haciendo un editor en 2 semanas
Hace 2 años descubrí un lenguaje de programación que me atrapó. Mientras esperaba mi acceso a la beta de Jai (el lenguaje de programación de Jonathan Blow) que ahora tengo, descubrí Odin, un lenguaje de programación para sistemas, inspirado en C, Go y Jai, que es low-level, pero a su vez tiene facil acceso a cosas que usamos todos los días, como Array Programming.
Empecé a usarlo muy seguido y en los últimos dos años es el lenguaje que más escribo, así que quería devolverle algo a la comunidad de Odin y no sabía que hacer. Al mismo tiempo, las últimas actualizaciones de Emacs me estan molestando, en el trabajo me obligaron a usar Mac (yikes) y además mi nueva laptop usa Wayland, y tuve que pasar por varias compilaciones de Emacs hasta que logré que funcione nativo. Además, tarda entre 0.5 a 0.8 segundos en iniciar…
Ahí es cuando caí —en realidad a principio de este año— que quería crear mi propio editor. Y como lo iba a hacer con Odin y el software es poesía, decidí llamarlo Bragi, el Dios de la poesía.
El proyecto lo empecé en Enero y llegué a un estado funcional, pero con muchos problemas. Al mes, SDL sacó su nueva versión, SDL3, y yo empecé otro proyecto.
Pero hace dos semanas atrás, el 11 de Agosto, estaba leyendo un paper sobre estructura de datos para secuencias de textos y decidí intentar implementar una simple Piece Table. Funcionó de inmediato y, si bien es muy simple y necesita más trabajo, es funcional.
Entonces, con esa nueva base, comencé a reescribir Bragi de 0, y utilizando la nueva librería de SDL3. Y así es como cree Bragi, el editor que funciona como Emacs, pero que tiene las cosas que a Emacs le faltan y a mi me gustaría tener. Hoy tiene 6000 líneas de código y en este momento lo estoy usando para programar el mismo editor. Por ahora, solo reconoce Odin.