The lowest supported variant is currently 2 based on the assumption that cterm* are ignored in favor of term when &t_Co <= 2. This is wrong because cterm* are definitely used when &t_Co == 2:
and ignored when &t_Co < 2:
Note that the behavior of 2 is generally the same as that of 8 except for these differences:
when using color names, red/darkred and blue/darkblue are switched, as well as yellow/darkyellow and cyan/darkcyan: ctermbg=darkred gives you whatever the terminal emulator thinks is darkblue and so on,
when using color indices, colors are in the standard "xterm" order: 1 is darkred, etc.
This is addressed by the current master. Now, Variant: 2 generates code that uses cterm attributes; Variant: 1 and Variant: 0 (now supported) generate code that uses term attributes.
The lowest supported variant is currently
2
based on the assumption thatcterm*
are ignored in favor ofterm
when&t_Co <= 2
. This is wrong becausecterm*
are definitely used when&t_Co == 2
:and ignored when
&t_Co < 2
:Note that the behavior of
2
is generally the same as that of8
except for these differences:red
/darkred
andblue
/darkblue
are switched, as well asyellow
/darkyellow
andcyan
/darkcyan
:ctermbg=darkred
gives you whatever the terminal emulator thinks isdarkblue
and so on,1
isdarkred
, etc.There is no difference between
1
and0
.