Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 1 | " Vim Compiler File |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 2 | " Compiler: ocaml |
| 3 | " Maintainer: Markus Mottl <markus.mottl@gmail.com> |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 4 | " URL: https://github.com/ocaml/vim-ocaml |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 5 | " Last Change: |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 6 | " 2020 Mar 28 - Improved error format (Thomas Leonard) |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 7 | " 2017 Nov 26 - Improved error format (Markus Mottl) |
| 8 | " 2013 Aug 27 - Added a new OCaml error format (Markus Mottl) |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 9 | " |
| 10 | " Marc Weber's comments: |
| 11 | " Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt, |
| 12 | " ocamake and whatnot. So which one to use? |
| 13 | " |
| 14 | " This error format was moved from ftplugin/ocaml.vim to this file, |
| 15 | " because ftplugin is the wrong file to set an error format |
| 16 | " and the error format itself is annoying because it joins many lines in this |
| 17 | " error case: |
| 18 | " |
| 19 | " Error: The implementation foo.ml does not match the interface foo.cmi: |
| 20 | " Modules do not match case. |
| 21 | " |
| 22 | " So having it here makes people opt-in |
| 23 | |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 24 | |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 25 | if exists("current_compiler") |
| 26 | finish |
| 27 | endif |
| 28 | let current_compiler = "ocaml" |
| 29 | |
| 30 | let s:cpo_save = &cpo |
| 31 | set cpo&vim |
| 32 | |
| 33 | CompilerSet errorformat = |
Bram Moolenaar | 7e6a515 | 2021-01-02 16:39:53 +0100 | [diff] [blame] | 34 | \%EFile\ \"%f\"\\,\ lines\ %*\\d-%l\\,\ characters\ %c-%*\\d:, |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 35 | \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:, |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 36 | \%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#, |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 37 | \%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m, |
| 38 | \%+EReference\ to\ unbound\ regexp\ name\ %m, |
| 39 | \%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m, |
| 40 | \%Wocamlyacc:\ w\ -\ %m, |
| 41 | \%-Zmake%.%#, |
| 42 | \%C%m, |
| 43 | \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f', |
| 44 | \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f', |
| 45 | \%D%*\\a:\ Entering\ directory\ `%f', |
| 46 | \%X%*\\a:\ Leaving\ directory\ `%f', |
Bram Moolenaar | 790c18b | 2019-07-04 17:22:06 +0200 | [diff] [blame] | 47 | \%D%*\\a[%*\\d]:\ Entering\ directory\ '%f', |
| 48 | \%X%*\\a[%*\\d]:\ Leaving\ directory\ '%f', |
| 49 | \%D%*\\a:\ Entering\ directory\ '%f', |
| 50 | \%X%*\\a:\ Leaving\ directory\ '%f', |
| 51 | \%DEntering\ directory\ '%f', |
| 52 | \%XLeaving\ directory\ '%f', |
Bram Moolenaar | 14b6945 | 2013-06-29 23:05:20 +0200 | [diff] [blame] | 53 | \%DMaking\ %*\\a\ in\ %f |
| 54 | |
| 55 | let &cpo = s:cpo_save |
| 56 | unlet s:cpo_save |