2016-09-16 61 views
0

我目前正在嘗試從文本文件中提取信息(手動)。該文本文件有一個體面的格式(可解析),但它包含像'隨機字符'的東西。這些隨機字符不是完全隨機的,通過對它們運行算法我可以收集信息。我給每個字符一個正整數。崇高的文本更改文本顏色

的問題是,是否我可以寫一個崇高的文本3的插件,這將有助於我看到這些字符。

我想改變那些字符的顏色。

注意:在兩個顏色的同一個字符串中可以有一個字符。顏色取決於位置。

這樣的插件可以寫爲崇高的文字3嗎?如果不是,我可以用什麼來代替?給每個char分數的算法都是用python編寫的。

+0

爲什麼你不試試? – innoSPG

+0

我正在嘗試,但我不知道崇高的API很好。我無法設定任何設置前景色的方法 – Tandura

回答

0

雖然我沒有做任何直接的崇高API的工作經驗,我有,突出在我的文件的東西用矩形/輪廓插件。從api reference看來,區域用於處理這個問題。有一個add_regions()函數,你可能想看看。引用列出了Packages/Default/mark.py作爲使用此函數的示例插件。

至於具體改變前景,帖子的最後in this thread表明,它是不可能的。

+1

您的論壇鏈接自2013年1月起,並且指的是Sublime Text 2.從那以後,API得到了顯着改進(還有一個半官方的bug跟蹤器,並且大多數默認軟件包已經開源),現在可以了 - 請參閱我的答案。 – MattDMo

+0

@MattDMo好信息! – plast1k

1

爲了設置文本的Region的顏色,您需要在自己的配色方案中有自定義的scope selector。然後,一旦你選擇要突出顯示,並轉換爲區域文本,你可以使用sublime.Viewadd_regions()方法(訪問您的sublime_plugin.TextCommand子類作爲self.view內)的區域添加到視圖和範圍分配給他們。這些地區應該根據你的配色方案來突出顯示。

+0

'add_regions'中的作用域參數用於檢索高亮和陰影標記的顏色。該範圍不適用於相應的地區。因此文字顏色保持不變。 API文檔顯示「範圍用於提供顏色以繪製區域」。你能澄清MattDMo嗎? – pykong

+0

我發現如果你沒有將標誌參數傳遞給方法,它確實爲範圍着色。使用標誌參數,它不起作用。你的回答應該反映這一點,MattDMo! – pykong

0

有可能在CudaText應用,與Python API。 API有on_change_slow事件來運行你的代碼。您的代碼必須找到文本的x/y位置,然後撥打ed.attr()以x/y的任何顏色突出顯示子字符串。這很簡單。