Я разработал предметно-ориентированный язык.Я хочу создать сетевой редактор для пользователей моего языка.
До сих пор я успешно предоставлял подсветку синтаксиса с помощью CodeMirror.Демо здесь: http://casbin.org/editor/. Теперь я хочу добавить проверку синтаксиса.Основанный на документах CodeMirror , он использует lint/lint.js
для поддержки проверки синтаксиса и предоставляет html-lint.js
, json-lint.js
, javascript-lint.js
, coffeescript-lint.js
и css-lint.js
в качестве примеров.Но, как показано ниже, эти примеры являются просто оболочками, и все они вызывают внешние инструменты lint, написанные на js, такие как htmlhint.js
, jsonlint.js
и т. Д.
html-lint.js
-> HTMLHint json-lint.js
-> JSON Lint javascript-lint.js
-> JSHint coffeescript-lint.js
-> CoffeeLint css-lint.js
-> CSSLint
Так что мне кажется, что мне нужно разработать такой инструмент для ворсаПрежде чем создавать оболочку для CodeMirror, прежде всего создайте собственный язык.
Вопрос в том, существует ли какой-либо общий интерфейс или вспомогательная библиотека или общепризнанные рекомендации / документация при разработке инструмента lint для пользовательского языка в js?