Commit Graph

1127 Commits

Author SHA1 Message Date
LCD 47
ab7876eee0 Perl syntax checker using perlcritic. 2013-02-03 20:42:04 +02:00
LCD 47
17641c0a49 Minor omission in commit 8f4695c. 2013-02-03 20:36:55 +02:00
Martin Grenfell
51e5f1f9fa less: fix a bug from the big refactor 2013-02-03 18:00:32 +00:00
Martin Grenfell
ac67114efa fix a typo bug in the cpp/ycm checker 2013-02-01 21:24:27 +00:00
Martin Grenfell
a66c19f731 move the MakeprgBuilder class in with the rest of the classes 2013-02-01 17:06:32 +00:00
Martin Grenfell
59cbf1c69e dont call setloclist() until the user calls :Errors 2013-02-01 16:52:11 +00:00
Martin Grenfell
0b0dbc56e6 dont allow checkers with duplicate names for the same filetype 2013-02-01 15:01:31 +00:00
Martin Grenfell
c97951b601 make a few refactors
Add CurrentFiletypes function as this logic was getting used in a couple
of places and needed a home/name - mostly because of the bizarre
substitute call that needs explanation.

Move the code to get a syntax checker by name into SyntasticRegistry
2013-02-01 14:38:53 +00:00
Martin Grenfell
0b3e074f8c Merge remote-tracking branch 'dbarnett/cmd_arg' 2013-02-01 14:18:31 +00:00
Martin Grenfell
8f4695c6de add a class to encapsulate loclists
Add SyntasticLoclist class to wrap up loclists, and move loclist query
methods from syntatic.vim to the new class.

Make SyntasticChecker#getLocList() return a SyntasticLoclist.
2013-02-01 14:17:55 +00:00
Martin Grenfell
f67d4881ca remove some old (now unused) code from the main plugin 2013-02-01 09:57:25 +00:00
David Barnett
40de98c2fc Add completion for checker name in :SyntasticCheck command 2013-01-31 23:36:41 -08:00
David Barnett
557321faae Support checker name as argument to :SyntasticCheck 2013-01-31 23:20:24 -08:00
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
c166029fd8 add a couple more default checker settings 2013-01-31 10:52:15 +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
a4a7b5697c update how checkers are chosen
* add a system for setting default checkers
* return the first check we find, unless told to chain checkers together
  by default settings, or user settings
2013-01-27 23:59:47 +00: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
Martin Grenfell
bc8d6722bc Merge pull request #460 from teranex/master
Fix php mess detector in php
2013-01-24 08:01:16 -08: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
Martin Grenfell
2abd266b04 Merge pull request #458 from troydm/master
javac checker glob related bug fixed
2013-01-23 11:24:59 -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
Gregor Uhlenheuer
c290f297b9 Merge pull request #456 from RedBeard0531/master
Force case-sensitive matching in syntastic#c#ReadConfig
2013-01-22 16:51:10 -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
Mathias Stearn
9b1326c216 Force case-sensitive matching in syntastic#c#ReadConfig
This makes it not match lines like:
-include some_header.h
2013-01-22 15:11:23 -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
Martin Grenfell
72b3530330 Merge pull request #450 from euoia/master
Add a note about required version of nagelfar
2013-01-17 02:21:18 -08: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
Martin Grenfell
d48f43c222 wrap screen redrawing in a function to try and avoid screen flicker
Some versions of gvim flicker when `redraw!` is used. Use `redraw` for
them and use `redraw!` for terminal vim.

Fixes #449
2013-01-16 09:42:22 +00:00
Martin Grenfell
6676a75f36 Merge pull request #447 from euoia/master
Add support for nagelfar as a Tcl syntax checker
2013-01-16 01:13:48 -08: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