我想将自己的语法(语言)添加到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)一样,我将使用[]
以及关闭语句的/
,而不是使用<>
(在HTML中)。所以基本上我只是将这些<>
替换为[]
但是我如何将其翻译成 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>
replace: /<(/)?(.*?)>/g
to: [12]
https://regex101.com/r/zC8mG5/8
老实说,我不明白你在指什么......
也许我确实理解你所说的替代[12]
。根据解释,它只会匹配除换行符以外的任何字符(如果我错了,请纠正我),但我想匹配确切的单词和符号[size=""]
而不是任何随机字符。我还想要一个自动上市功能...
比如,如果我要输入[
它会自动列出我的语言中包含的那些唯一可能的确切单词,就像Sublime Text已经拥有的其他默认编程语言一样。(例如爪哇)
是的,不仅是我想翻译成正则表达式的代码,还有我正在谈论的语法突出显示(着色)和自动列表功能......
这只是我的代码示例
[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] ...
....
感谢您的回答,:)