仅删除 '@apply' 的 Sublime 语法高亮

Removing Sublime syntax highlight for just '@apply'

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

Sublime 中的语法突出显示是由允许 Sublime 识别语言并适当突出显示的语法定义驱动的。这是在 tmLanguage(旧的 TextMate 兼容)XML PLIST 文件或 sublime-syntax(具有更多功能的新形式)JSON 文件中完成的。

从本质上讲,语法定义归结为正则表达式规则列表以及如何以及何时应用它们以识别语言的描述。您使用的语法适用于 SCSS,它无法识别 @apply 指令,因此将其标记为无效。

因此,您无法通过简单的设置或切换来阻止这种情况的发生,您必须改为执行以下三项操作之一:

  1. 修改语法定义,知道@apply是有效的,这样它就不会高亮显示为无效代码

  2. 修改您的配色方案,不要对 SCSS 文件中的无效代码使用令人讨厌的颜色。

  3. 使用了解 @apply 或不在特定范围内将代码标记为无效的替代语法

第一个不是特别简单,因为它需要了解 @apply 语法的工作原理以及如何在 Sublime 中编写和修改语法定义。

第二个选项很容易实现;基本上,您会添加一个匹配范围 source.css invalid.illegal 的配色方案规则,并将其着色为纯文本而不是您的配色方案使用的颜色。但是,不可能仅将其定位到 @apply 类型行,因此您将不会被告知其他实际上无效的无效代码。

对于第三个选项,有 Syntax Highlighting for Sass 包,其中还包括 SCSS 的语法定义,@apply 指令没有问题:

此包比您当前使用的包新得多,因此您可能会看到一些东西在视觉上与您习惯看到的颜色有所不同,因为此语法可能使用与旧包相同的范围不同的范围结构体;例如,在过去几年中,关于使用什么范围的指南发生了很大变化。

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