forked from uipoet/sublime-jshint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjshint.jsc.js
34 lines (32 loc) · 839 Bytes
/
jshint.jsc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
(function (source) {
if (typeof JSHINT === 'undefined') {
print('Error: JSHINT not loaded.');
}
if (typeof JSHINT === 'undefined' || !source) {
print('usage:\n $ jsc jslint.js jsc_jslint.js -- "`cat source.js`"');
quit();
}
var
errors = [],
error = {},
i,
quantity,
plural,
result = JSHINT(source);
if (result) {
print('JSHint found no errors.');
}
else {
errors = JSHINT.data().errors;
quantity = errors.length + 1;
if (quantity > 1) {
plural = 's';
}
print('JSHint found ' + quantity + ' error' + plural + ':');
for (i = 0; i < errors.length; i += 1) {
error = errors[i];
print(error.line + ',' + error.character + ': ' + error.reason + ' "' + (error.evidence || '').replace(/^\s+|\s+$/, "") + '"');
}
}
quit();
}(arguments[0]));