summaryrefslogtreecommitdiff
path: root/runtime/compiler
diff options
context:
space:
mode:
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.vim30
-rw-r--r--runtime/compiler/checkstyle.vim20
-rw-r--r--runtime/compiler/cs.vim19
-rw-r--r--runtime/compiler/dot.vim15
-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/hp_acc.vim28
-rw-r--r--runtime/compiler/icc.vim18
-rw-r--r--runtime/compiler/intel.vim21
-rw-r--r--runtime/compiler/irix5_c.vim21
-rw-r--r--runtime/compiler/irix5_cpp.vim21
-rw-r--r--runtime/compiler/javac.vim18
-rw-r--r--runtime/compiler/jikes.vim18
-rw-r--r--runtime/compiler/mips_c.vim21
-rw-r--r--runtime/compiler/mipspro_c89.vim22
-rw-r--r--runtime/compiler/mipspro_cpp.vim21
-rw-r--r--runtime/compiler/modelsim_vcom.vim20
-rw-r--r--runtime/compiler/msvc.vim17
-rw-r--r--runtime/compiler/neato.vim15
-rw-r--r--runtime/compiler/onsgmls.vim24
-rw-r--r--runtime/compiler/pbx.vim20
-rw-r--r--runtime/compiler/perl.vim39
-rw-r--r--runtime/compiler/pyunit.vim16
-rw-r--r--runtime/compiler/rst.vim33
-rw-r--r--runtime/compiler/ruby.vim62
-rw-r--r--runtime/compiler/se.vim28
-rw-r--r--runtime/compiler/splint.vim70
-rw-r--r--runtime/compiler/tcl.vim18
-rw-r--r--runtime/compiler/tex.vim68
-rw-r--r--runtime/compiler/tidy.vim29
-rw-r--r--runtime/compiler/xmllint.vim29
-rw-r--r--runtime/compiler/xmlwf.vim23
38 files changed, 1037 insertions, 0 deletions
diff --git a/runtime/compiler/README.txt b/runtime/compiler/README.txt
new file mode 100644
index 000000000..3f0b97b83
--- /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 000000000..51cd93185
--- /dev/null
+++ b/runtime/compiler/ant.vim
@@ -0,0 +1,38 @@
+" Vim Compiler File
+" Compiler: ant
+" Maintainer: Johannes Zellner <johannes@zellner.org>
+" Last Change: Tue, 27 Apr 2004 15:01:45 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]
+"
+setlocal 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 000000000..5bd284a58
--- /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 000000000..ae2da75e1
--- /dev/null
+++ b/runtime/compiler/bdf.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler: BDF to PCF Conversion
+" Maintainer: Nikolai Weibull <sourc@pcppopper.org>
+" URL: http://www.pcppopper.org/vim/compiler/pcp/bdf/
+" Latest Revision: 2004-05-22
+" arch-tag: 2e2f3a55-199b-468c-aa2e-d6b1a7b87806
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "bdf"
+
+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=bdftopcf\ $*
+
+CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+ \%-Z%p^,
+ \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: set sts=2 sw=2:
diff --git a/runtime/compiler/checkstyle.vim b/runtime/compiler/checkstyle.vim
new file mode 100644
index 000000000..8d696f050
--- /dev/null
+++ b/runtime/compiler/checkstyle.vim
@@ -0,0 +1,20 @@
+" Vim compiler file
+" Compiler: Checkstyle
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/checkstyle.vim
+" Last Change: 2004 Mar 27
+
+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:\ %m,%f:%l:%v:\ %m,%-G%.%#
diff --git a/runtime/compiler/cs.vim b/runtime/compiler/cs.vim
new file mode 100644
index 000000000..5b75d6d2a
--- /dev/null
+++ b/runtime/compiler/cs.vim
@@ -0,0 +1,19 @@
+" Vim compiler file
+" Compiler: ms C#
+" Maintainer: Joseph H. Yao (hyao@sina.com)
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "cs"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" default errorformat
+CompilerSet errorformat&
+
+" default make
+CompilerSet makeprg=csc\ %
diff --git a/runtime/compiler/dot.vim b/runtime/compiler/dot.vim
new file mode 100644
index 000000000..0327739aa
--- /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/fortran_F.vim b/runtime/compiler/fortran_F.vim
new file mode 100644
index 000000000..d9cb47cc1
--- /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 000000000..089d3b27c
--- /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 000000000..34c33cfaf
--- /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 000000000..94018e7f2
--- /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$
+" $Revision$
+
+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 000000000..685fee7b4
--- /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/hp_acc.vim b/runtime/compiler/hp_acc.vim
new file mode 100644
index 000000000..eaf61b2f1
--- /dev/null
+++ b/runtime/compiler/hp_acc.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler: HP aCC
+" Maintainer: Matthias Ulrich <matthias-ulrich@web.de>
+" URL: http://www.subhome.de/vim/hp_acc.vim
+" Last Change: 2004 Mar 27
+"
+" aCC --version says: "HP ANSI C++ B3910B A.03.13"
+" This compiler has been tested on:
+" hp-ux 10.20, hp-ux 11.0 and hp-ux 11.11 (64bit)
+"
+" Tim Brown's aCC is: "HP ANSI C++ B3910B A.03.33"
+" and it also works fine...
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "hp_acc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%A%trror\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m,
+ \%A%tarning\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m\ %#,
+ \%Z\ \ \ \ %p^%.%#,
+ \%-C%.%#
+
+" vim:ts=8:sw=4:cindent
diff --git a/runtime/compiler/icc.vim b/runtime/compiler/icc.vim
new file mode 100644
index 000000000..751fba65c
--- /dev/null
+++ b/runtime/compiler/icc.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler: icc - Intel C++
+" Maintainer: Peter Puck <PtrPck@netscape.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "icc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" I think that Intel is calling the compiler icl under Windows
+
+CompilerSet errorformat=%-Z%p^,%f(%l):\ remark\ #%n:%m,%f(%l)\ :\ (col.\ %c)\ remark:\ %m,%E%f(%l):\ error:\ %m,%E%f(%l):\ error:\ #%n:\ %m,%W%f(%l):\ warning\ #%n:\ %m,%W%f(%l):\ warning:\ %m,%-C%.%#
+
diff --git a/runtime/compiler/intel.vim b/runtime/compiler/intel.vim
new file mode 100644
index 000000000..918382646
--- /dev/null
+++ b/runtime/compiler/intel.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler: Intel C++ 7.1
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 May 16
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "intel"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%E%f(%l):\ error:\ %m,
+ \%W%f(%l):\ warning:\ %m,
+ \%I%f(%l):\ remark\ #%n:\ %m,
+ \%+C\ \ %m.,
+ \%-Z\ \ %p^,
+ \%-G\\s%#,
+ \%-G%.%#
diff --git a/runtime/compiler/irix5_c.vim b/runtime/compiler/irix5_c.vim
new file mode 100644
index 000000000..87bb9e11d
--- /dev/null
+++ b/runtime/compiler/irix5_c.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler: SGI IRIX 5.3 cc
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "irix5_c"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=\%Ecfe:\ Error:\ %f\\,\ line\ %l:\ %m,
+ \%Wcfe:\ Warning:\ %n:\ %f\\,\ line\ %l:\ %m,
+ \%Wcfe:\ Warning\ %n:\ %f\\,\ line\ %l:\ %m,
+ \%W(%l)\ \ Warning\ %n:\ %m,
+ \%-Z\ %p^,
+ \-G\\s%#,
+ \%-G%.%#
diff --git a/runtime/compiler/irix5_cpp.vim b/runtime/compiler/irix5_cpp.vim
new file mode 100644
index 000000000..f5057682c
--- /dev/null
+++ b/runtime/compiler/irix5_cpp.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler: SGI IRIX 5.3 CC or NCC
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "irix5_cpp"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%E\"%f\"\\,\ line\ %l:\ error(%n):\ ,
+ \%E\"%f\"\\,\ line\ %l:\ error(%n):\ %m,
+ \%W\"%f\"\\,\ line\ %l:\ warning(%n):\ %m,
+ \%+IC++\ prelinker:\ %m,
+ \%-Z\ \ %p%^,
+ \%+C\ %\\{10}%.%#,
+ \%-G%.%#
diff --git a/runtime/compiler/javac.vim b/runtime/compiler/javac.vim
new file mode 100644
index 000000000..296f766d6
--- /dev/null
+++ b/runtime/compiler/javac.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler: javac
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/javac.vim
+" Last Change: 2004 Apr 15
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "javac"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=javac
+
+CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
diff --git a/runtime/compiler/jikes.vim b/runtime/compiler/jikes.vim
new file mode 100644
index 000000000..8566969ac
--- /dev/null
+++ b/runtime/compiler/jikes.vim
@@ -0,0 +1,18 @@
+" Vim Compiler File
+" Compiler: Jikes
+" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
+" Last Change: 2004 Mar 27
+" URL: http://mywebpage.netscape.com/sharppeople/vim/compiler
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "jikes"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" Jikes defaults to printing output on stderr
+CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
+CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
diff --git a/runtime/compiler/mips_c.vim b/runtime/compiler/mips_c.vim
new file mode 100644
index 000000000..b57eac023
--- /dev/null
+++ b/runtime/compiler/mips_c.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler: SGI IRIX 6.5 MIPS C (cc)
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "mips_c"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%+C\ \ %m.,
+ \%-Z\ \ %p^,
+ \%-G\\s%#,
+ \%-G%.%#
diff --git a/runtime/compiler/mipspro_c89.vim b/runtime/compiler/mipspro_c89.vim
new file mode 100644
index 000000000..258a80043
--- /dev/null
+++ b/runtime/compiler/mipspro_c89.vim
@@ -0,0 +1,22 @@
+" Vim compiler file
+" Compiler: SGI IRIX 6.5 MIPSPro C (c89)
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "mipspro_c89"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%-Z%p%^,
+ \%+C\ %\\{10}%m%.,
+ \%+C\ \ %m,
+ \%-G\\s%#,
+ \%-G%.%#
diff --git a/runtime/compiler/mipspro_cpp.vim b/runtime/compiler/mipspro_cpp.vim
new file mode 100644
index 000000000..1f6074a10
--- /dev/null
+++ b/runtime/compiler/mipspro_cpp.vim
@@ -0,0 +1,21 @@
+" Vim compiler file
+" Compiler: SGI IRIX 6.5 MIPSPro C++ (CC)
+" Maintainer: David Harrison <david_jr@users.sourceforge.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "mipspro_cpp"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Wcc\-%n\ %.%#:\ WARNING\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%Icc\-%n\ %.%#:\ REMARK\ File\ =\ %f\%\\,\ Line\ =\ %l,
+ \%+C\ \ %m.,
+ \%-Z\ \ %p^,
+ \%-G\\s%#,
+ \%-G%.%#
diff --git a/runtime/compiler/modelsim_vcom.vim b/runtime/compiler/modelsim_vcom.vim
new file mode 100644
index 000000000..6aa1bde0b
--- /dev/null
+++ b/runtime/compiler/modelsim_vcom.vim
@@ -0,0 +1,20 @@
+" Vim Compiler File
+" Compiler: Modelsim Vcom
+" Maintainer: Paul Baleme <pbaleme@mail.com>
+" Last Change: September 8, 2003
+" Thanks to: allanherriman@hotmail.com
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "modelsim_vcom"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+"setlocal errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
+
+"setlocal errorformat=%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %m
+CompilerSet errorformat=\*\*\ %tRROR:\ %f(%l):\ %m,\*\*\ %tRROR:\ %m,\*\*\ %tARNING:\ %m,\*\*\ %tOTE:\ %m,%tRROR:\ %f(%l):\ %m,%tARNING\[%*[0-9]\]:\ %f(%l):\ %m,%tRROR:\ %m,%tARNING\[%*[0-9]\]:\ %m
+
diff --git a/runtime/compiler/msvc.vim b/runtime/compiler/msvc.vim
new file mode 100644
index 000000000..5fb1f24b3
--- /dev/null
+++ b/runtime/compiler/msvc.vim
@@ -0,0 +1,17 @@
+" Vim compiler file
+" Compiler: Miscrosoft Visual C
+" Maintainer: Bram Moolenaar <Bram@vim.org>
+" Last Change: 2004 Mar 19
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "msvc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" The errorformat for MSVC is the default.
+CompilerSet errorformat&
+CompilerSet makeprg=nmake
diff --git a/runtime/compiler/neato.vim b/runtime/compiler/neato.vim
new file mode 100644
index 000000000..bd184b7f6
--- /dev/null
+++ b/runtime/compiler/neato.vim
@@ -0,0 +1,15 @@
+" Vim compiler file
+" Compiler: ATT neato
+" Maintainer: Marcos Macedo <bar4ka@bol.com.br>
+" Last Change: 2004 May 16
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "neato"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=neato\ -T$*\ \"%:p\"\ -o\ \"%:p:r.$*\"
diff --git a/runtime/compiler/onsgmls.vim b/runtime/compiler/onsgmls.vim
new file mode 100644
index 000000000..130d3e21b
--- /dev/null
+++ b/runtime/compiler/onsgmls.vim
@@ -0,0 +1,24 @@
+" Vim compiler file
+" Compiler: onsgmls
+" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "onsgmls"
+
+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=onsgmls\ -s\ %
+
+CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
+ \onsgmls:%f:%l:%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/pbx.vim b/runtime/compiler/pbx.vim
new file mode 100644
index 000000000..9e81ea735
--- /dev/null
+++ b/runtime/compiler/pbx.vim
@@ -0,0 +1,20 @@
+" Vim compiler file
+" Compiler: Apple Project Builder
+" Maintainer: Alexander von Below (public@vonBelow.Com)
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "pbx"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" The compiler actually is gcc, so the errorformat is unchanged
+CompilerSet errorformat&
+
+" default make
+CompilerSet makeprg=pbxbuild
+
diff --git a/runtime/compiler/perl.vim b/runtime/compiler/perl.vim
new file mode 100644
index 000000000..1d30472bb
--- /dev/null
+++ b/runtime/compiler/perl.vim
@@ -0,0 +1,39 @@
+" Vim Compiler File
+" Compiler: Perl syntax checks (perl -Wc)
+" Maintainer: Christian J. Robinson <infynity@onewest.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "perl"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:savecpo = &cpo
+set cpo&vim
+
+if getline(1) =~# '-[^ ]*T'
+ CompilerSet makeprg=perl\ -WTc\ %
+else
+ CompilerSet makeprg=perl\ -Wc\ %
+endif
+
+CompilerSet errorformat=
+ \%-G%.%#had\ compilation\ errors.,
+ \%-G%.%#syntax\ OK,
+ \%m\ at\ %f\ line\ %l.,
+ \%+A%.%#\ at\ %f\ line\ %l\\,%.%#,
+ \%+C%.%#
+
+" Explanation:
+" %-G%.%#had\ compilation\ errors., - Ignore the obvious.
+" %-G%.%#syntax\ OK, - Don't include the 'a-okay' message.
+" %m\ at\ %f\ line\ %l., - Most errors...
+" %+A%.%#\ at\ %f\ line\ %l\\,%.%#, - As above, including ', near ...'
+" %+C%.%# - ... Which can be multi-line.
+
+let &cpo = s:savecpo
+unlet s:savecpo
diff --git a/runtime/compiler/pyunit.vim b/runtime/compiler/pyunit.vim
new file mode 100644
index 000000000..2a4ea92b6
--- /dev/null
+++ b/runtime/compiler/pyunit.vim
@@ -0,0 +1,16 @@
+" Vim compiler file
+" Compiler: Unit testing tool for Python
+" Maintainer: Max Ischenko <mfi@ukr.net>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "pyunit"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet efm=%C\ %.%#,%A\ \ File\ \"%f\"\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m
+
diff --git a/runtime/compiler/rst.vim b/runtime/compiler/rst.vim
new file mode 100644
index 000000000..c9e5be186
--- /dev/null
+++ b/runtime/compiler/rst.vim
@@ -0,0 +1,33 @@
+" Vim compiler file
+" Compiler: reStructuredText Documentation Format
+" Maintainer: Nikolai Weibull <source@pcppopper.org>
+" URL: http://www.pcppopper.org/vim/compiler/pcp/rst/
+" Latest Revision: 2004-05-22
+" arch-tag: ac64a95a-5d45-493d-a9f9-f96fc8568657
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "rst"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+CompilerSet errorformat=
+ \%f:%l:\ (%tEBUG/0)\ %m,
+ \%f:%l:\ (%tNFO/1)\ %m,
+ \%f:%l:\ (%tARNING/2)\ %m,
+ \%f:%l:\ (%tRROR/3)\ %m,
+ \%f:%l:\ (%tEVERE/3)\ %m,
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+ \%DMaking\ %*\\a\ in\ %f
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: set sts=2 sw=2:
diff --git a/runtime/compiler/ruby.vim b/runtime/compiler/ruby.vim
new file mode 100644
index 000000000..f124ed3a3
--- /dev/null
+++ b/runtime/compiler/ruby.vim
@@ -0,0 +1,62 @@
+" Vim compiler file
+" Compiler: Ruby syntax check and/or error reporting
+" Maintainer: Tim Hammerquist <timmy@cpan.org>
+" Last Change: Tue Jul 16 00:38:00 PDT 2002
+"
+" Changelog:
+" 0.2: script saves and restores 'cpoptions' value to prevent problems with
+" line continuations
+" 0.1: initial release
+"
+" Contributors:
+" Hugh Sasse <hgs@dmu.ac.uk>
+" Doug Kearns <djkea2@mugca.its.monash.edu.au>
+"
+" Todo:
+" match error type %m
+"
+" Comments:
+" I know this file isn't perfect. If you have any questions, suggestions,
+" patches, etc., please don't hesitate to let me know.
+"
+" This is my first experience with 'errorformat' and compiler plugins and
+" I welcome any input from more experienced (or clearer-thinking)
+" individuals.
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "ruby"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" default settings runs script normally
+" add '-c' switch to run syntax check only:
+"
+" CompilerSet makeprg=ruby\ -wc\ $*
+"
+" or add '-c' at :make command line:
+"
+" :make -c %<CR>
+"
+CompilerSet makeprg=ruby\ -w\ $*
+
+CompilerSet errorformat=
+ \%+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: ft=vim
diff --git a/runtime/compiler/se.vim b/runtime/compiler/se.vim
new file mode 100644
index 000000000..ac0aab805
--- /dev/null
+++ b/runtime/compiler/se.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler: se (SmartEiffel Compiler)
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/se.vim
+" Last Change: 2004 May 16
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "se"
+
+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=compile\ %
+
+CompilerSet errorformat=%W******\ Warning:\ %m,
+ \%E******\ Fatal\ Error:\ %m,
+ \%E******\ Error:\ %m,
+ \%CLine\ %l\ column\ %c\ in\ %\\w%\\+\ (%f)\ :,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/splint.vim b/runtime/compiler/splint.vim
new file mode 100644
index 000000000..8ba9c974e
--- /dev/null
+++ b/runtime/compiler/splint.vim
@@ -0,0 +1,70 @@
+" Vim compiler file
+" Compiler: splint/lclint (C source code checker)
+" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+" Splint Home: http://www.splint.org/
+" Last Change: $Date$
+" $Revision$
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "splint"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" adapt this if you want to check more than one file at a time.
+" put command line options in .splintrc or ~/.splintrc
+CompilerSet makeprg=splint\ %
+
+" Note: when using the new array bounds checking flags: Each warning
+" usually has several lines and several references to source code mostly
+" within one or two lines (see sample warning below). The easiest way
+" not to mess up file name detection and not to jump to all positions is
+" to add something like
+" -linelen 500 +boundscompacterrormessages
+" to your .splintrc and 'set cmdheight=4' or more.
+" TODO: reliable way to distinguish file names and constraints.
+"
+" sample warning (generic):
+"
+"foo.c:1006:12: Clauses exit with var referencing local storage in one
+" case, fresh storage in other case
+" foo.c:1003:2: Fresh storage var allocated
+"
+" sample warning (bounds checking):
+"
+"bounds.c: (in function updateEnv)
+"bounds.c:10:5: Possible out-of-bounds store:
+" strcpy(str, tmp)
+" Unable to resolve constraint:
+" requires maxSet(str @ bounds.c:10:13) >= maxRead(getenv("MYENV") @
+" bounds.c:6:9)
+" needed to satisfy precondition:
+" requires maxSet(str @ bounds.c:10:13) >= maxRead(tmp @ bounds.c:10:18)
+" derived from strcpy precondition: requires maxSet(<parameter 1>) >=
+" maxRead(<parameter 2>)
+" A memory write may write to an address beyond the allocated buffer. (Use
+" -boundswrite to inhibit warning)
+
+CompilerSet errorformat=%OLCLint*m,
+ \%OSplint*m,
+ \%*[\ ]%f:%l:%c:\ %m,
+ \%*[\ ]%f:%l:\ %m,
+ \%*[^\"]\"%f\"%*\\D%l:\ %m,
+ \\"%f\"%*\\D%l:\ %m,
+ \%A%f:%l:%c:\ %m,
+ \%A%f:%l:%m,
+ \\"%f\"\\,
+ \\ line\ %l%*\\D%c%*[^\ ]\ %m,
+ \%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
+ \%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
+ \%DMaking\ %*\\a\ in\ %f,
+ \%C\ \ %m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/tcl.vim b/runtime/compiler/tcl.vim
new file mode 100644
index 000000000..76d3edf12
--- /dev/null
+++ b/runtime/compiler/tcl.vim
@@ -0,0 +1,18 @@
+" Vim compiler file
+" Compiler: tcl
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/tcl.vim
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "tcl"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=tcl
+
+CompilerSet errorformat=%EError:\ %m,%+Z\ %\\{4}(file\ \"%f\"\ line\ %l),%-G%.%#
diff --git a/runtime/compiler/tex.vim b/runtime/compiler/tex.vim
new file mode 100644
index 000000000..5828a91ab
--- /dev/null
+++ b/runtime/compiler/tex.vim
@@ -0,0 +1,68 @@
+" Vim compiler file
+" Compiler: TeX
+" Maintainer: Artem Chuprina <ran@ran.pp.ru>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" If makefile exists and we are not asked to ignore it, we use standard make
+" (do not redefine makeprg)
+if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
+ \(!filereadable('Makefile') && !filereadable('makefile'))
+ " If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
+ " otherwize the same for global variable with same name, else it will be
+ " LaTeX
+ if exists("b:tex_flavor")
+ let current_compiler = b:tex_flavor
+ elseif exists("g:tex_flavor")
+ let current_compiler = g:tex_flavor
+ else
+ let current_compiler = "latex"
+ endif
+ let &l:makeprg=current_compiler.' -interaction=nonstopmode'
+else
+ let current_compiler = 'make'
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
+" addition from Srinath Avadhanula <srinath@fastmail.fm>
+CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
+ \%E!\ %m,
+ \%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#,
+ \%+W%.%#\ at\ lines\ %l--%*\\d,
+ \%WLaTeX\ %.%#Warning:\ %m,
+ \%Cl.%l\ %m,
+ \%+C\ \ %m.,
+ \%+C%.%#-%.%#,
+ \%+C%.%#[]%.%#,
+ \%+C[]%.%#,
+ \%+C%.%#%[{}\\]%.%#,
+ \%+C<%.%#>%.%#,
+ \%C\ \ %m,
+ \%-GSee\ the\ LaTeX%m,
+ \%-GType\ \ H\ <return>%m,
+ \%-G\ ...%.%#,
+ \%-G%.%#\ (C)\ %.%#,
+ \%-G(see\ the\ transcript%.%#),
+ \%-G\\s%#,
+ \%+O(%*[^()])%r,
+ \%+O%*[^()](%*[^()])%r,
+ \%+P(%f%r,
+ \%+P\ %\\=(%f%r,
+ \%+P%*[^()](%f%r,
+ \%+P[%\\d%[^()]%#(%f%r,
+ \%+Q)%r,
+ \%+Q%*[^()])%r,
+ \%+Q[%\\d%*[^()])%r
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/tidy.vim b/runtime/compiler/tidy.vim
new file mode 100644
index 000000000..36416ebfc
--- /dev/null
+++ b/runtime/compiler/tidy.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler: HTML Tidy
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/tidy.vim
+" Last Change: 2004 Mar 27
+
+" NOTE: set 'tidy_compiler_040800' if you are using the 4th August 2000 release
+" of HTML Tidy.
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "tidy"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+" this is needed to work around a bug in the 04/08/00 release of tidy which
+" failed to set the filename if the -quiet option was used
+if exists("tidy_compiler_040800")
+ CompilerSet makeprg=tidy\ -errors\ --gnu-emacs\ yes\ %
+else
+ CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
+endif
+
+" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
+" sample error: foo.html:9:2: Error: <foobar> is not recognized!
+CompilerSet errorformat=%f:%l:%c:\ Error:%m,%f:%l:%c:\ Warning:%m,%-G%.%#
diff --git a/runtime/compiler/xmllint.vim b/runtime/compiler/xmllint.vim
new file mode 100644
index 000000000..b7110c719
--- /dev/null
+++ b/runtime/compiler/xmllint.vim
@@ -0,0 +1,29 @@
+" Vim compiler file
+" Compiler: xmllint
+" Maintainer: Doug Kearns <djkea2@mugca.its.monash.edu.au>
+" URL: http://mugca.its.monash.edu.au/~djkea2/vim/compiler/xmllint.vim
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "xmllint"
+
+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=xmllint\ --valid\ --noout\
+
+CompilerSet errorformat=%E%f:%l:\ error:\ %m,
+ \%W%f:%l:\ warning:\ %m,
+ \%E%f:%l:\ validity\ error:\ %m,
+ \%W%f:%l:\ validity\ warning:\ %m,
+ \%-Z%p^,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/xmlwf.vim b/runtime/compiler/xmlwf.vim
new file mode 100644
index 000000000..cd2e2bb6a
--- /dev/null
+++ b/runtime/compiler/xmlwf.vim
@@ -0,0 +1,23 @@
+" Vim Compiler File
+" Compiler: xmlwf
+" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
+" Last Change: 2004 Mar 27
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "xmlwf"
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+CompilerSet makeprg=xmlwf\ %
+
+CompilerSet errorformat=%f:%l%c:%m
+
+let &cpo = s:cpo_save
+unlet s:cpo_save