anaconda.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:sublimeTextConfig 作者: luoye-fe 项目源码 文件源码
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)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号