Commit Graph

168 Commits

Author SHA1 Message Date
LCD 47
6ad57016c1 New checker for R: lint. 2014-04-05 09:15:10 +03:00
LCD 47
fb71514648 Move preprocess functions to their own file. 2014-02-26 10:31:38 +02:00
LCD 47
b0191a144c Refactor of quiet_message filters.
Optimisation: merge handling of global and per-checker filters.
Feature: allow [] and '' values for quiet_messages filter elements.
Feature: allow overrides for quiet_messages filters.
Feature: buffer-local auto_jump and quiet_messages.
Safety: add magic specifiers to catch regexps.
Cleanup: minor restructuring for the forthcoming foreign checkers
feature.
2014-02-24 01:10:33 +02:00
LCD 47
47e5739f2e Formatting.
Improved folding.
Consistent naming of private methods.
Moving a few functions arround.
2014-02-23 11:07:39 +02:00
LCD 47
0f3a1bf450 Cleanup.
Enforce sane loading order.
Group global initialization.
Minor logging fixes.
New option: g:syntastic_bash_hack.
2014-02-23 10:22:37 +02:00
LCD 47
09e6840d1f Fix debug output. 2014-02-21 13:01:22 +02:00
LCD 47
d3b25acb66 syntastic#util#wideMsg() should use screen width rather than window width. 2014-02-18 19:58:41 +02:00
LCD 47
5303cabf8a phpmd: make options mutable. Cleanup. 2014-02-14 21:47:30 +02:00
LCD 47
355c36d059 Bug fix: expansion of syntastic_quiet_messages. 2014-02-14 17:36:27 +02:00
LCD 47
c10aa8d6d5 More shell escape fixes. 2014-02-13 17:38:47 +02:00
LCD 47
7795dff24b Add support for buffer versions of makeprgBuild variables.
New utility function syntastic#util#var().  Cleanup.
2014-02-12 21:25:51 +02:00
LCD 47
02a04d0766 Bug fix: remove extra fnameescape() when handling include paths. 2014-02-01 19:35:06 +02:00
LCD 47
8a588134f1 Cleanup: minor optimisations, formatting. 2014-02-01 18:44:04 +02:00
LCD 47
147bd7cca3 Bug fix: handling spaces in config files. 2014-02-01 13:18:50 +02:00
LCD 47
f3240e6001 Cleanup: shut up lint warnings, formatting, doc nit. 2014-01-26 09:10:26 +02:00
LCD 47
6c9735335f Remove support for YCM.
YCM has now its own navigation functions, so there is no longer any need
to call it from syntastic.

g:syntastic_delayed_redraws is also gone.  Syntastic doesn't use popup
menus, and the only purpose of this variable was to provide a workaround
for a problem triggered by YCM.

References:
https://github.com/Valloric/YouCompleteMe/pull/763
2014-01-20 10:29:06 +02:00
LCD 47
3a37f8116e strwidth() has been added in Vim 7.3.
Let's hope people still using Vim 7.2.x don't edit UTF-8 files. :)
2014-01-09 20:23:23 +02:00
LCD 47
f1aae5c5cc Minor bug fix: string length calculations. 2014-01-09 20:06:55 +02:00
LCD 47
a667d88a9d A better mousetrap for bitwise functions. 2014-01-06 19:44:28 +02:00
LCD 47
c82a9a92e9 Compatibility: bitwise and() has been added in Vim 7.3.377.
This reverts commit 5406a3ab3c.
2014-01-06 14:53:06 +02:00
LCD 47
5406a3ab3c Vim does have bitwise operators. :) 2014-01-06 10:58:41 +02:00
LCD 47
38f73784e5 Fix tab handling in status messages. 2014-01-04 15:06:41 +02:00
LCD 47
4bdb607f2a Optimise postprocessing functions. 2014-01-04 10:01:44 +02:00
LCD 47
ee3c56c6f7 New feature: message filtering.
New options: g:syntastic_quiet_messages, and a per-checker version
of it named g:syntastic_<filetype>_<checker>_quiet_messages.
Option g:syntastic_quiet_warnings is now deprecated.
Option g:syntastic_ignore_files now refers only to files that shouldn't
be checked.
2014-01-04 10:01:43 +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
4cc0b119c0 Minor cleanup. 2013-11-19 09:35:16 +02:00
LCD 47
7b36f9147f More detailed debugging.
Moved logging functions to autoload/syntastic/log.vim.
Cleanup debug functions.
Add a function to dump option variables.
2013-11-14 10:13:05 +02:00
LCD 47
bbd382ba5d Detailed debugging.
New variables: g:syntastic_debug_file, the name of a file where to write
debugging messages, in addition to adding them to the message history.

The old g:syntastic_debug is now a sum of flags:

*  1 - trace checker calls
*  2 - dump loclists
*  4 - trace notifiers
*  8 - trace autocommands
* 16 - dump syntastic variables (not implemented yet)
2013-11-13 10:58:33 +02:00
LCD 47
7c638f6f70 Minor cleanup. 2013-11-11 22:14:05 +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
e67e5998da Moved initialization of g:syntastic_delayed_redraws to util.vim. 2013-10-30 07:21:46 +02:00
LCD 47
5827b6a416 Document g:syntastic_delayed_redraws. Minor cleanup. 2013-10-29 17:51:15 +02:00
LCD 47
f623d1ea05 Workaround for a Vim crash.
Older versions of Vim can crash if redraw is called while a popup is
visible.  This commit adds a variable g:syntastic_delayed_redraws that
instructs syntastic to move redraws to a CursorHold / CursorHoldI
handler if redraw is called while pumvisible() is true.
2013-10-29 09:09:34 +02:00
LCD 47
ccef916d48 More magic / nomagic fun. 2013-10-25 15:56:09 +03:00
LCD 47
95aab2530e Try to avoid fun with magic / nomagic by qualifying regexps. 2013-10-25 15:46:16 +03:00
LCD 47
d238665385 Fix unwanted filter() and map() side effects. Minor cleanup. 2013-10-23 12:59:23 +03:00
LCD 47
bedf88c184 Cleanup parsing versions. 2013-09-24 08:39:07 +03:00
LCD 47
1541e3092e Merge branch 'master' into gcc_refactor 2013-08-15 07:44:40 +03:00
LCD 47
7550c86016 Leftover from 7eda5de. How embarrasing. 2013-08-13 09:01:04 +03:00
LCD 47
9b3eab1cb9 Merge branch 'master' into gcc_refactor 2013-08-10 09:03:23 +03:00
LCD 47
05dea5febe Fix shell escaping. 2013-08-02 11:06:48 +03:00
LCD 47
65dbfa0895 Fix checkstyle error levels. Closes #709. 2013-08-01 18:35:08 +03:00
LCD 47
9913819255 Merge branch 'fix_checkstyle' into preprocess 2013-08-01 18:03:01 +03:00
LCD 47
cc5ecf2bdb Replace lmake with equivalent system + lgetexpr.
It's now possible to deal with \0 characters in checkers' output.
Shell escaping is saner and safer.
SyntasticMake() has a new option 'preprocess'.
Checkers html/validator and eruby/ruby now use the new preprocess
option.  Auxilliary script validator_decode.awk is no longer needed.
2013-08-01 13:40:29 +03:00
LCD 47
77004ad0cb Merge branch 'master' into gcc_refactor 2013-07-30 23:19:03 +03:00
MasterLambaster
0f5363f6d2 Ruby header file detection should work with all ruby versions
* Config module generates warning in ruby >= 1.9 that generates error
* Ruby >= 1.9 have different header file config name
2013-07-29 23:38:16 +03:00
LCD 47
8aafac34d2 Cleanup. 2013-07-12 08:11:20 +03:00
LCD 47
dce4c76c21 Merge branch 'master' into gcc_refactor 2013-07-12 08:09:33 +03:00
LCD 47
8c05dbf16e A first attempt at checking the exit code from the checkers. 2013-07-12 08:08:41 +03:00
LCD 47
6bff80366a Merge branch 'master' into gcc_refactor 2013-07-10 11:21:22 +03:00
LCD 47
f4ccd312ee More shell escaping bugs. 2013-07-10 11:20:54 +03:00
LCD 47
a4a6dd6fcf Merge branch 'master' into gcc_refactor 2013-07-10 10:31:41 +03:00
LCD 47
a1e1108c8e Fix a bug related to shell escaping. 2013-07-10 10:30:41 +03:00
LCD 47
fd01b9091d Merge branch 'master' into gcc_refactor 2013-07-06 09:23:46 +03:00
Thomas Holmes
2d537305f6 Refactor FindInParent from haxe.vim to be a util function 2013-07-05 17:12:06 -04:00
LCD 47
fa961edac6 Merge branch 'master' into gcc_refactor 2013-07-04 21:30:52 +03:00
LCD 47
6ba8e651cb Make shell escaping less produce fewer useless quotes.
Function inspired by tpope's vim-dispatch.
2013-07-04 21:04:20 +03:00
LCD 47
6cc0ed4003 Make checkstyle aware of message priorities.
Known bug: this breaks if the name of the file being checked contain one
of the characters <, >, ', ", &.
2013-06-28 21:24:38 +03:00
LCD 47
f641f68683 More refactoring: add s:GetCflags(). 2013-06-28 20:25:17 +03:00
LCD 47
3e4501c1ff More refactoring: add s:GetCheckerVar(). 2013-06-25 09:59:07 +03:00
LCD 47
907ef20e3c New preprocess function "filterForeignErrors". Cleanup. 2013-06-24 11:46:27 +03:00
LCD 47
f9c30c3215 Use default includes only with the C-like checkers. 2013-06-21 11:42:14 +03:00
LCD 47
ff2b615093 Merge branch 'master' into gcc_refactor 2013-06-17 14:02:44 +03:00
LCD 47
af9d6f627b Print a message if no active checkers are found. 2013-06-15 07:36:20 +03:00
LCD 47
4284fbf522 Merge branch 'master' into gcc_refactor 2013-06-10 23:25:21 +03:00
LCD 47
6574872b55 Preserve order in checker lists. Fixes #684.
Keep order from g:syntastic_[filetype]_checkers and s:defaultCheckers in
getActiveCheckers().  Keep order in syntastic#util#unique().
2013-06-10 23:14:59 +03:00
LCD 47
c5aa22f4e4 Remove leading and trailing spaces when reading C config files. 2013-06-08 11:33:18 +03:00
LCD 47
45f9e93b00 Bug fix: proper escaping in config files. 2013-06-08 11:09:39 +03:00
LCD 47
b6f6abba86 Merge branch master. 2013-06-07 21:18:29 +03:00
LCD 47
d3d4ff3935 Merge branch 'master' into gcc_refactor 2013-06-06 11:10:10 +03:00
LCD 47
31bed2d6cf Update description of syntastic#makeprg#build(). 2013-06-02 18:28:42 +03:00
LCD 47
63eceb6969 Merge branch 'master' into gcc_refactor 2013-05-31 21:15:55 +03:00
LCD 47
d3354f175c Make syntastic#makeprg#build() aware of filetypes. Fixes #667. 2013-05-31 21:05:45 +03:00
LCD 47
a8be73d113 Moved syntastic#gcc#GetLocList() to autoload/syntastic/c.vim. 2013-05-30 19:44:12 +03:00
LCD 47
4a6ece567a Merge branch 'master' into gcc_refactor 2013-05-30 19:29:12 +03:00
LCD 47
dd6e1c703b Relax parsing of version strings. 2013-05-29 09:55:42 +03:00
LCD 47
ea827bfa06 GCC refactor. 2013-05-21 10:03:04 +03:00
LCD 47
d8386c1211 Make compressWhitespace() handle embedded LFs. 2013-05-15 09:42:00 +03:00
LCD 47
68cfe6513b Cleanup. 2013-05-13 16:37:16 +03:00
LCD 47
cd289e45f0 Minor cleanup. 2013-05-13 10:59:13 +03:00
LCD 47
4ffa051137 Bug fix. 2013-05-10 16:44:47 +03:00
LCD 47
7319cb6a9e Postprocessing functions.
This patch adds an option 'postprocess' to SyntasticMake().  The value
of this option is a list of names.  Each name is translated to a
function syntastic#postprocess#name().  These functions are applied in
order to the list of errors just before SyntasticMake() returns.  They
take a single parameter, the list of errors, and are supposed to
returned the processed list.
2013-05-10 14:11:07 +03:00
LCD 47
901f19797c Remove a duplicate function. 2013-05-06 08:27:01 +03:00
LCD 47
408287de6f Cleanup.
Adds an option g:syntastic_xhtml_tidy_ignore_errors to xhtml/tidy.
Cosmetic code changes.
2013-04-15 11:21:52 +03:00
Martin Grenfell
49b6012f98 add basic deprecation warning system 2013-04-13 17:19:24 +01:00
Martin Grenfell
a9938e0afd Merge remote-tracking branch 'origin/notifiers'
Conflicts:
	autoload/syntastic/util.vim
2013-04-13 17:05:18 +01:00
Martin Grenfell
fbbb30295b add a simple debug message system
We may want to add debug messages at many points. We can add them as we
find we need them - i.e. when debugging stuff with users.
2013-04-13 16:51:23 +01:00
LCD 47
31b654301b Fix for #597.
If the first error in the location list refers to a file that isn't
loaded, entering the quickfix window would close it.

If `hidden` is set, `:quit`-ing the main file would not close the
quickfix window.
2013-04-09 18:20:14 +03:00
Martin Grenfell
dc3d80a204 more refactors to the Notifier classes
Move the autoloc list toggling out into its own notifier class.

Move the function that echos the error on the current line out into its
own notifier.

A few other changes were required in the process:
* move s:WideMsg() out into syntastic#util autoload lib so it is
  available from the cursor notifier.
* move s:ShowLocList() into the LocList class so it is available for
  the autoloclist notifier
* move s:HideLocList() into Loclist as a class method mainly to keep the
  two show/hide methods together
* move the s:old_line var into the Cursor notifier where it is needed
2013-04-07 23:06:02 +01:00
Christian Höltje
2f4fc38053 Renamed version check function
Moved the `SyntasticIsVersionAtLeast()` into `util.vim` as
`syntastic#util#versionIsAtLeast()` as per @scrooloose's suggestion.
2013-03-08 11:58:49 -05:00
Martin Grenfell
a66c19f731 move the MakeprgBuilder class in with the rest of the classes 2013-02-01 17:06:32 +00: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
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
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
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
Gregor Uhlenheuer
8540748d0c Merge pull request #425 from Fruneau/c-cpp-improvements
C/C++ improvements: clang support and default include exclusion
2012-12-16 12:53:42 -08:00
Martin Grenfell
3deec1d81a add syntastic#util#ParseMagicNumber()
this will (hopefully) be used in the perl checker to fix #422
2012-12-16 20:48:54 +00:00