撰寫您自己的樣式¶
那麼,如何建立樣式呢?您只需建立 Style 的子類別並定義一些樣式即可
from pygments.style import Style
from pygments.token import Token, Comment, Keyword, Name, String, \
Error, Generic, Number, Operator
class YourStyle(Style):
styles = {
Token: '',
Comment: 'italic #888',
Keyword: 'bold #005',
Name: '#f00',
Name.Class: 'bold #0f0',
Name.Function: '#0f0',
String: 'bg:#eee #111'
}
就是這樣,將其另存為 your.py
。只有幾個規則。當您為 Name 定義樣式時,該樣式也會自動影響 Name.Function 等。如果您定義了 'bold'
,並且不希望子符號使用粗體,請使用 'nobold'
。
(理念:樣式不是用 CSS 語法編寫的,因為這樣它們可以被用於各種格式器。)
Token
是所有符號類型繼承的預設樣式。
要使樣式可供 Pygments 使用,您必須
將其註冊為外掛程式 (請參閱 外掛程式文件)
或更新
pygments.styles
子套件目錄。例如新增
your.py
檔案使用
tox -e mapfiles
重新產生對應檔案
注意
如果您正在為 Pygments 做出貢獻,則只能將其新增至 pygments.styles
子目錄。您不應使用該方法來擴充 Pygments 的現有副本,請為此使用外掛程式機制。
樣式規則¶
以下是所有允許樣式的簡短概述
bold
將文字渲染為粗體
nobold
不將文字渲染為粗體 (以防止子符號以粗體突出顯示)
italic
將文字渲染為斜體
noitalic
不將文字渲染為斜體
underline
將文字渲染為底線
nounderline
不將文字渲染為底線
bg
透明背景
bg:#000000
背景顏色 (黑色)
border
無邊框
border:#ffffff
邊框顏色 (白色)
#ff0000
文字顏色 (紅色)
noinherit
不從父符號繼承樣式
請注意,bg:
和顏色值之間不能有空格,因為樣式定義字串是以空格分隔的。此外,不允許使用命名的顏色,因為不同格式器支援的顏色名稱各不相同。
此外,並非所有詞法分析器都可能支援每種樣式。