Commit Graph

51 Commits

Author SHA1 Message Date
LCD 47
1fec9e8b9a Checker hdevtools: fix errorformat. 2016-09-03 17:28:21 +03:00
LCD 47
eb2b9cfcd9 Cleanup. 2016-04-25 09:15:49 +03:00
Benjamin Hipple
118d4be9b8 Support new HLint version 2016-02-28 01:27:07 -05:00
LCD 47
544acba17d ghc-mod versions 5.4.0 and later are no longer supported. 2015-10-17 20:48:39 +03:00
Matvey Aksenov
8164240f6f Hlint: handle hint file parsing errors.
When hints (including those in ANN pragmas in Haskell source) fail to
parse, Hlint uses a different error format.
2015-09-15 22:49:54 +03:00
LCD 47
74fd7e6b92 Show chacker output when whining that we can't parse version string. 2015-07-10 20:14:23 +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
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
1ba96436c1 Cleanup: handling versions. Minor optimisation. 2015-01-23 11:39:42 +02:00
LCD 47
1d2f8d514a Formatting: folding. 2015-01-04 12:46:54 +02:00
LCD 47
c307dde8c2 ghc-mod: the pylint way of handling versions is way cool, man. 2014-11-03 20:40:44 +02:00
LCD 47
57f1a0eb20 New user variables: syntastic_<filetype>_<checker>_sort. 2014-10-24 15:55:47 +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
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
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
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
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
Daniel Trstenjak
7bd9b98342 Always give absolute paths to syntax checkers 'hdevtools' and 'hlint'
Especially for 'hdevtools' this results into a more robust behaviour,
because 'hdevtools' starts a background process and changing the
current directory doesn't affect the current directory of the background
process.
2014-04-05 15:47:20 +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
daf74923b7 Escape Festschrift, vol. 2: add function getExecEscaped(). 2014-02-07 11:19:30 +02:00
LCD 47
f5a45095e2 Escape Festschrift: getExec() needs to be escaped before being used. 2014-02-06 16:50:27 +02:00
LCD 47
b9accaa810 Minor cleanup: &cpo guards and formatting. 2014-01-03 11:29:08 +02:00
LCD 47
c77eb31bdb Check return code of ghc-mod. 2013-12-04 23:58:57 +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
a0f59e7242 Safety checks for ghc-mod. 2013-11-05 20:34:54 +02:00
LCD 47
2c1c0d0eeb Safety checks for ghc-mod. 2013-11-05 20:28:19 +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
Nicolas Wu
f184fc1b67 Parse multi line warnings correctly 2013-08-31 17:29:31 +01:00
LCD 47
7eda5de0ca Haskell cleanup.
Make the "compressWhitespace" filter kill \001 characters.
Make the ghc-mod checker use the "compressWhitespace" filter.
Minor formatting of the hlint checker.
2013-08-12 22:46:20 +03:00
Nicolas Wu
ecb5a88026 Compress whitespace 2013-07-29 16:14:36 +01:00
Nicolas Wu
d92a4b79d9 Simplify errorformat 2013-07-29 16:06:09 +01:00
Nicolas Wu
fa0ef8427d Remove hlint option from ghc-mod 2013-07-29 13:02:29 +01:00
Nicolas Wu
8745794ea5 ghc-mod only does check phase 2013-07-29 12:55:38 +01:00
Nicolas Wu
f9302bbb32 Add hlint support 2013-07-29 12:52:22 +01:00
LCD 47
d3354f175c Make syntastic#makeprg#build() aware of filetypes. Fixes #667. 2013-05-31 21:05:45 +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
9493124831 Rework of the haskell/ghc-mod checker. 2013-04-25 22:40:03 +03:00
Taylor Price
91e8b1ce84 Change the - (dash) in the header guard to _ (underscore) to fix an unxepected characters error 2013-02-21 10:10:22 -08:00
Martin Grenfell
fce786f59a Merge pull request #516 from mybuddymichael/master
Don't pass -fno-code to Haskell's ghc
2013-02-21 08:23:29 -08:00
Martin Grenfell
16424e5761 add guards to all checkers
goddamn I love macros
2013-02-21 15:50:41 +00:00
Michael Hanson
dd4e3af44d Don't pass -fno-code to ghc 2013-02-19 15:19:04 -08:00
Martin Grenfell
e0b8e87c93 refactor all the syntax checkers to use the new API and dir layout 2013-01-27 20:08:30 +00:00
Martin Grenfell
6a184f0e37 update checkers to use the new syntastic#makeprg#build()
Make all the easy updates. There are still quite a few to do, but in
doing these ones I can see that syntastic#makeprg#build() needs to
accept a few more options. Namely:

* "postargs" that appear after the filename
* "tail" that appears after everything - used for things like
  redirecting output and piping to grep/sed/etc
* the filename itself - only the java checkers needed this since they
  specify the directory of the file to check as well

There are still a few other things to do as well:

* remove the options from the checkers that are now provided by
  syntastic#makeprg#build implicitly - i.e. the checker exe and args.
* also, we need to doc the above implicit checker options
2013-01-20 11:13:01 +00:00
Jason Hickner
9f9204415b fix typo 2012-11-23 16:20:04 -08:00
Jason Hickner
02ab1c9df0 add the -fno-code ghc option to speed up checking
Since we're only using ghc to check and lint the file and not actually create output, we can pass -fno-code which omits code generation and speeds up the check quite a bit.
2012-11-23 16:14:53 -08:00