没有特定的方法来获取 linting 结果,但是当您定义getAnnotations
lint 选项对象中的属性。
这是一个会触发 linting 的基本选项对象:
var codeMirrorOptions = {
"lineNumbers": true,
"indentWithTabs": true,
"mode": "css",
"gutters": ['CodeMirror-lint-markers'],
"lint": true
}
您可以指定一个对象(而不是布尔值)作为lint
财产:
"lint": {
"getAnnotations": css_validator,
"async": true
}
然后,定义您自己的验证器函数。该函数可以调用 CodeMirror 的捆绑验证器:
function css_validator(cm, updateLinting, options) {
// call the built in css linter from addon/lint/css-lint.js
var errors = CodeMirror.lint.css(cm);
updateLinting(errors);
}
此时,您已经复制了 lint:true 的行为——但现在errors
变量包含一系列 lint 错误。如果errors.length == 0
,没有发现错误。
Note:此示例假设您正在对 CSS 进行 linting,但这同样适用于其他类型。