diff --git a/jedi/debug.py b/jedi/debug.py index 02719290..b81e5240 100644 --- a/jedi/debug.py +++ b/jedi/debug.py @@ -1,6 +1,8 @@ -from jedi._compatibility import encoding, is_py3, u import os import time +from contextlib import contextmanager + +from jedi._compatibility import encoding, is_py3, u _inited = False @@ -76,15 +78,21 @@ def reset_time(): def increase_indent(func): """Decorator for makin """ def wrapper(*args, **kwargs): - global _debug_indent - _debug_indent += 1 - try: + with increase_indent_cm(): return func(*args, **kwargs) - finally: - _debug_indent -= 1 return wrapper +@contextmanager +def increase_indent_cm(): + global _debug_indent + _debug_indent += 1 + try: + yield + finally: + _debug_indent -= 1 + + def dbg(message, *args, **kwargs): """ Looks at the stack, to see if a debug message should be printed. """ # Python 2 compatibility, because it doesn't understand default args