xref: /vim-8.2.3635/runtime/compiler/ruby.vim (revision 6b730e11)
1071d4279SBram Moolenaar" Vim compiler file
2*6b730e11SBram Moolenaar" Language:	Ruby
3*6b730e11SBram Moolenaar" Function:	Syntax check and/or error reporting
4*6b730e11SBram Moolenaar" Maintainer:	Tim Hammerquist <timh at rubyforge.org>
5*6b730e11SBram Moolenaar" Info:		$Id$
6*6b730e11SBram Moolenaar" URL:		http://vim-ruby.rubyforge.org
7*6b730e11SBram Moolenaar" Anon CVS:	See above site
8*6b730e11SBram Moolenaar" Licence:	GPL (http://www.gnu.org)
9*6b730e11SBram Moolenaar" Disclaimer:
10*6b730e11SBram Moolenaar"    This program is distributed in the hope that it will be useful,
11*6b730e11SBram Moolenaar"    but WITHOUT ANY WARRANTY; without even the implied warranty of
12*6b730e11SBram Moolenaar"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*6b730e11SBram Moolenaar"    GNU General Public License for more details.
14*6b730e11SBram Moolenaar" ----------------------------------------------------------------------------
15071d4279SBram Moolenaar"
16071d4279SBram Moolenaar" Changelog:
17071d4279SBram Moolenaar" 0.2:  script saves and restores 'cpoptions' value to prevent problems with
18071d4279SBram Moolenaar"       line continuations
19071d4279SBram Moolenaar" 0.1:  initial release
20071d4279SBram Moolenaar"
21071d4279SBram Moolenaar" Contributors:
22071d4279SBram Moolenaar"   Hugh Sasse <[email protected]>
23293ee4d4SBram Moolenaar"   Doug Kearns <[email protected]>
24071d4279SBram Moolenaar"
25071d4279SBram Moolenaar" Todo:
26071d4279SBram Moolenaar"   match error type %m
27071d4279SBram Moolenaar"
28071d4279SBram Moolenaar" Comments:
29071d4279SBram Moolenaar"   I know this file isn't perfect.  If you have any questions, suggestions,
30071d4279SBram Moolenaar"   patches, etc., please don't hesitate to let me know.
31071d4279SBram Moolenaar"
32071d4279SBram Moolenaar"   This is my first experience with 'errorformat' and compiler plugins and
33071d4279SBram Moolenaar"   I welcome any input from more experienced (or clearer-thinking)
34071d4279SBram Moolenaar"   individuals.
35*6b730e11SBram Moolenaar" ----------------------------------------------------------------------------
36071d4279SBram Moolenaar
37071d4279SBram Moolenaarif exists("current_compiler")
38071d4279SBram Moolenaar  finish
39071d4279SBram Moolenaarendif
40071d4279SBram Moolenaarlet current_compiler = "ruby"
41071d4279SBram Moolenaar
42071d4279SBram Moolenaarif exists(":CompilerSet") != 2		" older Vim always used :setlocal
43071d4279SBram Moolenaar  command -nargs=* CompilerSet setlocal <args>
44071d4279SBram Moolenaarendif
45071d4279SBram Moolenaar
46071d4279SBram Moolenaarlet s:cpo_save = &cpo
47071d4279SBram Moolenaarset cpo-=C
48071d4279SBram Moolenaar
49071d4279SBram Moolenaar" default settings runs script normally
50071d4279SBram Moolenaar" add '-c' switch to run syntax check only:
51071d4279SBram Moolenaar"
52071d4279SBram Moolenaar"   CompilerSet makeprg=ruby\ -wc\ $*
53071d4279SBram Moolenaar"
54071d4279SBram Moolenaar" or add '-c' at :make command line:
55071d4279SBram Moolenaar"
56071d4279SBram Moolenaar"   :make -c %<CR>
57071d4279SBram Moolenaar"
58071d4279SBram MoolenaarCompilerSet makeprg=ruby\ -w\ $*
59071d4279SBram Moolenaar
60071d4279SBram MoolenaarCompilerSet errorformat=
61071d4279SBram Moolenaar    \%+E%f:%l:\ parse\ error,
62071d4279SBram Moolenaar    \%W%f:%l:\ warning:\ %m,
63071d4279SBram Moolenaar    \%E%f:%l:in\ %*[^:]:\ %m,
64071d4279SBram Moolenaar    \%E%f:%l:\ %m,
65071d4279SBram Moolenaar    \%-C%\tfrom\ %f:%l:in\ %.%#,
66071d4279SBram Moolenaar    \%-Z%\tfrom\ %f:%l,
67071d4279SBram Moolenaar    \%-Z%p^,
68071d4279SBram Moolenaar    \%-G%.%#
69071d4279SBram Moolenaar
70071d4279SBram Moolenaarlet &cpo = s:cpo_save
71071d4279SBram Moolenaarunlet s:cpo_save
72071d4279SBram Moolenaar
73*6b730e11SBram Moolenaar" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
74