jemand771 / latex-build

a docker container for building LaTeX documents
0 stars 0 forks source link

custom pygments lexers: regex #25

Closed jemand771 closed 3 years ago

jemand771 commented 3 years ago

the container should support custom lexers for pygments. they can be installed by copying the lexer files to /usr/lib/python3.x/site-packages/pygments/lexers and running python _mapping.py in that folder.

colin suggested a regex lexer from here:

from pygments.lexer import RegexLexer, bygroups
from pygments.token import *

__all__ = ['regexLexer']

class regexLexer(RegexLexer):
    name = 'regex'
    aliases = ['regex']
    filenames = []

    tokens = {
        'root': [
            (r'\w+', Name),
            (r'\d+', Number),
            (r'[\s\,\:\-\"\']+', Text),
            (r'[\$\^]', Token),
            (r'[\+\*\.\?]', Operator),
            (r'(\()([\?\<\>\!\=\:]{2,3}.+?)(\))', bygroups(Keyword.Namespace, Name.Function, Keyword.Namespace)),
            (r'(\()(\?\#.+?)(\))', bygroups(Comment, Comment, Comment)),
            (r'[\(\)]', Keyword.Namespace),
            (r'[\[\]]', Name.Class),
            (r'\\\w', Keyword),
            (r'[\{\}]', Operator),
        ],
    }

todo:

jemand771 commented 3 years ago

closed in #28 released in #29 (v1.6.0)