File: lnavlexer.py

package info (click to toggle)
lnav 0.13.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 60,084 kB
  • sloc: cpp: 215,599; ansic: 59,220; sh: 4,650; makefile: 3,578; python: 1,197; sql: 315; xml: 264; javascript: 18
file content (26 lines) | stat: -rw-r--r-- 643 bytes parent folder | download | duplicates (4)
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)