diff --git a/vimrc b/vimrc index 6dbc534..aeeacae 100644 --- a/vimrc +++ b/vimrc @@ -680,3 +680,40 @@ nnoremap z :Goyo nmap ,l :Limelight!! set textwidth=120 +" ## 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 +" ## added by OPAM user-setup for vim / ocp-indent ## 8817d088e6c1d314c90837f0e1878d40 ## you can edit, but keep this line +if count(s:opam_available_tools,"ocp-indent") == 0 + source "/home/paul/.opam/default/share/ocp-indent/vim/indent/ocaml.vim" +endif +" ## end of OPAM user-setup addition for vim / ocp-indent ## keep this line