【问题标题】:How to add your own syntax to Sublime Text 2如何将自己的语法添加到 Sublime Text 2
【发布时间】:2015-08-26 15:28:18
【问题描述】:

我想将我自己的语法(语言)添加到 Sublime Text 2。我已经知道如何将它包含到语法列表中,所以我现在唯一的问题是语法突出显示。但首先我想了解Oniguruma 用于匹配我想要突出显示的单词的语言,这样我就可以自己制作了。

这是我的代码

<?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>xmp</string>
    </array>
    <key>name</key>
    <string>XMP</string>
    <key>patterns</key>
    <array>
        <dict>
            <key>match</key>
            <string>??????????????????????????????????????????????</string>
            <key>name</key>
            <string>source.keyword.xmp</string>
        </dict>
    </array>
    <key>scopeName</key>
    <string>source.xmp</string>
    <key>uuid</key>
    <string>750d3b02-a1bc-4b09-a794-1b78c54a4e21</string>
</dict>
</plist>

就像其他编程语言(例如 HTML 或 XML)一样,我将使用 []/ 来关闭语句,而不是使用 &lt;&gt;(在 HTML 中)。所以基本上我只是将那些 &lt;&gt; 替换为 [] 但我怎样才能将它翻译成 Oniguruma (正则表达式)?


这就是我想要的样子

<key>patterns</key>
<array>
    <dict>
        <key>match</key>
        <string>[SIZE=""][/SIZE]</string>
        <key>name</key>
        <string>code.size.xmp</string>
    </dict>
    <dict>
        <key>match</key>
        <string>[BOLD][/BOLD]</string>
        <key>name</key>
        <string>code.bold.xmp</string>
    </dict>
</array>

【问题讨论】:

    标签: regex sublimetext2 syntax-highlighting sublimetext oniguruma


    【解决方案1】:
    replace: /<(\/)?(.*?)>/g
         to: [\1\2]
    

    https://regex101.com/r/zC8mG5/8

    【讨论】:

      【解决方案2】:

      老实说,我不明白你指的是什么......

      也许我确实理解了您所说的替换 [\1\2]。根据解释,它只会匹配除换行符以外的任何字符(如果我错了,请纠正我)但我想匹配确切的单词和符号 [size=""] 而不是任何随机字符。而且我还想要一个自动列表功能...

      比如,如果我要输入[,它会自动列出我的语言中包含的那些唯一可能的exact单词,就像 Sublime Text 已经拥有的其他默认编程语言一样。 (例如 Java)

      是的,不仅是我想翻译成正则表达式的代码,还有我所说的语法高亮(着色)和自动列出功能......

      这里只是我的代码示例

      [SIZE=""]texts here[/SIZE]          Will change the font size. (Usage [SIZE="integer"])
      [BOLD]texts here[/BOLD]             Will change the font weight.
      [CENTER]texts here[/CENTER]         Will align texts to center.
      [ITALIC]texts here[/ITALIC]         ...
      [UNDERLINE]texts here[/UNDERLINE]   ...
      [STRIKE]texts here[/STRIKE]         ...
      ....
      

      谢谢你的回答:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-09
        • 1970-01-01
        • 2014-10-30
        • 2013-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-29
        相关资源
        最近更新 更多