1from pygments.lexer import RegexLexer, inherit, bygroups 2from pygments.lexers.shell import BashLexer 3from pygments.token import * 4 5# 6# http://pygments.org/docs/lexerdevelopment/ 7# http://pygments.org/docs/tokens/ 8# 9 10# Test: 11# cat consolidate.cfg | pygmentize -l extensions/bareos_lexers.py:BareosConfigLexer -x 12# 13 14 15class BareosBaseLexer(BashLexer): 16 name = "BareosBase" 17 18 tokens = { 19 "root": [ 20 # (r'(<input>)(.*)(</input>)', bygroups(None, Generic.Emph, None)), 21 # (r'(<input>)(.*)(</input>)', bygroups(None, Generic.Strong, None)), 22 (r"(<input>)(.*)(</input>)", bygroups(None, Generic.Heading, None)), 23 (r"(<strong>)(.*)(</strong>)", bygroups(None, Generic.Strong, None)), 24 inherit, 25 ] 26 } 27 28 29class BareosConfigLexer(BareosBaseLexer): 30 name = "BareosConfig" 31 aliases = ["bareosconfig", "bconfig"] 32 filenames = ["*.cfg"] 33 34 tokens = {"root": [inherit]} 35 36 37class BareosConsoleLexer(BareosBaseLexer): 38 name = "BareosConsole" 39 aliases = ["bareosconsole", "bconsole"] 40 # filenames = ['*.cfg'] 41 42 tokens = {"root": [inherit]} 43 44 45class BareosLogLexer(BareosBaseLexer): 46 name = "BareosLog" 47 aliases = ["bareoslog"] 48 filenames = ["*.log"] 49 50 tokens = {"root": [inherit]} 51 52 53class BareosMessageLexer(BareosBaseLexer): 54 name = "BareosMessage" 55 aliases = ["bareosmessage", "bmessage"] 56 # filenames = ['*.log'] 57 58 tokens = {"root": [inherit]} 59