Commit Graph

221 Commits

Author SHA1 Message Date
LCD 47
e46c64701c Bug fix: more findfile() fun. 2015-06-23 13:55:22 +03:00
LCD 47
a728268d73 Bug fix: finding files in parent directories.
Checkers pc_lint, javac, flow, C compilers: findfile() should start in
the current file's base directory rather than the current directory.

Elixir checker: use the more efficient findfile() instead of
syntastic#util#findInParent().
2015-06-22 23:10:20 +03:00
LCD 47
b609b3bdd3 Checker ghc-mod: attempt to fix filename encodings.
ghc-mod will always use UTF-8 encoding on output, regardless of the
current encoding.  This is a problem for syntastic because it mangles
the filenames.  The commit below is a (perhaps misguided) attempt to
fix that, by calling iconv() to re-encode output from ghc-mod to Vim's
encoding.
2015-06-18 13:27:41 +03:00
LCD 47
981196fdc3 Flow checker: use the "status" command. 2015-05-19 23:01:39 +03:00
LCD 47
24bb293574 Minor comment fix. 2015-05-03 19:59:35 +03:00
LCD 47
3a30321fd0 Fix loclist timestamps for refresh (@blueyed). 2015-05-03 19:26:56 +03:00
LCD 47
4fbe5f52c7 Flow checker: recover from negative end offsets. 2015-04-22 08:25:04 +03:00
LCD 47
80c5a047c0 Bug fix: b:cflags again. 2015-04-15 12:54:07 +03:00
LCD 47
2cf32d7be3 Bug fix: b:cflags applies only to C and C++ checkers. 2015-04-14 10:53:30 +03:00
LCD 47
fe436371b4 Checker tsc: version 1.5 has option "--noEmit". 2015-04-11 14:31:52 +03:00
LCD 47
dac07db617 Cleanup: shut up most vint warnings. 2015-03-25 18:44:34 +02:00
LCD 47
47eabae37d New global option: "shell".
Undocumented option "bash_hack" is gone.
New function syntastic#util#system(), that sets up the environment and
is now used consistently everywhere.
Unrelated fix for the elixir checker (syntax).
2015-03-12 19:20:06 +02:00
LCD 47
a7758aa188 New checker for Vim: vint. 2015-02-23 17:52:09 +02:00
LCD 47
b427af1e0f Cleanup: case-sensitive comparisons. 2015-02-23 17:09:00 +02:00
LCD 47
0e23cb0977 Cleanup.
Add the "abort" attribute to the core functions.
Undefined function s:CygwinPath() in autoload/syntastic/util.vim.
2015-02-23 16:40:53 +02:00
LCD 47
dde4a9be9c Formatting. 2015-02-13 11:05:04 +02:00
Shiz
b70e9af181 Don't warn on python/prospector with no messages.
When the python/prospector checker finds no issues in the file, the "messages" key is absent in the JSON output. Make sure we don't spew out a warning when that happens.
2015-02-13 09:38:10 +01:00
LCD 47
1ba96436c1 Cleanup: handling versions. Minor optimisation. 2015-01-23 11:39:42 +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
c60e440d00 Go checker: more contortions around "go_go_build_args" and "go_go_test_args". 2015-01-15 17:51:15 +02:00
LCD 47
c472ec1396 Feature: extended syntax for quiet_messages.
If a key in `quiet_messages` is prefixed by an exclamation mark "!", the
corresponding filter is negated.

Also, the "file" key may now be followed by filename modifiers.
2015-01-04 09:10:24 +02:00
LCD 47
d1b401609b Bug fix: glob(), globpath(), and expand() should ignore wildignore. 2015-01-04 09:01:55 +02:00
LCD 47
79b04bdf43 Debug: if reading a config file fails, log the reason it failed. 2015-01-04 08:46:08 +02:00
Alex Efros
65de58c3a7 fix file/line detection for perl 2014-12-07 14:15:16 +02:00
LCD 47
d422c6d825 Flow checker: cleanup. 2014-12-05 13:38:53 +02:00
LCD 47
4ff440ccbe Shut up vimlint. 2014-11-20 10:02:02 +02:00
LCD 47
72e0593eae Bug fix: make sure directory returned by syntastic#util#tmpdir() exists. 2014-11-09 20:47:35 +02:00
LCD 47
c4c56716fe More naming conventions. 2014-11-03 11:58:46 +02:00
LCD 47
8e9ece2144 Prospector: saner handling of errors. 2014-10-24 19:53:39 +03:00
LCD 47
1327780c5c Proscpector: all tools except pylint return 1-based column numbers. 2014-10-22 11:49:40 +03:00
LCD 47
3fe6f2a842 Prospector: fix typos; add logging; better return checking. 2014-10-22 09:39:56 +03:00
LCD 47
72a7cb3898 New checker for python: prospector. 2014-10-21 16:37:33 +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
54086304b3 Cache balloons' contents. Cleanup. 2014-10-17 08:35:05 +03:00
LCD 47
017d89a470 Minor autoload cleanup. 2014-10-08 11:46:56 +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
f56742a48d Safer handling of temporary directories. 2014-10-02 10:05:24 +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
f62e0f6618 New option: cursor_columns. 2014-08-03 12:54:56 +03:00
LCD 47
d603ed4f33 Make sure version lists are formed of numbers. 2014-07-20 21:23:01 +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
d364f33a53 Refresh optimisations. 2014-07-13 21:10:46 +03:00
LCD 47
c325f6c815 Make syntastic#util#parseShebang() aware of /usr/bin/env. 2014-07-06 18:18:43 +03:00
LCD 47
1ee4bcccc7 Error highlighting cleanup. 2014-06-30 14:45:30 +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
284655357b Cabal checker: cleanup. 2014-05-31 11:52:52 +03:00
LCD 47
716038ea46 Output of pep257 has changed.
Fix errorformat.
Make compressWhitespace() postprocess function remove leading and
trailing spaces.
Typo in the manual.
2014-05-10 18:47:50 +03:00
LCD 47
3c07df5dfc Cleanup: lock some variables. 2014-04-23 14:45:21 +03:00
LCD 47
125442f178 tslint: cleanup. 2014-04-21 13:07:39 +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
29843ed7fb Minor cleanup. 2014-04-14 12:08:27 +03:00
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