Удаление Sublime подсветки синтаксиса для просто '@apply' - PullRequest
1 голос
/ 03 июня 2019

Я использую Tailwindcss для своих файлов scss, который вводит новую команду @apply.Но проблема в том, что Sublime это подчеркивает (предположительно, в виде ошибки или непризнанного синтаксиса).Как мне просто отключить это выделение, чтобы оно не отображалось как явная ошибка для всех моих правил @apply?

1 Ответ

1 голос
/ 10 июня 2019

Подсветка синтаксиса в Sublime определяется определениями синтаксиса, которые позволяют Sublime распознавать язык и выделять его соответствующим образом. Это делается либо в tmLanguage (более старый совместимый с TextMate) XML PLIST-файл, либо в sublime-syntax (новая форма с большими возможностями) JSON-файла.

По сути, определение синтаксиса сводится к списку правил регулярных выражений и описанию того, как и когда их применять для распознавания языка. Синтаксис, который вы используете, предназначен для SCSS, который не распознает директиву @apply и, следовательно, помечает ее как недействительную.

Таким образом, вы не можете выполнить простую настройку или переключение, которые бы препятствовали этому происходить, и вместо этого вы должны сделать одну из трех вещей:

  1. Измените определение синтаксиса, чтобы знать, что @apply является допустимым, чтобы он не выделялся как недействительный код

  2. Измените цветовую схему, чтобы не использовать неприятные цвета для недопустимого кода в файлах SCSS.

  3. Использовать альтернативный синтаксис, который либо знает о @apply, либо не помечает код как недействительный с определенной областью *

Первый из них не особенно прост, поскольку требует знания того, как работает синтаксис @apply и как писать и изменять определения синтаксиса в Sublime.

Второй вариант довольно прост в использовании; в основном вы бы добавили правило цветовой схемы, которое соответствует области source.css invalid.illegal, и закрасили бы его как обычный текст вместо цветов, которые использует ваша цветовая схема. Однако нацелить это невозможно только на строки типа @apply, поэтому вы потеряли бы, что вам скажут о другом недействительном коде, который на самом деле недействителен.

Для третьего варианта есть пакет Подсветка синтаксиса для Sass , который также включает определение синтаксиса для SCSS, у которого нет проблем с директивой @apply:

Sample syntax highlighting

Этот пакет намного новее, чем тот, который вы используете в настоящее время, поэтому вы можете увидеть, что некоторые вещи визуально меняют цвета по сравнению с тем, что вы привыкли видеть, поскольку этот синтаксис может использовать другие области действия, чем старый пакет, для тех же конструкций; например, за последние пару лет много раз менялось руководство по использованию областей применения.

Возможно, вы также захотите взглянуть на README для пакета, в котором описаны вещи, которые могут потребовать дополнительной настройки, если вы используете более старый пакет.

...