/*
 author  : Aditya Mahajan and Christoph Hintermüller,
 license : Simplfied BSD License,
 version : 2020.06.29
*/

/* TODO: 
 * Inline environments
 * Export of TODO has an extra space
 * Line numbering in the margin
 */

vimtyping, 
.vimtyping 
{
    font-family:monospace;
    display:block;
    white-space:pre-wrap;
}

inlinevimtyping, 
.inlinevimtyping 
{
    font-family:monospace;
    display:inline;
    white-space:pre-wrap;
}


vimtyping verbatimline,
inlinevimtyping verbatimline,
.vimtyping .verbatimline,
.inlinevimtyping .verbatimline
{
    display:inline;
    white-space:pre-wrap;
}

vimtyping syntaxgroup,
inlinevimtyping syntaxgroup,
.vimtyping .syntaxgroup,
.inlinevimtyping .syntaxgroup
{
    display:inline;
}

/* `pscolor` color scheme */
vimtyping[detail=pscolor]  syntaxgroup[defail=vimConstant],
inlinevimtyping[detail=pscolor]  syntaxgroup[defail=vimConstant],
.vimtyping.pscolor .syntaxgroup.vimConstant,
.inlinevimtyping.pscolor .syntaxgroup.vimConstant,
vimtyping[detail=pscolor] syntaxgroup[defail=vimString],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimString],
.vimtyping.pscolor .syntaxgroup.vimString,
.inlinevimtyping.pscolor .syntaxgroup.vimString,
vimtyping[detail=pscolor] syntaxgroup[defail=vimCharacter],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimCharacter],
.vimtyping.pscolor .syntaxgroup.vimCharacter,
.inlinevimtyping.pscolor .syntaxgroup.vimCharacter,
vimtyping[detail=pscolor] syntaxgroup[defail=vimBoolean],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimBoolean],
.vimtyping.pscolor .syntaxgroup.vimBoolean,
.inlinevimtyping.pscolor .syntaxgroup.vimBoolean,
vimtyping[detail=pscolor] syntaxgroup[defail=vimFloat],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimFloat],
.vimtyping.pscolor .syntaxgroup.vimFloat,
.inlinevimtyping.pscolor .syntaxgroup.vimFloat
{
    color:#007068;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimNumber],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimNumber],
.vimtyping.pscolor .syntaxgroup.vimNumber,
.inlinevimtyping.pscolor .syntaxgroup.vimNumber
{
    color:#907000;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimIdentifier],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimIdentifier],
.vimtyping.pscolor .syntaxgroup.vimIdentifier,
.inlinevimtyping.pscolor .syntaxgroup.vimIdentifier,
vimtyping[detail=pscolor] syntaxgroup[defail=vimFunction],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimFunction],
.vimtyping.pscolor .syntaxgroup.vimFunction,
.inlinevimtyping.pscolor .syntaxgroup.vimFunction
{
    color:#a030a0;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimStatement],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStatement],
.vimtyping.pscolor .syntaxgroup.vimStatement,
.inlinevimtyping.pscolor .syntaxgroup.vimStatement,
vimtyping[detail=pscolor] syntaxgroup[defail=vimCondition],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimCondition],
.vimtyping.pscolor .syntaxgroup.vimCondition,
.inlinevimtyping.pscolor .syntaxgroup.vimCondition,
vimtyping[detail=pscolor] syntaxgroup[defail=vimRepeat],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimRepeat],
.vimtyping.pscolor .syntaxgroup.vimRepeat,
.inlinevimtyping.pscolor .syntaxgroup.vimRepeat,
vimtyping[detail=pscolor] syntaxgroup[defail=vimLabel],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimLabel],
.vimtyping.pscolor .syntaxgroup.vimLabel,
.inlinevimtyping.pscolor .syntaxgroup.vimLabel,
vimtyping[detail=pscolor] syntaxgroup[defail=vimOperator],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimOperator],
.vimtyping.pscolor .syntaxgroup.vimOperator,
.inlinevimtyping.pscolor .syntaxgroup.vimOperator,
vimtyping[detail=pscolor] syntaxgroup[defail=vimKeyword],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimKeyword],
.vimtyping.pscolor .syntaxgroup.vimKeyword,
.inlinevimtyping.pscolor .syntaxgroup.vimKeyword,
vimtyping[detail=pscolor] syntaxgroup[defail=vimException],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimException],
.vimtyping.pscolor .syntaxgroup.vimException,
.inlinevimtyping.pscolor .syntaxgroup.vimException
{
    color:#2060a8;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimPreProc],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimPreProc],
.vimtyping.pscolor .syntaxgroup.vimPreProc,
.inlinevimtyping.pscolor .syntaxgroup.vimPreProc,
vimtyping[detail=pscolor] syntaxgroup[defail=vimInclude],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimInclude],
.vimtyping.pscolor .syntaxgroup.vimInclude,
.inlinevimtyping.pscolor .syntaxgroup.vimInclude,
vimtyping[detail=pscolor] syntaxgroup[defail=vimDefine],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDefine],
.vimtyping.pscolor .syntaxgroup.vimDefine,
.inlinevimtyping.pscolor .syntaxgroup.vimDefine,
vimtyping[detail=pscolor] syntaxgroup[defail=vimMacro],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimMacro],
.vimtyping.pscolor .syntaxgroup.vimMacro,
.inlinevimtyping.pscolor .syntaxgroup.vimMacro,
vimtyping[detail=pscolor] syntaxgroup[defail=vimPreCondit],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimPreCondit],
.vimtyping.pscolor .syntaxgroup.vimPreCondit,
.inlinevimtyping.pscolor .syntaxgroup.vimPreCondit
{
    color:#009030;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimType],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimType],
.vimtyping.pscolor .syntaxgroup.vimType,
.inlinevimtyping.pscolor .syntaxgroup.vimType,
vimtyping[detail=pscolor] syntaxgroup[defail=vimStorageClass],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStorageClass],
.vimtyping.pscolor .syntaxgroup.vimStorageClass,
.inlinevimtyping.pscolor .syntaxgroup.vimStorageClass,
vimtyping[detail=pscolor] syntaxgroup[defail=vimStructure],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimStructure],
.vimtyping.pscolor .syntaxgroup.vimStructure,
.inlinevimtyping.pscolor .syntaxgroup.vimStructure,
vimtyping[detail=pscolor] syntaxgroup[defail=vimTypedef],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimTypedef],
.vimtyping.pscolor .syntaxgroup.vimTypedef,
.inlinevimtyping.pscolor .syntaxgroup.vimTypedef
{
    color:#0850a0;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimSpecial],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimSpecial],
.vimtyping.pscolor .syntaxgroup.vimSpecial,
.inlinevimtyping.pscolor .syntaxgroup.vimSpecial,
vimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialChar],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimSpecialChar],
.vimtyping.pscolor .syntaxgroup.vimSpecialChar,
.inlinevimtyping.pscolor .syntaxgroup.vimSpecialChar,
vimtyping[detail=pscolor] syntaxgroup[defail=vimDelimiter],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDelimiter],
.vimtyping.pscolor .syntaxgroup.vimDelimiter,
.inlinevimtyping.pscolor .syntaxgroup.vimDelimiter,
vimtyping[detail=pscolor] syntaxgroup[defail=vimDebug],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimDebug],
.vimtyping.pscolor .syntaxgroup.vimDebug,
.inlinevimtyping.pscolor .syntaxgroup.vimDebug
{
    color:#907000;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimComment],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimComment],
.vimtyping.pscolor .syntaxgroup.vimComment,
.inlinevimtyping.pscolor .syntaxgroup.vimComment,
vimtyping[detail=pscolor]  syntaxgroup[defail=vimSpecialComment],
inlinevimtyping[detail=pscolor]  syntaxgroup[defail=vimSpecialComment],
.vimtyping.pscolor .syntaxgroup.vimSpecialComment,
.inlinevimtyping.pscolor .syntaxgroup.vimSpecialComment
{
    color:#606000;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimIgnore],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimIgnore],
.vimtyping.pscolor .syntaxgroup.vimIgnore,
.inlinevimtyping.pscolor .syntaxgroup.vimIgnore
{
    color:unset;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimTodo],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimTodo],
.vimtyping.pscolor .syntaxgroup.vimTodo,
.inlinevimtyping.pscolor .syntaxgroup.vimTodo
{
    color:#800000;
    background-color:#e0e090;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimError],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimError],
.vimtyping.pscolor .syntaxgroup.vimError,
.inlinevimtyping.pscolor .syntaxgroup.vimError
{
    color:#c03000;
}

vimtyping[detail=pscolor] syntaxgroup[defail=vimUnderlined],
inlinevimtyping[detail=pscolor] syntaxgroup[defail=vimUnderlined],
.vimtyping.pscolor .syntaxgroup.vimUnderlined,
.inlinevimtyping.pscolor .syntaxgroup.vimUnderlined
{
    color:#6a5acd;
    text-decoration:underline;
}

/* `blackandwhite` color scheme */

vimtyping[detail=blackandwhite]  syntaxgroup[defail=vimConstant],
inlinevimtyping[detail=blackandwhite]  syntaxgroup[defail=vimConstant],
.vimtyping.blackandwhite .syntaxgroup.vimConstant,
.inlinevimtyping.blackandwhite .syntaxgroup.vimConstant,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimString],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimString],
.vimtyping.blackandwhite .syntaxgroup.vimString,
.inlinevimtyping.blackandwhite .syntaxgroup.vimString,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimCharacter],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimCharacter],
.vimtyping.blackandwhite .syntaxgroup.vimCharacter,
.inlinevimtyping.blackandwhite .syntaxgroup.vimCharacter,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimBoolean],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimBoolean],
.vimtyping.blackandwhite .syntaxgroup.vimBoolean,
.inlinevimtyping.blackandwhite .syntaxgroup.vimBoolean,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimFloat],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimFloat],
.vimtyping.blackandwhite .syntaxgroup.vimFloat,
.inlinevimtyping.blackandwhite .syntaxgroup.vimFloat
{
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimNumber],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimNumber],
.vimtyping.blackandwhite .syntaxgroup.vimNumber,
.inlinevimtyping.blackandwhite .syntaxgroup.vimNumber
{
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimIdentifier],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimIdentifier],
.vimtyping.blackandwhite .syntaxgroup.vimIdentifier,
.inlinevimtyping.blackandwhite .syntaxgroup.vimIdentifier,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimFunction],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimFunction],
.vimtyping.blackandwhite .syntaxgroup.vimFunction,
.inlinevimtyping.blackandwhite .syntaxgroup.vimFunction
{
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStatement],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStatement],
.vimtyping.blackandwhite .syntaxgroup.vimStatement,
.inlinevimtyping.blackandwhite .syntaxgroup.vimStatement,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimCondition],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimCondition],
.vimtyping.blackandwhite .syntaxgroup.vimCondition,
.inlinevimtyping.blackandwhite .syntaxgroup.vimCondition,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimRepeat],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimRepeat],
.vimtyping.blackandwhite .syntaxgroup.vimRepeat,
.inlinevimtyping.blackandwhite .syntaxgroup.vimRepeat,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimLabel],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimLabel],
.vimtyping.blackandwhite .syntaxgroup.vimLabel,
.inlinevimtyping.blackandwhite .syntaxgroup.vimLabel,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimOperator],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimOperator],
.vimtyping.blackandwhite .syntaxgroup.vimOperator,
.inlinevimtyping.blackandwhite .syntaxgroup.vimOperator,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimKeyword],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimKeyword],
.vimtyping.blackandwhite .syntaxgroup.vimKeyword,
.inlinevimtyping.blackandwhite .syntaxgroup.vimKeyword,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimException],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimException],
.vimtyping.blackandwhite .syntaxgroup.vimException,
.inlinevimtyping.blackandwhite .syntaxgroup.vimException
{
    font-weight:bold;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreProc],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreProc],
.vimtyping.blackandwhite .syntaxgroup.vimPreProc,
.inlinevimtyping.blackandwhite .syntaxgroup.vimPreProc,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimInclude],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimInclude],
.vimtyping.blackandwhite .syntaxgroup.vimInclude,
.inlinevimtyping.blackandwhite .syntaxgroup.vimInclude,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDefine],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDefine],
.vimtyping.blackandwhite .syntaxgroup.vimDefine,
.inlinevimtyping.blackandwhite .syntaxgroup.vimDefine,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimMacro],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimMacro],
.vimtyping.blackandwhite .syntaxgroup.vimMacro,
.inlinevimtyping.blackandwhite .syntaxgroup.vimMacro,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreCondit],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimPreCondit],
.vimtyping.blackandwhite .syntaxgroup.vimPreCondit,
.inlinevimtyping.blackandwhite .syntaxgroup.vimPreCondit
{
    font-weight:bold;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimType],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimType],
.vimtyping.blackandwhite .syntaxgroup.vimType,
.inlinevimtyping.blackandwhite .syntaxgroup.vimType,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStorageClass],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStorageClass],
.vimtyping.blackandwhite .syntaxgroup.vimStorageClass,
.inlinevimtyping.blackandwhite .syntaxgroup.vimStorageClass,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimStructure],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimStructure],
.vimtyping.blackandwhite .syntaxgroup.vimStructure,
.inlinevimtyping.blackandwhite .syntaxgroup.vimStructure,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimTypedef],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimTypedef],
.vimtyping.blackandwhite .syntaxgroup.vimTypedef,
.inlinevimtyping.blackandwhite .syntaxgroup.vimTypedef
{
    font-weight:bold;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecial],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecial],
.vimtyping.blackandwhite .syntaxgroup.vimSpecial,
.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecial,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialChar],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimSpecialChar],
.vimtyping.blackandwhite .syntaxgroup.vimSpecialChar,
.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecialChar,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDelimiter],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDelimiter],
.vimtyping.blackandwhite .syntaxgroup.vimDelimiter,
.inlinevimtyping.blackandwhite .syntaxgroup.vimDelimiter,
vimtyping[detail=blackandwhite] syntaxgroup[defail=vimDebug],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimDebug],
.vimtyping.blackandwhite .syntaxgroup.vimDebug,
.inlinevimtyping.blackandwhite .syntaxgroup.vimDebug
{
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimComment],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimComment],
.vimtyping.blackandwhite .syntaxgroup.vimComment,
.inlinevimtyping.blackandwhite .syntaxgroup.vimComment,
vimtyping[detail=blackandwhite]  syntaxgroup[defail=vimSpecialComment],
inlinevimtyping[detail=blackandwhite]  syntaxgroup[defail=vimSpecialComment],
.vimtyping.blackandwhite .syntaxgroup.vimSpecialComment,
.inlinevimtyping.blackandwhite .syntaxgroup.vimSpecialComment
{
    font-style:italic;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimIgnore],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimIgnore],
.vimtyping.blackandwhite .syntaxgroup.vimIgnore,
.inlinevimtyping.blackandwhite .syntaxgroup.vimIgnore
{

}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimTodo],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimTodo],
.vimtyping.blackandwhite .syntaxgroup.vimTodo,
.inlinevimtyping.blackandwhite .syntaxgroup.vimTodo
{
    border:0.6px solid;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimError],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimError],
.vimtyping.blackandwhite .syntaxgroup.vimError,
.inlinevimtyping.blackandwhite .syntaxgroup.vimError
{
    text-decoration:line-through;
}

vimtyping[detail=blackandwhite] syntaxgroup[defail=vimUnderlined],
inlinevimtyping[detail=blackandwhite] syntaxgroup[defail=vimUnderlined],
.vimtyping.blackandwhite .syntaxgroup.vimUnderlined,
.inlinevimtyping.blackandwhite .syntaxgroup.vimUnderlined
{
    text-decoration:underline;
}

