diff --git a/main.py b/main.py index 0163ca4..73958ce 100644 --- a/main.py +++ b/main.py @@ -4,9 +4,10 @@ import sublime_plugin import logging import codemp -from .plugin.utils import safe_listener_detach +from .plugin.utils import is_codemp_buffer, safe_listener_detach from .plugin.utils import safe_listener_attach from .plugin.utils import some +from .plugin.utils import is_codemp_buffer from .plugin.core.session import session from .plugin.core.workspace import workspaces from .plugin.core.buffers import buffers @@ -14,6 +15,9 @@ from .plugin.text_listener import TEXT_LISTENER from .plugin.input_handlers import SimpleListInput from .plugin import globals as g +from .plugin.commands.client import * +from .plugin.commands.workspace import * + from .plugin.quickpanel.qpbrowser import QPServerBrowser from .plugin.quickpanel.qpbrowser import QPWorkspaceBrowser @@ -67,9 +71,10 @@ def objects_from_view(view): return win, vws, vbuff + class CodempBrowseWorkspaceCommand(sublime_plugin.WindowCommand): def is_enabled(self) -> bool: - return session.is_active() + return len(workspaces.lookup(self.window)) > 0 def run(self, workspace_id): wks = workspaces.lookupId(workspace_id) @@ -161,6 +166,7 @@ class CodempClientViewEventListener(sublime_plugin.ViewEventListener): def on_activated(self): logger.debug(f"'{self.view}' view activated!") + safe_listener_detach(TEXT_LISTENER) safe_listener_attach(TEXT_LISTENER, self.view.buffer()) # pyright: ignore def on_deactivated(self):