Commit Graph

851 Commits

Author SHA1 Message Date
LCD 47
c452935384 README: add a link syntastic-more. 2015-02-23 15:00:58 +02:00
LCD 47
399389c84e README: add links to a few third party checkers. 2015-02-23 14:33:29 +02:00
LCD 47
c233c9bbd5 README: update URL for the Rust checker. 2015-02-23 09:32:02 +02:00
LCD 47
f4b064e2de README: rephrase. 2015-02-23 09:06:01 +02:00
LCD 47
71aa71bc1b README: more details about enabling checkers. 2015-02-22 19:03:44 +02:00
LCD 47
bccfdea4e8 Handling redefinition of exec: minor optimisation. 2015-02-22 18:50:10 +02:00
LCD 47
8256e43510 Typo. 2015-02-20 22:20:24 +02:00
LCD 47
471ce96afe Remove the xcrun checker for Swift.
A better third-party checker is included in Kevin Ballard's plugin
[vim-swift](https://github.com/kballard/vim-swift).
2015-02-20 22:15:09 +02:00
LCD 47
d73546dd4a Java checker: more path fixes. 2015-02-20 16:15:44 +02:00
LCD 47
cf4e18d3f7 Java checker: fix path detection. 2015-02-20 09:47:43 +02:00
LCD 47
776d4175cd Handle redefinition of exec after the checker has run. 2015-02-19 11:43:35 +02:00
LCD 47
4782184020 Security: disable the swift/xcrun checker by default.
The checker executes the code in your files. This is probably fine if
you wrote the files yourself, but it can be a problem if you're trying
to check third party files. If you are 100% willing to let Vim run the
code in your files, set g:syntastic_enable_swift_xcrun_checker to 1 in
your vimrc.

Reference:

https://github.com/scrooloose/syntastic/issues/1326
2015-02-17 10:02:36 +02:00
LCD 47
372daff1a8 Reek checker: update.
Option "--quiet" is gone in reek 2.0.0.
Add return code checks.
2015-02-15 18:30:17 +02:00
LCD 47
157ad8d432 Minor cleanup. 2015-02-13 14:49:53 +02:00
LCD 47
a7841c869b Minor cleanup. 2015-02-13 11:56:09 +02:00
LCD 47
dde4a9be9c Formatting. 2015-02-13 11:05:04 +02:00
LCD 47
7cbb79b734 More detailed debug information. 2015-02-12 14:04:35 +02:00
LCD 47
c1a2098954 New checker for JavaScript: standard. 2015-02-11 23:53:46 +02:00
LCD 47
3ea613f539 Xmllint: make "--xinclude" and "--postvalid" optional. 2015-02-09 18:34:26 +02:00
LCD 47
7d9aec0bee Prospector no longer accepts option "--external-config". 2015-02-05 16:37:50 +02:00
LCD 47
6b76c26cba Puppet checker: don't redirect stderr when checking version. 2015-01-31 12:38:13 +02:00
LCD 47
b69efd0723 README: Swift is now supported. 2015-01-31 08:39:31 +02:00
LCD 47
cf012bdea8 Version logging: minor cleanup. 2015-01-31 08:19:15 +02:00
LCD 47
b9608e77be Xcrun: cleanup. 2015-01-31 08:12:23 +02:00
LCD 47
106c772b05 More detailed logging for version operations. 2015-01-30 19:40:32 +02:00
LCD 47
2d27fd93d0 Formatting: use the full name for execute. 2015-01-27 10:05:58 +02:00
LCD 47
cb64516d4d Version handling: deal with errors. 2015-01-23 11:49:08 +02:00
LCD 47
1ba96436c1 Cleanup: handling versions. Minor optimisation. 2015-01-23 11:39:42 +02:00
LCD 47
36ead6d75c Bump version number. 2015-01-19 08:48:35 +02:00
LCD 47
2073cee050 More safety checks. 2015-01-17 16:37:56 +02:00
LCD 47
38f46b6ac8 A (hopefully) safer "rm -rf".
Also remove javac option g:syntastic_java_javac_temp_dir, as it's way to
easy to make it trigger a disaster.
2015-01-17 14:26:24 +02:00
LCD 47
5359f7f4e1 Python checker: new option g:syntastic_python_python_use_codec (@delfick).
The new option tells the checket to load the file in memory and look for
a comment line "# coding: <codec>".  If found, the named codec is used
to decode the file before checking.  This makes sense only if said codec
doesn't change the line numbers of the initial file.  An example of such
codec is "spec" provided by the "Nose of Yeti" library:

https://github.com/delfick/nose-of-yeti
2015-01-17 11:17:35 +02:00
LCD 47
d1b401609b Bug fix: glob(), globpath(), and expand() should ignore wildignore. 2015-01-04 09:01:55 +02:00
LCD 47
f583df730d Minor optimisation. 2014-12-11 08:32:33 +02:00
LCD 47
9caf33d5d5 If auto_jump is set to 3, jump to the first error if any. 2014-12-11 00:31:00 +02:00
LCD 47
6fdd394388 New option: b:syntastic_mode. 2014-12-08 11:59:45 +02:00
LCD 47
0c1dd2aa01 Safer closing of the error window. 2014-12-08 11:14:17 +02:00
LCD 47
e4c94d67a9 First step towards exposing an API. 2014-11-04 08:42:08 +02:00
LCD 47
82ba62ce99 Minor cleanup: wrap the main commands in their own functions. 2014-11-03 20:12:21 +02:00
LCD 47
c4c56716fe More naming conventions. 2014-11-03 11:58:46 +02:00
LCD 47
57f1a0eb20 New user variables: syntastic_<filetype>_<checker>_sort. 2014-10-24 15:55:47 +03:00
LCD 47
71c9a7dd02 Don't run preprocess functions if checker returned an invalid code. 2014-10-22 09:16:31 +03:00
LCD 47
948202d042 Source uglification, part II.
The names from commit 4e9e08b conflict with &viminfo containing "!".
2014-10-17 18:53:53 +03:00
LCD 47
4e9e08b509 Change case for constants' names.
Avoid poluting saved sessions when &sessionoptions contains "globals".
2014-10-17 10:28:05 +03:00
LCD 47
f180e28a38 Closurecompiler: allow running througha shell script (@bjpbakker). 2014-10-17 08:56:10 +03:00
LCD 47
54086304b3 Cache balloons' contents. Cleanup. 2014-10-17 08:35:05 +03:00
LCD 47
7ed52d1e44 README: rephrase. 2014-10-16 15:18:54 +03:00
LCD 47
e9f930be05 README: expand the section about installation. 2014-10-16 12:09:10 +03:00
LCD 47
3d5d219522 SyntasticInfo: if the current file will not be checked, explain why. 2014-10-16 09:56:29 +03:00
LCD 47
75d56b2090 Manual: add a note about vim-auto-save. 2014-10-16 09:06:30 +03:00
LCD 47
008ac98299 Workaround for Vim changing the semantics of lockvar. 2014-10-09 22:41:51 +03:00
LCD 47
0bc8b2acb1 Don't change Vim's shell. 2014-10-09 11:58:07 +03:00
LCD 47
d665fbf564 Solve chicken-and-egg problem with getting ghc-mod version. 2014-10-09 09:06:54 +03:00
LCD 47
038f6ff8fb Disable bash_hack by default. 2014-10-09 08:20:09 +03:00
LCD 47
017d89a470 Minor autoload cleanup. 2014-10-08 11:46:56 +03:00
LCD 47
aab197fb5a Formating. 2014-10-08 09:55:30 +03:00
LCD 47
4a0d88ad7a Cleanup. 2014-10-08 09:35:57 +03:00
LCD 47
40776864c0 New checker for DocBook SGML, mdoc, and text: igor. 2014-10-07 21:04:51 +03:00
LCD 47
0e9ef6ec10 Eruby: fix logging. 2014-10-07 20:49:02 +03:00
LCD 47
19f8859654 Filetype groff is actually nroff. 2014-10-07 13:47:56 +03:00
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
21a25649bb Markdown lint: vim-markdown sets filetype to mkd. 2014-10-06 21:59:20 +03:00
LCD 47
acd02f61b2 Markdown lint: cleanup. 2014-10-06 19:16:05 +03:00
LCD 47
3a355fa4d1 Vim's filetype for Markdown is "markdown". 2014-10-06 19:09:25 +03:00
LCD 47
a3cf0cb65c Bro: minor errorformat fix, and highlighting. 2014-10-06 14:40:11 +03:00
LCD 47
7246fac6c0 Better handling of temporary directories.
New function syntastic#util#rmrf(), inspired by Marc Weber.  Cleanup.
2014-10-02 20:05:01 +03:00
LCD 47
049718cc61 Bug fix: SyntasticToggleMode shouldn't trigger the checks. 2014-10-02 17:11:06 +03:00
LCD 47
2a077c90c4 Typo. 2014-10-02 13:06:50 +03:00
LCD 47
f56742a48d Safer handling of temporary directories. 2014-10-02 10:05:24 +03:00
LCD 47
1e1c7086e3 README: rephrase of a FAQ question. 2014-09-30 14:31:26 +03:00
LCD 47
aa3db4513e Mypy: cleanup. 2014-09-28 11:28:26 +03:00
LCD 47
aea9647033 New checker for Linux RPM spec files: rpmlint. 2014-09-26 15:39:56 +03:00
LCD 47
ba6db9f16e New checker for Scala: scalastyle. 2014-09-26 15:09:03 +03:00
LCD 47
fe6003c3be Checkstyle checker: cleanup. 2014-09-26 15:02:11 +03:00
LCD 47
2a88120b33 More grouping in errorformat. 2014-09-25 08:18:07 +03:00
LCD 47
2f77684076 Puppet: the "future" parser outputs column numbers. 2014-09-24 22:03:15 +03:00
LCD 47
b8ca57de46 Puppet: fix errorformat. 2014-09-24 21:32:29 +03:00
LCD 47
dc4f036a6e Expand b:syntastic_<checker>_exec. 2014-09-24 11:18:55 +03:00
LCD 47
b639b007ae New options.
Add options b:syntastic_<filetype>_<checker>_exec and
b:syntastic_<checker>_exec.
2014-09-21 19:24:22 +03:00
LCD 47
cc33286605 FAQ: add a note about empty error windows. 2014-09-20 19:48:12 +03:00
LCD 47
6ce9bf9abd Clear loclist when running lolder at the bottom of the loclist stack.
This saves people some confusion when syntastic_always_populate_loc_list
is unset and they try to open the error window with :lopen or :lwindow.
2014-09-20 19:26:28 +03:00
LCD 47
bf2faa4d62 Manual: add a note about opening the error window. 2014-09-20 12:42:29 +03:00
LCD 47
fa0290c556 PC-Lint: mark informational messages as "Style". 2014-09-19 11:30:31 +03:00
LCD 47
9321bc79ed PC-Lint: add column numbers. Cleanup. 2014-09-19 10:33:56 +03:00
LCD 47
4f0fc20a17 Minor cleanup for text filetype.
- No default checker for text filetype.
- Checker `atdtool` needs sorting.
- Filetype `mail` is now an alias to `text`.
2014-09-19 08:25:53 +03:00
LCD 47
53a321d0b1 README: clarifications about style checkers. 2014-09-19 08:20:30 +03:00
LCD 47
d751d17ef1 PC-Lint: cleanup. 2014-09-18 08:35:43 +03:00
LCD 47
fb6747c013 Grammar. 2014-09-17 23:19:04 +03:00
LCD 47
9d2800f9a5 README: add a note about style checkers. Minor cleanup. 2014-09-17 20:22:28 +03:00
LCD 47
18a7a9ff59 Pylint checker: more versioning delirium. 2014-09-16 18:31:57 +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
e8afec0117 SASS checker: fix errorformat. 2014-09-16 06:58:46 +03:00
LCD 47
aac0775c39 Make b:syntastic_skip_checks suitable for general use.
Document `b:syntastic_skip_checks`.  Minor cleanup.
2014-09-16 06:36:37 +03:00
LCD 47
83b6d6a587 The php checkers needs "guards" postprocessing. 2014-09-04 13:23:48 +03:00
LCD 47
4aadf589be New postprocess function: guards.
The new function ensures line numbers in loclists are not beyond end of
buffer.  The implementation is very inefficient, because it loads all
buffers in memory.

`eslint` and `lessc` checkers need this function.
2014-09-04 12:56:09 +03:00
LCD 47
b7b09af6b6 New global option syntastic_exit_checks.
Syntastic attempts to catch abnormal termination conditions from checkers by
looking at their exit codes. The "cmd.exe" shell on Windows make these checks
meaningless, by returning 1 to Vim when the checkers exit with non-zero codes.
The above variable can be used to disable exit code checks in syntastic.
2014-09-03 10:47:23 +03:00
LCD 47
0d0c4aa747 Bump version. 2014-09-01 18:38:06 +03:00
LCD 47
f88b5c74c9 Bump version number. 2014-08-28 23:37:11 +03:00
LCD 47
18a185be78 PHPLint: fix syntax highlighting. 2014-08-28 10:25:38 +03:00
LCD 47
0be8cdd631 New checker for PHP: PHPLint. 2014-08-28 09:56:13 +03:00
LCD 47
80db618c09 Cursor columns: fix redraw. 2014-08-28 09:18:07 +03:00
LCD 47
9fb7b0d397 SCSS-Lint: new error codes. 2014-08-26 16:59:52 +03:00
LCD 47
82b2745886 Don't assume loclists have vcol fields. 2014-08-25 06:30:21 +03:00
LCD 47
7b9b02954e README: typo. 2014-08-24 20:45:24 +03:00
LCD 47
4b7183b9dc README: add a note about Python 3. 2014-08-24 20:44:07 +03:00
LCD 47
8e229e41a3 A cleaner way to kill default variables. 2014-08-22 12:02:02 +03:00
LCD 47
e62fe0e6ed Allow oclint to use cmake compilation databases. 2014-08-19 08:04:24 +03:00
LCD 47
a27b435a13 OClint: slightly more robust regexps. 2014-08-15 08:43:41 +03:00
LCD 47
1fac6011ef OClint: fix parsing. 2014-08-15 08:23:49 +03:00
LCD 47
f62e0f6618 New option: cursor_columns. 2014-08-03 12:54:56 +03:00
LCD 47
c2e7bf29c9 Escript: parseShebang() is more capable these days. 2014-07-31 16:40:34 +03:00
LCD 47
e340796776 Bug fix: SyntasticReset didn't really reset. 2014-07-22 22:02:42 +03:00
LCD 47
d795d4b16a Bug fix: forgotten return. 2014-07-22 20:37:06 +03:00
LCD 47
09f35e9f2d Try to prevent g:syntastic_mode_map from being modified. 2014-07-22 13:25:28 +03:00
LCD 47
3f963543dd Manual: clarification about g:syntastic_mode_map. Minor cleanup. 2014-07-22 13:15:49 +03:00
LCD 47
95a57739eb More detailed logging. 2014-07-22 07:55:04 +03:00
LCD 47
c1479f980e Set default reuse_loc_lists to 0.
Recent Vim versions have a bug related to setloclist(0, list, 'r'):

https://groups.google.com/forum/#!topic/vim_dev/t4ei24iwkiY

Avoid replacing loclists until the problem is solved.
2014-07-20 21:32:29 +03:00
LCD 47
d603ed4f33 Make sure version lists are formed of numbers. 2014-07-20 21:23:01 +03:00
LCD 47
e34f421b39 Revert 1e3e0a8. The problem was placing signs on unloaded buffers. 2014-07-17 16:59:22 +03:00
LCD 47
190d9f5e95 Manual: add a note about canceling default arguments. 2014-07-17 07:26:03 +03:00
LCD 47
1d19dff701 Security: disable the elixir checker by default.
This executes the code your files. This is probably fine if you wrote
the files yourself, but it can be a problem if you're trying to check
third party files. If you are 100% willing to let Vim run the code in
your files, set g:syntastic_enable_elixir_checker to 1 in your vimrc.

References:

https://groups.google.com/d/msg/elixir-lang-talk/B29noPHvQ-8/9JvSGPop7n0J
2014-07-16 18:39:52 +03:00
LCD 47
1e3e0a8254 Defensive coding against stepping over other plugins' signs. 2014-07-16 09:34:27 +03:00
LCD 47
6c88bae55d JSHint checker: sort results. 2014-07-15 18:53:22 +03:00
LCD 47
5eb22bb0a3 Refresh optimisations: avoid floats.
The price for this is the assumption reltime() returns a list of
integers [high, low].
2014-07-15 18:13:59 +03:00
LCD 47
b222a31d57 Typo. 2014-07-15 17:30:45 +03:00
LCD 47
0f8d786b84 Check for +float. 2014-07-15 16:55:33 +03:00
LCD 47
9a26f1d585 SyntasticInfo: minor bug fix. 2014-07-15 15:09:02 +03:00
LCD 47
13bdf9e4bd SyntasticInfo: more details about modes. Minor cleanup. 2014-07-15 12:43:53 +03:00
LCD 47
e54f28e338 New redirect checker for arduino: avrgcc. 2014-07-15 09:33:31 +03:00
LCD 47
7b0d3f868c Don't check compressed files. 2014-07-13 22:43:57 +03:00
LCD 47
d364f33a53 Refresh optimisations. 2014-07-13 21:10:46 +03:00
LCD 47
572d3e0ebc README: nit pick about re-enabling the perl checker. 2014-07-11 18:23:00 +03:00
LCD 47
af49886446 Vimlint: add g:syntastic_vimlint_options. 2014-07-11 15:48:37 +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
c325f6c815 Make syntastic#util#parseShebang() aware of /usr/bin/env. 2014-07-06 18:18:43 +03:00
LCD 47
dd57547da0 Manual: add a note about netrw. 2014-07-04 23:12:12 +03:00
LCD 47
1ee4bcccc7 Error highlighting cleanup. 2014-06-30 14:45:30 +03:00
LCD 47
0bef7ef3f6 Bug fix: refresh notifiers in BufEnter, rather than BufWinEnter. 2014-06-27 22:34:44 +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
3ebdeabf63 Add a note about rustc's new home. 2014-06-17 08:35:29 +03:00
LCD 47
bd7e34757d R lint and svtools: fix CWD for Windows.
On Windows R is run with CWD set to the directory used at install time,
rather than the current directory.  The official workaround for this is
to add links to R from the home directories of each of your projects.
We can't do that in Vim, but we can call `setwd()` to Vim's idea of
current directory.  This mimics the behaviour of R on UNIX.
2014-06-14 06:53:50 +03:00
LCD 47
dd5ca1f788 Add a note about the removal of the rustc checker. 2014-06-13 00:23:10 +03:00
LCD 47
1383c0f50a Remove the rustc checket for Rust.
Between #947, #1114, and #1112, this checker is too controversial to
maintain in syntastic.  Please consider using it as an external checker
if you need it:

https://github.com/scrooloose/syntastic/wiki/Syntax-Checker-Guide#external
2014-06-12 23:42:54 +03:00
LCD 47
c33303105b rustc: make arguments configurable. 2014-06-12 22:36:05 +03:00
LCD 47
4004c021af ruby-lint: typo. 2014-06-06 21:20:31 +03:00
LCD 47
98b64fd7b9 ruby-lint: add version check for "analyze". 2014-06-06 18:55:41 +03:00
LCD 47
3e8637ec49 New checker for sass and scss: sassc. 2014-06-05 00:23:01 +03:00
LCD 47
e058be3d01 Registry optimisation: lazy IsAvailable() calls. 2014-06-04 19:34:12 +03:00
LCD 47
284655357b Cabal checker: cleanup. 2014-05-31 11:52:52 +03:00
LCD 47
cc72b0dc66 Rename cabal/check --> cabal/cabal. 2014-05-31 11:19:33 +03:00
LCD 47
101a32bb2f coffeelint: option --csv is deprecated (@greenify). 2014-05-29 12:09:17 +03:00
LCD 47
b6a42d1871 Vim no longer allows setting signs on line 0. 2014-05-28 10:08:48 +03:00
LCD 47
576b84e2b7 Update installation instructions.
Update pathogen's address.
Change ; to && to stop early in case of error (@koalaman).
2014-05-27 11:40:15 +03:00
LCD 47
50518b335d Add separate highlighting groups for style messages (@kovidgoyal). 2014-05-11 20:34:32 +03:00
LCD 47
45a36bf2fc eslint: honour the exec parameter. 2014-05-10 22:29:15 +03:00
LCD 47
e7d1519f55 Cleanup for bro. 2014-05-09 11:54:59 +03:00
LCD 47
653a02a4c1 Some versions of phcs produce an extra column: fix errorformat. 2014-05-07 20:53:02 +03:00
LCD 47
02d07313aa Merge branch 'multi' 2014-05-06 11:14:50 +03:00
LCD 47
8c1c13e94e Contributing guide: add TOC; formatting. 2014-05-04 14:09:47 +03:00
LCD 47
dc02d66648 Update the contributing guide. Make :SyntasticInfo print version. 2014-05-04 13:58:25 +03:00
LCD 47
43e8cb955e More clisp fixes.
Give up trying to persuade clisp not leave behind junk files.
Fix errorformat.
2014-05-03 11:45:02 +03:00
LCD 47
24eab03135 clisp: fix argument order. 2014-05-02 21:04:09 +03:00
LCD 47
ad991127a6 New checker for less and css: recess (@pixelastic). 2014-04-30 10:27:01 +03:00
LCD 47
b9f741e57c Attempt at making multiple buffers work properly.
Propagate b:syntastic_loclist to all buffers mentioned in loclists.

Try to prevent inadvertent closing of the loclist window if all errors
are in included files, by saving the main buffer owner as a variable
local to the quicklist buffer.
2014-04-29 14:31:43 +03:00
LCD 47
75c439fc24 Manual: add a note about PowerShell. 2014-04-27 20:12:04 +03:00
LCD 47
2a770da3a0 GitHub has changed the addresses for user content. 2014-04-26 10:05:02 +03:00
LCD 47
9d4b173493 README: minor update.
The official way to install pathogen has changes slightly.
Add a link to the syntax checker guide.
2014-04-26 08:09:03 +03:00
LCD 47
4b00bf5b2e Python checkers: workaround for GNU readline brain damage.
On terms that support smm / rmm (f.i. xterm), initializing readline
prints the smm sequence, regardless of whether stdout is a terminal or
not, which in turn can make checkers' output unparseable.

Workaround: set TERM to dumb before calling the checkers.
2014-04-23 21:16:41 +03:00
LCD 47
3c07df5dfc Cleanup: lock some variables. 2014-04-23 14:45:21 +03:00
LCD 47
02cbebdfab Cleanup: fix two vimlint warnings. 2014-04-22 21:58:32 +03:00
LCD 47
125442f178 tslint: cleanup. 2014-04-21 13:07:39 +03:00
LCD 47
54bb9b4b8b haxe and dartanalyzer: fix syntax highlighting. 2014-04-21 08:41:44 +03:00
LCD 47
618b41428b Merge remote-tracking branch 'cww/master' 2014-04-19 10:14:05 +03:00
LCD 47
ebbcdd0c1a Cleanup for java/javac. 2014-04-19 10:03:53 +03:00
LCD 47
177292cafa Cleanup for the new aggregate_errors. 2014-04-19 09:09:48 +03:00
LCD 47
99cbe5d011 HTML Tidy: add a note about HTML Tidy for HTML5.
Some people seem to find it easier to look at the sources than read the wiki,
so mention HTML Tidy for HTML5 here, too. :)
2014-04-17 23:08:22 +03:00
LCD 47
4dbb652763 New option: syntastic_sort_aggregated_errors.
Aggregated error lists are now sorted by default.
2014-04-17 22:09:12 +03:00
LCD 47
68131a7679 Bug fix: error sorting.
Error sorting can't be done as a postprocess function called from
SyntasticMake(), since the final values of some relevant fields (f.i.
type) might not be known yet at that point.  Solution: move sorting to
getLocListRaw(), after per-checker quiet_messages.  New checker methods
getWantSort() / setWantSort() are needed.

Second problem: some checkers return screen columns mixed with byte
indices.  Solution: compute screen columns as needed.  Sadly, everything
about working with screen columns is fragile.
2014-04-16 22:16:40 +03:00
LCD 47
b4320f19dd oclint: option "-text" is obsolete. 2014-04-16 00:15:46 +03:00
LCD 47
4c18240e8d Formatting. 2014-04-15 09:09:37 +03:00
LCD 47
29843ed7fb Minor cleanup. 2014-04-14 12:08:27 +03:00
LCD 47
f161992c11 vimlint: a more efficient IsAvailable(). 2014-04-14 09:06:52 +03:00
LCD 47
4b9e87499d README: clarifications for calling multiple checkers. 2014-04-14 08:43:12 +03:00
LCD 47
41edfe34c7 New checker for plist XML: plutil. 2014-04-13 19:59:54 +03:00
LCD 47
81313611ae Manual: minor cleanup. 2014-04-10 10:56:20 +03:00
LCD 47
9cf21436ce New checker for haskell: scan. 2014-04-10 09:59:36 +03:00
LCD 47
62fde00516 Hdevtools: fix column calculations. Cleanup. 2014-04-10 09:45:11 +03:00
LCD 47
841087faba Hlint: fix column calculations. 2014-04-10 09:00:13 +03:00
LCD 47
30198e1091 Manual: add a note about vim-virtualenv. 2014-04-09 21:17:38 +03:00
LCD 47
6d05d1735a README: add anchors for FAQ items. 2014-04-02 22:47:09 +03:00
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
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
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
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
Alex Efros
ccfdcef04d Merge branch 'master' into E855-on-lclose 2012-12-19 17:25:05 +02:00
Martin Grenfell
fc4ec2533c Merge branch 'load_any_checker' 2012-12-04 09:33:34 +00: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
7fe3ac44c2 allow custom checkers by just defining a checking function
Problem: users want to define their own checking function and not use
the syntastic defaults

Solution: dont load the syntastic default if a checking function
already exists. This way users can just define their own function and
override syntastic.

e.g. the user wants to have their own ruby checker, so in their vimrc
they just add:

    function! SyntaxCheckers_ruby_GetLocList()
        return SyntasticMake({"some custom stuff"})
    endfunction
2012-12-03 10:59:11 +00:00
David Barnett
b209693a2a Only set g:loaded_FT_syntax_checker if unset 2012-11-27 07:43:42 -08: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
Martin Grenfell
36db8f4b16 fix a bug with highlighting and getmatches
Highlighting requires vim >= 7.1 with patch 40. It should be disabled
otherwise.

Fix a bug with the version check.

Closes #250.
2012-11-17 20:15:45 +00:00
Charles Lehner
3199ca3235 Explain why tabs are converted to spaces in error messages. 2012-10-25 20:01:31 -04:00
Charles Lehner
57e962865f Prevent tabs in error messages from causing "press enter" prompt.
Convert the tabs to spaces so that they are counted towards the window width
and the status message does not wrap.
2012-10-25 17:20:07 -04:00
Martin Grenfell
33427121ec fix a bug introduced in 60a3588d30
Two different calculations were incorrectly combined in
s:OSSupportsShellpipeHack().

Introduce s:IsRedrawRequiredAfterMake() to hold the other calculation.

Closes #388
2012-10-23 23:05:00 +01:00
Richard Brown
6382dc2124 Put getmatches check in a more sensible place 2012-10-01 15:10:53 +01:00
Richard Brown
ca1d129b3f s/HightlightErrors/HighlightErrors/g 2012-09-27 13:45:14 +01:00
Richard Brown
4bb4ec6550 Highlighting requires vim-7.1.040
Fixes Issue #250
2012-09-27 13:44:45 +01:00
Martin Grenfell
9849a6b8ac move s:uname() in with the rest of the functions - close to its usage 2012-09-24 18:53:15 +01:00
Martin Grenfell
9ccef501e9 Merge remote-tracking branch 'cehoffman/master'
Conflicts:
	plugin/syntastic.vim
2012-09-24 18:52:18 +01:00
Richard Brown
87f10e54d4 Make IsVersionAtLeast global 2012-09-22 19:51:12 +01:00
Martin Grenfell
127422c11e move SyntasticCheckable() down with the other public functions 2012-09-18 00:41:36 +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
70f8354420 Merge pull request #318 from dstanek/master
Fixes issue #311
2012-09-07 02:35:15 -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
Jamie Wong
98437c8752 Always update the location list, even if empty 2012-08-25 01:41:05 -04:00
David Stanek
2bad8761fa Fixes #311: errors not showing up in statusline
s:Errors() function loops through the location list lookin for errors
and caches the result. The function is called indirectly by
SynasticStatuslineFlag before the location list has content. This patch
ensures s:Errors only gets called if location list has content.
2012-08-10 03:23:46 -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
cdd36c6479 populate the location list when :Errors is called
The location list must be set when calling :Errors since our cached
error list is associated with the buffer, but the vim loclist is
associated with the window.

So if the user closes a window, the vim loclist will get destroyed, but
our error list will still exist.

Closes #263
2012-07-24 12:25:16 +01:00
Arnout Kazemier
5ec845ea0d Added configuration option for the symbols that are used in the signs.
This allows users to configure their own indicators symbols
2012-07-17 16:05:51 +02:00
Martin Grenfell
60a3588d30 refactor the checks for the shell/shellpipe hack compatability
move the check into its own function to DRY up the code and add an
intention revealing name to the if statements
2012-07-01 22:48:54 +01:00
Alex Efros
f7e91e821f Fix E855 on :lclose
Since 7.3.449 trying to :lclose inside BufWinLeave result in E855:

    $ vi -u /dev/null --noplugin -N
    :autocmd BufWinLeave * if empty(&bt) | lclose | endif
    :lexpr(':1:msg') | lopen | wincmd p | lclose
    E855: Autocommands caused command to abort

    $ vi -u /dev/null --noplugin -N
    :autocmd BufWinLeave * if empty(&bt) | lclose | endif
    :lexpr(':1:msg') | lopen | wincmd p | q
    E855: Autocommands caused command to abort

Another issue with this autocmd is &bt in BufWinLeave may be different from
the buffer being unloaded (this is documented behaviour for BufWinLeave).
Replacing &bt with getbufvar(0+expand('<abuf>'), '&bt') solve this, but
doesn't fix issue with E855 completely (first of above examples with
:lclose is fixed, but second with :q is not fixed).

So, to work around E855 I've changed way to close location-list:
instead of closing it on BufWinLeave, it's closed on BufEnter into
location-list window if it's only buffer in current window.
2012-05-26 15:19:28 +03:00
Aaron Bieber
e315263ba6 Add fix for OpenBSD 2012-05-25 12:53:21 -06:00
Chris Hoffman
98b7e0e01b Delay an expensive startup cost until needed 2012-05-08 09:58:06 -05: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
b94510fea3 Do not check if the syntax_checker exists and is executable.
Syntax checker name should be the filename of the syntax_checkers/*.vim.
It can be any filename, and can be the name which does not exist in the PATH.
2012-05-07 12:23:51 -07:00
Martin Grenfell
5c7f2b800d Merge pull request #227 from mschulkind/master
Stop clobbering global variables
2012-04-20 07:15:30 -07:00
Matthew Schulkind
4611645c18 Stop clobbering global options. 2012-04-20 10:11:07 -04:00
Florent Bruneau
999d3c1bb3 Only keep "valid" entries in the error count.
The location list returned by getloclist() may contain entries that are
not errorformat matches. By "definition", (see :help getqflist), matched
lines have the attribute "valid": 1 set, so only keep those lines in
error/warning list to avoid erroneous counts and strange behaviors.

Signed-off-by: Florent Bruneau <florent.bruneau@intersec.com>
2012-03-28 19:48:54 +02: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
Bram Schoenmakers
a6be206b71 Safely fetch the 'col' key of an error, it may not exist.
Since commit 892cc2, errors appeared on screen for example when checking
shell scripts.
2012-03-20 22:41:33 +01:00
Martin Grenfell
892cc2c232 refactor the error highlighting system
* remove the public SyntasticHighlightErrors() function
* shift the above code into s:HighlightErrors(). This is called
  automatically if g:syntastic_enable_highlighting is set
* to get the highlight regex we just look for a function called
  Syntastic_<filetype>_GetHighlightRegex
* to force this function to be called, each error item must have the
  'force_highlight_callback' key set

This code has one important functional change: now errors are *always*
highlighted if possible whereas previously they were only highlighted if
a call to SyntasticHighlightErrors was made.
2012-03-02 10:05:15 +00:00
Martin Grenfell
b4a7d47294 performance improvements: cache errors and warnings explicitly
There are many calls to s:Errors() and s:Warnings(), and previously the
location list was filtered once for each of these calls. This made vim
unusable when handling large location lists (with hundreds of entries).
Now we cache the errors and warnings explicitly when we cache the
location list.

Rework some of the minor methods so that they call s:Errors() or
s:Warnings() (which use the cached data) instead of calling
s:FilterLocList() directly (which is expensive).
2012-02-18 16:01:17 +00:00
Martin Grenfell
e44494558f minor performance improvements to the statusline function 2012-02-18 15:38:42 +00:00
Martin Grenfell
9594d34003 performance improvements for FilterLocList()
Remove the call to deepcopy() and use some alternative logic instead.

This improves performance massively for large location lists. More
aggressive caching is needed really though since this function is called
multiple times to return the same data.
2012-02-18 15:36:44 +00:00
Martin Grenfell
3e80184d5f bump to v2.3.0 and update changelog and credits 2012-02-16 17:20:03 +00:00
Martin Grenfell
9a6895d28d add syntastic_loc_list_height option
This allows the user to specify what height the loc list should be
opened at. Solves  issue #153.
2012-02-10 17:56:32 +00:00
Martin Grenfell
b30a9fad9a update some comments to reflect the new subtype functionality 2012-02-08 13:31:20 +00:00
Martin Grenfell
0de450de20 simplify how the 'subtype' option is added to errors
this is just a refactor to make things simpler and shorter
2012-02-08 13:31:20 +00:00
Martin Grenfell
2b514d84bd Merge pull request #158 from technosophos/master
Support for subtypes
2012-02-07 08:31:54 -08:00
Matt Butcher
516b2eec4f Per #158: Removed SubtypeMasksType.
Because the subtype checker is never run when an error is found,
this is not necessary anymore.
2012-02-07 10:02:21 -06:00
Martin Grenfell
fa1084cf8f DRY up the code that loads checkers when multiple exist
Javascript and json have multiple syntax checkers that can be loaded.
Previously the logic to determine which checker to load was basically
copied and pasted in both. The `go` checker will soon have more
than one option too so remove the duplication by sticking the
common code in the core.
2012-02-06 17:46:08 +00:00
Matt Butcher
8df5c3bcdc Added support for error/warning subtyping. 2012-01-27 13:43:48 -06:00
Martin Grenfell
54896becd3 bump to 2.2.0 and update changelog 2011-12-24 11:31:19 +00:00
Martin Grenfell
466f762841 add a ! to a function def 2011-12-24 11:05:51 +00:00
Martin Grenfell
d88db85b07 refactor g:syntastic_check_on_open
init g:syntastic_check_on_open with the rest of the options - this means
we only check exists("...") once rather than every time the autocmd is
run. Plus it reads better IMO.
2011-12-24 09:44:01 +00:00
kongo2002
9a9da94494 evaluate g:syntastic_check_on_open without having to restart vim 2011-12-24 01:33:07 +01:00
Martin Grenfell
9633837e16 dont do syntax checks when opening buffers
Only do syntax checks when saving files. Add the g:syntax_check_on_open
option to force the check when opening.

See #134
2011-12-23 23:46:39 +00:00
Martin Grenfell
7fe7900c8b refactor s:AutoToggleLocList()
move some code out of AutoToggleLocList and into UpdateErrors so that
AutoToggleLocList is only responsible for displaying/hiding the location
list window
2011-12-23 13:56:49 +00:00
Martin Grenfell
2c6b271321 simpify s:ModeMapAllowsAutoChecking() 2011-12-22 00:10:13 +00:00
Martin Grenfell
d13264513d Revert "remove the ability to check compound filetypes"
This reverts commit fb0259a4ef.

Turns out there is a use case for this after all, as reported by
@benjifisher in #133

Conflicts:

	plugin/syntastic.vim
2011-12-21 23:52:58 +00:00