9946f3c781
* all lint-related js files are prefixed by lint- * config-related stuff is grouped in linterConfig * CM helper is rewritten and moved in /edit now that CSSLint supports these features * chromeSync methods that apply LZString got LZ in their names * empty string is used for 'disabled' in linter selector
32 lines
997 B
JavaScript
32 lines
997 B
JavaScript
/* global CodeMirror CSSLint stylelint linterConfig */
|
|
'use strict';
|
|
|
|
CodeMirror.registerHelper('lint', 'csslint', code =>
|
|
CSSLint.verify(code, linterConfig.getCurrent('csslint'))
|
|
.messages.map(message => ({
|
|
from: CodeMirror.Pos(message.line - 1, message.col - 1),
|
|
to: CodeMirror.Pos(message.line - 1, message.col),
|
|
message: message.message + ` (${message.rule.id})`,
|
|
severity : message.type
|
|
}))
|
|
);
|
|
|
|
CodeMirror.registerHelper('lint', 'stylelint', code =>
|
|
stylelint.lint({
|
|
code,
|
|
config: linterConfig.getCurrent('stylelint'),
|
|
}).then(({results}) => {
|
|
if (!results[0]) {
|
|
return [];
|
|
}
|
|
return results[0].warnings.map(warning => ({
|
|
from: CodeMirror.Pos(warning.line - 1, warning.column - 1),
|
|
to: CodeMirror.Pos(warning.line - 1, warning.column),
|
|
message: warning.text
|
|
.replace('Unexpected ', '')
|
|
.replace(/^./, firstLetter => firstLetter.toUpperCase()),
|
|
severity : warning.severity
|
|
}));
|
|
})
|
|
);
|