Commit Graph

774 Commits

Author SHA1 Message Date
Strahinja Val Markovic
03a81bdb31 Fixing the ycm files
The new Syntastic API was not correctly merged into these files. This commit
should fix this.
2013-01-31 18:39:05 -08:00
Martin Grenfell
653611ccac split up php checker into php, phpmd and phpcs 2013-01-31 17:31:40 +00:00
Martin Grenfell
05feca29d7 fix a couple of bugs in the c/gcc checker
(introduced in the epic refactor)
2013-01-31 16:56:29 +00:00
Martin Grenfell
79564f9847 fix a bug with the checkpatch checker
(introduced in the epic refactor)
2013-01-31 16:41:16 +00:00
Martin Grenfell
f252874a81 remove some, now unused, syntax checker files 2013-01-31 10:48:24 +00:00
Martin Grenfell
a06632a1ac Merge branch 'refactor_checker_structure' into merge-with-refactor
Conflicts:
	syntax_checkers/cpp/gpp.vim
	syntax_checkers/objc/gcc.vim
2013-01-31 10:43:22 +00:00
Martin Grenfell
4552884c6c bugfix for eruby checker 2013-01-30 17:04:45 +00:00
Chaz Lever
1fc5f28583 Merge remote-tracking branch 'scrooloose/master' 2013-01-29 17:42:10 -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
kongo2002
59f7feb046 Merge remote-tracking branch 'valoric/ycm_support' 2013-01-24 21:10:19 +01:00
Jeroen Budts
f144091b59 php: fix phpmd to use post_args
PHP mess detector expects the filename as the first argument, followed
by the output format and the rules. To fix this, use the 'post_args' to
provide the arguments.
Also change the subchecker to 'phpmd' instead of 'phpcs'.
2013-01-24 16:58:08 +01:00
Martin Grenfell
58ba8d3161 refactor how we represent and store checkers using python as a demo
Add 2 classes: SyntasticChecker and SyntasticRegistry.

SyntasticChecker represents a checker. It holds funcrefs to the checker
func, the highlight regex func and a new `isAvailable()` func (that
essentially just checks if the checker exe is installed)

SyntasticRegistry is responsible for:
* loading checkers
* storing checkers
* fetching the checkers to use according to availability and the users
  settings

Motivation/benefits:
* in the current system only one checker can be loaded per filetype
* syntax checkers cant be "chained" together
* the system is hard to add features to since fundamental concepts like
  syntax checkers and location lists arent represented explicitly

Things left to do:
* add a call to g:SyntasticRegistry.CreateAndRegisterChecker() to all
  checkers
* add an `isAvailable` function to all checkers
* move all checkers into `syntax_checkers/filetype/checkername.vim` -
  g:SyntasticRegistry assumes this layout, and its a good idea anyway
  for consistency and it makes it easier for users to add their own
  checkers

Things to do after all of the above:
* add a LocationList class and move all the filtering functions onto it
* possibly add an Error class that wraps up each item in a loc list

Random notes:
* with the new system you can select the checkers to use with e.g.
    `let g:syntastic_python_checkers=['flake8', 'pylint']`
  This will try flake8 first, and if no errors are detected it will move
  onto pylint.
2013-01-24 00:19:13 +00:00
Martin Grenfell
8095909dcc Merge pull request #454 from asm89/twig
Add support for *.twig files
2013-01-23 11:25:38 -08:00
troydm
d4e0c2eee8 javac checker added fix for glob function 2013-01-23 22:26:43 +04:00
Strahinja Val Markovic
0fef368da2 Refactor ycm usage into separate files 2013-01-22 20:29:47 -08:00
Chaz Lever
50561a87f7 Fix flake8 error/warning checking
Error/warning checking did not correctly parse output from flake8. This
resulted in Syntastic incorrectly displaying some warnings as errors.
2013-01-22 15:19:28 -05:00
Alexander
766c7ba8b1 Add support for *.twig files 2013-01-22 13:11:06 +01:00
Martin Grenfell
c10289fdeb make php checker use syntastic#makeprg#build 2013-01-20 13:48:58 +00:00
Martin Grenfell
5b31495af2 update makeprg builder and update some checkers to use it
update makeprg builder:
* it now accepts `fname`, `tail`, and `post_args` params.
* add some doc above syntastic#makeprg#build
* update a bunch of checkers to use the new params

Still have quite a few checkers that arent using makeprg#build.
Including all c* and a few other c-like checkers. And PHP.

Not to worried about c* as these checkers are complicated and probably
justify having their own logic to build makeprgs.
2013-01-20 12:27:19 +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
James Pickard
214927789d make note style consistent with other notes 2013-01-16 16:13:08 -05:00
James Pickard
fd797e00f6 Add note about required version and nagelfar homepage 2013-01-16 16:03:32 -05:00
James Pickard
36393cd677 updated to user newer form of SyntasticLoadChecker('tcl') 2013-01-15 18:55:59 -05:00
James Pickard
f5b9c3641f merged upstream 2013-01-15 18:50:28 -05:00
Strahinja Val Markovic
b93e51e260 c, objc and objcpp support 2013-01-14 21:12:53 -08:00
Strahinja Val Markovic
0040afbaf6 Adding support for ycm to the cpp filetype
Conflicts:
	syntax_checkers/cpp.vim
2013-01-14 21:03:24 -08:00
Martin Grenfell
37e8e7d427 Merge pull request #436 from rumblesan/master
Use scala compiler, not interpreter, for syntax checking
2013-01-08 01:42:37 -08:00
Peter Hall
537900d6b2 Fixing puppet-lint syntax check when using
syntastic_puppet_lint_arguments variable
2013-01-08 15:50:43 +11:00
Guy John
850046bc08 Use scala compiler instead of interpreter
Using the scala compiler instead of the interpreter to check the syntax
means that an error will not be raised if there is a package
decleration.

Also, stopping the compiler after the parser stage stops errors being
raised when importing from other files in your project.
2013-01-03 12:35:46 +00:00
Martin Grenfell
10c845d1f5 add a makeprg builder
The problem
---

Some people want to change the syntax checker args and/or executable.
Currently they have to create their own checker to do this.

Solution
---

Create a standard API for building a makeprg that allows users to set
global variables to override the exe or args.

This API is in use in the coffee and python/flake8 checkers - as
proofs of concept.

So, if the user wanted to change the args that get passed to `flake8`
they can now set `let g:syntastic_python_flake8_args="--foo --bar"` in
their vimrc. Similarly they could set `let
g:syntastic_python_flake8_exe='python foo.py'`
2013-01-02 13:05:27 +00:00
Martin Grenfell
5fbe86db7b Merge pull request #428 from powerman/efm_perl
Efm perl: few fixed
2013-01-02 05:02:48 -08:00
Martin Grenfell
ed8ef51f49 Merge pull request #427 from troydm/master
javac checker quotes changed to fnameescape
2013-01-02 04:58:50 -08:00
Martin Grenfell
f5b0abb58a Merge pull request #430 from maksimr/master
Added Dart support
2013-01-02 04:56:24 -08:00
Tom Jakubowski
56d1935dd2 Ignore tidy warning about "search" value for <input> type attribute 2012-12-24 04:30:42 -06:00
Maksim Ryzhikov
62d1da3b8d add support dart 2012-12-21 22:44:58 +04:00
Alex Efros
68c381306e efm_perl: add support for checking - (stdin)
In simple case it just miss warnings:
  $ echo '$a=5;' | perl syntax_checkers/efm_perl.pl -c -w -
  (nothing, while it should be this:)
  W:-:1:Name "main::a" used only once: possible typo
In complex cases with some other errors it show crazy warnings
in crazy line numbers.
Use case when efm_perl run on STDIN can be found in issue#261.
2012-12-19 17:18:25 +02:00
Alex Efros
02a99d0e35 efm_perl: fix warning about uninitialized $opt_I
$ perl syntax_checkers/efm_perl.pl -c -w /dev/null
Use of uninitialized value $opt_I in split at syntax_checkers/efm_perl.pl line 94.
2012-12-19 17:10:58 +02:00
troydm
9f798fa4ef javac quotes changed to fnameescape 2012-12-19 18:20:38 +04:00
troydm
e25a3efa33 javac checker path seperator related bugfix added 2012-12-19 17:43:08 +04:00
troydm
b476114461 added config file support for javac checker and windows os support 2012-12-19 17:23:58 +04:00
Martin Grenfell
7353b32d77 perl: add -Tc to makeprg if the shebang contains -T
If the shebang contains -T, then the makeprg looks like:
    perl '/path/to/efm_perl.pl' -c -w '/tmp/foo.pl' -Tc

Mods to syntastic#util#ParseMagicNumber
 * rename it to ParseShebang (since this name seems more common)
 * return an empty result set rather than 0 so callers dont have to
   check if empty()
2012-12-18 09:38:33 +00:00
Florent Bruneau
29d5b88e27 c/c++: force language in compiler invocation.
That way, the files are properly treated as C/C++ even when they don't
have the standard file extension

Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
2012-12-16 18:44:20 +01:00
Florent Bruneau
4b0b81cddc c/c++: add an option to ignore default include dirs.
Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
2012-12-16 18:44:20 +01:00
Florent Bruneau
91f3af2862 c: allow using clang to check C.
Since clang as a interface compatible with gcc's, use the gcc backend for
both.

Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
2012-12-15 13:41:23 +01:00
Martin Grenfell
163d5fb370 php: add a bit of doc at the top 2012-12-05 23:34:13 +00:00
Adam Fairbrother
c253e3e4d9 Update syntax_checkers/efm_perl.pl
Added a semi colon in that broke perl syntax checking.
2012-12-05 12:57:47 -08:00
Martin Grenfell
fc4ec2533c Merge branch 'load_any_checker' 2012-12-04 09:33:34 +00:00
Martin Grenfell
2c0abf4515 perl: fix some comments that got slightly screwed 2012-12-03 23:55:54 +00:00
notbugger
558de5a58c Update syntax_checkers/efm_perl.pl
Use warnings pragma instead of warnings flag.
2012-12-03 15:42:31 -08:00
Martin Grenfell
42480a01a1 modify SyntasticLoadChecker to load any checkers present
Previously we were only loading "official" checkers that had been added
to syntastic. Now we load any checker that is in the right directory.

This allows anyone to add custom checkers to any filetype that uses
`SyntasticLoadChecker()`
2012-12-03 21:22:44 +00:00
Martin Grenfell
6d5a604251 Merge pull request #409 from jhickner/master
Add -fno-code to the call to ghc-mod, which speeds up haskell syntax checking
2012-12-03 03:02:39 -08:00
Martin Grenfell
11907f6907 Merge pull request #413 from jgrande/master
docbook checker: added quotes to args in expand() call
2012-12-03 01:59:09 -08:00
Martin Grenfell
d4e74d81d8 typescript: dont need to escape the space inside a string 2012-12-03 09:57:06 +00:00
Martin Grenfell
1b237eba14 Merge pull request #416 from jb55/typescript
Fix TypeScript errorformat for latest version of the compiler
2012-12-03 01:56:27 -08:00
Martin Grenfell
ac0c732f6a Merge pull request #410 from dbarnett/loaded_flag
Set g:loaded_FOO_syntax_checker in syntastic.vim, not every ft file.
2012-12-03 01:52:23 -08:00
Bill Casarin
562a37adce Support zero or more spaces at the end of a filename in the typescript errorformat 2012-12-01 21:07:51 -05:00
Artem Nezvigin
4126760bca Add python checker that uses python itself
The advantage to this is that no 3rd party modules are required. People
new to Python probably won't have flake8/pyflakes/pylint installed. This
will get them basic syntax checking (no linting) out of the box.
2012-12-01 12:17:46 -08:00
Bill Casarin
7ceba36412 Fix typescript errorformat for latest version of the compiler 2012-11-30 10:13:12 -05:00
Juan Grande
45f5437088 docbook checker: added quotes to args in expand() call 2012-11-29 09:07:25 -03:00
David Barnett
dcac33ecc0 Set g:loaded_FOO_syntax_checker in syntastic.vim, not every ft file. 2012-11-26 21:44:43 -08:00
Jason Hickner
9f9204415b fix typo 2012-11-23 16:20:04 -08:00
Jason Hickner
02ab1c9df0 add the -fno-code ghc option to speed up checking
Since we're only using ghc to check and lint the file and not actually create output, we can pass -fno-code which omits code generation and speeds up the check quite a bit.
2012-11-23 16:14:53 -08:00
Martin Grenfell
122e88b82a Merge pull request #365 from coryf/erb-ruby-exec-setting
Add support for changing the ruby version for erb
2012-11-21 02:07:20 -08:00
Martin Grenfell
ccecbcb460 javascript/jsl: update conf flag option
Make it so you only have to set g:syntastic_javascript_jsl_conf to
"/path/to/conf" rather than "-conf /path/to/conf"

Closes #405
2012-11-19 22:20:29 +00:00
Martin Grenfell
deaa089884 sass checker: use sass's caching to speed up checking 2012-11-19 09:59:14 +00:00
Martin Grenfell
aba5dd4757 Merge pull request #393 from ChristophMartin/syntax_checkers/go
Fixes Golang Syntax Checker
2012-11-17 11:56:50 -08:00
Martin Grenfell
01340e4de3 Merge pull request #387 from marcparadise/erlang-otp-support
Add typical deps locations for includes
2012-11-17 09:18:46 -08:00
Martin Grenfell
0a7b21d602 Merge pull request #394 from jjimenezlopez/master
The warnings were shown as errors when using flake8
2012-11-14 11:50:55 -08:00
Martin Grenfell
d448f180e4 php checker: a bunch of refactors
* only check `executable()` for the sub checkers once - at the top of
  the script
* recapitalize `s:getPHPMDErrors` to `s:GetPHPMDErrors` errors for
  style consistency
* simplify the logic in `SyntaxCheckers_php_GetLocList`
2012-11-13 08:41:09 +00:00
Martin Grenfell
83611198b4 Merge pull request #395 from harijari/add-phpmd-support
Added support for phpmd qa tool at php filetype.
2012-11-13 00:32:15 -08:00
kongo2002
fd173f1c91 move haskell syntax checkers into separate subdir 2012-10-29 22:22:28 +01:00
kongo2002
6942425b44 Merge remote-tracking branch 'bitc/haskell-hdevtools' 2012-10-29 21:09:54 +01:00
Jarek Sobiecki
6040ab8d54 Added support for phpmd qa tool at php filetype. 2012-10-27 22:20:25 +02:00
Jose Jiménez
9504f526d4 The warnings were shown as errors when using flake8 2012-10-26 13:27:03 +02:00
Christoph Martin
7ffeb29915 drop 6g syntax checker
6g has been superseded by the go tool.
2012-10-26 12:38:14 +02:00
Christoph Martin
d3d00e4b70 use gofmt before go [build|test]
`go build` might not catch syntax errors of the current file if another
file with syntax errors is compiled before the current one.
2012-10-26 12:28:04 +02:00
ghthor
96e0ce95b8 bugfix: use go test for test files.
Test files are not compiled when invoking `go build`.
2012-10-26 12:23:00 +02:00
ghthor
90a4a0571d bugfix: run go compiler from package directory
The compiler only works correctly if passed an import path or run from
the package directory, the latter of which is the path of least
resistance.
2012-10-26 12:16:08 +02:00
Christoph Martin
7010459585 change gofmt invocation
If no syntax errors are found, `gofmt -l % 1>/dev/null` prints the file
name to STDOUT, which is redirected to /dev/null. Less to parse for
syntastic!
If errors are found, they are written to STDERR.

This invocation does not alter the source code, which has been indicated
in the comments.
2012-10-26 12:00:02 +02:00
Martin Grenfell
0765f97dd3 refactor out some duplication of /dev/null logic 2012-10-23 22:37:11 +01:00
Miguel Ventura
a005ebfdf8 Adding support for less/rst/typescript syntax checkers on Windows. 2012-10-22 23:41:30 +01:00
marc@opscode.com
02b22f862b additional typical deps location for includes 2012-10-17 13:09:26 -07:00
marc@opscode.com
37d3a8318f include deps for otp-structured apps 2012-10-17 13:05:46 -07: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
Dmitry Kasimtsev
cc45c6f41b fix erlang syntax checker 2012-10-14 20:08:15 +03:00
Martin Grenfell
ba17657bc4 Merge pull request #380 from kasyaar/erlang-checker-improvements
add possibility to add specific compile instruction
2012-10-12 05:06:32 -07:00
Dmitry Kasimtsev
0ecff2f666 remove old syntax checker 2012-10-12 14:56:06 +03:00
Dmitry Kasimtsev
810f6992b3 add ../include dir in include path by default in erlang_check_file 2012-10-12 13:31:02 +03:00
Martin Grenfell
d210940339 puppet: extract the puppet errorformat generation code into a function 2012-10-12 10:54:28 +01:00
Martin Grenfell
7b51216924 Merge pull request #377 from pforman/master
Fix puppet parser validation for puppet 3.0.0 (and versions 2.61-2.7.9)
2012-10-12 02:44:39 -07:00
Dmitry Kasimtsev
40cb5d56c8 add possibility to add specific compile instruction like -pa(include path) to check syntax in files with parse transforms 2012-10-10 21:57:11 +03:00
kongo2002
42279e29f2 add output redirection to null device for C as well 2012-10-09 23:10:35 +02:00
Alejandro Exojo
5e12357d6c Don't create precompiled headers when checking them 2012-10-09 09:13:41 +02:00
pforman
e9e9172d29 Fix "puppet parser validate" for Puppet 3.0.0
The error message in 'puppet parser validate' changed between Puppet 2.x
and Puppet 3.0.0, preventing syntax errors from being caught.

In addition, the logic to apply --ignoreimport was falsely triggering on
3.0.0, because it was written assuming a major version of "2".  The
--ignoreimport flag has been broken since 2.6.1, so I removed all of that
logic.  In theory, it could be re-added for 2.6.0 and 0.2x.x, but the
version number checking didn't handle 0.2x.x, so I didn't reach back that
far.
2012-10-03 23:05:29 -06:00
Bill Casarin
6fbef6493c Added initial typescript support 2012-10-03 10:37:41 -04:00
kongo2002
d6a03e36e4 initialize g:syntastic_cpp_compiler_options to default
This commit addresses pull request #373
2012-09-29 12:34:53 +02:00
Cory Fabre
66e5f3b59b Add support for changing the ruby version for erb 2012-09-27 11:02:46 -05:00
Daniel Walker
e6259f9010 Add sparse as a new C syntax checker. 2012-09-26 17:30:29 -07:00
Richard Brown
be92722913 less: Fix logic for when to use less-lint 2012-09-26 12:33:48 +01:00
Martin Grenfell
0b5127886f Merge pull request #364 from rbrown/sass_partial
By default do not check sass partials.
2012-09-25 08:29:09 -07: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
Richard Brown
47a4c8ef6f By default do not check sass partials.
Sass partials depend on their parents files for context. This patch disables the
syntax checking for partials by default because of this. To enable checking of
partials let g:syntastic_sass_check_partials = 1. Fixes issue #300.
2012-09-25 10:03:06 +01:00
Martin Grenfell
c2a16e88f8 Merge pull request #319 from delphinus35/master
[Perl] enable to specify multiple external libs
2012-09-23 16:14:49 -07:00
Martin Grenfell
2dfc153500 Merge pull request #321 from troydm/master
java syntax checker rewritten and added checkstyle syntax checker
2012-09-23 16:07:53 -07:00
kongo2002
d4ef5f7284 Merge remote-tracking branch 'daniel-walker/checkpatch-checker' 2012-09-23 23:24:50 +02:00
Gregor Uhlenheuer
bde48f6fc5 Merge pull request #348 from daniel-walker/objc-checker
Add a gcc based checker for Objective-C .
2012-09-23 13:47:36 -07:00
kongo2002
1bbfbeb3a3 add compiler options to C header checking too 2012-09-23 22:58:42 +02:00
kongo2002
acb35ec088 Merge remote-tracking branch 'likr/cppfix' 2012-09-23 22:51:52 +02:00
Martin Grenfell
c98c64191a Merge pull request #320 from rbrown/fix_php_53_and_54
PHP: Work with php-5.3 and php-5.4
2012-09-23 07:42:54 -07:00
Martin Grenfell
c13ce4bf9f remove support for less < 1.2
This was added in jan 2012. The current version is 1.3. Hard to imagine
anyone is still using < 1.2
2012-09-23 15:30:16 +01:00
Martin Grenfell
2387aba46c less: init the syntastic_less_use_less_lint separately 2012-09-23 15:26:59 +01:00
Martin Grenfell
2411135208 Merge remote-tracking branch 'rbrown/less-lint' into less-lint 2012-09-23 14:10:23 +01:00
Martin Grenfell
ac9ff106d5 slim checker: remove a stray debugging echo call 2012-09-23 13:56:01 +01:00
Richard Brown
d2d8bb926d slim: errorformat includes column if slimrb --version > 1.3.0 2012-09-22 20:20:11 +01:00
Richard Brown
87f10e54d4 Make IsVersionAtLeast global 2012-09-22 19:51:12 +01:00
Martin Grenfell
a71048daac Merge pull request #352 from daniel-walker/csharp
Adds a syntax checker for C# using Mono
2012-09-22 07:20:23 -07:00
Martin Grenfell
43ac7506c8 Merge pull request #360 from rbrown/slim
Add checker for slim http://slim-lang.com
2012-09-22 07:18:58 -07:00
Yosuke ONOUE
c0676a74d9 Fixed compiler options for C++ header check. 2012-09-22 21:20:57 +09:00
Richard Brown
507023ee82 Add checker for slim http://slim-lang.com 2012-09-21 22:28:11 +01:00
Richard Brown
fbcb0b99ac less: Add a linter script to avoid compiling files.
Using lessc to check a less file results in a NameError if the file references a
variable defined in a file that inherits it. This commit adds a new linter that
just calls the less parser instead. The variable g:syntastic_less_use_less_lint
should be set to use the linter over lessc.
2012-09-20 14:15:33 +01:00
Richard Brown
758461b520 eruby: No need to call sed
The original fix for issue #7 used sed and didn't update the `executable` check
from cat to sed. This patch uses String.gsub when parsing an erb file instead,
as sed isn't neccesarily available.
2012-09-19 15:04:05 +01:00
Martin Grenfell
e3c3dda1c1 sh: relax makeprg to catch errors that werent getting parsed
Errors like this were not getting picked up:

    /tmp/foo.sh: line 4: syntax error near unexpected token `)'
    /tmp/foo.sh: line 4: `!!"£!")£!"£echo "foo"'
2012-09-18 00:37:56 +01:00
Martin Grenfell
f1d1827852 sh checker: extract out some logic into functions 2012-09-18 00:35:05 +01:00
Martin Grenfell
171776140b Merge remote-tracking branch 'rbrown/sh2'
Conflicts:
	syntax_checkers/sh.vim
2012-09-18 00:20:15 +01:00
Martin Grenfell
7e68e4b1f3 Merge pull request #325 from rbrown/sh
Fix issue #303 FilterLocList
2012-09-16 07:11:36 -07:00
Martin Grenfell
bf234f040f Merge pull request #350 from kisielk/master
Added support for multi-line error messages in go.vim
2012-09-16 05:06:22 -07:00
Martin Grenfell
9c97ef1007 Merge pull request #351 from bryankennedy/html5-source-fix
Adding the HTML5 <souce> tag to valid tag list …
2012-09-16 04:55:35 -07:00
Richard Ramsden
eb503ed4ba add support for elixir language 2012-09-15 19:24:02 -07:00
bryan kennedy
8d4e096599 Adding the HTML5 <souce> tag to valid tag list …
The HTML5 <source> tag throws an error when using Tidy since exceptions
have been made for audio and video, we should also support the source
tag which can exist inside these calls.
2012-09-11 12:37:57 -05:00
Daniel Walker
ed0da303a1 Adds a syntax checker for C# using Mono 2012-09-10 18:29:08 -07:00
Kamil Kisiel
b1dc62076b Added support for multi-line go errors in go.vim 2012-09-09 15:24:55 -07:00
Daniel Walker
e409f1ceb5 Add a gcc based checker for Objective-C . This checker is just a
slightly modified version of the C checker. I did a find/replace to make
it use "_objc_" instead of "_c_" . I also modified the errorformat to
look more like the cpp errorformat because I discovered that the entries
added to the C errorformat no longer seem to match anything.
2012-09-08 11:32:18 -07:00
Richard Brown
e6a22210ec Remove wrong call to runtime in wrong file 2012-09-07 11:32:29 +01:00
Daniel Walker
eef0180f8b Add a syntax checker for the Linux kernel checkpatch.pl utility.
I modified the C checker so checkpatch could be given as an alternate
checker for C files.
2012-09-06 18:41:09 -07:00
Richard Brown
0140f4baca Add syntax checker for ft=zsh
The current sh.vim checks for ft=sh and #!/bin/zsh  This add a checker
specifically for ft=zsh and changes sh.vim to call the same code.
2012-09-06 09:53:34 +01:00
Richard Brown
f1758b6e61 Use SyntasticMake in sh.vim
Simplifies sh.vim by using SyntasticMake, also fixes #303
2012-09-06 09:52:06 +01:00
Bit Connor
2ab6f7f50b haskell checker: Use hdevtools if available instead of ghc-mod 2012-09-03 17:01:02 +03:00
Martin Grenfell
9d6a3a8341 ocaml dont use a: for local variables 2012-09-02 19:20:12 +01:00
Martin Grenfell
37389b51e0 ocaml: apply patch from adinapoli to fix my fails :) 2012-09-02 19:18:58 +01:00
Martin Grenfell
c5b985b96a ocaml: refactor the makeprg code
The code to generate the makeprg was an epic jumble. Break it down into
separate methods.

Also, init several options at the top of the script and make some
executable() checks at the same time. This clears up some of the clutter
and means we only check it once - not on every syntax check.
2012-08-31 21:22:35 +01:00
Alfredo Di Napoli
4b4e3a7b42 Updated OCaml checker with the possibility to syntax check through ocamlc. Supports JaneStreet Core too. 2012-08-31 21:22:35 +01:00
Patrice Neff
6bf22df41d Allow puppet validation to be disabled
This way only puppet-lint is used.

This is necessary on Windows where the Puppet executable is extremely slow.
2012-08-31 17:28:37 +02:00
Martin Grenfell
9eeaaf3abb puppet: cache versions
Cache the version numbers when we first extract them.

Remove the "Extract" from the version number function names since it is
redundant and fugly.
2012-08-30 18:12:07 +01:00
Martin Grenfell
2bf439a7fc puppet: extract version checking logic into a function 2012-08-30 18:03:20 +01:00
Richard Brown
1af59829df puppet: Fix the puppet-lint version comparison.
The original comparison would disable puppet-lint for version 1.2.3 because 3 <
10 even though 2 > 1
2012-08-29 15:05:10 +01:00
Richard Brown
4467ab2663 puppet: Fix puppet-lint check
Original verison would always call puppet-lint even if the executable wasn't
present. Fixes issue #331
2012-08-29 15:04:17 +01:00
Richard Brown
6314305019 puppet: fix version extractors to ignore stderr 2012-08-29 15:02:48 +01:00
Richard Brown
fc31ec69cb Fix issue #303 FilterLocList
999d3c1b added a filter on the errors list that checks for key/value
valid:1 in each element of the errors list. sh.vim doesn't use
SyntasticMake to check for errors so needs to add {valid:1} to each
result.
2012-08-23 15:19:20 +01:00
troydm
4c519852b6 java checkstyle syntax checker added, added auto pom classpath detection and classpath editing for javac syntax checker 2012-08-14 19:56:20 +04:00
Richard Brown
a26d3aef58 PHP: Work with php-5.3 and php-5.4
The current makeprg doesn't work with php-5.3. display_errors=0 has
disabled error outputting and error_log='' disables the error log. With
php-5.4 error_log='' is causing errors to be logged to stderr.

This patch disables the error_log and enables display_errors.
Theoretically errors are displayed on stdout, however php in mountain
lion seems to insist on outputting to stderr.

As we're now displaying errors rather than logging them to error format
has changed to no longer include 'PHP ' and I've removed duplicates.

This has been tested with PHP 5.3.13 with Suhosin-Patch (cli) (built: Jun 20
2012 17:05:20)  (mountain lion) and PHP 5.4.4 (cli) (built: Jul  2 2012
16:33:50) Fedora 17
2012-08-14 13:31:00 +01:00
delphinus35
3eb6118c16 perl: specify multiple external libraries 2012-08-09 16:15:07 +09:00
Martin Grenfell
e5dfcc3488 Merge pull request #307 from superjoe30/master
add support for coco language
2012-08-02 16:32:16 -07:00
Martin Grenfell
f81b031174 css checker: add syntastic_csslint_options variable 2012-08-03 00:29:10 +01:00
Martin Grenfell
ab59e7dcf0 perl: namespace the 'perl_lib_path' option under 'syntastic' 2012-08-03 00:27:37 +01:00
Martin Grenfell
f99073e20d perl: refactor the new syntastic_perl_efm_program option
* move the doc for it to the top of the script to be consistent with
  other syntax checkers
* dont define a s:checker var - just use the
  g:syntastic_perl_efm_program variable. This simplifies things slightly
2012-08-03 00:25:52 +01:00
Harley Pig
fb18ea177b add support for a custom efm_perl program 2012-08-01 07:54:46 -06:00
Andrew Kelley
98360812f4 add another error format to coco language 2012-07-30 16:18:46 -04:00
Andrew Kelley
5e32635e0d add support for coco language
https://github.com/satyr/coco/
2012-07-30 16:07:48 -04:00
Martin Grenfell
1fb8366456 Merge pull request #244 from mootoh/master
Javascript syntax check with Google Closure Compiler
2012-07-28 09:43:42 -07:00
Martin Grenfell
6b752cd4da Merge pull request #246 from lervag/master
Added support for lisp (via clisp)
2012-07-28 09:36:06 -07: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
d1c18c2b03 Merge pull request #296 from novocaine/master
Added support for g:syntastic_cpp_compiler
2012-07-24 04:56:28 -07:00
Martin Grenfell
5ea166c324 coffee checker: refactor and change the coffee_lint option name
Move the coffeelint code out into its own function.

Init the coffeelint option once, at the top of the script. Change its
name so it begins with "syntastic_" - for namespacing purposes.
2012-07-24 10:05:38 +01:00
Martin Grenfell
39cfb51a7c coffee checker: fix mixed indenting 2012-07-24 09:51:35 +01:00
Martin Grenfell
18364490b0 Merge remote-tracking branch 'brendanjerwin/master' 2012-07-24 09:49:43 +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
Brendan Erwin
4cc6d8b4ce Improved the behavior per suggestions 2012-07-18 20:45:34 -04: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
Martin Grenfell
94dcae202d Merge pull request #291 from CharlesStain/master
Added a barebone Ada syntax checker
2012-07-17 06:13:53 -07:00
Brendan Erwin
4310146a99 Include CoffeeLint if available.
Respects the same options configuration as the vim-coffee-script plugin.
2012-07-14 19:15:38 -03:00
James Salter
d14a2b7b91 add support for g:syntastic_cpp_compiler 2012-07-10 15:15:07 +10:00
kongo2002
341d87816b improve C++ errorformat as well 2012-07-06 00:54:55 +02:00
kongo2002
2f69e0b757 extend C errorformat 2012-07-06 00:54:40 +02:00
Yuri Bochkarev
aaacd75d21 Let user configure errorformat string in c/cpp syntax checkers. 2012-07-06 00:23:31 +02:00
Alfredo Di Napoli
2447d9d24f Added an Ada barebone checker 2012-07-05 06:34:10 +00:00
Szymon Wrozynski
bf56b92b39 Adds jruby errorformat 2012-07-04 22:17:05 +02:00
Martin Grenfell
529929691f Merge pull request #282 from khussein/perl_Ilib
Improves the Perl syntax checker to include lib
2012-07-02 13:14:27 -07:00
Khaled Hussein
f67266e2f5 Improves the Perl syntax checker to include lib
In .vimrc, you can specify the path for the libraries using :
let g:perl_lib_path = './lib'
2012-07-02 10:10:01 -07:00
Martin Grenfell
25e81cbe5d Merge pull request #279 from johntyree/master
Global option for Cuda arch flag
2012-07-02 02:27:29 -07:00
John Tyree
03c57784cd Pass arch flag to header check as well. 2012-07-02 11:05:13 +02:00
John Tyree
405363d358 Added documentation for new Cuda arch flag. 2012-07-02 11:04:55 +02:00
Martin Grenfell
f75fbc82dc Merge pull request #275 from eharmon/master
Fix merge error in the perl checker
2012-07-01 14:38:29 -07:00
Martin Grenfell
1ae9c3a945 Merge pull request #281 from latestrevision/master
Display original pylint error code so users might easily identify specific errors
2012-07-01 14:34:14 -07:00
Aleksey V. Zapparov
f3fa0e7017 Fix js-yaml (CLI) installation instructions 2012-07-01 18:07:17 +03:00
Adam Coddington
89e22ba2d4 Modifying pylint checker such that it displays both the original pylint error code as well as translating said error codes into syntastic-compatible Error and Warning messages. 2012-06-27 10:21:43 -07:00
John Tyree
3951845dc8 Add global option to set cuda arch.
Cuda programs may produce different errors depending on the architecture of the
target hardware. The canonical example and reason for writing this patch, is the
lack of support for double precision numbers on older hardware. By default, nvcc
and thus syntastic, defaults to the most basic architecture. This can produce
false errors if the developer intends to compile for newer hardware and use
newer features.

Not defining g:syntastic_cuda_arch preserves this behavior. Otherwise the user
is expected to set it a valid arch flag, as listed by `nvcc --help`.

Example:

    let g:syntastic_cuda_arch = "sm_20"
2012-06-22 16:07:50 +02:00
Eric Harmon
2939697fd7 Fixing merge error 2012-06-18 02:21:14 -04:00
Martin Grenfell
1e94b98705 Merge remote-tracking branch 'eharmon/master'
Conflicts:
	syntax_checkers/efm_perl.pl
2012-06-17 10:20:05 +01:00
Martin Grenfell
b2d4810cf0 Merge pull request #259 from jewel/master
Disable sass cache creation
2012-06-17 02:10:43 -07:00
Martin Grenfell
7828cd48c1 Merge pull request #271 from CharlesStain/master
Added a barebone D syntax checker
2012-06-17 02:08:35 -07:00
Gabriel Filion
d798286bb7 Enable pass arguments to puppet-lint
Some users might want to disable some checks for puppet-lint if they do
not intend to follow all of the style recommendations. There is
currently no way of doing that.

By adding a global variable synstastic_puppet_lint_arguments, one can
now set arguments to pass to puppet-lint via .vimrc.

Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2012-06-17 03:33:49 -04:00
Charles_Stain
978fdbc699 Cleaned the license section 2012-06-02 16:11:59 +02:00
Charles_Stain
716a2743fe Added a baredone D checker 2012-06-02 16:00:37 +02:00
Eric Harmon
5c4697acdd Remove some working notes 2012-05-31 04:35:53 -04:00
Eric Harmon
979258dbbe Make sure we add some contact info 2012-05-31 04:26:08 -04:00
Eric Harmon
9833b00c60 Add warnings support to perl checker 2012-05-31 04:23:04 -04:00
Alex Efros
1e99ed56b7 Fix: efm_perl missed some error messages
First example:

    $ echo -e 'if (0)\nsome();\n}' | perl -c -
    Semicolon seems to be missing at - line 1.
    syntax error at - line 2, near ")
    some"
    Unmatched right curly bracket at - line 3, at end of line
    - had compilation errors.

    $ echo -e 'if (0)\nsome();\n}' | perl syntax_checkers/efm_perl.pl -c -
    -:1:Semicolon seems to be missing

Second example:

    $ echo -e 'if (0)' | perl -c -
    syntax error at - line 1, at EOF
    - had compilation errors.

    $ echo -e 'if (0)' | perl syntax_checkers/efm_perl.pl -c -
2012-05-26 23:32:02 +03:00
Jewel
687ecc7234 Disable sass cache creation
The sass cache creation causes .sass-cache directories to be scattered
throughout a project.
2012-05-25 08:10:13 -06: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
Martin Grenfell
6e7ac39ae1 Merge pull request #247 from irrationalfab/master
MacRuby/RubyMotion syntax checker
2012-05-22 00:51:43 -07:00
Jochen Keil
a24e07a822 A very basic syntax checker for java files.
It will compile all *.java files in the pwd and apply the errorformat string
from quickfix.txt

Interesting additional features would be:

* @argument files
* setting the pwd for javac
* perform only a syntax check (javac currently always builds class files)
2012-05-13 22:00:34 +02:00
Fabio Pelosin
1158999c85 Added MacRuby/RubyMotion syntax checker. 2012-05-09 14:12:15 +02:00
Karl Yngve Lervåg
be72bc35dc Added syntax checker for lisp 2012-05-08 11:17:09 -07:00
Hong Xu
30d7462249 Remove some unnecessary win64 checks.
has('win32') is always true on Win64.
2012-05-08 20:31:20 +08:00
Motohiro Takayama
0faf1bd47e Added an option: g:syntastic_javascript_closure_compiler_file_list
That variable specify the file which contains a list of filename that
Closure Compiler processes at once.

It can be useful for a project using 'require' statement like node.js.
2012-05-07 13:13:16 -07:00
Motohiro Takayama
3e6687e479 s/gcc/closurecompiler/ 2012-05-06 11:10:57 -07:00
Motohiro Takayama
2d0bb48dd7 1 byte typo. 2012-05-04 18:20:19 -07:00
Motohiro Takayama
243becc5dd Javascript syntax check with Google Closure Compiler. 2012-05-04 18:13:23 -07:00
Martin Grenfell
7fc5246be4 html: rename w3c.vim to w3.vim (i fail @ naming files!)
Also, fix the header comments for tidy/w3 so they have the right
filenames
2012-05-01 15:23:22 +01:00
Martin Grenfell
5c159fd374 html: split the checkers into separate files
Previously the 2 checkers were in the same file - this is more "tidy"
(lol??).

Currently the logic to determine which checker is loaded is custom to
the checker. At some point the SyntasticLoadChecker() function should be
upgraded to be able to handle cases (like this one) where the name of
the checker doesnt imply the name(s) of the executables that have to be
checked for.
2012-05-01 15:14:42 +01:00
Martin Grenfell
fd297d7768 html: fixed mixed indenting 2012-05-01 14:50:17 +01:00
Martin Grenfell
976fa99928 Merge remote-tracking branch 'daniel-walker/w3-validator' 2012-05-01 14:49:10 +01:00
Martin Grenfell
03a58be0fe puppet: fix a bug with the syntastic_puppet_lint_disabled option
The logic for this option was reversed in 2 places. Puppet-lint should
have been getting disabled for old versions and if it wasnt installed,
but the logic was wrong.
2012-05-01 14:44:15 +01:00
Jonathan Johnson
0e9927ca93 Add another PHP error clause to the list of parsables 2012-04-20 09:47:04 -05:00
Martin Grenfell
96fd02e1f2 Merge pull request #229 from leepa/master
flake8: don't clobber the text with Syntax Error
2012-04-20 06:36:20 -07:00
Martin Grenfell
7deb54d283 Merge pull request #228 from kisielk/patch-2
Build all files with go build
2012-04-20 06:33:50 -07:00
Martin Grenfell
0278642ef6 Merge pull request #222 from ldx/c_configfile_fix
Fix makeprg construction.
2012-04-20 06:11:12 -07:00
Daniel Walker
4eb1a0e57a Modify the html checker to optionally use http://validator.w3.org/
instead of tidy.
2012-04-19 08:23:03 -07:00
Lee Packham
02e510eec4 Don't shoe horn 'syntax error' everywhere
It hides the actual warning/error from Syntastic - so don't do that.
2012-04-12 06:48:17 +01:00
Kamil Kisiel
16a7a87529 Build all files with go build 2012-04-11 08:19:57 -07:00
Kamil Kisiel
315e1ad9d2 support column number in go syntax checker 2012-04-01 10:12:51 -07:00
Kamil Kisiel
3cac7f39c1 go syntax checker using 'go build' 2012-03-29 07:48:52 -07:00
ldx
c6407e55e8 Fix makeprg construction for cpp too. 2012-03-28 14:40:19 +02:00
ldx
2ef26e11e9 Fix makeprg construction.
Add space before appending the result of ReadConfig() to makeprg.
2012-03-28 14:22:17 +02:00
Martin Grenfell
e961f17c7c Merge pull request #220 from kongo2002/c_config
Add configuration file support for C/C++
2012-03-28 04:27:02 -07:00
kongo2002
0f1ea022e9 add ReadConfig to C++ checker as well 2012-03-27 22:28:35 +02:00
kongo2002
c791c3103e add ReadConfig support to C syntax checker 2012-03-27 22:26:15 +02:00
Dag Odenhall
8d6fe0d6c2 haskell: configurable ghc-mod arguments, default to support for HSP 2012-03-27 13:21:59 +02:00
Martin Grenfell
b4e85a8762 python/flake8: assume all outputs are errors - not warnings
The output of flake8 is ambiguous as to whether results should be
interpreted as warnings or errors. I have changed it to assume errors to
match the python/pyflakes checker.

In future we may want to change this or add items to the errorformat for
some specific warnings if they are annoying.

This fixes #203.
2012-03-27 10:41:37 +01:00
Martin Grenfell
62fb4e70e4 php: set error_reporting=E_ALL
setting it to E_PARSE causes some errors to be missed - e.g.

`$a[$b][] $c;`

will not cause an error to get reported as this is classed as a compile
error, not a parse error.

This should fix #206.
2012-03-27 09:41:50 +01:00
Martin Grenfell
0fab9ef09d Merge pull request #214 from jamezpolley/master
Fixes #202 - redict stderr in a way that doesn't break on versions of bash <4.0
2012-03-26 08:44:11 -07:00
Konstantin Stepanov
3cc6bf5cdd vala: g:syntastic_vala_modules variable to set modules list via vim script 2012-03-26 15:27:45 +03:00
James Polley
7cd8efec70 Fixes #202 - redict stderr in a way that doesn't break on versions of
bash <4.0
2012-03-24 19:18:08 +11:00
Martin Grenfell
3c569d2b97 pass a filetype to SyntasticLoadChecker
This is needed to handle compound filetypes since we cant imply the
location of the syntax checker file from the filetype.

e.g. we want to load `syntax_checkers/python/pylint.vim`, but the
filetype is `python.django`. Previously this was causing `runtime
syntax_checkers/python.django/pylint.vim` to be executed.
2012-03-21 09:42:11 +00:00
Martin Grenfell
5be83cdcc7 Merge pull request #201 from bukzor/master
redirect pylint stderr
2012-03-20 04:27:52 -07:00
Li He
a9383527d6 python/pylint: add g:syntastic_python_checker_args
I borrow this from flake8.
2012-03-20 11:21:08 +00:00
Martin Grenfell
53c70feb8c Merge remote-tracking branch 'parantapa/master'
Conflicts:
	syntax_checkers/python/pylint.vim
2012-03-20 11:17:53 +00:00
Jos Houtman
4c8ee38782 Abstracted the makeprg selection for puppet away into its own function 2012-03-20 08:53:43 +01:00
Jos Houtman
ca6a4b23c3 Added puppet-lint support with the use of subtypes 2012-03-20 05:56:51 +01:00
Buck Golemon
1a91488451 prevent stderr from messing up the terminal, in the (usual) case of no pylintrc found 2012-03-12 12:15:51 -07:00
Buck Golemon
c039b0f128 fix pylint parsing 2012-03-11 22:04:47 -07:00
kongo2002
adedb47ad7 refactoring of GetIncludeDirs() for C/C++ 2012-03-11 19:55:01 +01:00
kongo2002
6ce5880b81 set default C compiler options 2012-03-11 19:40:53 +01:00
kongo2002
c11c97da8b fix compiler options for C as well 2012-03-11 19:35:52 +01:00
kongo2002
85c347c14f fix custom c++ compiler options 2012-03-11 19:33:10 +01:00
kongo2002
441506c061 cpp: add option to remove include errors 2012-03-04 21:08:04 +01:00
kongo2002
d81b360f64 add missing doc comment 2012-03-04 20:04:15 +01:00
kongo2002
8e2634ae7e add include directory functionality to cpp 2012-03-04 19:59:26 +01:00