Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

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

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

# -*- coding: utf-8 -*- 

""" 

    pygments.lexers.console 

    ~~~~~~~~~~~~~~~~~~~~~~~ 

 

    Lexers for misc console output. 

 

    :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS. 

    :license: BSD, see LICENSE for details. 

""" 

 

from pygments.lexer import RegexLexer, include, bygroups 

from pygments.token import Generic, Comment, String, Text, Keyword, Name, \ 

    Punctuation, Number 

 

__all__ = ['VCTreeStatusLexer', 'PyPyLogLexer'] 

 

 

class VCTreeStatusLexer(RegexLexer): 

    """ 

    For colorizing output of version control status commans, like "hg 

    status" or "svn status". 

 

    .. versionadded:: 2.0 

    """ 

    name = 'VCTreeStatus' 

    aliases = ['vctreestatus'] 

    filenames = [] 

    mimetypes = [] 

 

    tokens = { 

        'root': [ 

            (r'^A  \+  C\s+', Generic.Error), 

            (r'^A\s+\+?\s+', String), 

            (r'^M\s+', Generic.Inserted), 

            (r'^C\s+', Generic.Error), 

            (r'^D\s+', Generic.Deleted), 

            (r'^[?!]\s+', Comment.Preproc), 

            (r'      >\s+.*\n', Comment.Preproc), 

            (r'.*\n', Text) 

        ] 

    } 

 

 

class PyPyLogLexer(RegexLexer): 

    """ 

    Lexer for PyPy log files. 

 

    .. versionadded:: 1.5 

    """ 

    name = "PyPy Log" 

    aliases = ["pypylog", "pypy"] 

    filenames = ["*.pypylog"] 

    mimetypes = ['application/x-pypylog'] 

 

    tokens = { 

        "root": [ 

            (r"\[\w+\] \{jit-log-.*?$", Keyword, "jit-log"), 

            (r"\[\w+\] \{jit-backend-counts$", Keyword, "jit-backend-counts"), 

            include("extra-stuff"), 

        ], 

        "jit-log": [ 

            (r"\[\w+\] jit-log-.*?}$", Keyword, "#pop"), 

            (r"^\+\d+: ", Comment), 

            (r"--end of the loop--", Comment), 

            (r"[ifp]\d+", Name), 

            (r"ptr\d+", Name), 

            (r"(\()(\w+(?:\.\w+)?)(\))", 

             bygroups(Punctuation, Name.Builtin, Punctuation)), 

            (r"[\[\]=,()]", Punctuation), 

            (r"(\d+\.\d+|inf|-inf)", Number.Float), 

            (r"-?\d+", Number.Integer), 

            (r"'.*'", String), 

            (r"(None|descr|ConstClass|ConstPtr|TargetToken)", Name), 

            (r"<.*?>+", Name.Builtin), 

            (r"(label|debug_merge_point|jump|finish)", Name.Class), 

            (r"(int_add_ovf|int_add|int_sub_ovf|int_sub|int_mul_ovf|int_mul|" 

             r"int_floordiv|int_mod|int_lshift|int_rshift|int_and|int_or|" 

             r"int_xor|int_eq|int_ne|int_ge|int_gt|int_le|int_lt|int_is_zero|" 

             r"int_is_true|" 

             r"uint_floordiv|uint_ge|uint_lt|" 

             r"float_add|float_sub|float_mul|float_truediv|float_neg|" 

             r"float_eq|float_ne|float_ge|float_gt|float_le|float_lt|float_abs|" 

             r"ptr_eq|ptr_ne|instance_ptr_eq|instance_ptr_ne|" 

             r"cast_int_to_float|cast_float_to_int|" 

             r"force_token|quasiimmut_field|same_as|virtual_ref_finish|" 

             r"virtual_ref|mark_opaque_ptr|" 

             r"call_may_force|call_assembler|call_loopinvariant|" 

             r"call_release_gil|call_pure|call|" 

             r"new_with_vtable|new_array|newstr|newunicode|new|" 

             r"arraylen_gc|" 

             r"getarrayitem_gc_pure|getarrayitem_gc|setarrayitem_gc|" 

             r"getarrayitem_raw|setarrayitem_raw|getfield_gc_pure|" 

             r"getfield_gc|getinteriorfield_gc|setinteriorfield_gc|" 

             r"getfield_raw|setfield_gc|setfield_raw|" 

             r"strgetitem|strsetitem|strlen|copystrcontent|" 

             r"unicodegetitem|unicodesetitem|unicodelen|" 

             r"guard_true|guard_false|guard_value|guard_isnull|" 

             r"guard_nonnull_class|guard_nonnull|guard_class|guard_no_overflow|" 

             r"guard_not_forced|guard_no_exception|guard_not_invalidated)", 

             Name.Builtin), 

            include("extra-stuff"), 

        ], 

        "jit-backend-counts": [ 

            (r"\[\w+\] jit-backend-counts}$", Keyword, "#pop"), 

            (r":", Punctuation), 

            (r"\d+", Number), 

            include("extra-stuff"), 

        ], 

        "extra-stuff": [ 

            (r"\s+", Text), 

            (r"#.*?$", Comment), 

        ], 

    }