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)
|