在Sublime Text

时间:2015-10-03 19:27:49

标签: sublimetext3

最近,sublime text 3添加了一项新功能,允许内联样式突出显示语法并使用CSS特定的自动完成功能:

enter image description here

我认为这是某种新的范围,定位引号

我想知道是否可以扩展css语法以匹配:

  • 在javascript文件中
  • 以:"styler`"
  • 开头
  • 以:`
  • 结尾

enter image description here

1 个答案:

答案 0 :(得分:1)

修改 虽然您可以简单地更改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>

原帖: 你的确可以。 您需要做的就是使用您的javascript语言文件(您可以找到一个here)并添加一个带有正则表达式的新模式,该模式将定义您想要cssify的块的开始和结束部分。

你需要添加你的模式&#39;反对以下词:

  <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] - 格式捕获所有标记行作为css。 编辑它以添加您想要cssify的任何其他块。

注意:include部分定义块内的规则,而不是name属性。并且你不应该忘记切换到新定义的语言,而不是OG。