Annotate
Parse custom @annotate text to colorize any text within a document.
> @annotate [<start_column> - <end_column>] <text>

The annotations are always contained below the annotated line, but this extension also creates fold regions for all of them.

By default, the numbers in brackets describe start/end character columns in VSCode, but with
@annotate-cfg directives they can be translated to anything else. In the following example, the numbers map directly to byte offsets in the packet hex dump:

The annotations are given a random color, but it can be also specified manually:

This extension also provides an "Annotate" command to quickly insert an annotation at the selected region: annotate.annotate.
Annotate-cfg
The @annotate-cfg directives apply to any subsequent @annotate-s. @annotate-cfg can be specified multiple times in the same file so the different configurations are used with different annotations.
Currently the following configuration options can be set:
> @annotate-cfg [clamp = [<start_column>, <end_column>]]
- disables annotations before
<start_column> and after <end_column>.
> @annotate-cfg [rangeFn = { start = 6 + start * 3; end = 6 + end * 3 - 1 }]
- map
start and end column numbers in @annotate to any other value. This uses expr-eval library for safe evaluation. See the link for a list of supported operations and built-in arithmetic functions.
This extension was developed to simplify reverse-engineering network packet structures while still being able to write regular text remarks with maximum flexibility.