summaryrefslogtreecommitdiffstats
path: root/compiler/ocaml.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2019-03-04 12:09:44 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2019-03-04 12:09:44 +0100
commit521220f389907255b6d9a87458333b468ffc7ac4 (patch)
treec644a51effe5dc1a39b22908f0506b5bea415362 /compiler/ocaml.vim
parentb4cb58661ebf82e117d0c25673e2e59cb18044d2 (diff)
downloadvim-polyglot-3.5.0.tar.gz
vim-polyglot-3.5.0.zip
Change ocaml provider, closes #320v3.5.0
Diffstat (limited to 'compiler/ocaml.vim')
-rw-r--r--compiler/ocaml.vim59
1 files changed, 59 insertions, 0 deletions
diff --git a/compiler/ocaml.vim b/compiler/ocaml.vim
new file mode 100644
index 00000000..25ea01a3
--- /dev/null
+++ b/compiler/ocaml.vim
@@ -0,0 +1,59 @@
+if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'ocaml') != -1
+ finish
+endif
+
+" Vim Compiler File
+" Compiler: ocaml
+" Maintainer: Markus Mottl <markus.mottl@gmail.com>
+" URL: http://www.ocaml.info/vim/compiler/ocaml.vim
+" Last Change:
+" 2017 Nov 26 - Improved error format (Markus Mottl)
+" 2013 Aug 27 - Added a new OCaml error format (Markus Mottl)
+" 2013 Jun 30 - Initial version (Marc Weber)
+"
+" Marc Weber's comments:
+" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
+" ocamake and whatnot. So which one to use?
+"
+" This error format was moved from ftplugin/ocaml.vim to this file,
+" because ftplugin is the wrong file to set an error format
+" and the error format itself is annoying because it joins many lines in this
+" error case:
+"
+" Error: The implementation foo.ml does not match the interface foo.cmi:
+" Modules do not match case.
+"
+" So having it here makes people opt-in
+
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "ocaml"
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet errorformat =
+ \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
+ \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#,
+ \%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
+ \%+EReference\ to\ unbound\ regexp\ name\ %m,
+ \%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
+ \%Wocamlyacc:\ w\ -\ %m,
+ \%-Zmake%.%#,
+ \%C%m,
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+ \%D%*\\a:\ Entering\ directory\ `%f',
+ \%X%*\\a:\ Leaving\ directory\ `%f',
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ '%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ '%f',
+ \%D%*\\a:\ Entering\ directory\ '%f',
+ \%X%*\\a:\ Leaving\ directory\ '%f',
+ \%DEntering\ directory\ '%f',
+ \%XLeaving\ directory\ '%f',
+ \%DMaking\ %*\\a\ in\ %f
+
+let &cpo = s:cpo_save
+unlet s:cpo_save