(--------)
In the example:
foo -[#red]-> bar
we see that the color is between the 2 dashes. In your example
foo *[#red]-- bar
the color is between the asterisk and the dash and when using
foo *-[#red]- bar
so between the 2 dashes again, it works.