summaryrefslogtreecommitdiff
path: root/cmd2/ansi.py
diff options
context:
space:
mode:
Diffstat (limited to 'cmd2/ansi.py')
-rw-r--r--cmd2/ansi.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/cmd2/ansi.py b/cmd2/ansi.py
index f1b2def8..db828af4 100644
--- a/cmd2/ansi.py
+++ b/cmd2/ansi.py
@@ -91,6 +91,7 @@ def ansi_safe_wcswidth(text: str) -> int:
Wrap wcswidth to make it compatible with strings that contains ANSI escape sequences
:param text: the string being measured
+ :return: the width of the string when printed to the terminal
"""
# Strip ANSI escape sequences since they cause wcswidth to return -1
return wcswidth(strip_ansi(text))
@@ -114,7 +115,7 @@ def fg_lookup(fg_name: str) -> str:
:param fg_name: foreground color name to look up ANSI escape code(s) for
:return: ANSI escape code(s) associated with this color
- :raises ValueError if the color cannot be found
+ :raises ValueError: if the color cannot be found
"""
try:
ansi_escape = FG_COLORS[fg_name.lower()]
@@ -128,7 +129,7 @@ def bg_lookup(bg_name: str) -> str:
:param bg_name: background color name to look up ANSI escape code(s) for
:return: ANSI escape code(s) associated with this color
- :raises ValueError if the color cannot be found
+ :raises ValueError: if the color cannot be found
"""
try:
ansi_escape = BG_COLORS[bg_name.lower()]
@@ -184,8 +185,13 @@ def style(text: Any, *, fg: str = '', bg: str = '', bold: bool = False, underlin
# These can be altered to suit an application's needs and only need to be a
# function with the following structure: func(str) -> str
style_success = functools.partial(style, fg='green', bold=True)
+"""Partial function supplying arguments to style() to generate bold green text"""
+
style_warning = functools.partial(style, fg='bright_yellow')
+"""Partial function supplying arguments to ansi.style() to generate yellow text"""
+
style_error = functools.partial(style, fg='bright_red')
+"""Partial function supplying arguments to ansi.style() to generate bright red text"""
def async_alert_str(*, terminal_columns: int, prompt: str, line: str, cursor_offset: int, alert_msg: str) -> str:
@@ -246,6 +252,6 @@ def set_title_str(title: str) -> str:
"""Get the required string, including ANSI escape codes, for setting window title for the terminal.
:param title: new title for the window
- :return string to write to sys.stderr in order to set the window title to the desired test
+ :return: string to write to sys.stderr in order to set the window title to the desired test
"""
return colorama.ansi.set_title(title)