From 3a10e77e6afa3a61c9b0c5eaca66efac56bf9643 Mon Sep 17 00:00:00 2001 From: AChavali Date: Mon, 2 Mar 2020 23:20:22 +0000 Subject: +opam config to vimrc --- vimrc | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/vimrc b/vimrc index 925345c..191ad0a 100644 --- a/vimrc +++ b/vimrc @@ -110,3 +110,35 @@ nnoremap pg :!ctags-exuberant -R --exclude=Makefile . "" Tags nnoremap tt :Tags +" ## added by OPAM user-setup for vim / base ## 93ee63e278bdfc07d1139a748ed3fff2 ## you can edit, but keep this line +let s:opam_share_dir = system("opam config var share") +let s:opam_share_dir = substitute(s:opam_share_dir, '[\r\n]*$', '', '') + +let s:opam_configuration = {} + +function! OpamConfOcpIndent() + execute "set rtp^=" . s:opam_share_dir . "/ocp-indent/vim" +endfunction +let s:opam_configuration['ocp-indent'] = function('OpamConfOcpIndent') + +function! OpamConfOcpIndex() + execute "set rtp+=" . s:opam_share_dir . "/ocp-index/vim" +endfunction +let s:opam_configuration['ocp-index'] = function('OpamConfOcpIndex') + +function! OpamConfMerlin() + let l:dir = s:opam_share_dir . "/merlin/vim" + execute "set rtp+=" . l:dir +endfunction +let s:opam_configuration['merlin'] = function('OpamConfMerlin') + +let s:opam_packages = ["ocp-indent", "ocp-index", "merlin"] +let s:opam_check_cmdline = ["opam list --installed --short --safe --color=never"] + s:opam_packages +let s:opam_available_tools = split(system(join(s:opam_check_cmdline))) +for tool in s:opam_packages + " Respect package order (merlin should be after ocp-index) + if count(s:opam_available_tools, tool) > 0 + call s:opam_configuration[tool]() + endif +endfor +" ## end of OPAM user-setup addition for vim / base ## keep this line -- cgit v1.2.3-13-gbd6f