diff options
author | Martin Matusiak <numerodix@gmail.com> | 2014-03-10 18:59:56 +0100 |
---|---|---|
committer | Martin Matusiak <numerodix@gmail.com> | 2014-03-10 18:59:56 +0100 |
commit | b3f89216ddbd95e10e6c9e189a2f53b30ed1e06e (patch) | |
tree | 83579a17e10933681dac26404f6518f461c33172 /ansicolor | |
parent | 5c667a0de99645fa74b1f73ab897ef5f475a2bc4 (diff) | |
download | ansicolor-b3f89216ddbd95e10e6c9e189a2f53b30ed1e06e.tar.gz |
extend colorize to support start, end indices
Diffstat (limited to 'ansicolor')
-rw-r--r-- | ansicolor/ansicolor.py | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/ansicolor/ansicolor.py b/ansicolor/ansicolor.py index e418d92..ddf4432 100644 --- a/ansicolor/ansicolor.py +++ b/ansicolor/ansicolor.py @@ -141,7 +141,8 @@ def get_code(color, bold=False, reverse=False): return '\033[' + fmt + color + 'm' -def colorize(s, color, bold=False, reverse=False): + +def colorize(s, color, bold=False, reverse=False, start=None, end=None): """ Colorize a string with the color given. @@ -150,11 +151,24 @@ def colorize(s, color, bold=False, reverse=False): :type color: :class:`Colors` class :param bool bold: Whether to mark up in bold. :param bool reverse: Whether to mark up in reverse video. + :param int start: Index at which to start coloring. + :param int end: Index at which to end coloring. :rtype: string """ - return ("%s%s%s" % (get_code(color, bold=bold, reverse=reverse), - s, get_code(None))) + start = start if start else 0 + end = end if end else len(s) + + before = s[:start] + between = s[start:end] + after = s[end:] + + return ("%s%s%s%s%s" % (before, + get_code(color, bold=bold, reverse=reverse), + between, + get_code(None), + after)) + def wrap_string(s, pos, color, bold=False, reverse=False): """ |