From 1492427be5317478f040aff795439eb092173e6b Mon Sep 17 00:00:00 2001 From: NerdyPepper Date: Tue, 13 Feb 2018 13:37:54 +0530 Subject: Add plugins for ligatures --- ligature_plugins/haskell.vim | 77 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 ligature_plugins/haskell.vim (limited to 'ligature_plugins/haskell.vim') diff --git a/ligature_plugins/haskell.vim b/ligature_plugins/haskell.vim new file mode 100644 index 0000000..b556b0a --- /dev/null +++ b/ligature_plugins/haskell.vim @@ -0,0 +1,77 @@ +" 5px wide equals  +" 5px wide minus  + + +" set correct conceal +set 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 +syn match DTTMArrowTT />/ contained containedin=DTTMArrow conceal cchar= +syn match DTTMArrowT />\@<=>/ 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 /-<