def monitor_plugins():
"""Monitor for any plugin that conflicts with anaconda
"""
view = sublime.active_window().active_view()
if not get_settings(view, 'auto_unload_conflictive_plugins', True):
return
plist = [
'Jedi - Python autocompletion', # breaks auto completion
'SublimePythonIDE', # interfere with autocompletion
'SublimeCodeIntel' # breaks everything, SCI is a mess
]
hllist = [
'MagicPython', # breaks autocompletion on [dot]
'Python 3' # breeaks autocompletion on [dot]
]
for plugin in plist:
if plugin in sys.modules:
[
sublime_plugin.unload_module(m) for k, m in sys.modules.items()
if plugin in k
]
if plugin not in DISABLED_PLUGINS:
DISABLED_PLUGINS.append(plugin)
for highlighter in hllist:
paths = os.listdir(sublime.packages_path()) + \
os.listdir(sublime.installed_packages_path())
for p in paths:
if highlighter in p:
fname = '{0}.sublime-settings'.format(highlighter)
s = sublime.load_settings(fname)
if all((s.has('auto_complete_triggers'), s.has('extensions'))):
break
auto_complete = [
{
'characters': '.',
'selector': 'source.python - string - constant.numeric', # noqa
}
]
s.set('extensions', ['py'])
s.set('auto_complete_triggers', auto_complete)
sublime.save_settings(fname)
break
sublime.set_timeout_async(monitor_plugins, 500000)
评论列表
文章目录