@@ -44,6 +44,53 @@ to 0.75 in Terminal.app (using a Size of 16px).
4444
4545![ terminal] ( screens/info.png " Terminal.app settings ")
4646
47+ ## Haskell arrows
48+ I've added support for better Haskell arrows. You could use them using
49+ [ -XUnicodeSyntax] ( http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/syntax-extns.html#unicode-syntax ) ,
50+ but this will possibly drive your coauthors crazy. If you want a less drastic
51+ approach and you're a vim user, you could use the ` conceal ` capabilities:
52+
53+ ``` VimL
54+ " set correct conceal
55+ set conceallevel=1
56+ set concealcursor=nvi
57+
58+ " lambda's
59+ syntax match hsLambda "\\" conceal cchar=λ
60+
61+ " function composition
62+ syntax match hsCompose / \. /ms=s+1,me=e-1 conceal cchar=·
63+
64+ " ->
65+ syn match MHArrow /->/ contains=MHArrowM,MHArrowH
66+ syn match MHArrowM /-/ contained containedin=MHArrow conceal cchar=-
67+ syn match MHArrowH /-\@<=>/ contained containedin=MHArrow conceal cchar=→
68+
69+ " <-
70+ syn match HMArrow /<-/ contains=HMArrowM,HMArrowH
71+ syn match HMArrowH /</ contained containedin=HMArrow conceal cchar=←
72+ syn match HMArrowM /<\@<=-/ contained containedin=HMArrow conceal cchar=-
73+
74+ " =>
75+ syn match DMHArrow /=>/ contains=DMHArrowM,DMHArrowH
76+ syn match DMHArrowM /=/ contained containedin=DMHArrow conceal cchar==
77+ syn match DMHArrowH /=\@<=>/ contained containedin=DMHArrow conceal cchar=⇒
78+
79+ " -<
80+ syn match TMArrow /-</ contains=TMArrowT,TMArrowM
81+ syn match TMArrowT /-/ contained containedin=TMArrow conceal cchar=-
82+ syn match TMArrowM /-\@<=</ contained containedin=TMArrow conceal cchar=⤙
83+
84+ syn match DTMArrow /-<</ contains=DTMArrowT,DTMArrowM
85+ syn match DTMArrowT /-<</me=s+1 contained containedin=DTMArrow conceal cchar=-
86+ syn match DTMArrowM /-\@<=</ contained containedin=DTMArrow conceal cchar=⤛
87+ syn match DTMArrowM /\(-<\)\@<=</ contained containedin=DTMArrow conceal cchar=<
88+ ```
89+
90+ This yields the following visual effect:
91+ ![ haskell] ( screens/haskell.png " haskell screenshot ")
92+
93+
4794## Attribution
4895Before I created creep I was using Proggy Tiny, which is a great font
4996and has given me a lot of inspiration.
0 commit comments