Sistema de Errores y Mensajes en Terminal
Archivo: src/error.rs (309 líneas)
¿Por qué existe?
Provee el sistema de mensajes de error educativos que caracteriza a Forja. Define colores ANSI, formateo de mensajes, y utilidades de logging para que el compilador muestre errores, advertencias y sugerencias en español de manera clara y visualmente consistente.
Componentes
Módulo color
Define constantes ANSI para colorear la salida en terminal:
- Colores:
ROJO,VERDE,AMARILLO,AZUL,MAGENTA,CYAN,GRIS - Estilos:
NEGRITA,DIM,SUBRAYADO - Fondos:
ROJO_FONDO,AMARILLO_FONDO - Funciones helper:
rojo(s),verde(s),negrita(s), etc.
Funciones de mensaje
| Función | Uso |
|---|---|
exito(msg) | ✅ Mensaje de éxito en verde |
error(msg) | ❌ Mensaje de error en rojo |
warning(msg) | ⚠️ Advertencia en amarillo |
info(msg) | Información en cian |
debug_msg(msg) | 🔍 Mensaje de depuración en gris |
resaltado(msg) | Texto en negrita para énfasis |
archivo(msg) | 📄 Nombre de archivo en amarillo |
Enum TipoError
Clasifica los errores del compilador en categorías:
Lexico— Errores del lexer (caracteres no reconocidos)Sintactico— Errores del parser (estructura inválida)Semantico— Errores de tipos, borrowing, ownershipRuntime— Errores en tiempo de ejecución
¿Dónde se usa?
Este módulo es importado y usado en TODO el compilador: lexer, parser, semantics, bytecode, todas las VMs, REPL, CLI, formatter, etc. Cada vez que ves un mensaje colorido en español al usar Forja, proviene de error.rs.
🎨 Filosofía: Los errores en Forja están diseñados para ser educativos — no solo dicen qué falló, sino que sugieren cómo arreglarlo, todo en español y con colores para facilitar la lectura.