|
1 # -*- coding: utf-8 -*- |
|
2 """ |
|
3 pygments.lexers.console |
|
4 ~~~~~~~~~~~~~~~~~~~~~~~ |
|
5 |
|
6 Lexers for misc console output. |
|
7 |
|
8 :copyright: Copyright 2006-2014 by the Pygments team, see AUTHORS. |
|
9 :license: BSD, see LICENSE for details. |
|
10 """ |
|
11 |
|
12 from pygments.lexer import RegexLexer, include, bygroups |
|
13 from pygments.token import Generic, Comment, String, Text, Keyword, Name, \ |
|
14 Punctuation, Number |
|
15 |
|
16 __all__ = ['VCTreeStatusLexer', 'PyPyLogLexer'] |
|
17 |
|
18 |
|
19 class VCTreeStatusLexer(RegexLexer): |
|
20 """ |
|
21 For colorizing output of version control status commands, like "hg |
|
22 status" or "svn status". |
|
23 |
|
24 .. versionadded:: 2.0 |
|
25 """ |
|
26 name = 'VCTreeStatus' |
|
27 aliases = ['vctreestatus'] |
|
28 filenames = [] |
|
29 mimetypes = [] |
|
30 |
|
31 tokens = { |
|
32 'root': [ |
|
33 (r'^A \+ C\s+', Generic.Error), |
|
34 (r'^A\s+\+?\s+', String), |
|
35 (r'^M\s+', Generic.Inserted), |
|
36 (r'^C\s+', Generic.Error), |
|
37 (r'^D\s+', Generic.Deleted), |
|
38 (r'^[?!]\s+', Comment.Preproc), |
|
39 (r' >\s+.*\n', Comment.Preproc), |
|
40 (r'.*\n', Text) |
|
41 ] |
|
42 } |
|
43 |
|
44 |
|
45 class PyPyLogLexer(RegexLexer): |
|
46 """ |
|
47 Lexer for PyPy log files. |
|
48 |
|
49 .. versionadded:: 1.5 |
|
50 """ |
|
51 name = "PyPy Log" |
|
52 aliases = ["pypylog", "pypy"] |
|
53 filenames = ["*.pypylog"] |
|
54 mimetypes = ['application/x-pypylog'] |
|
55 |
|
56 tokens = { |
|
57 "root": [ |
|
58 (r"\[\w+\] \{jit-log-.*?$", Keyword, "jit-log"), |
|
59 (r"\[\w+\] \{jit-backend-counts$", Keyword, "jit-backend-counts"), |
|
60 include("extra-stuff"), |
|
61 ], |
|
62 "jit-log": [ |
|
63 (r"\[\w+\] jit-log-.*?}$", Keyword, "#pop"), |
|
64 (r"^\+\d+: ", Comment), |
|
65 (r"--end of the loop--", Comment), |
|
66 (r"[ifp]\d+", Name), |
|
67 (r"ptr\d+", Name), |
|
68 (r"(\()(\w+(?:\.\w+)?)(\))", |
|
69 bygroups(Punctuation, Name.Builtin, Punctuation)), |
|
70 (r"[\[\]=,()]", Punctuation), |
|
71 (r"(\d+\.\d+|inf|-inf)", Number.Float), |
|
72 (r"-?\d+", Number.Integer), |
|
73 (r"'.*'", String), |
|
74 (r"(None|descr|ConstClass|ConstPtr|TargetToken)", Name), |
|
75 (r"<.*?>+", Name.Builtin), |
|
76 (r"(label|debug_merge_point|jump|finish)", Name.Class), |
|
77 (r"(int_add_ovf|int_add|int_sub_ovf|int_sub|int_mul_ovf|int_mul|" |
|
78 r"int_floordiv|int_mod|int_lshift|int_rshift|int_and|int_or|" |
|
79 r"int_xor|int_eq|int_ne|int_ge|int_gt|int_le|int_lt|int_is_zero|" |
|
80 r"int_is_true|" |
|
81 r"uint_floordiv|uint_ge|uint_lt|" |
|
82 r"float_add|float_sub|float_mul|float_truediv|float_neg|" |
|
83 r"float_eq|float_ne|float_ge|float_gt|float_le|float_lt|float_abs|" |
|
84 r"ptr_eq|ptr_ne|instance_ptr_eq|instance_ptr_ne|" |
|
85 r"cast_int_to_float|cast_float_to_int|" |
|
86 r"force_token|quasiimmut_field|same_as|virtual_ref_finish|" |
|
87 r"virtual_ref|mark_opaque_ptr|" |
|
88 r"call_may_force|call_assembler|call_loopinvariant|" |
|
89 r"call_release_gil|call_pure|call|" |
|
90 r"new_with_vtable|new_array|newstr|newunicode|new|" |
|
91 r"arraylen_gc|" |
|
92 r"getarrayitem_gc_pure|getarrayitem_gc|setarrayitem_gc|" |
|
93 r"getarrayitem_raw|setarrayitem_raw|getfield_gc_pure|" |
|
94 r"getfield_gc|getinteriorfield_gc|setinteriorfield_gc|" |
|
95 r"getfield_raw|setfield_gc|setfield_raw|" |
|
96 r"strgetitem|strsetitem|strlen|copystrcontent|" |
|
97 r"unicodegetitem|unicodesetitem|unicodelen|" |
|
98 r"guard_true|guard_false|guard_value|guard_isnull|" |
|
99 r"guard_nonnull_class|guard_nonnull|guard_class|guard_no_overflow|" |
|
100 r"guard_not_forced|guard_no_exception|guard_not_invalidated)", |
|
101 Name.Builtin), |
|
102 include("extra-stuff"), |
|
103 ], |
|
104 "jit-backend-counts": [ |
|
105 (r"\[\w+\] jit-backend-counts}$", Keyword, "#pop"), |
|
106 (r":", Punctuation), |
|
107 (r"\d+", Number), |
|
108 include("extra-stuff"), |
|
109 ], |
|
110 "extra-stuff": [ |
|
111 (r"\s+", Text), |
|
112 (r"#.*?$", Comment), |
|
113 ], |
|
114 } |