/hi-doc

Diagnostic formatting library

Primary LanguageRust

hi-doc

annotated code example

Diagnostic formatting library.

Motivation

Most diagnostic formatting libraries implement both formatting and span/source management simultaneously. This can be beneficial for consistency, but it requires tying the code of your library to a third-party annotation library, which can be inconvenient, especially when your library already has its own logic for diagnostics.

hi-doc solely implements diagnostic formatting, allowing for seamless integration with existing diagnostic logic within a library.

Finished features

  • Multiple ranges per annotation

  • Multi-line annotations

  • Multi-line annotation text

  • Support for unicode fullwidth characters

    code with fullwidth characters

  • Correct handling of non-printable control characters, and configurable tab width

    tab alignment

  • Formatting of the annotation text itself

  • Syntax highlightning in annotated text

  • Support for non-colored terminals

  • Place annotations on top of the line