summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md4
-rw-r--r--cmd2/argparse_completer.py18
-rw-r--r--cmd2/argparse_custom.py6
-rw-r--r--examples/custom_parser.py4
4 files changed, 18 insertions, 14 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 09884b22..db23d03d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.9.22 (TBD, 2019)
+* Bug Fixes
+ * Fixed bug where a redefined `ansi.style_error` was not being used in all `cmd2` files
+
## 0.9.21 (November 26, 2019)
* Bug Fixes
* Fixed bug where pipe processes were not being stopped by Ctrl-C
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py
index 7e876258..a2690dd0 100644
--- a/cmd2/argparse_completer.py
+++ b/cmd2/argparse_completer.py
@@ -14,9 +14,9 @@ import textwrap
from collections import deque
from typing import Dict, List, Optional, Union
+from . import ansi
from . import cmd2
from . import utils
-from .ansi import ansi_aware_write, ansi_safe_wcswidth, style_error
from .argparse_custom import ATTR_CHOICES_CALLABLE, INFINITY, generate_range_error
from .argparse_custom import ATTR_SUPPRESS_TAB_HINT, ATTR_DESCRIPTIVE_COMPLETION_HEADER, ATTR_NARGS_RANGE
from .argparse_custom import ChoicesCallable, CompletionError, CompletionItem
@@ -193,9 +193,9 @@ class AutoCompleter(object):
if arg_action == completer_action:
return True
- error = style_error("\nError: argument {}: not allowed with argument {}\n".
- format(argparse._get_action_name(arg_action),
- argparse._get_action_name(completer_action)))
+ error = ansi.style_error("\nError: argument {}: not allowed with argument {}\n".
+ format(argparse._get_action_name(arg_action),
+ argparse._get_action_name(completer_action)))
self._print_message(error)
return False
@@ -444,11 +444,11 @@ class AutoCompleter(object):
completions.sort(key=self._cmd2_app.default_sort_key)
self._cmd2_app.matches_sorted = True
- token_width = ansi_safe_wcswidth(action.dest)
+ token_width = ansi.ansi_safe_wcswidth(action.dest)
completions_with_desc = []
for item in completions:
- item_width = ansi_safe_wcswidth(item)
+ item_width = ansi.ansi_safe_wcswidth(item)
if item_width > token_width:
token_width = item_width
@@ -585,7 +585,7 @@ class AutoCompleter(object):
def _print_message(msg: str) -> None:
"""Print a message instead of tab completions and redraw the prompt and input line"""
import sys
- ansi_aware_write(sys.stdout, msg + '\n')
+ ansi.ansi_aware_write(sys.stdout, msg + '\n')
rl_force_redisplay()
def _print_arg_hint(self, arg_action: argparse.Action) -> None:
@@ -615,7 +615,7 @@ class AutoCompleter(object):
format(argparse._get_action_name(flag_arg_state.action),
generate_range_error(flag_arg_state.min, flag_arg_state.max),
flag_arg_state.count)
- self._print_message(style_error('{}'.format(error)))
+ self._print_message(ansi.style_error('{}'.format(error)))
def _print_completion_error(self, arg_action: argparse.Action, completion_error: CompletionError) -> None:
"""
@@ -628,4 +628,4 @@ class AutoCompleter(object):
error = ("\nError tab completing {}:\n"
"{}\n".format(argparse._get_action_name(arg_action), indented_error))
- self._print_message(style_error('{}'.format(error)))
+ self._print_message(ansi.style_error('{}'.format(error)))
diff --git a/cmd2/argparse_custom.py b/cmd2/argparse_custom.py
index f8a9ec60..cfe9ea5e 100644
--- a/cmd2/argparse_custom.py
+++ b/cmd2/argparse_custom.py
@@ -185,7 +185,7 @@ import sys
from argparse import ZERO_OR_MORE, ONE_OR_MORE, ArgumentError, _
from typing import Callable, Optional, Tuple, Type, Union
-from .ansi import ansi_aware_write, style_error
+from . import ansi
# Used in nargs ranges to signify there is no maximum
INFINITY = float('inf')
@@ -747,7 +747,7 @@ class Cmd2ArgumentParser(argparse.ArgumentParser):
linum += 1
self.print_usage(sys.stderr)
- formatted_message = style_error(formatted_message)
+ formatted_message = ansi.style_error(formatted_message)
self.exit(2, '{}\n\n'.format(formatted_message))
# noinspection PyProtectedMember
@@ -806,7 +806,7 @@ class Cmd2ArgumentParser(argparse.ArgumentParser):
if message:
if file is None:
file = sys.stderr
- ansi_aware_write(file, message)
+ ansi.ansi_aware_write(file, message)
# The default ArgumentParser class for a cmd2 app
diff --git a/examples/custom_parser.py b/examples/custom_parser.py
index efeb362e..7c154176 100644
--- a/examples/custom_parser.py
+++ b/examples/custom_parser.py
@@ -5,7 +5,7 @@ Defines the CustomParser used with override_parser.py example
import sys
from cmd2 import Cmd2ArgumentParser, set_default_argument_parser
-from cmd2.ansi import style_warning
+from cmd2 import ansi
# First define the parser
@@ -27,7 +27,7 @@ class CustomParser(Cmd2ArgumentParser):
linum += 1
self.print_usage(sys.stderr)
- formatted_message = style_warning(formatted_message)
+ formatted_message = ansi.style_warning(formatted_message)
self.exit(2, '{}\n\n'.format(formatted_message))