diff options
-rw-r--r-- | ligature_plugins/ocaml.vim | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/ligature_plugins/ocaml.vim b/ligature_plugins/ocaml.vim new file mode 100644 index 0000000..fef4557 --- /dev/null +++ b/ligature_plugins/ocaml.vim | |||
@@ -0,0 +1,36 @@ | |||
1 | " fork of https://gist.github.com/NicolasT/1043747 | ||
2 | |||
3 | " set correct conceal | ||
4 | setlocal conceallevel=1 | ||
5 | |||
6 | " we need the conceal feature (vim ≥ 7.3) | ||
7 | if exists('g:no_ocaml_conceal') || !has('conceal') | ||
8 | finish | ||
9 | endif | ||
10 | |||
11 | " fun | ||
12 | syntax keyword ocamlNiceKeyword fun conceal cchar=λ | ||
13 | |||
14 | " -> | ||
15 | syntax match ocamlArrow /->/ contains=ocamlArrowM,ocamlArrowH | ||
16 | syntax match ocamlArrowM /-/ contained containedin=ocamlArrow conceal cchar= | ||
17 | syntax match ocamlArrowH /-\@<=>/ contained containedin=ocamlArrow conceal cchar=→ | ||
18 | |||
19 | " <- | ||
20 | syntax match ocamlArrow /<\ze-/ contains=ocamlArrowM,ocamlArrowH | ||
21 | syntax match ocamlArrowH /</ contained containedin=ocamlArrow conceal cchar=← | ||
22 | |||
23 | " => | ||
24 | syntax match ocamlArrow /=>/ contains=ocamlArrowM,ocamlArrowH | ||
25 | syntax match ocamlArrowM /=/ contained containedin=ocamlArrow conceal cchar= | ||
26 | syntax match ocamlArrowH /=\@<=>/ contained containedin=ocamlArrow conceal cchar=⇒ | ||
27 | |||
28 | " <> | ||
29 | syntax match ocamlNiceOperator "<>" conceal cchar=≠ | ||
30 | |||
31 | " greek letters | ||
32 | syntax match ocamlNiceTypes "'a" conceal cchar=α | ||
33 | syntax match ocamlNiceTypes "'b" conceal cchar=β | ||
34 | syntax match ocamlNiceTypes "'c" conceal cchar=γ | ||
35 | syntax match ocamlNiceTypes "'d" conceal cchar=δ | ||
36 | syntax match ocamlNiceTypes "'e" conceal cchar=ε | ||