Commit Graph

31 Commits

Author SHA1 Message Date
LCD 47
ce89396808 Checker-specific logging.
New debug level 32, for logging tracing checkers.
New method checker.log().
Cleanup.
2014-10-06 22:19:24 +03:00
LCD 47
5c21c4d7f2 Bug fix: grouping in errorformat.
\(...\) can't be used in errorformat; use non-catching \%(...\) instead.
Add \m to patterns that use grouping.
2014-09-16 18:12:50 +03:00
LCD 47
4c5ff42723 New option for SyntasticMake(): env.
Setting environment variables by prefixing commands with 'VARIABLE=value'
doesn't work under csh.  Solution: let Vim set the environment variables.
2014-07-07 19:04:22 +03:00
LCD 47
ab79acbccd Cleanup. Deprecate a number of checker variables.
New / refactored deprecation logging functions:
syntastic#log#oneTimeWarn() and syntastic#log#deprecationWarn().
2014-06-24 19:02:42 +03:00
LCD 47
da6520c69f \V<pattern> regexps can spell trouble if <pattern> contains backslashes. 2014-03-09 22:21:29 +02:00
LCD 47
c10aa8d6d5 More shell escape fixes. 2014-02-13 17:38:47 +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
fa2e6b96d9 Minor cleanup: replace match() by stridx() when appropriate. 2013-11-26 23:19:01 +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
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
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
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