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

标签 syntax-error sublimetext3 tailwind-css

我正在为我的 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 指令没有问题:

Sample syntax highlighting

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

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

关于syntax-error - 仅删除 '@apply' 的 Sublime 语法高亮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56420573/

相关文章:

php - 代码点火器错误?

css - 跳转到 Visual Studio Code 中的 ID 或类选择器

python - Anaconda 包错误,启动 Sublime Text-3

next.js - TypeError : Invalid PostCSS Plugin found at: plugins[0]

html - 使用带有顺风的 flex-row 和 flex-col 无法使用计算机和电话正确对齐

php - 解析错误: syntax error, unexpected ';' for login page

postgresql - 如何在准备好的语句中传递带有 ' '(时间戳)的字符串?

java - 将命名参数传递给方法

sublimetext2 - Sublime Text 彩虹括号

html - 滚动条缩略图显示在绝对 div 上