uutils coreutils incorpora diagnósticos estilo compilador con cursor y subrayado

Fuentes: Pointing at the error: compiler-style diagnostics in uutils coreutils

A partir de la versión 0.11.0, uutils coreutils sustituye los mensajes genéricos de error en stderr por diagnósticos al estilo de un compilador: cuando la salida estándar es una terminal, los argumentos que fallan al parsearse se reimprimen como una línea de código, un cursor señala el fragmento culpable y, cuando es posible, una línea de ayuda explica la sintaxis esperada. La técnica, inspirada en rustc y en la biblioteca ariadne, ya se había aplicado en uutils awk y se extiende ahora a coreutils porque varios de sus argumentos —expresiones de test, modos de chmod, claves de sort, conjuntos de tr— son pequeños lenguajes que también pueden parsearse. En la nota se muestran ejemplos con tr, cut, chmod, sort, env, test, head, numfmt y csplit, donde antes el usuario recibía un mensaje vago y ahora obtiene la posición exacta del fallo. La misma maquinaria se reutiliza para todos los argumentos SIZE (head, tail, truncate, split, shred, od, sort, du, df, ls) y para formatos tipo printf en numfmt, printf, seq y stat. En total, 28 utilidades incorporan el sistema en 0.11.0. El texto se publica como entrada de blog del proyecto uutils, una reimplementación en Rust de las GNU Coreutils.