.json, y TYBA lo valida entero antes de aceptarlo.
Los dos botones
Settings → Appearance, en la línea de la sección Themes:
Import theme… también está en la paleta de comandos (
⌘P / Ctrl+Shift+P), en el grupo Theme.
Importar desde Settings no aplica. El tema entra en la cuadrícula; para usarlo, haz clic en él. Y hacer clic puede cambiar el modo — ve Modo claro y oscuro. Desde la paleta de comandos es diferente: ahí importar aplica el tema de inmediato.
El ejemplo
Esto es exactamente lo que el botón Copy example pone en tu portapapeles. Edita los colores e impórtalo.Los campos de nivel superior
ui y terminal son los dos opcionales, y omitirlos tiene un significado útil:
- Sin
terminal, el tema hereda la paleta de terminal de TYBA Dark o de TYBA Light, según subase. - Sin
ui, la interfaz se queda con las superficies por defecto de esa base.
{ "name": "Mi Tema", "base": "light" } es un tema válido — solo que no cambia nada. Y solo necesitas declarar las claves de ui que quieras cambiar; el resto hereda de la base.
ui — las 21 claves
Cualquier clave fuera de esta lista se rechaza. Todas son opcionales.
Los tints, los glows, el color de selección, el vidrio y el hover se derivan solos de los acentos. No existe clave para ellos — y por eso puedes escribir un tema con cinco colores y que salga coherente.
terminal
El orden de
ansi es el de siempre: los 8 normales y después los 8 brillantes.
Los colores
Solo hexadecimal, siempre con#:
red, rgb(0,0,0), hsl(...) y #ffff se rechazan todos. El mensaje de error dice qué clave lo rompió.
Nombre, id y nombres reservados
El id del tema es el slug delname: minúsculas, y todo lo que no sea letra o número se convierte en guion. Dracula Pro! pasa a ser dracula-pro. Café com Leite pasa a ser caf-com-leite — los acentos no sobreviven al slug, pero el name que aparece en la cuadrícula los conserva.
Si un nombre solo tiene símbolos (___), el slug queda vacío y el import falla por nombre inválido.
Dos imports con el mismo slug: el segundo sobrescribe al primero, sin preguntar. La cuadrícula sigue con una sola entrada.
Tamaño
El archivo tiene que ser un archivo regular y pesar 256 KB como máximo. Por encima de eso, se rechaza antes incluso de leerse como JSON.Cuando sale mal
Un error de import se convierte en una alerta del sistema con el mensaje de validación — clave equivocada, color inválido, ansi del tamaño equivocado, nombre reservado. No se graba nada.Dónde vive el tema
El import copia el archivo, ya normalizado, a la carpeta de configuración de la app:
El nombre del archivo es el id:
dracula-pro.json. El archivo original desde el que importaste no se usa después — tocarlo no cambia nada.
Puedes poner archivos
.json directamente en esa carpeta en vez de usar el botón. TYBA lee la carpeta entera al listar los temas. Pero entonces no hay alerta: un archivo inválido simplemente se ignora y el tema no aparece. Un archivo cuyo nombre coincide con un id integrado también se ignora — el integrado siempre gana.Qué no existe
¿Borraste el
.json de un tema que estaba en uso? El slot cae al integrado de esa base en la siguiente lectura. La app no se rompe.Ver también
Los temas
Los 18 integrados, antes de que escribas el tuyo.
Modo claro y oscuro
Dónde cae tu tema después de importarlo.