0
我希望能夠根據起始字符對線條加以不同的顏色。TextMate:條件格式?
例如:
- This is line 1
- This is line 2
x This is line 3
- This is line 4
x This is line 5
所以線1,2,4(以 ' - ')應該是藍色的,而線3,5(以出發的 'X')應該是紅色。
這可能嗎?你會怎麼做?
謝謝。
我希望能夠根據起始字符對線條加以不同的顏色。TextMate:條件格式?
例如:
- This is line 1
- This is line 2
x This is line 3
- This is line 4
x This is line 5
所以線1,2,4(以 ' - ')應該是藍色的,而線3,5(以出發的 'X')應該是紅色。
這可能嗎?你會怎麼做?
謝謝。
您可以通過定義新語法來定義顏色。我的語法包含以下內容:
{ scopeName = 'text.todo';
fileTypes = ('todo');
foldingStartMarker = '\{\s*$';
foldingStopMarker = '^\s*\}';
patterns = (
{ name = 'constant';
match = '^\s*(-.*)$';
},
{ name = 'variable.other.constant';
match = '^\s*(x.*)$';
},
);
}
我創建範圍text.todo並分配這個語法被命名爲「foo.todo」的文件。
第一種模式說「任何數量的空格,然後是短劃線和任何後面的數字」。這個匹配被稱爲「常量」,因此TextMate將使用在「首選項」>「字體顏色」中爲此作用域定義的顏色。常量在我的主題中是藍色的。
第二種模式需要一個「x」而不是短劃線,並調用匹配「variable.other.constant」,它恰好在我的主題中爲紅色。你應該很容易從這裏延伸。如果您需要幫助,只需按下語法定義下面的問號即可。
稍微不相關的筆記:我想要這個功能的主要原因是對待辦事項列表進行顏色編碼。最近我發現textmate內置了一個TODO包,可以讓您在所有項目文件中查看待辦事項列表。只需在TODO:或FIXME:或CHANGED:等前添加一行,它就會自動添加到待辦事項列表中。只需查看捆綁列表中的「TODO」即可。 – nebs 2010-06-18 16:26:05