3

我正在为我的 scss 文件使用 Tailwindcss,它引入了一个新命令 @apply。但问题是 Sublime 突出了这一点(可能是错误或无法识别的语法)。我如何关闭那个单一的突出显示,这样它就不会显示为我所有的@apply 规则的明显错误?

4

1 回答 1

4

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 包的语法高亮@apply,它还包括 SCSS 的语法定义,该指令没有问题:

示例语法突出显示

这个包比你当前使用的包要新得多,所以你可能会看到一些东西在视觉上改变了你以前看到的颜色,因为这种语法可能使用与旧包不同的作用域来处理相同的结构;例如,在过去几年中,使用什么范围的指南发生了很大变化。

您可能还想查看该软件包的 README,其中概述了如果您来自较旧的软件包,可能需要额外设置的内容。

于 2019-06-10T17:07:20.937 回答