" 5px wide equals  " 5px wide minus  " set correct conceal setlocal conceallevel=1 " lambda's syntax match hsLambda "\\" conceal cchar=λ " function composition syntax match hsCompose / \. /ms=s+1,me=e-1 conceal cchar=· " -> syn match MHArrow /->/ contains=MHArrowM,MHArrowH syn match MHArrowM /-/ contained containedin=MHArrow conceal cchar= syn match MHArrowH /-\@<=>/ contained containedin=MHArrow conceal cchar=→ " <- syn match HMArrow /<\ze-/ contains=HMArrowM,HMArrowH syn match HMArrowH / syn match DMHArrow /=>/ contains=DMHArrowM,DMHArrowH syn match DMHArrowM /=/ contained containedin=DMHArrow conceal cchar= syn match DMHArrowH /=\@<=>/ contained containedin=DMHArrow conceal cchar=⇒ " >>= syn match DTTMArrow />>\ze=/ contains=DTTMArrowT,DTTMArrowTT,DTTMArrowH syn match DTTMArrowTT />/ contained containedin=DTTMArrow conceal cchar= syn match DTTMArrowT />\@<=>/ contained containedin=DTTMArrow conceal cchar= syn match DTTMArrowH /=\@<=>/ contained containedin=DTTMArrow conceal cchar= " >=> syn match DTMHArrow />=>/ contains=DTMHArrowT,DTMHArrowM,DTMHArrowH syn match DTMHArrowT />/ contained containedin=DTMHArrow conceal cchar= syn match DTMHArrowM /=/ contained containedin=DTMHArrow conceal cchar= syn match DTMHArrowH /=\@<=>/ contained containedin=DTMHArrow conceal cchar=⇒ " <=< syn match DHMTArrow /<=- syn match TMArrow />\ze-/ contains=TMArrowT,TMArrowM syn match TMArrowT />/ contained containedin=TMArrow conceal cchar=⤚ ">>- syn match TTMArrow />>\ze-/ contains=TTMArrowT,TTMArrowTT,TTMArrowTTT syn match TTMArrowTT />/ contained containedin=TTMArrow conceal cchar= syn match TTMArrowT />\@<=>/ contained containedin=TTMArrow conceal cchar=⤜ syn match TTMArrowTTT /-<