diff options
author | gbrandl <devnull@localhost> | 2008-07-27 22:24:49 +0200 |
---|---|---|
committer | gbrandl <devnull@localhost> | 2008-07-27 22:24:49 +0200 |
commit | 4d8834b10a274df782f08fdff305bb445fc82dd9 (patch) | |
tree | cdab8a9f2801d8c5c23d499b6fab7b71ab3760ab | |
parent | 8cd9a199ec3bc1c3a79876e358f4aba85a945022 (diff) | |
parent | c083e1cc5e0fdba050ea93161833ca61b898f08d (diff) | |
download | pygments-4d8834b10a274df782f08fdff305bb445fc82dd9.tar.gz |
Merge from Tim's branch.
-rw-r--r-- | docs/generate.py | 3 | ||||
-rw-r--r-- | pygments/formatters/latex.py | 1 | ||||
-rw-r--r-- | pygments/formatters/other.py | 29 | ||||
-rw-r--r-- | pygments/lexers/agile.py | 1 |
4 files changed, 30 insertions, 4 deletions
diff --git a/docs/generate.py b/docs/generate.py index 7702cfe5..658ada4b 100644 --- a/docs/generate.py +++ b/docs/generate.py @@ -69,7 +69,8 @@ def generate_formatter_docs(): from pygments.formatters import FORMATTERS out = [] - for cls, data in FORMATTERS.iteritems(): + for cls, data in sorted(FORMATTERS.iteritems(), + key=lambda x: x[0].__name__): heading = cls.__name__ out.append('`' + heading + '`\n' + '-'*(2+len(heading)) + '\n') out.append(cls.__doc__) diff --git a/pygments/formatters/latex.py b/pygments/formatters/latex.py index 66afd567..529fa8f9 100644 --- a/pygments/formatters/latex.py +++ b/pygments/formatters/latex.py @@ -109,6 +109,7 @@ class LatexFormatter(Formatter): The LaTeX commands used to produce colored output are constructed using this prefix and some letters (default: ``'PY'``). *New in Pygments 0.7.* + *New in Pygments 0.10:* the default is now ``'PY'`` instead of ``'C'``. """ name = 'LaTeX' diff --git a/pygments/formatters/other.py b/pygments/formatters/other.py index bd375f32..fb123689 100644 --- a/pygments/formatters/other.py +++ b/pygments/formatters/other.py @@ -11,7 +11,8 @@ from pygments.formatter import Formatter from pygments.util import get_choice_opt - +from pygments.token import Token +from pygments.console import colorize __all__ = ['NullFormatter', 'RawTokenFormatter'] @@ -46,6 +47,11 @@ class RawTokenFormatter(Formatter): `compress` If set to ``'gz'`` or ``'bz2'``, compress the output with the given compression algorithm after encoding (default: ``''``). + `error_color` + If set to a color name, highlight error tokens using that color. If + set but with no value, defaults to ``'red'``. + *New in Pygments 0.11.* + """ name = 'Raw tokens' aliases = ['raw', 'tokens'] @@ -57,6 +63,15 @@ class RawTokenFormatter(Formatter): Formatter.__init__(self, **options) self.compress = get_choice_opt(options, 'compress', ['', 'none', 'gz', 'bz2'], '') + self.error_color = options.get('error_color', None) + if self.error_color is True: + self.error_color = 'red' + if self.error_color is not None: + try: + colorize(self.error_color, '') + except KeyError: + raise ValueError("Invalid color %r specified" % + self.error_color) def format(self, tokensource, outfile): if self.compress == 'gz': @@ -78,6 +93,14 @@ class RawTokenFormatter(Formatter): lasttype = None lastval = u'' - for ttype, value in tokensource: - write("%s\t%r\n" % (ttype, value)) + if self.error_color: + for ttype, value in tokensource: + line = "%s\t%r\n" % (ttype, value) + if ttype is Token.Error: + write(colorize(self.error_color, line)) + else: + write(line) + else: + for ttype, value in tokensource: + write("%s\t%r\n" % (ttype, value)) flush() diff --git a/pygments/lexers/agile.py b/pygments/lexers/agile.py index 8e69b472..109bffcc 100644 --- a/pygments/lexers/agile.py +++ b/pygments/lexers/agile.py @@ -811,6 +811,7 @@ class PerlLexer(RegexLexer): (r"'(\\\\|\\'|[^'])*'", String), (r'"(\\\\|\\"|[^"])*"', String), (r'`(\\\\|\\`|[^`])*`', String.Backtick), + (r'<([^\s>]+)>', String.Regexp), (r'(q|qq|qw|qr|qx)\{', String.Other, 'cb-string'), (r'(q|qq|qw|qr|qx)\(', String.Other, 'rb-string'), (r'(q|qq|qw|qr|qx)\[', String.Other, 'sb-string'), |