oxentescript
Version:
π΄ A Linguagem de ProgramaΓ§Γ£o dos Baianos com Tokens Coloquiais Brasileiros + Syntax Highlighting Colorido!
92 lines (79 loc) β’ 4.83 kB
JavaScript
// CΓ³digos ANSI para cores
const colors = {
reset: '\x1b[0m',
bold: '\x1b[1m',
// Cores personalizadas para tokens
baiano: '\x1b[91m', // Vermelho claro
brasileiro: '\x1b[92m', // Verde claro
string: '\x1b[93m', // Amarelo claro
number: '\x1b[95m', // Magenta claro
comment: '\x1b[90m', // Cinza
operator: '\x1b[96m', // Ciano claro
cyan: '\x1b[36m',
yellow: '\x1b[33m',
green: '\x1b[32m',
red: '\x1b[31m'
};
function colorize(text, color) {
return `${colors[color]}${text}${colors.reset}`;
}
console.log(colorize('\nπ΄ =============================================', 'cyan'));
console.log(colorize(' βββββ βββ βββ ββββ βββββ βββ βββ', 'yellow'));
console.log(colorize(' βββββ βββ βββ ββββ βββββ βββ βββ', 'yellow'));
console.log(colorize(' βββββ βββ βββ ββββ βββββ βββ βββ', 'yellow'));
console.log(colorize(' ββββββ βββ ββββ βββ ββββ βββββ', 'green'));
console.log(colorize(' ββββββ βββ ββββ βββ ββββ βββββ', 'green'));
console.log(colorize(' ββββββ βββ ββββ βββ ββββ βββββ', 'green'));
console.log(colorize(' =============================================', 'cyan'));
console.log(colorize(' π§π· A Linguagem de ProgramaΓ§Γ£o dos Baianos! π΄', 'bold'));
console.log(colorize(' ============================================= π\n', 'cyan'));
console.log(colorize('π¨ TOKENS OXENTESCRIPT COM CORES', 'bold'));
console.log(colorize('=====================================\n', 'cyan'));
console.log(colorize('π§π· TOKENS BAIANOS (ORIGINAIS):', 'red'));
console.log(`β’ ${colorize('bora', 'baiano')} = function (declarar funΓ§Γ£o)`);
console.log(`β’ ${colorize('massa', 'baiano')} = let (declarar variΓ‘vel)`);
console.log(`β’ ${colorize('falaai', 'baiano')} = console.log (imprimir)`);
console.log(`β’ ${colorize('seliga', 'baiano')} = if (condicional se)`);
console.log(`β’ ${colorize('senao', 'baiano')} = else (condicional senΓ£o)`);
console.log(`β’ ${colorize('laele', 'baiano')} = for (loop for)`);
console.log(`β’ ${colorize('oxe', 'baiano')} = while (loop while)`);
console.log(`β’ ${colorize('volta', 'baiano')} = return (retornar)\n`);
console.log(colorize('π§π· TOKENS BRASILEIROS (NOVOS):', 'green'));
console.log(`β’ ${colorize('botaAΓ/botaAi', 'brasileiro')} = let (variΓ‘vel)`);
console.log(`β’ ${colorize('Γ©IssoMemo/issoMemo', 'brasileiro')} = const (constante)`);
console.log(`β’ ${colorize('tantoFaz', 'brasileiro')} = var (variΓ‘vel var)`);
console.log(`β’ ${colorize('fazAΓ/fazAi', 'brasileiro')} = function (funΓ§Γ£o)`);
console.log(`β’ ${colorize('tomaEssa', 'brasileiro')} = return (retornar)`);
console.log(`β’ ${colorize('seLiga', 'brasileiro')} = if (se)`);
console.log(`β’ ${colorize('oxente', 'brasileiro')} = else (senΓ£o)`);
console.log(`β’ ${colorize('repeteco', 'brasileiro')} = for (repetir)`);
console.log(`β’ ${colorize('ateQuando', 'brasileiro')} = while (enquanto)`);
console.log(`β’ ${colorize('fazLogo', 'brasileiro')} = do (fazer)\n`);
console.log(colorize('β OPERADORES COLOQUIAIS:', 'cyan'));
console.log(`β’ ${colorize('somaLogo', 'operator')} = + (somar)`);
console.log(`β’ ${colorize('tiraAΓ/tiraAi', 'operator')} = - (subtrair)`);
console.log(`β’ ${colorize('multiplica', 'operator')} = * (multiplicar)`);
console.log(`β’ ${colorize('parteMeio', 'operator')} = / (dividir)\n`);
console.log(colorize('π OUTRAS CORES NO EDITOR:', 'cyan'));
console.log(`β’ ${colorize('"strings"', 'string')} (amarelo)`);
console.log(`β’ ${colorize('123', 'number')} (magenta)`);
console.log(`β’ ${colorize('// comentΓ‘rios', 'comment')} (cinza)\n`);
console.log(colorize('β¨ EXEMPLO COLORIDO:', 'bold'));
const exemplo = `bora exemploColorido() {
massa nome = "JoΓ£o";
botaAΓ idade = 25;
seLiga (idade >= 18) {
falaai("Maior de idade!");
} oxente {
falaai("Menor de idade!");
}
}`;
// Aplicar cores ao exemplo
let highlighted = exemplo;
highlighted = highlighted.replace(/\b(bora|massa|falaai|seliga|senao|laele|oxe|volta)\b/g, (match) => colorize(match, 'baiano'));
highlighted = highlighted.replace(/\b(botaAΓ|botaAi|fazAΓ|fazAi|seLiga|oxente|tomaEssa)\b/g, (match) => colorize(match, 'brasileiro'));
highlighted = highlighted.replace(/"([^"\\]|\\.)*"/g, (match) => colorize(match, 'string'));
highlighted = highlighted.replace(/\b\d+\b/g, (match) => colorize(match, 'number'));
console.log(highlighted);
console.log(colorize('\nπ΄ Cores funcionando perfeitamente! π', 'bold'));