1
0
forked from VimPlug/jedi

change debug functions for jedi-vim

This commit is contained in:
David Halter
2012-11-28 17:37:28 +01:00
parent e5b0989afe
commit d08c12bb06
2 changed files with 16 additions and 11 deletions

View File

@@ -67,6 +67,7 @@ class Script(object):
""" """
def __init__(self, source, line, column, source_path, def __init__(self, source, line, column, source_path,
source_encoding='utf-8'): source_encoding='utf-8'):
debug.reset_time()
try: try:
source = unicode(source, source_encoding, 'replace') source = unicode(source, source_encoding, 'replace')
# Use 'replace' over 'ignore' to hold code structure. # Use 'replace' over 'ignore' to hold code structure.
@@ -76,7 +77,7 @@ class Script(object):
self.module = modules.ModuleWithCursor(source_path, source=source, self.module = modules.ModuleWithCursor(source_path, source=source,
position=self.pos) position=self.pos)
self.source_path = source_path self.source_path = source_path
debug.reset_time() debug.speed('init')
@property @property
def parser(self): def parser(self):
@@ -406,3 +407,6 @@ def set_debug_function(func_cb=debug.print_to_stdout, warnings=True,
:param func_cb: The callback function for debug messages, with n params. :param func_cb: The callback function for debug messages, with n params.
""" """
debug.debug_function = func_cb debug.debug_function = func_cb
debug.enable_warning = warnings
debug.enable_notice = notices
debug.enable_speed = speed

View File

@@ -20,6 +20,7 @@ enable_speed = False
enable_warning = False enable_warning = False
enable_notice = False enable_notice = False
# callback, interface: level, str
debug_function = None debug_function = None
ignored_modules = ['parsing', 'builtin', 'jedi.builtin', 'jedi.parsing'] ignored_modules = ['parsing', 'builtin', 'jedi.builtin', 'jedi.parsing']
@@ -35,29 +36,29 @@ def dbg(*args):
frm = inspect.stack()[1] frm = inspect.stack()[1]
mod = inspect.getmodule(frm[0]) mod = inspect.getmodule(frm[0])
if not (mod.__name__ in ignored_modules): if not (mod.__name__ in ignored_modules):
debug_function(NOTICE, *args) debug_function(NOTICE, 'dbg: ' + ', '.join(str(a) for a in args))
def warning(*args): def warning(*args):
if debug_function and enable_warning: if debug_function and enable_warning:
debug_function(WARNING, *args) debug_function(WARNING, 'warning: ' + ', '.join(str(a) for a in args))
def speed(name): def speed(name):
if debug_function: if debug_function and enable_speed:
args = ('%s\t\t' % name,) now = time.time()
debug_function(SPEED, *args) debug_function(SPEED, 'speed: ' + '%s %s' % (name, now - start_time))
def print_to_stdout(level, *args): def print_to_stdout(level, str_out):
""" The default debug function """ """ The default debug function """
if level == NOTICE: if level == NOTICE:
msg = Fore.GREEN + 'dbg: ' col = Fore.GREEN
elif level == WARNING: elif level == WARNING:
msg = Fore.RED + 'warning: ' col = Fore.RED
else: else:
msg = Fore.YELLOW + 'speed: ' col = Fore.YELLOW
print(msg + ', '.join(str(a) for a in args) + Fore.RESET) print(col + str_out + Fore.RESET)
#debug_function = print_to_stdout #debug_function = print_to_stdout