Как мне остановить csslint и jshint от написания моего EJS в Atom? - PullRequest
0 голосов
/ 25 октября 2018

Я редактирую EJS-файлы в Atom.В настоящее время у меня установлены пакеты linter-csslint и linter-jshint.Кажется, что оба распознают файлы .ejs как .html и обозначают их как HTML.

Это то, что я вижу

enter image description here

Как заставить линтеры игнорировать файлы .ejs?Или есть специальный линтер EJS для Atom?

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

Вы можете игнорировать все .ejs файлы с файлом .jshintignore (https://jshint.com/docs/cli/#ignoring-files).. Я только что добавил один сам, чтобы исправить эту же проблему в Atom, и похоже, что он работает.

Я создал ~/.jshintignore со следующим содержимым:

*.ejs

Стоит отметить, что это влияет на все остальное, используя jshint.

0 голосов
/ 25 октября 2018

Судя по этой фотографии, вы установили пакет language-ejs и он имеет преимущество при определении языка.Проблема здесь на самом деле не в линтерах, а в пакете language-html.

В областях для linter-csslint и linter-jshint , мы видим, чтооба будут лежать на language-html областях.Тем не менее, ваш файл находится в области действия language-ejs.Здесь происходит то, что Atom должен ограничивать область действия до language-ejs, но вместо этого смешивать между этим и language-html.Причина того, что language-html также является здесь областью видимости здесь .

Так что исправить это для себя на самом деле довольно легко.Вы можете открыть исходный код пакета language-html локально (должен быть в ~/.atom/packages/language-html/grammars/html.cson) и удалить строку ejs, которую я показал выше.Однако, лучшее долгосрочное исправление - это, вероятно, поднять проблему на language-html, которую вы не считаете, что ejs находится в пределах грамматики html.Кроме того, Atom, вероятно, не должен идентифицировать файлы как имеющие несколько грамматических областей, но это более трудная проблема для решения.

PR, чтобы исправить это навсегда здесь .

...