diff options
| author | Ben Beltran <ben@nsovocal.com> | 2013-03-28 14:54:19 -0600 |
|---|---|---|
| committer | Ben Beltran <ben@nsovocal.com> | 2013-03-28 14:54:19 -0600 |
| commit | 6ffda1fa75a1a805ea6d64d7b582d70257a2cf56 (patch) | |
| tree | 4f7f3b99ef2389235a6feb70ca7ece8f4faec1d5 /vim/ftplugin/javascript/jslint/runjslint.wsf | |
| parent | 162b65d8624bac4e04a3ac6ccd46ce7e8975fb81 (diff) | |
| parent | 6c396295dcca469828e84ce3ff450f207a12736d (diff) | |
Merge branch 'master' of github.com:benbeltran/dotfiles
Diffstat (limited to 'vim/ftplugin/javascript/jslint/runjslint.wsf')
| -rw-r--r-- | vim/ftplugin/javascript/jslint/runjslint.wsf | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/vim/ftplugin/javascript/jslint/runjslint.wsf b/vim/ftplugin/javascript/jslint/runjslint.wsf new file mode 100644 index 0000000..d6c24bd --- /dev/null +++ b/vim/ftplugin/javascript/jslint/runjslint.wsf @@ -0,0 +1,48 @@ +<job> +<script src="jslint-core.js" language="javascript"></script> +<script language="javascript"> +/*global JSLINT load readline WScript */ + +var readSTDIN = function() { + var line, + input = [], + emptyCount = 0, + i; + + var stdIn = WScript.stdIn, + stdOut = WScript.stdOut; + + while (!stdIn.atEndofStream) { + line = stdIn.readLine(); + input.push(line); + } + + return input.join("\n"); +}; + +var body = readSTDIN() || arguments[0], + ok = JSLINT(body), + i, + error, + errorType, + nextError, + errorCount, + WARN = 'WARNING', + ERROR = 'ERROR'; + +if (!ok) { + errorCount = JSLINT.errors.length; + for (i = 0; i < errorCount; i += 1) { + error = JSLINT.errors[i]; + errorType = WARN; + if (error && error.reason && error.reason.match(/^Stopping/) === null) { + // If jslint stops next, this was an actual error + if (nextError && nextError.reason && nextError.reason.match(/^Stopping/) !== null) { + errorType = ERROR; + } + WScript.echo([error.line, error.character, errorType, error.reason].join(":")); + } + } +} +</script> +</job> |