summaryrefslogtreecommitdiffstats
path: root/docs/source/_ext/lnavlexer.py
blob: 2509a5f2f5c82660c36964468680d7c8c235d3b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
__all__ = ['LnavCommandLexer']

import re

from pygments.token import Whitespace, Text, Keyword, Literal
from pygments.lexers._mapping import LEXERS
from pygments.lexers.python import RegexLexer

class LnavCommandLexer(RegexLexer):
    name = 'lnav'

    flags = re.IGNORECASE
    tokens = {
        'root': [
            (r'\s+', Whitespace),
            (r':[\w\-]+', Keyword),
            (r'\<[\w\-]+\>', Literal.String.Doc),
            (r'.', Text),
        ]
    }

def setup(app):
    LEXERS['LnavCommandLexer'] = (
        '_ext.lnavlexer', 'lnav', ('lnav',), ('*.lnav',), ('text/lnav',))
    app.add_lexer('lnav', LnavCommandLexer)