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