Commit Graph

41 Commits

Author SHA1 Message Date
LCD 47
f5a45095e2 Escape Festschrift: getExec() needs to be escaped before being used. 2014-02-06 16:50:27 +02:00
LCD 47
44d7ffd7e0 makeprgBuild() refactor: add *_before and *_after options. 2014-01-28 21:44:44 +02:00
LCD 47
b9accaa810 Minor cleanup: &cpo guards and formatting. 2014-01-03 11:29:08 +02:00
LCD 47
b89c644468 Fix an infinite loop in syntastic#util#findInParent().
As a side effect, also fix some of the "has('win32')" mess.
2013-12-04 16:50:35 +02:00
LCD 47
31a882e52e Minor cleanup: qualify case sensitivity. 2013-11-29 10:35:21 +02:00
LCD 47
fa2e6b96d9 Minor cleanup: replace match() by stridx() when appropriate. 2013-11-26 23:19:01 +02:00
LCD 47
fd5a52e0bd Cleanup. 2013-11-04 23:00:51 +02:00
LCD 47
6d81ac5dd0 Registry cleanup, stage 3.
Make syntastic#makeprg#build() a dictionary function.
Remove the mandatory checker argument to syntastic#makeprg#build().
2013-11-02 10:44:06 +02:00
LCD 47
3694908d05 Registry cleanup, stage 2.
(1) Checkers now have an _exec attribute, and an accessor getExec().
(2) CreateAndRegisterChecker() initializes _exec from an optional argument
'exec'.  If this argument is missing, 'name' is used instead.
(3) Functions SyntaxCheckers_*_IsAvailable() are now dictionary functions.
(4) Functions SyntaxCheckers_*_IsAvailable() are now optional.  When
they are missing, they are assumed to return executable(expand(self.getExec())).
(5) Argument 'exe' of function syntastic#makeprg#build() is now optional.
If this argument is missing, expand(self.getExec()) is used to set checker
executables.
2013-11-02 10:44:06 +02:00
LCD 47
28bce98a68 Registry cleanup, stage 1.
Make SyntaxCheckers_*_GetLocList() dictionary functions.
Pass a reference to the current checker to syntastic#makeprg#build().
Add an optional 'redirect' argument to CreateAndRegisterChecker().
Change the sh checker to use the new dictionary functions.
Add a new registry method getLocListRaw() (needed for the sh checker).
2013-11-02 10:44:06 +02:00
LCD 47
cd1d1a2a55 Cleanup. 2013-11-01 11:51:04 +02:00
LCD 47
d238665385 Fix unwanted filter() and map() side effects. Minor cleanup. 2013-10-23 12:59:23 +03:00
Yorick Peterse
5ee1406021 Added a syntax checker for ruby-lint.
ruby-lint is a linter for Ruby, see https://github.com/YorickPeterse/ruby-lint
for more information.
2013-10-21 23:54:10 +02:00
LCD 47
bedf88c184 Cleanup parsing versions. 2013-09-24 08:39:07 +03:00
LCD 47
3e46bcf71a Version check for rubocop.
Only rubocop versions 0.9.0 or later are supported.
2013-07-12 07:01:16 +03:00
LCD 47
0f6dad6b4c Merge remote-tracking branch 'sds/fix-rubocop-errorformat' 2013-07-12 06:52:09 +03:00
Shane da Silva
baa95470b6 Change --emacs flag to --format emacs for RuboCop
The `--emacs` flag has been deprecated. Switch to specifying
`--format emacs` so that this doesn't break when RuboCop 1.0 is
released.
2013-07-11 12:30:01 -07:00
Shane da Silva
0975a2f948 Fix errorformat for RuboCop checker
The errorformat for the RuboCop checker was missing the capture group
for the column number of the error/warning, which resulted in the
location list attempting to jump to 'filename.rb:80', which would
attempt to open a new file.

The solution was to add the "%c" to capture the column number of the
error.
2013-07-11 12:22:38 -07:00
LCD 47
d3354f175c Make syntastic#makeprg#build() aware of filetypes. Fixes #667. 2013-05-31 21:05:45 +03:00
Martin Grenfell
602bbe7b24 break down some error format strings
Most errorformats are now expressed 1 "clause" per line.
2013-05-14 17:36:20 +01:00
Martin Grenfell
5859a5bdff ruby/rubocop: bugfix 2013-04-21 17:31:37 +01:00
Recai Oktaş
02dbc6433a New syntax checker for Ruby: rubocop. 2013-04-20 23:48:31 +03:00
Martin Grenfell
fa46a82860 ruby/mri: add highlight regex function
Make it work for unused variable warnings
2013-03-18 13:38:30 +00:00
Josh Hoff
746d0c063f remove unused function (because of 2519d83) 2013-02-28 19:29:58 -06:00
Martin Grenfell
2519d83569 Merge pull request #483 from medlefsen/fix_mri_ruby
Ruby checker breaks with rvm when using "system" ruby
2013-02-26 07:46:37 -08:00
Martin Grenfell
16424e5761 add guards to all checkers
goddamn I love macros
2013-02-21 15:50:41 +00:00
Matt Edlefsen
c658f06756 Remove broken rvm handling in mri ruby checker
RVM does not always provide an executable for  specific ruby version
that is loaded (the "system" version).

RVM, or whatever else the user uses, should always setup "ruby" to point
to the correct version so this can always be used.
2013-02-05 07:07:52 -05:00
Martin Grenfell
033fb2763a fix a couple of bugs with ruby checkers 2013-01-27 23:59:25 +00:00
Martin Grenfell
e0b8e87c93 refactor all the syntax checkers to use the new API and dir layout 2013-01-27 20:08:30 +00:00
Martin Grenfell
6a184f0e37 update checkers to use the new syntastic#makeprg#build()
Make all the easy updates. There are still quite a few to do, but in
doing these ones I can see that syntastic#makeprg#build() needs to
accept a few more options. Namely:

* "postargs" that appear after the filename
* "tail" that appears after everything - used for things like
  redirecting output and piping to grep/sed/etc
* the filename itself - only the java checkers needed this since they
  specify the directory of the file to check as well

There are still a few other things to do as well:

* remove the options from the checkers that are now provided by
  syntastic#makeprg#build implicitly - i.e. the checker exe and args.
* also, we need to doc the above implicit checker options
2013-01-20 11:13:01 +00:00
Martin Grenfell
aa07bd7122 ruby: make the mri checker play nicer with RVM
Query RVM for the version of ruby that should be used to do the syntax
check.

This wont work if the user has different versions of ruby for different
directories (e.g. if they are using a project rvmrc) as it will only a
single ruby version per vim instance.

I think this should satisfy almost everyone though, so we can wait for
feedback before doing anything more hardcore.
2012-10-15 12:49:22 +01:00
Richard Brown
6c80fa9d59 ruby/mri: ignore efm lines that start ...
If the line a ruby error occurs on is 'too long' it will truncate the line it
displays in the error output and wrap it in `...`. This breaks %p from finding
the correct column so this patch ignores lines starting with `...`

e.g. %p working

```
ruby -w -T1 -c broken.rb
broken.rb:2: syntax error, unexpected tIDENTIFIER, expecting $end
puts sprintf "%d, %.2f, %.2f, %.2f, %d" k, v
                                         ^
```

%p not working
```
ruby -w -T1 -c broken.rb
broken.rb:2: syntax error, unexpected tIDENTIFIER, expecting $end
...tf "%d, %.2f, %.2f, %.2f, %d" k, v[:cost], v[:val], v[:carri...
...                               ^
```
2012-09-25 15:23:47 +01:00
Austin Ziegler
cfd41f1ca3 Enable user-specified Ruby interpreters.
On systems where Ruby 1.8.7 is the default Ruby and users use
alternative suffixes (e.g., ruby19) or even rbenv or rvm Rubies, modern
Ruby syntax will be highlighted as an error.

The default behaviour in Syntastic is to run 'ruby' to check the syntax
of the script in question. This patch allows the user to specify a
different binary which may even be a full path. This should work on all
platforms.

  let g:syntastic_ruby_exec = 'ruby19'
  let g:syntastic_ruby_exec = '~/.rbenv/versions/1.9.2-p318/bin/ruby'
2012-07-24 13:08:22 +01:00
Martin Grenfell
6818c45710 ruby/mri checker: fix a compatibility bug
The commit 0f73bbaf14 fixed compatibility
with ruby >= 1.9.3 but broke compatibility for ruby < 1.9.3
2012-07-19 11:10:05 +01:00
Frank Schumacher
0f73bbaf14 Fix warning suppression in MRI 1.9.3 2012-07-19 11:25:49 +02:00
Martin Grenfell
6e2b7dd190 ruby/mri checker: make it display warnings
Previously we were using "medium verbosity" with `-W1`. The reason for
this is because using full verbosity caused some bogus repeated warnings
to appear in rspec files.

Enable full verbosity again and filter out the bogus warnings.

Closes #290
2012-07-17 22:39:13 +01:00
Szymon Wrozynski
bf56b92b39 Adds jruby errorformat 2012-07-04 22:17:05 +02:00
Martin Grenfell
025fa81d98 Merge pull request #245 from xuhdev/remove-useless-win64-check
Remove some unnecessary win64 checks.
2012-05-22 00:54:00 -07:00
Fabio Pelosin
1158999c85 Added MacRuby/RubyMotion syntax checker. 2012-05-09 14:12:15 +02:00
Hong Xu
30d7462249 Remove some unnecessary win64 checks.
has('win32') is always true on Win64.
2012-05-08 20:31:20 +08:00
Martin Grenfell
630a57dfef ruby: add the structure for jruby support
* move the existing ruby checker to syntax_checkers/ruby/mri.vim
* add a skeleton checker for jruby
* load mri by default but add an option to specify which ruby checker to
  load

This is in response to #185
2012-03-02 17:38:39 +00:00