aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/Pygments/py3/pygments/lexers/gcodelexer.py
blob: 21949be90fd74416e5ca8983f76546399b56ed3b (plain) (blame)
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
27
28
29
30
31
32
33
34
35
""" 
    pygments.lexers.gcodelexer 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~ 
 
    Lexers for the G Code Language. 
 
    :copyright: Copyright 2006-2021 by the Pygments team, see AUTHORS. 
    :license: BSD, see LICENSE for details. 
""" 
 
from pygments.lexer import RegexLexer, bygroups 
from pygments.token import Comment, Name, Text, Keyword, Number 
 
__all__ = ['GcodeLexer'] 
 
 
class GcodeLexer(RegexLexer): 
    """ 
    For gcode source code. 
 
    .. versionadded:: 2.9 
    """ 
    name = 'g-code' 
    aliases = ['gcode'] 
    filenames = ['*.gcode'] 
 
    tokens = { 
        'root': [ 
            (r';.*\n', Comment), 
            (r'^[gmGM]\d{1,4}\s', Name.Builtin),  # M or G commands 
            (r'([^gGmM])([+-]?\d*[.]?\d+)', bygroups(Keyword, Number)), 
            (r'\s', Text.Whitespace), 
            (r'.*\n', Text), 
        ] 
    }