summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Van Brunt <kmvanbrunt@gmail.com>2019-10-09 16:16:14 -0400
committerKevin Van Brunt <kmvanbrunt@gmail.com>2019-10-09 16:16:14 -0400
commit5d2686af53c644e98c2d28de954d2dc2ced9287d (patch)
tree6d1f9eee8040527a43cb9fec074050677095d00c
parentd0e18f1123e1f3ae0d0a93f737867fdb266d32b8 (diff)
downloadcmd2-git-5d2686af53c644e98c2d28de954d2dc2ced9287d.tar.gz
Improved displaying multiline CompletionErrors
-rw-r--r--cmd2/argparse_completer.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/cmd2/argparse_completer.py b/cmd2/argparse_completer.py
index 3a66a45d..7e876258 100644
--- a/cmd2/argparse_completer.py
+++ b/cmd2/argparse_completer.py
@@ -10,6 +10,7 @@ import argparse
import inspect
import numbers
import shutil
+import textwrap
from collections import deque
from typing import Dict, List, Optional, Union
@@ -622,6 +623,9 @@ class AutoCompleter(object):
:param arg_action: action being tab completed
:param completion_error: error that occurred
"""
+ # Indent all lines of completion_error
+ indented_error = textwrap.indent(str(completion_error), ' ')
+
error = ("\nError tab completing {}:\n"
- " {}\n".format(argparse._get_action_name(arg_action), str(completion_error)))
+ "{}\n".format(argparse._get_action_name(arg_action), indented_error))
self._print_message(style_error('{}'.format(error)))