The goal (as I understood it) is to separate back-end and front-end. That is, you could have a CLI front-end with just text interface, or a GUI front-end with all the fancy features.
https://github.com/KevinGoodsell/vim-csexact
There is also csapprox.