syntax::diagnostic::print_diagnostic currently parses the terminfo entry every time it is called, which is wildly inefficient and apt to create churn. Being an error/warning codepath, its efficiency is not key, but it'd be nice if the Terminal could be cached somewhere (TLS?)