From 7358b88f7d331c71e4bed90373c4d015f50ead33 Mon Sep 17 00:00:00 2001 From: Rafal Chlodnicki Date: Sat, 11 Apr 2026 10:02:25 +0200 Subject: [PATCH] refactor: import from public API and improve return type --- plugin/client.py | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/plugin/client.py b/plugin/client.py index 2d411d7..800f963 100644 --- a/plugin/client.py +++ b/plugin/client.py @@ -11,9 +11,18 @@ from urllib.parse import urlparse import sublime -from LSP.plugin import AbstractPlugin, ClientConfig, DottedDict, Notification, Request, Session, WorkspaceFolder -from LSP.plugin.api import notification_handler, request_handler -from LSP.plugin.core.promise import Promise +from LSP.plugin import ( + AbstractPlugin, + ClientConfig, + DottedDict, + Notification, + Promise, + Request, + Session, + WorkspaceFolder, + notification_handler, + request_handler, +) from typing_extensions import override from .constants import ( @@ -52,6 +61,7 @@ from .template import load_string_template from .types import ( AccountStatus, + CopilotDocType, CopilotPayloadCompletions, CopilotPayloadConversationContext, CopilotPayloadConversationEntry, @@ -530,13 +540,12 @@ def _handle_status_notification_notification(self, payload: CopilotPayloadStatus self.update_status_bar_text() @request_handler(REQ_CONVERSATION_CONTEXT) - def _handle_conversation_context_request(self, payload: CopilotPayloadConversationContext) -> Promise[Any]: - if not (session := self.weaksession()): - return Promise.resolve(None) - - skill_id = payload.get("skillId") + def _handle_conversation_context_request( + self, payload: CopilotPayloadConversationContext + ) -> Promise[CopilotDocType | None]: if ( - (skill_id == "current-editor") + (session := self.weaksession()) + and (payload.get("skillId") == "current-editor") and (window := session.window) and (wcm := WindowConversationManager(window)) and (view := find_view_by_id(wcm.last_active_view_id))