2013-12-22 25 views
0

我想爲自定義源格式擴展Sublime Text的GotoAnything。我創建了一個.tmPreferences文件,並根據行爲我可以告訴它被識別。但是,我在正確的RegEx字符串中遇到了一些問題。擴展Sublime Text的GotoAnything功能

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>name</key> 
    <string>Symbol List Function</string> 
    <key>scope</key> 
    <string>source.nsis</string> 
    <key>settings</key> 
    <dict> 
     <key>symbolIndexTransformation</key> 
     <string>s/Function $1/</string> 
    </dict> 
    <key>uuid</key> 
    <string>9b3c04e2-e02a-4c55-85e9-de83ac7eedaf</string> 
</dict> 
</plist> 

所以,是的,我想匹配使用的方案Function myFunctionName(用於轉到@myFunctionName)功能。這看起來很平凡,但我不確定爲什麼我不能使用它。

回答

0

你可以發佈整個tmPreferences文件嗎?您在此發佈的內容只是轉換已識別的令牌。它不識別它們。根據作用域添加令牌。看看我的回答here如何添加條目到符號列表。

+0

我編輯了原文,它現在有整個文件 – idleberg

+0

假設你的語法遵循正常的約定,source.nsis是整個文件。如果這是你想要的文本的範圍,你需要修改你的tmLanguage文件來添加一些額外的範圍。此外,你缺少'showInSymbolList'鍵。當你試圖讓這個工作,我建議刪除轉換,直到你有正確的文字顯示。這樣,您就知道您正在確定正確的範圍。 – skuroda

+0

那麼,我還必須編輯tmLanguage文件?我使用的是官方[NSIS插件](https://github.com/SublimeText/NSIS/blob/master/NSIS.tmLanguage) – idleberg