Commit Graph

411 Commits

Author SHA1 Message Date
LCD 47
a62fc9eeba README: minor update. 2014-04-02 21:32:34 +03:00
LCD 47
82bff20b02 README: change address for YouCompleteMe. 2014-03-30 21:11:39 +03:00
LCD 47
8d2ac06820 Minor rephrase in the manual. 2014-03-30 21:10:20 +03:00
LCD 47
0c557bfca6 jshint: require version 1.0.0 or later. 2014-03-25 19:59:50 +02:00
LCD 47
a781914a16 Yet more pylint versioning delirium. 2014-03-24 15:03:50 +02:00
LCD 47
f6d584bc63 splint: add errorformat sequences for Windows. 2014-03-23 06:25:59 +02:00
LCD 47
94e0e73c4e Add a note to the manual about Eclim. 2014-03-20 07:34:49 +02:00
LCD 47
4ded4f4047 Expand a few config parameters. 2014-03-20 07:18:30 +02:00
LCD 47
c8f562f0f2 ESLint: add version check; expand config parameter. 2014-03-20 06:44:01 +02:00
LCD 47
dc6bb11215 Bump version number. 2014-03-10 15:54:00 +02:00
LCD 47
2850d4145a Minor cleanup. 2014-03-10 15:50:58 +02:00
LCD 47
da6520c69f \V<pattern> regexps can spell trouble if <pattern> contains backslashes. 2014-03-09 22:21:29 +02:00
LCD 47
223d00a0f0 phpcs is slow as a css checker, remove it from the defaults. 2014-03-09 22:00:12 +02:00
LCD 47
013b425c26 Make "g:syntastic_<filetype>_checkers = []" work as expected. 2014-03-08 21:36:36 +02:00
LCD 47
2eb60cb586 Version tracking. 2014-03-08 09:27:21 +02:00
LCD 47
0de089b85d Allow foreign checkers to call foreign preprocess and postprocess functions. 2014-03-04 17:18:59 +02:00
LCD 47
fb71514648 Move preprocess functions to their own file. 2014-02-26 10:31:38 +02:00
LCD 47
e323437303 More preparations for the foreign checkers feature. 2014-02-24 11:04:34 +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
2940b0c721 Bug fix: checker ordering. Formatting. 2014-02-23 11:47:52 +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
c658ff15a5 Registry refactor.
Simplify registry data structure.
Simplify registru functions.
Optimisations.
2014-02-17 23:32:53 +02:00
LCD 47
fd5fb851da Minor cleanup. 2014-02-13 07:50:01 +02:00
LCD 47
d304890946 Minor cleanup. 2014-02-13 07:43:48 +02:00
LCD 47
70746c0f5f Option shellxescape has been added in Vim 7.3.446. 2014-02-13 07:09:20 +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
8a588134f1 Cleanup: minor optimisations, formatting. 2014-02-01 18:44:04 +02:00
LCD 47
d1cf6fcfac More debug logs. 2014-02-01 08:23:40 +02:00
LCD 47
d523ae9787 Add &shellquote to debug logs. 2014-01-30 20:31:47 +02:00
LCD 47
2b3df92350 New jump mode for g:syntastic_auto_jump.
If g:syntastic_auto_jump is set to 2, jump only if the first issue found
is an error.
2014-01-30 13:20:40 +02:00
LCD 47
8aa2a6f4c1 Cleanup. 2014-01-29 01:12:42 +02:00
LCD 47
7434054e21 Optimisation: cache statusline flag. 2014-01-28 17:30:22 +02:00
LCD 47
f3240e6001 Cleanup: shut up lint warnings, formatting, doc nit. 2014-01-26 09:10:26 +02:00
LCD 47
e30c80623d Bug fix: loclist clobbered by filter().
Loclist cleanup: hasErrorsOrWarningsToDisplay() == !isEmpty().
Loclist cleanup: rename filteredRaw() --> getRaw().
Loclist cleanup: rename toRaw() --> copyRaw().
2014-01-22 21:14:31 +02:00
LCD 47
e4b77ddcd9 Bump version number. 2014-01-20 08:59:43 +02:00
LCD 47
9057e3eff5 Bump version number. 2014-01-14 07:31:06 +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
1852b5d386 :SyntasticInfo now takes an optional argument.
Added several clarifications to the manual.
2013-12-16 18:06:30 +02:00
LCD 47
77c4eb3eec Workaround for autocmd brain damage.
Vim doesn't call autocmd commands in a predictible order, which can lead
to missing filetype when jumping to a new file with `lrewind`.
2013-12-04 19:39:30 +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
1ee2930e24 SyntasticCheck accepts multiple arguments. Cache available checkers. 2013-11-30 00:56:10 +02:00
LCD 47
f97ebd2173 Minor cleanup.
Cleanup highlighting initialization.
Document the syntax highlight groups involved.
2013-11-21 18:27:52 +02:00
LCD 47
cfe2ac68a4 New command :SyntasticSetLoclist. 2013-11-16 12:49:43 +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
544d616acf Bump version number. 2013-11-11 10:55:12 +02:00
LCD 47
6740608991 Bump version number. 2013-11-08 17:29:33 +02:00
LCD 47
14cb306414 New option g:syntastic_id_checkers.
Default: 1.  There is also a local version b:syntastic_id_checkers.
2013-11-02 10:39: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
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
022c49371f Check for a minimal set of Vim features at startup. 2013-10-29 01:15:44 +02:00
LCD 47
c87d17444f Make syntastic re-read g:syntastic_mode_map at every check. 2013-10-28 21:53:10 +02:00
LCD 47
8eba8c3a45 Update version string. 2013-10-28 20:29:10 +02:00
LCD 47
c8e173c4ef Make g:syntastic_filetype_map apply to composite filetypes.
Normally composite types are handled by splitting them into simple
components, and applying the corresponding (simple) checkers.  This
behaviour can now be disabled, by mapping composite types to a simple
ones.
2013-10-28 08:20:21 +02:00
LCD 47
95aab2530e Try to avoid fun with magic / nomagic by qualifying regexps. 2013-10-25 15:46:16 +03:00
LCD 47
d251ca822d Minor cleanup. 2013-09-27 10:35:46 +03:00
LCD 47
ce198e64bd Sanity check for shell redirections (shell=fish won't work). 2013-09-24 21:41:59 +03:00
LCD 47
c404f78e87 Save and restore local errorformat. 2013-09-20 01:04:35 +03:00
LCD 47
81e2e20892 Bug fix: split checker output into lines before preprocessing. 2013-08-16 01:31:22 +03:00
LCD 47
205dc0b168 Minor bug fix: setting checker names in CacheErrors(). 2013-08-15 20:30:06 +03:00
LCD 47
929f92ddd6 Bug fix: allow loclist cleanup. 2013-08-13 17:48:37 +03:00
LCD 47
148021e348 Reuse loclists when possible, to allow :lolder and :lnewer.
This is not completely safe: if a loclist is created by something
other than syntastic before the error window is displayed, syntastic
will obliterate it.  There is currently no way to tell if a
loclist was created by syntastic or not.  Undocumented variable
g:syntastic_reuse_loc_lists can be used to disable reuse of loclists.
2013-08-13 09:31:43 +03:00
LCD 47
48208d46f8 Merge branch 'master' into preprocess 2013-08-09 15:33:34 +03:00
LCD 47
8901a8262e Add debug logging for syntastic_aggregate_errors. 2013-08-09 15:33:18 +03:00
LCD 47
548b816bab Merge branch 'master' into preprocess 2013-08-08 10:36:02 +03:00
LCD 47
572a36188d Reset only the LC_MESSAGES part of locales. 2013-08-08 10:30:57 +03:00
LCD 47
e0396dcdc0 Bug fix: wrong variable scope. 2013-08-05 12:57:50 +03:00
LCD 47
a4fa3234f7 Bug fix: wrong variable scope. 2013-08-05 12:57:14 +03:00
LCD 47
d3ded273d3 Merge branch 'master' into preprocess 2013-08-05 09:41:35 +03:00
LCD 47
de9d56121b Add option "syntastic_aggregate_errors". 2013-08-05 09:25:33 +03:00
LCD 47
ac87fd1346 Give up trying to use readfile(). 2013-08-03 19:09:39 +03:00
LCD 47
903b5343e8 Typo. 2013-08-03 18:50:06 +03:00
LCD 47
e6091a998c Fix command output redirection. Cleanup. 2013-08-03 08:29:22 +03:00
LCD 47
4a35ee8ca4 Fix shellpipe expansion again. 2013-08-02 17:00:53 +03:00
LCD 47
8f40f27d59 Fix shellpipe expansion. 2013-08-02 13:10:14 +03:00
LCD 47
05dea5febe Fix shell escaping. 2013-08-02 11:06:48 +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
65c852cf25 Add a SyntasticReset command. 2013-07-30 23:09:47 +03:00
LCD 47
60578c35d2 Bug fix: g:syntastic_auto_jump should jump on checks, not on writes. 2013-07-15 18:37:37 +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
90259bde00 New knob: g:syntastic_full_redraws. 2013-07-11 10:04:26 +03:00
LCD 47
4708539690 Typo. 2013-06-29 20:54:08 +03:00
LCD 47
6a0dc699e0 Make cursor echo handle include files. 2013-06-21 20:48:17 +03:00
LCD 47
60675868d7 Stop spamming the user about the active checkers. 2013-06-16 06:40:28 +03:00
LCD 47
af9d6f627b Print a message if no active checkers are found. 2013-06-15 07:36:20 +03:00
LCD 47
da7002516b Added option 'cwd' to SyntasticMake(). 2013-06-11 21:36:44 +03:00
LCD 47
a8f4e0e327 Add filetype to the status line of the location window. 2013-06-07 00:50:16 +03:00
LCD 47
4c888855d6 Sets the status line of the location window.
Shows the command used to produce the error list on the status line of
the location window.  Also fixed a (harmless) refresh bug.
2013-06-07 00:34:05 +03:00
LCD 47
9b698bb32b Reset locales when running lmake. Fixes #665. 2013-06-06 13:06:10 +03:00
LCD 47
8f430620c2 Cleanup: method naming. 2013-06-01 07:45:42 +03:00
LCD 47
d3354f175c Make syntastic#makeprg#build() aware of filetypes. Fixes #667. 2013-05-31 21:05:45 +03:00
LCD 47
e6bb7bd4c6 Bug fix: :SyntasticInfo didn't return information for composite filetypes. 2013-05-31 19:06:33 +03:00
LCD 47
48b934b8aa Adds filetype aliases.
This allows checking of files with non-standard filetypes.
2013-05-31 10:19:52 +03:00
LCD 47
d205c97e95 Clear loclist if there are no errors. Fixes #650. 2013-05-27 09:23:09 +03:00
LCD 47
4d9a8338e1 Minor optimisation related to syntastic_ignore_files. 2013-05-23 11:50:26 +03:00
Martin Grenfell
86fdb12540 Merge remote-tracking branch 'origin/modemap_ignore' 2013-05-17 15:58:07 +01:00
LCD 47
8a998efe54 Backport of small fixes from the buffers branch. 2013-05-14 20:21:57 +03:00
LCD 47
8d47df65d2 Adds an option g:syntastic_ignore_files.
List of regexps specifying files that should neither be checked, nor
included in error lists.  The full paths of files are matched against
these regexps, and the matches are case sensitive.
2013-05-14 11:14:49 +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
7f0412e91d Added an option to skip checks on :wq, :x, and :ZZ, try 2. 2013-05-06 20:18:02 +03:00
LCD 47
431508e19e Fix for #641: back off 003751a. 2013-05-06 19:26:45 +03:00
LCD 47
003751a48d Be less wastefull about loclists.
This is a first step towards making :lolder and :lnewer work with
Syntastic.  It still has a long way to go: a new loclist is now craeted
at each run of SyntasticMake(), but the notification machinery can only
use the last one.  Ideally a single loclist would be created per window
and then reused.
2013-05-04 09:36:52 +03:00
LCD 47
4d694ad920 The QuitPre event was added in Vim 7.3.544. 2013-04-27 18:06:18 +03:00
LCD 47
c9b9a9ef5e Fix for #624.
Handle closing the loclist window in a QuitPre.
Remove the prematurely added option g:syntastic_allow_quit.
2013-04-27 13:59:19 +03:00
LCD 47
63ec78cfb1 Adds an option "syntastic_allow_quit". 2013-04-26 16:20:43 +03:00
Martin Grenfell
b72d9e57da add :SyntasticInfo command to echo info about current checkers
Closes #557
2013-04-13 23:36:18 +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
Martin Grenfell
a7fcf4cad2 Merge branch 'notifiers' 2013-04-13 16:11:14 +01:00
Martin Grenfell
e3f5958b7d bump to version 3.0.0 2013-04-13 16:02:03 +01:00
LCD 47
11380c2d51 Minor cleanup.
Warning signs should not overwrite error ones.
Use buffers instead of file names when placing signs.
Other minor changes.
2013-04-10 13:40:03 +03: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
2b6f6a5724 move s:Loclist() into SyntasticLoclist as a class method 2013-04-09 09:52:02 +01:00
LCD 47
92a25ed1a2 More cleaning up.
Renames notification classes.
Fixes a stupid bug related to the cursor notifier.
2013-04-09 01:10:17 +03:00
LCD 47
90dce6d3e7 Cleanup.
Makes cursor a standard notifier.
Adds a method enabled() to the notifiers.
Adds an optional method reset() to the notifiers.
2013-04-09 00:24:54 +03:00
Martin Grenfell
9a7db4a50b move a couple of options out into relevant notifiers 2013-04-07 23:30:24 +01: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
LCD 47
0deeefd08e Notifiers refactor.
Creates a notifier class.
Changes the existing signer class to fit the new notifier.
Moves balloons and highlighting to their own classes.
Caches and speeds up EchoCurrentError().
Adds all relevant messages to balloons rather than using the first one.
Fixes yet another (minor) bug related to g:syntastic_quiet_warnings.
2013-04-07 22:10:26 +03:00
LCD 47
ba13a3d4b5 Fix shell pipe hack. 2013-04-06 21:58:38 +03:00
LCD 47
878bceaac7 Fixes handling of g:syntastic_quiet_warnings. 2013-04-03 21:53:56 +03:00
LCD 47
bd226bb026 Minor cleanup. 2013-04-03 11:45:06 +03:00
LCD 47
1f262ff3bc Skip running in special buffers. 2013-04-02 15:30:58 +03:00
Martin Grenfell
78f345bab3 extract the vim work around code out to be more explicit
Add an explaining variable and a comment for the vcol workaround. See
issue #588
2013-03-28 23:28:41 +00:00
Martin Grenfell
46cd844a55 Merge remote-tracking branch 'lcd047/vcol' 2013-03-28 23:23:26 +00:00
Martin Grenfell
19a502d3ba bugfix for sourcing the syntastic class files
Fixes #543.

Use `runtime!` to source all runtime files - not just the first one
found. I actually dont know how syntastic was working at all without
this...
2013-03-28 23:04:58 +00:00
LCD 47
ec386f6b5d Bug fix. 2013-03-28 23:11:05 +02:00
LCD 47
b9dc0829ef Fixes the sparse checker.
Also allows %v to be used in errorformat.
2013-03-27 16:06:47 +02:00
Martin Grenfell
bf99882563 Merge pull request #262 from powerman/E855-on-lclose
Fix E855 on :lclose
2013-03-25 02:49:32 -07:00
Martin Grenfell
d35e273d33 move the modemap code out into its own class 2013-03-22 22:50:47 +00:00
Martin Grenfell
925ba796c9 move the sign options into the sign class file 2013-03-22 18:08:27 +00:00
Martin Grenfell
5dfde8e151 add syntastic_always_populate_loc_list option
We dont want to set the loc list by default since syntastic isnt the
only plugin using loclists - and we dont want to clobber other peoples
loclists.

This option allows the user to override this behaviour if it suits their
workflow.
2013-03-21 17:46:14 +00:00
Martin Grenfell
6193c99f69 extract the sign code out into its own class 2013-03-21 17:46:13 +00:00
LCD 47
0906a5c5d1 Cleanup: a simpler and more efficient approach. 2013-03-18 10:01:56 +00:00
Harsh Doshi
3d736681ea redraw! causes screen flicker in mvim too 2013-03-15 17:20:41 -07:00
Martin Grenfell
75a234231b fix sign highlight groups
Seems that `:sign define ... texthl=bar` causes `hlexists('bar')` to
return true.

So set up the highlight groups before the signs - otherwise they will
never be set up by default.
2013-03-08 17:50:24 +00: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
Christian Höltje
3dc0b6dc24 Made SyntacticIsVersionAtLeast more robust
It now handles more cases, which will cause Syntastic to degrade better
when commands return weird versions (e.g. the command crashes).
2013-03-08 11:51:39 -05:00
Martin Grenfell
034727a04c Merge pull request #528 from jszakmeister/add-highlight-groups
Add highlight groups for the signs and the lines.
2013-03-08 07:09:10 -08:00
Martin Grenfell
531a069c1a fix syntastic_auto_jump functionality
Previously we removed the code to automatically set the loclist and only
set it when required. This was needed because otherwise we could
interfere with other plugins that use the loclist.

Add the call to setloclist back in only if syntastic_auto_jump is set.
This will blow away the loclist every time the file is checked, but
setting syntastic_auto_jump is the users choice.

Fixes #533
2013-03-08 15:04:22 +00:00
LCD 47
ff3c05a413 Fix syntax highlighting.
The variable force_highlight_callback is gone.

Highlight functions are now consistently named
SyntaxCheckers_<filetype>_<checker>_GetHighlightRegex(), and they
take precedence over highlighting based on column.
2013-03-08 14:45:57 +00:00
John Szakmeister
10697a6952 Add highlight groups for the signs and the lines.
This allows users to customize the coloring of Syntastic's signs, and
also provides them a way to highlight the entire line using :sign's
linehl feature.  It preserves the current default behavior of using
the error and todo highlight groups if the customized ones aren't
present.  If the linehl group doesn't exist, then it's the same as not
specifying one, so no special highlighting for the line will occur.
2013-02-23 07:13:57 -05:00
LCD 47
17641c0a49 Minor omission in commit 8f4695c. 2013-02-03 20:36:55 +02: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