tall, condensed bitmap font for geeks
1" 5px wide equals
2" 5px wide minus
3
4
5" set correct conceal
6setlocal conceallevel=1
7
8" lambda's
9syntax match hsLambda "\\" conceal cchar=λ
10
11" function composition
12syntax match hsCompose / \. /ms=s+1,me=e-1 conceal cchar=·
13
14" ->
15syn match MHArrow /->/ contains=MHArrowM,MHArrowH
16syn match MHArrowM /-/ contained containedin=MHArrow conceal cchar=
17syn match MHArrowH /-\@<=>/ contained containedin=MHArrow conceal cchar=→
18
19" <-
20syn match HMArrow /<\ze-/ contains=HMArrowM,HMArrowH
21syn match HMArrowH /</ contained containedin=HMArrow conceal cchar=←
22
23" =>
24syn match DMHArrow /=>/ contains=DMHArrowM,DMHArrowH
25syn match DMHArrowM /=/ contained containedin=DMHArrow conceal cchar=
26syn match DMHArrowH /=\@<=>/ contained containedin=DMHArrow conceal cchar=⇒
27
28" >>=
29syn match DTTMArrow />>\ze=/ contains=DTTMArrowT,DTTMArrowTT,DTTMArrowH
30syn match DTTMArrowTT />/ contained containedin=DTTMArrow conceal cchar=
31syn match DTTMArrowT />\@<=>/ contained containedin=DTTMArrow conceal cchar=
32syn match DTTMArrowH /=\@<=>/ contained containedin=DTTMArrow conceal cchar=
33
34" >=>
35syn match DTMHArrow />=>/ contains=DTMHArrowT,DTMHArrowM,DTMHArrowH
36syn match DTMHArrowT />/ contained containedin=DTMHArrow conceal cchar=
37syn match DTMHArrowM /=/ contained containedin=DTMHArrow conceal cchar=
38syn match DTMHArrowH /=\@<=>/ contained containedin=DTMHArrow conceal cchar=⇒
39
40" <=<
41syn match DHMTArrow /<=</ contains=DHMTArrowM,DHMTArrowH,DHMTArrowT
42syn match DHMTArrowH /</ contained containedin=DHMTArrow conceal cchar=⇐
43syn match DHMTArrowM /=/ contained containedin=DHMTArrow conceal cchar=
44syn match DHMTArrowT /=\@<=</ contained containedin=DHMTArrow conceal cchar=
45
46" =<<
47syn match DMTTArrow /=<</ contains=DMTTArrowT,DMTTArrowTT,DMTTArrowM
48syn match DMTTArrowM /=/ contained containedin=DMTTArrow conceal cchar=
49syn match DMTTArrowT /</ contained containedin=DMTTArrow conceal cchar=
50syn match DMTTArrowTT /<\@<=</ contained containedin=DMTTArrow conceal cchar=<
51
52" -<
53syn match MTArrow /-</ contains=MTArrowT,MTArrowM
54syn match MTArrowT /-/ contained containedin=MTArrow conceal cchar=
55syn match MTArrowM /-\@<=</ contained containedin=MTArrow conceal cchar=⤙
56
57" -<<
58syn match MTTArrow /-<</ contains=MTTArrowT,MTTArrowM,HTTArrowTT
59syn match MTTArrowM /-<</me=s+1 contained containedin=MTTArrow conceal cchar=
60syn match MTTArrowT /-\@<=</ contained containedin=MTTArrow conceal cchar=⤛
61syn match MTTArrowTT /\(-<\)\@<=</ contained containedin=MTTArrow conceal cchar=<
62
63" >-
64syn match TMArrow />\ze-/ contains=TMArrowT,TMArrowM
65syn match TMArrowT />/ contained containedin=TMArrow conceal cchar=⤚
66
67">>-
68syn match TTMArrow />>\ze-/ contains=TTMArrowT,TTMArrowTT,TTMArrowTTT
69syn match TTMArrowTT />/ contained containedin=TTMArrow conceal cchar=
70syn match TTMArrowT />\@<=>/ contained containedin=TTMArrow conceal cchar=⤜
71syn match TTMArrowTTT /-<</me=s+1 contained containedin=TTMArrow conceal cchar=
72
73" These are probably not all arrow patterns one could come up with, so if you need
74" another one and you can't think of how to implement it, please contact me to ask
75" for it! I'll try to create the syntax rules.
76
77" Also if you have come up with some more patterns please contact me so I can
78" include them in the list.