target CSS Sublime Text 中 JS 中的语法高亮
target CSS syntax highlight inside JS in Sublime Text
最近,sublime text 3 增加了一个新功能,允许内联样式语法高亮和使用CSS特定的自动完成:
我相信这是某种新的范围界定,目标引号
我想知道是否可以扩展 css 语法以匹配:
- 在 javascript 文件中
- 开头为:
"styler`"
- 结尾为:
`
编辑:
虽然您可以简单地更改 JavaScript 定义文件,但正确的答案是扩展它。这可以简单地通过创建一个新的语言文件来完成,并在最终模式上添加 "include: source.js"。您的最终文件应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>js</string>
<string>htc</string>
<string>jsx</string>
</array>
<key>name</key>
<string>JavaScript Custom</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>--\[</string>
<key>end</key>
<string>\]--</string>
<key>name</key>
<string>source.js.custom.css.inline</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.css</string>
</dict>
</array>
<key>comment</key>
<string>My Shiny Technology</string>
</dict>
<dict>
<key>include</key>
<string>source.js</string>
</dict>
</array>
<key>scopeName</key>
<string>source.js.custom</string>
<key>uuid</key>
<string>93E017CC-6F27-11D9-90EB-000D93589AF6</string>
</dict>
</plist>
原文post:
你确实可以。
您需要做的就是获取您的 javascript 语言文件(您可以找到一个 here)并使用正则表达式添加一个新模式,该模式将定义您想要的块的开始和结束部分 css化。
您需要将您的 'patterns' 对象添加到以下字典中:
<dict>
<key>begin</key>
<string>--\[</string>
<key>end</key>
<string>\]--</string>
<key>name</key>
<string>source.css.inline</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.css</string>
</dict>
</array>
<key>comment</key>
<string>My Shiny Technology</string>
</dict>
在该示例中,您将捕获格式为 --[ code ]-- as css 的所有标记行。
编辑它以添加您想要 cssify 的任何其他块。
注意: include 部分定义块内的规则,而不是名称 属性。并且您不应该忘记切换到新定义的语言,而不是 OG 语言。
最近,sublime text 3 增加了一个新功能,允许内联样式语法高亮和使用CSS特定的自动完成:
我相信这是某种新的范围界定,目标引号
我想知道是否可以扩展 css 语法以匹配:
- 在 javascript 文件中
- 开头为:
"styler`"
- 结尾为:
`
编辑: 虽然您可以简单地更改 JavaScript 定义文件,但正确的答案是扩展它。这可以简单地通过创建一个新的语言文件来完成,并在最终模式上添加 "include: source.js"。您的最终文件应如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>fileTypes</key>
<array>
<string>js</string>
<string>htc</string>
<string>jsx</string>
</array>
<key>name</key>
<string>JavaScript Custom</string>
<key>patterns</key>
<array>
<dict>
<key>begin</key>
<string>--\[</string>
<key>end</key>
<string>\]--</string>
<key>name</key>
<string>source.js.custom.css.inline</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.css</string>
</dict>
</array>
<key>comment</key>
<string>My Shiny Technology</string>
</dict>
<dict>
<key>include</key>
<string>source.js</string>
</dict>
</array>
<key>scopeName</key>
<string>source.js.custom</string>
<key>uuid</key>
<string>93E017CC-6F27-11D9-90EB-000D93589AF6</string>
</dict>
</plist>
原文post: 你确实可以。 您需要做的就是获取您的 javascript 语言文件(您可以找到一个 here)并使用正则表达式添加一个新模式,该模式将定义您想要的块的开始和结束部分 css化。
您需要将您的 'patterns' 对象添加到以下字典中:
<dict>
<key>begin</key>
<string>--\[</string>
<key>end</key>
<string>\]--</string>
<key>name</key>
<string>source.css.inline</string>
<key>patterns</key>
<array>
<dict>
<key>include</key>
<string>source.css</string>
</dict>
</array>
<key>comment</key>
<string>My Shiny Technology</string>
</dict>
在该示例中,您将捕获格式为 --[ code ]-- as css 的所有标记行。 编辑它以添加您想要 cssify 的任何其他块。
注意: include 部分定义块内的规则,而不是名称 属性。并且您不应该忘记切换到新定义的语言,而不是 OG 语言。