From 17d7476fbc4895a05998db7e1a8357ea24ee25fd Mon Sep 17 00:00:00 2001 From: Akshay Date: Tue, 14 Apr 2020 11:10:27 +0530 Subject: improve haskell ligatures, add rust ligature conceals --- ligature_plugins/haskell.vim | 3 ++- ligature_plugins/ocaml.vim | 2 +- ligature_plugins/rust.vim | 21 +++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 ligature_plugins/rust.vim diff --git a/ligature_plugins/haskell.vim b/ligature_plugins/haskell.vim index e582dc7..7277d85 100644 --- a/ligature_plugins/haskell.vim +++ b/ligature_plugins/haskell.vim @@ -26,9 +26,10 @@ 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 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 diff --git a/ligature_plugins/ocaml.vim b/ligature_plugins/ocaml.vim index 14c78e5..c966379 100644 --- a/ligature_plugins/ocaml.vim +++ b/ligature_plugins/ocaml.vim @@ -20,7 +20,7 @@ syntax match ocamlArrowH /-\@<=>/ contained containedin=ocamlArrow conceal cc syntax match ocamlArrow /<\ze-/ contains=ocamlArrowM,ocamlArrowH syntax match ocamlArrowH / +" <> syntax match ocamlNiceOperator "<>" conceal cchar=≠ " greek letters diff --git a/ligature_plugins/rust.vim b/ligature_plugins/rust.vim new file mode 100644 index 0000000..a4a3d41 --- /dev/null +++ b/ligature_plugins/rust.vim @@ -0,0 +1,21 @@ +setlocal conceallevel=1 +syntax clear rustOperator + +syntax match rustBelleOperator "<=" conceal cchar=≤ +syntax match rustBelleOperator ">=" conceal cchar=≥ +syntax match rustBelleOperator "!=" conceal cchar=≠ + +" -> +syn match rustArrowCharacter /->/ contains=PointerTail,PointerHead +syn match PointerTail /-/ contained containedin=rustReturn conceal cchar= +syn match PointerHead /-\@<=>/ contained containedin=rustReturn conceal cchar=→ + +" => +syn match rustImplies /=>/ contains=ImpliesTail,ImpliesHead +syn match ImpliesTail /=/ contained containedin=rustImplies conceal cchar= +syn match ImpliesHead /=\@<=>/ contained containedin=rustImplies conceal cchar=⇒ + +" == +syn match rustIsEqual /==/ contains=FirstEqual,SecondEqual +syn match FirstEqual /=/ contained containedin=rustIsEqual conceal cchar= +syn match SecondEqual /=\@<=>/ contained containedin=rustIsEqual conceal cchar= -- cgit v1.2.3