import { tags as t } from '@lezer/highlight'; import { createTheme } from './theme-helper.mjs'; // Tema NEÓN: naranja neón dominante (texto de UI y código base), // con acentos VERDE NEÓN (números, átomos) y CIAN (operadores, corchetes, puntuación). export const settings = { background: '#0a0a0c', lineBackground: '#0a0a0c99', foreground: '#ff7a18', // naranja neón — todo el texto de la interfaz y el código base muted: '#ff7a1840', // bordes/separadores en naranja tenue caret: '#00e5ff', // cursor cian selection: 'rgba(57,255,20,0.25)', // selección verde neón selectionMatch: 'rgba(0,229,255,0.22)', lineHighlight: 'rgba(255,122,24,0.07)', gutterBackground: 'transparent', gutterForeground: '#ff7a1866', }; export default createTheme({ theme: 'dark', settings, styles: [ { tag: [t.atom, t.bool, t.special(t.variableName)], color: '#39ff14' }, // verde neón { tag: t.labelName, color: '#00e5ff' }, // $: en cian { tag: t.keyword, color: '#ff5e00' }, // const, => naranja fuerte { tag: t.operator, color: '#00e5ff' }, // + - * / cian { tag: t.special(t.variableName), color: '#ffb877' }, { tag: t.typeName, color: '#ff9a3c' }, { tag: t.atom, color: '#39ff14' }, { tag: t.number, color: '#39ff14' }, // números verde neón { tag: t.definition(t.variableName), color: '#ffb877' }, // nombres de const { tag: t.string, color: '#ffd59e' }, // "bd*4" "RolandTR909" ámbar cálido (legible) { tag: t.special(t.string), color: '#ffd59e' }, { tag: t.comment, color: '#9a7a55' }, // comentarios apagados { tag: t.variableName, color: '#ff9a3c' }, // s, note, stack... naranja { tag: t.tagName, color: '#ff9a3c' }, { tag: t.bracket, color: '#00e5ff' }, // ( ) [ ] cian { tag: t.meta, color: '#39ff14' }, { tag: t.attributeName, color: '#39ff14' }, { tag: t.propertyName, color: '#ff9a3c' }, // .lpf .gain .bank naranja { tag: t.className, color: '#ffb877' }, { tag: t.invalid, color: '#ff2222' }, { tag: [t.unit, t.punctuation], color: '#00e5ff' }, // puntuación cian ], });