我设计了一种特定于域的语言。我想为我的语言用户构建一个基于Web的编辑器。
到目前为止,我已成功通过CodeMirror提供语法高亮显示。演示在这里:http://casbin.org/editor/。现在我想添加语法验证。基于CodeMirror's docs,它使用lint/lint.js
来支持语法验证,并提供html-lint.js
,json-lint.js
,javascript-lint.js
,coffeescript-lint.js
和{{1}作为例子。但是如下所示,这些示例只是包装器,它们都调用用js编写的外部lint工具,例如css-lint.js
,htmlhint.js
等。
jsonlint.js
- > HTMLHint html-lint.js
- > JSON Lint json-lint.js
- > JSHint javascript-lint.js
- > CoffeeLint coffeescript-lint.js
- > CSSLint 因此,在为CodeMirror创建包装之前,我需要首先为自己的语言开发这样的lint工具。
问题是:在js中为自定义语言开发lint工具时,是否有任何通用接口或帮助程序库或广泛认可的指南/文档?