Files
jedi-vim/pythonx/jedi_vim_debug.py
2018-05-09 16:04:47 +02:00

58 lines
2.0 KiB
Python

"""Used in jedi-vim's jedi#debug_info()"""
import vim
def echo(msg):
vim.command('echo {0}'.format(msg))
def display_debug_info():
echo("printf(' - global sys.version: `%s`', {0!r})".format(
', '.join([x.strip()
for x in __import__('sys').version.split('\n')])))
echo("printf(' - global site module: `%s`', {0!r})".format(
__import__('site').__file__))
try:
import jedi_vim
except Exception as e:
echo("printf('ERROR: jedi_vim is not available: %s: %s', "
"{0!r}, {1!r})".format(e.__class__.__name__, str(e)))
return
try:
if jedi_vim.jedi is None:
echo("'ERROR: could not import the \"jedi\" Python module.'")
echo("printf(' The error was: %s', {0!r})".format(
getattr(jedi_vim, "jedi_import_error", "UNKNOWN")))
else:
echo("printf('Jedi path: `%s`', {0!r})".format(
jedi_vim.jedi.__file__))
echo("printf(' - version: %s', {0!r})".format(
jedi_vim.jedi.__version__))
try:
environment = jedi_vim.get_environment()
except AttributeError:
script_evaluator = jedi_vim.jedi.Script('')._evaluator
try:
sys_path = script_evaluator.project.sys_path
except AttributeError:
sys_path = script_evaluator.sys_path
else:
echo("printf(' - environment: %s', {0!r})".format(
str(environment)))
sys_path = environment.get_sys_path()
echo("' - sys_path:'")
for p in sys_path:
echo("printf(' - `%s`', {0!r})".format(p))
except Exception as e:
vim.command('echohl ErrorMsg')
echo("printf('There was an error accessing jedi_vim.jedi: %s', {0!r})".format(
str(e)))
import traceback
for l in traceback.format_exc().splitlines():
echo("printf('%s', {0!r})".format(l))
vim.command('echohl None')