UNPKG

oxentescript

Version:

🌴 A Linguagem de Programação dos Baianos com Tokens Coloquiais Brasileiros + Syntax Highlighting Colorido!

92 lines (79 loc) β€’ 4.83 kB
#!/usr/bin/env node // 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'));