aboutsummaryrefslogtreecommitdiff
path: root/runtime/compiler
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2014-07-11 04:05:51 +0000
committerJustin M. Keyes <justinkz@gmail.com>2014-07-29 02:12:31 +0000
commita98a6996c291b3e300d27b791eded9eed333d677 (patch)
tree51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/compiler
parent66bc13163398786c88e20b7cdd61c66978b4d3fb (diff)
downloadrneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2
rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/compiler')
-rw-r--r--runtime/compiler/README.txt11
-rw-r--r--runtime/compiler/ant.vim38
-rw-r--r--runtime/compiler/bcc.vim19
-rw-r--r--runtime/compiler/bdf.vim22
-rw-r--r--runtime/compiler/checkstyle.vim19
-rw-r--r--runtime/compiler/cs.vim26
-rw-r--r--runtime/compiler/cucumber.vim29
-rw-r--r--runtime/compiler/decada.vim58
-rw-r--r--runtime/compiler/dot.vim15
-rw-r--r--runtime/compiler/erlang.vim13
-rw-r--r--runtime/compiler/eruby.vim39
-rw-r--r--runtime/compiler/fortran_F.vim27
-rw-r--r--runtime/compiler/fortran_cv.vim30
-rw-r--r--runtime/compiler/fortran_elf90.vim33
-rw-r--r--runtime/compiler/fortran_g77.vim48
-rw-r--r--runtime/compiler/fortran_lf95.vim27
-rw-r--r--runtime/compiler/fpc.vim17
-rw-r--r--runtime/compiler/g95.vim28
-rw-r--r--runtime/compiler/gcc.vim39
-rw-r--r--runtime/compiler/gfortran.vim27
-rw-r--r--runtime/compiler/gnat.vim76
-rw-r--r--runtime/compiler/haml.vim28
-rw-r--r--runtime/compiler/hp_acc.vim38
-rw-r--r--runtime/compiler/icc.vim18
-rw-r--r--runtime/compiler/ifort.vim27
-rw-r--r--runtime/compiler/intel.vim26
-rw-r--r--runtime/compiler/irix5_c.vim26
-rw-r--r--runtime/compiler/irix5_cpp.vim26
-rw-r--r--runtime/compiler/javac.vim17
-rw-r--r--runtime/compiler/jikes.vim18
-rw-r--r--runtime/compiler/mcs.vim30
-rw-r--r--runtime/compiler/mips_c.vim26
-rw-r--r--runtime/compiler/mipspro_c89.vim27
-rw-r--r--runtime/compiler/mipspro_cpp.vim26
-rw-r--r--runtime/compiler/modelsim_vcom.vim20
-rw-r--r--runtime/compiler/msbuild.vim21
-rw-r--r--runtime/compiler/msvc.vim13
-rw-r--r--runtime/compiler/neato.vim15
-rw-r--r--runtime/compiler/ocaml.vim44
-rw-r--r--runtime/compiler/onsgmls.vim24
-rw-r--r--runtime/compiler/pbx.vim20
-rw-r--r--runtime/compiler/perl.vim47
-rw-r--r--runtime/compiler/php.vim26
-rw-r--r--runtime/compiler/pyunit.vim16
-rw-r--r--runtime/compiler/rake.vim35
-rw-r--r--runtime/compiler/rspec.vim33
-rw-r--r--runtime/compiler/rst.vim25
-rw-r--r--runtime/compiler/ruby.vim45
-rw-r--r--runtime/compiler/rubyunit.vim33
-rw-r--r--runtime/compiler/sass.vim30
-rw-r--r--runtime/compiler/se.vim30
-rw-r--r--runtime/compiler/splint.vim71
-rw-r--r--runtime/compiler/tcl.vim17
-rw-r--r--runtime/compiler/tex.vim67
-rw-r--r--runtime/compiler/tidy.vim19
-rw-r--r--runtime/compiler/xbuild.vim22
-rw-r--r--runtime/compiler/xmllint.vim26
-rw-r--r--runtime/compiler/xmlwf.vim23
58 files changed, 1696 insertions, 0 deletions
diff --git a/runtime/compiler/README.txt b/runtime/compiler/README.txt
new file mode 100644
index 0000000000..3f0b97b83e
--- /dev/null
+++ b/runtime/compiler/README.txt
@@ -0,0 +1,11 @@
+This directory contains Vim scripts to be used with a specific compiler.
+They are used with the ":compiler" command.
+
+These scripts usually set options, for example 'errorformat'.
+See ":help write-compiler-plugin".
+
+If you want to write your own compiler plugin, have a look at the other files
+for how to do it, the format is simple.
+
+If you think a compiler plugin you have written is useful for others, please
+send it to Bram@vim.org.
diff --git a/runtime/compiler/ant.vim b/runtime/compiler/ant.vim
new file mode 100644
index 0000000000..0605c69fab
--- /dev/null
+++ b/runtime/compiler/ant.vim
@@ -0,0 +1,38 @@
+" Vim Compiler File
+" Compiler: ant
+" Maintainer: Johannes Zellner <johannes@zellner.org>
+" Last Change: Mi, 13 Apr 2005 22:50:07 CEST
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "ant"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=ant
+
+" first line:
+" ant with jikes +E, which assumes the following
+" two property lines in your 'build.xml':
+"
+" <property name = "build.compiler" value = "jikes"/>
+" <property name = "build.compiler.emacs" value = "true"/>
+"
+" second line:
+" ant with javac
+"
+" note that this will work also for tasks like [wtkbuild]
+"
+CompilerSet errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m,
+ \%A\ %#[%.%#]\ %f:%l:\ %m,%-Z\ %#[%.%#]\ %p^,%C\ %#[%.%#]\ %#%m
+
+" ,%-C%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/bcc.vim b/runtime/compiler/bcc.vim
new file mode 100644
index 0000000000..5bd284a581
--- /dev/null
+++ b/runtime/compiler/bcc.vim
@@ -0,0 +1,19 @@
+" Vim compiler file
+" Compiler: bcc - Borland C
+" Maintainer: Emile van Raaij (eraaij@xs4all.nl)
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "bcc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" A workable errorformat for Borland C
+CompilerSet errorformat=%*[^0-9]%n\ %f\ %l:\ %m
+
+" default make
+CompilerSet makeprg=make
diff --git a/runtime/compiler/bdf.vim b/runtime/compiler/bdf.vim
new file mode 100644
index 0000000000..ca33776988
--- /dev/null
+++ b/runtime/compiler/bdf.vim
@@ -0,0 +1,22 @@
+" Vim compiler file
+" Compiler: BDF to PCF Conversion
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2006-04-19
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "bdf"
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+setlocal makeprg=bdftopcf\ $*
+
+setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+ \%-Z%p^,
+ \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/checkstyle.vim b/runtime/compiler/checkstyle.vim
new file mode 100644
index 0000000000..eac461bb2d
--- /dev/null
+++ b/runtime/compiler/checkstyle.vim
@@ -0,0 +1,19 @@
+" Vim compiler file
+" Compiler: Checkstyle
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2013 Jun 26
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "checkstyle"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
+
+" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
+" WebTable.java:201:1: '{' should be on the previous line.
+CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
diff --git a/runtime/compiler/cs.vim b/runtime/compiler/cs.vim
new file mode 100644
index 0000000000..4cc1784678
--- /dev/null
+++ b/runtime/compiler/cs.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler: Microsoft Visual Studio C#
+" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
+" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
+" Last Change: 2012 Apr 30
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "cs"
+let s:keepcpo= &cpo
+set cpo&vim
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat&
+CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
+ \%trror%*[^:]:\ %m,
+ \%tarning%*[^:]:\ %m
+
+CompilerSet makeprg=csc\ %
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/compiler/cucumber.vim b/runtime/compiler/cucumber.vim
new file mode 100644
index 0000000000..c020be6e3b
--- /dev/null
+++ b/runtime/compiler/cucumber.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler: Cucumber
+" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
+" Last Change: 2010 Aug 09
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "cucumber"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet makeprg=cucumber
+
+CompilerSet errorformat=
+ \%W%m\ (Cucumber::Undefined),
+ \%E%m\ (%.%#),
+ \%Z%f:%l,
+ \%Z%f:%l:%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim:set sw=2 sts=2:
diff --git a/runtime/compiler/decada.vim b/runtime/compiler/decada.vim
new file mode 100644
index 0000000000..0bf5487c89
--- /dev/null
+++ b/runtime/compiler/decada.vim
@@ -0,0 +1,58 @@
+"------------------------------------------------------------------------------
+" Description: Vim Ada/Dec Ada compiler file
+" Language: Ada (Dec Ada)
+" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
+" Copyright: Copyright (C) 2006 Martin Krischik
+" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
+" $Author: krischik $
+" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
+" Version: 4.6
+" $Revision: 887 $
+" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
+" History: 21.07.2006 MK New Dec Ada
+" 15.10.2006 MK Bram's suggestion for runtime integration
+" 08.09.2006 MK Correct double load protection.
+" Help Page: compiler-decada
+"------------------------------------------------------------------------------
+
+if (exists("current_compiler") && current_compiler == "decada") || version < 700
+ finish
+endif
+let s:keepcpo= &cpo
+set cpo&vim
+
+let current_compiler = "decada"
+
+if !exists("g:decada")
+ let g:decada = decada#New ()
+
+ call ada#Map_Menu (
+ \'Dec Ada.Build',
+ \'<F7>',
+ \'call decada.Make ()')
+
+ call g:decada.Set_Session ()
+endif
+
+if exists(":CompilerSet") != 2
+ "
+ " plugin loaded by other means then the "compiler" command
+ "
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+execute "CompilerSet makeprg=" . escape (g:decada.Make_Command, ' ')
+execute "CompilerSet errorformat=" . escape (g:decada.Error_Format, ' ')
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
+finish " 1}}}
+
+"------------------------------------------------------------------------------
+" Copyright (C) 2006 Martin Krischik
+"
+" Vim is Charityware - see ":help license" or uganda.txt for licence details.
+"------------------------------------------------------------------------------
+" vim: textwidth=78 wrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab
+" vim: foldmethod=marker
diff --git a/runtime/compiler/dot.vim b/runtime/compiler/dot.vim
new file mode 100644
index 0000000000..0327739aae
--- /dev/null
+++ b/runtime/compiler/dot.vim
@@ -0,0 +1,15 @@
+" Vim compiler file
+" Compiler: ATT dot
+" Maintainer: Marcos Macedo <bar4ka@bol.com.br>
+" Last Change: 2004 May 16
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dot"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=dot\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\"
diff --git a/runtime/compiler/erlang.vim b/runtime/compiler/erlang.vim
new file mode 100644
index 0000000000..e177a279c5
--- /dev/null
+++ b/runtime/compiler/erlang.vim
@@ -0,0 +1,13 @@
+" Vim compiler file
+" Compiler: Erlang
+" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
+" Last Change: 2012-02-13
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "erlang"
+
+CompilerSet makeprg=erlc\ -Wall\ %
+
+CompilerSet errorformat=%f:%l:\ %m
diff --git a/runtime/compiler/eruby.vim b/runtime/compiler/eruby.vim
new file mode 100644
index 0000000000..45ad5eeadf
--- /dev/null
+++ b/runtime/compiler/eruby.vim
@@ -0,0 +1,39 @@
+" Vim compiler file
+" Language: eRuby
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" URL: https://github.com/vim-ruby/vim-ruby
+" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "eruby"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+if exists("eruby_compiler") && eruby_compiler == "eruby"
+ CompilerSet makeprg=eruby
+else
+ CompilerSet makeprg=erb
+endif
+
+CompilerSet errorformat=
+ \eruby:\ %f:%l:%m,
+ \%+E%f:%l:\ parse\ error,
+ \%W%f:%l:\ warning:\ %m,
+ \%E%f:%l:in\ %*[^:]:\ %m,
+ \%E%f:%l:\ %m,
+ \%-C%\tfrom\ %f:%l:in\ %.%#,
+ \%-Z%\tfrom\ %f:%l,
+ \%-Z%p^,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: nowrap sw=2 sts=2 ts=8:
diff --git a/runtime/compiler/fortran_F.vim b/runtime/compiler/fortran_F.vim
new file mode 100644
index 0000000000..d9cb47cc1f
--- /dev/null
+++ b/runtime/compiler/fortran_F.vim
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler: Fortran Company/NAGWare F compiler
+" URL: http://www.unb.ca/chem/ajit/compiler/fortran_F.vim
+" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version: 0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fortran_F"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=%trror:\ %f\\,\ line\ %l:%m,
+ \%tarning:\ %f\\,\ line\ %l:%m,
+ \%tatal\ Error:\ %f\\,\ line\ %l:%m,
+ \%-G%.%#
+CompilerSet makeprg=F
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_cv.vim b/runtime/compiler/fortran_cv.vim
new file mode 100644
index 0000000000..089d3b27c2
--- /dev/null
+++ b/runtime/compiler/fortran_cv.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler: Compaq Visual Fortran
+" Maintainer: Joh.-G. Simon (johann-guenter.simon@linde-le.com)
+" Last Change: 11/05/2002
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fortran_cv"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet = &cpoptions
+set cpoptions-=C
+
+" A workable errorformat for Compaq Visual Fortran
+CompilerSet errorformat=
+ \%E%f(%l)\ :\ Error:%m,
+ \%W%f(%l)\ :\ Warning:%m,
+ \%-Z%p%^%.%#,
+ \%-G%.%#,
+" Compiler call
+CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
+" Visual fortran defaults to printing output on stderr
+" Adjust option shellpipe accordingly
+
+let &cpoptions = s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_elf90.vim b/runtime/compiler/fortran_elf90.vim
new file mode 100644
index 0000000000..34c33cfaf8
--- /dev/null
+++ b/runtime/compiler/fortran_elf90.vim
@@ -0,0 +1,33 @@
+" Vim compiler file
+" Compiler: Essential Lahey Fortran 90
+" Probably also works for Lahey Fortran 90
+" URL: http://www.unb.ca/chem/ajit/compiler/fortran_elf90.vim
+" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version: 0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fortran_elf90"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=\%ALine\ %l\\,\ file\ %f,
+ \%C%tARNING\ --%m,
+ \%C%tATAL\ --%m,
+ \%C%tBORT\ --%m,
+ \%+C%\\l%.%#\.,
+ \%C%p\|,
+ \%C%.%#,
+ \%Z%$,
+ \%-G%.%#
+CompilerSet makeprg=elf90
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fortran_g77.vim b/runtime/compiler/fortran_g77.vim
new file mode 100644
index 0000000000..744ce6a334
--- /dev/null
+++ b/runtime/compiler/fortran_g77.vim
@@ -0,0 +1,48 @@
+" Vim compiler file
+" Compiler: g77 (GNU Fortran)
+" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+" Last Change: $Date: 2004/06/13 18:17:36 $
+" $Revision: 1.1 $
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fortran_g77"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" Note: The errorformat assumes GNU make
+
+" sample multiline errors (besides gcc backend one-liners):
+" gev.f:14:
+" parameter UPLO = 'Upper-triangle'
+" ^
+" Unsupported VXT statement at (^)
+" gev.f:6:
+" integer desca( * ), descb( * )
+" 1
+" gev.f:19: (continued):
+" end subroutine
+" 2
+" Invalid declaration of or reference to symbol `desca' at (2) [initially seen at (1)]
+
+CompilerSet errorformat=
+ \%Omake:\ %r,
+ \%f:%l:\ warning:\ %m,
+ \%A%f:%l:\ (continued):,
+ \%W%f:%l:\ warning:,
+ \%A%f:%l:\ ,
+ \%-C\ \ \ %p%*[0123456789^]%.%#,
+ \%-C\ \ \ %.%#,
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+ \%DMaking\ %*\\a\ in\ %f,
+ \%Z%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/fortran_lf95.vim b/runtime/compiler/fortran_lf95.vim
new file mode 100644
index 0000000000..685fee7b4a
--- /dev/null
+++ b/runtime/compiler/fortran_lf95.vim
@@ -0,0 +1,27 @@
+" Vim compiler file
+" Compiler: Lahey/Fujitsu Fortran 95
+" URL: http://www.unb.ca/chem/ajit/compiler/fortran_lf95.vim
+" Maintainer: Ajit J. Thakkar (ajit AT unb.ca); <http://www.unb.ca/chem/ajit/>
+" Version: 0.2
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fortran_lf95"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cposet=&cpoptions
+set cpoptions-=C
+
+CompilerSet errorformat=\ %#%n-%t:\ \"%f\"\\,\ line\ %l:%m,
+ \Error\ LINK\.%n:%m,
+ \Warning\ LINK\.%n:%m,
+ \%-G%.%#
+CompilerSet makeprg=lf95
+
+let &cpoptions=s:cposet
+unlet s:cposet
diff --git a/runtime/compiler/fpc.vim b/runtime/compiler/fpc.vim
new file mode 100644
index 0000000000..fb4f424986
--- /dev/null
+++ b/runtime/compiler/fpc.vim
@@ -0,0 +1,17 @@
+" Vim compiler file
+" Compiler: FPC 2.1
+" Maintainer: Jaroslaw Blasiok <jaro3000@o2.pl>
+" Last Change: 2005 October 07
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "fpc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" NOTE: compiler must be runned with -vb to write whole source path, not only file
+" name.
+CompilerSet errorformat=%f(%l\\,%c)\ %m
diff --git a/runtime/compiler/g95.vim b/runtime/compiler/g95.vim
new file mode 100644
index 0000000000..ecb3212cbe
--- /dev/null
+++ b/runtime/compiler/g95.vim
@@ -0,0 +1,28 @@
+" Compiler: G95
+" Maintainer: H Xu <xuhdev@gmail.com>
+" Version: 0.1.3
+" Last Change: 2012 Apr 30
+" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
+" https://bitbucket.org/xuhdev/compiler-g95.vim
+" License: Same as Vim
+
+if exists('current_compiler')
+ finish
+endif
+let current_compiler = 'g95'
+let s:keepcpo= &cpo
+set cpo&vim
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=
+ \%AIn\ file\ %f:%l,
+ \%-C%p1,
+ \%-Z%trror:\ %m,
+ \%-Z%tarning\ (%n):\ %m,
+ \%-C%.%#
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/compiler/gcc.vim b/runtime/compiler/gcc.vim
new file mode 100644
index 0000000000..aee31d92c2
--- /dev/null
+++ b/runtime/compiler/gcc.vim
@@ -0,0 +1,39 @@
+" Vim compiler file
+" Compiler: GNU C Compiler
+" Maintainer: Nikolai Weibull <now@bitwi.se>
+" Latest Revision: 2010-10-14
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "gcc"
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet errorformat=
+ \%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
+ \%*[^\"]\"%f\"%*\\D%l:\ %m,
+ \\"%f\"%*\\D%l:%c:\ %m,
+ \\"%f\"%*\\D%l:\ %m,
+ \%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
+ \%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
+ \%f:%l:%c:\ %trror:\ %m,
+ \%f:%l:%c:\ %tarning:\ %m,
+ \%f:%l:%c:\ %m,
+ \%f:%l:\ %trror:\ %m,
+ \%f:%l:\ %tarning:\ %m,
+ \%f:%l:\ %m,
+ \\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
+ \%D%*\\a:\ Entering\ directory\ [`']%f',
+ \%X%*\\a:\ Leaving\ directory\ [`']%f',
+ \%DMaking\ %*\\a\ in\ %f
+
+if exists('g:compiler_gcc_ignore_unmatched_lines')
+ CompilerSet errorformat+=%-G%.%#
+endif