Dando color a un theme

Ruby Blue, o como crear temas para FlashDevelop

Quién haya programado algo en ActionScript o HaXe seguramente conocerá el programa FlashDevelop, un editor de código open source bastante completo y potente para Windows (creo que para Linux y Mac hay una versión con MonoDevelop).

El único inconveniente que le veo (que más quieres, es gratuito) es que no hay ninguna manera evidente de cambiar el theme – los colores de la ventana de edición de código. Otros entornos como Eclipse permiten muy fácilmente cambiar el tema de colores (gracias al plugin Eclipse Color Themes), y después de haber probado combinaciones de fondos oscuros como Oblivion o Solarized Dark una ventana de edición en blanco quema mis retinas.

Pantalla de edición de FlashDevelop
Una página con fondo blanco, el horror…

Así, para cambiar el theme a FlashDevelop es necesario obtener un archivo .FDZ (que no es más que un archivo comprimido ZIP con otra extensión), ejecutarlo y aceptar la instalación. La próxima vez que se lance FlashDevelop habrá cambiado de colores, probablemente a mejor.
(Puedes probar con éste archivo FDZ basado en Ruby Blue, creado por mismamente yo.)

Ahora que sabemos como alterar la combinación de colores, crear un tema nuevo será igual de sencillo.Como ya hemos comentado, un archivo de tema FDZ es en realidad un archivo comprimido que contiene una estructura de directorios y algunos archivos XML que definen los colores para cada lenguaje.

Estructura de un archivo FDZ
Estructura de un archivo FDZ

Entonces, para empezar a crear el tema, se ha de replicar esa misma jerarquía de carpetas en algún sitio del disco duro, si se quiere dentro de un directorio con el nombre del tema:

Mi tema\$(BaseDir)\Settings\Languages\

A continuación, navegamos hasta la carpeta de instalación de FlashDevelop (normalmente se encuentra en el directorio Archivos de programa) y copiamos todos los archivos XML que se encuentran en la subcarpeta
FlashDevelop\Settings\Languages\

Estos archivos se han de pegar en la carpeta Languages\ de nuestro tema.

El siguiente paso es editar cada uno de los archivos XML, que corresponden a los diferentes lenguajes de programación que soporta FlashDevelop (AS3.xml, CSS.xml, HaXe.xml, etc.), cambiando los valores de los colores por otros que nos gusten más. Estos valores se encuentran hacía al final del fichero XML, en los nodos <editor-style> y <use-styles>, y son números en notación hexadecimal (con un 0x delante, al parecer heredado del todopoderoso C).

<editor-style caret-fore="0x000000" caretline-back="0xececec" selection-fore="0xffffff" selection-back="0x3399ff" />
<use-styles>
	<style name="default" fore="0x000000" back="0xffffff" size="9" font="Courier New" />
	<style name="commentline" fore="0x008000" />
	<style name="number" fore="0x000099" />
	<style name="string" fore="0xa31515" />
	<style name="character" fore="0xa31515" />
	<style name="word" fore="0x000099" />
	<style name="triple" />
	<style name="tripledouble" />
	<style name="classname" />
	<style name="defname" />
	<style name="operator" />
	<style name="identifier" />
	<style name="commentblock" fore="0x008000" />
	<style name="stringeol" />
	<style name="word2" fore="0x008080" />
	<style name="decorator" />
	<style name="gdefault" fore="0xc0c0c0" />
	<style name="linenumber" fore="0x666666" />
	<style name="bracelight" fore="0x0000cc" back="0xcdcdff" bold="true" />
	<style name="bracebad" bold="true" />
	<style name="controlchar" fore="0xffffff" />
	<style name="indentguide" fore="0xc0c0c0" />
	<style name="lastpredefined" fore="0x666666" />
</use-styles>

Combinación de colores por defecto de Phyton (Python.xml).

Se puede identificar el uso de cada color por el atributo name del estilo, así como distinguir del color para el texto (fore, de foreground) del color para el fondo o relleno (back, de background).

Cuando terminemos de cambiar los códigos de color, es el momento de empaquetarlo todo en un archivo FDZ: comprimimos en un ZIP la carpeta $(BaseDir)/ con todo su contenido, y al archivo resultante lo renombramos a:
el-nombre-de-tu-tema.fdz
(Subrayo la importancia de cambiar la extensión .ZIP a .FDZ para que el tema funcione.)

Para probarlo, instala el archivo FDZ como hemos explicado más arriba (ejecutar y aceptar). FlashDevelop tendrá unos flamantes colores nuevos al gusto del usuario.

Publicado por

Raúl Parralejo

Raúl Parralejo

Frontend developer, especializado en el desarrollo de aplicaciones web y juegos para móvil y escritorio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *