From 742f385f23591a1dbced2a47f37fe31165f83b80 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 28 May 2019 10:53:05 +0200 Subject: [PATCH] Add a context manager for increasing indents --- jedi/debug.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) 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